diff --git a/.eslintignore b/.eslintignore index 2dfe33f8..c8117eed 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,32 +1,2 @@ -# dependencies -**/node_modules/* - -# build artifacts -**/.next/* -**/build/* -**/dist/* -**/esnext/* -**/module/* -**/test-results/* -**/bin/* - -# unlintable file types -*.csv -*.d.ts.map -*.graphql -*.groovy -*.html -*.ico -*.jpg -*.json -*.lock -*.log -*.md -*.pem -*.png -*.svg -*.txt -*.yaml -*.yml -*.xml -*.mp4 \ No newline at end of file +/dist +/docs \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..e7f2ab47 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,99 @@ +{ + "extends": [ + "oclif", + "oclif-typescript" + ], + "env": { + "es6": true, + "browser": true, + "node": true, + "mocha": true + }, + "parserOptions": { + "sourceType": "module" + }, + "plugins": [ + "@typescript-eslint" + ], + "ignorePatterns": ["dist/*", "test/*"], + "rules": { + "no-console": 1, + "linebreak-style": 0, + "no-extra-semi": 2, + "semi": [ + 2, + "always" + ], + "semi-spacing": 2, + "quotes": [ + 2, + "single" + ], + "indent": [ + 2, + 2, + { + "SwitchCase": 1 + } + ], + "interface-name": 0, + "object-literal-sort-keys": 0, + "no-consecutive-blank-lines": 0, + "no-any": 0, + "no-var": 0, + "no-cond-assign": 2, + "no-debugger": 2, + "no-duplicate-imports": 2, + "no-empty": 2, + "no-eval": 2, + "no-invalid-this": 2, + "no-irregular-whitespace": 2, + "no-return-await": 2, + "no-trailing-spaces": 2, + "no-empty-character-class": 2, + "no-unsafe-finally": 2, + "no-unused-vars": 2, + "no-unused-expressions": 2, + "no-undef": 2, + "array-type": 0, + "require-await": 2, + "prefer-arrow-callback": 2, + "arrow-spacing": 2, + "spaced-comment": 2, + "curly": 2, + "complexity": 2, + "max-classes-per-file": [ + 2, + 1 + ], + "max-len": [ + 2, + 1000 + ], + "max-lines": [ + 2, + 200 + ], + "new-parens": 2, + "newline-before-return": 2, + "newline-per-chained-call": 2, + "only-arrow-functions": 0, + "prefer-const": 2, + "prefer-object-spread": 2, + "prefer-template": 2, + "radix": 2, + "no-else-return": 2, + "object-curly-spacing": [ + "error", + "always" + ], + "space-before-function-paren": 2, + "space-within-parens": 0, + "no-eq-null": 2, + "comma-dangle": 2, + "eqeqeq": 2, + "valid-typeof": 2, + "block-scoped-var": 2, + "interface-over-type-literal": 0 + } +} \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md index 07731c89..c2d8c288 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -1,19 +1,19 @@ ---- -name: "\U0001F4A1 Feature Request" -about: Suggest an idea or enhancement for the module. -title: '' -labels: 'enhancement' -assignees: '' ---- - -### Is your feature request related to a problem? Please describe - - -### Describe the solution you'd like - - -### Describe alternatives you've considered - - -### Additional context - +--- +name: "\U0001F4A1 Feature Request" +about: Suggest an idea or enhancement for the module. +title: '' +labels: 'enhancement' +assignees: '' +--- + +### Is your feature request related to a problem? Please describe + + +### Describe the solution you'd like + + +### Describe alternatives you've considered + + +### Additional context + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 9c0cf68b..6c789d7c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,30 +1,30 @@ - - -### 🔗 Linked issue - -### ❓ Type of change - - - -- [ ] 📖 Documentation (updates to the documentation or readme) -- [ ] 🐞 Bug fix (a non-breaking change that fixes an issue) -- [ ] 👌 Enhancement (improving an existing functionality like performance) -- [ ] ✨ New feature (a non-breaking change that adds functionality) -- [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to change) - -### 📚 Description - - - - - -### 📝 Checklist - - - - - -- [ ] I have linked an issue or discussion. -- [ ] I have updated the documentation accordingly. + + +### 🔗 Linked issue + +### ❓ Type of change + + + +- [ ] 📖 Documentation (updates to the documentation or readme) +- [ ] 🐞 Bug fix (a non-breaking change that fixes an issue) +- [ ] 👌 Enhancement (improving an existing functionality like performance) +- [ ] ✨ New feature (a non-breaking change that adds functionality) +- [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to change) + +### 📚 Description + + + + + +### 📝 Checklist + + + + + +- [ ] I have linked an issue or discussion. +- [ ] I have updated the documentation accordingly. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index d0950033..00000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,28 +0,0 @@ -# name: ci - -# on: -# push: -# branches: -# - main -# pull_request: -# branches: -# - main - -# jobs: -# ci: -# runs-on: ubuntu-latest - -# steps: -# - uses: actions/checkout@v3 -# - uses: actions/setup-node@v3 -# with: -# node-version: '16' -# - name: Build -# run: npm run build -# - name: Release Edge -# if: | -# github.event_name == 'push' && -# !contains(github.event.head_commit.message, '[skip-release]') -# run: ./scripts/release-edge.sh -# env: -# NODE_AUTH_TOKEN: ${{secrets.NODE_AUTH_TOKEN}} diff --git a/.github/workflows/deploy-documentation.yml b/.github/workflows/deploy-documentation.yml new file mode 100644 index 00000000..eb8dc918 --- /dev/null +++ b/.github/workflows/deploy-documentation.yml @@ -0,0 +1,28 @@ +name: Frontier Documentation to S3 Bucket +on: + workflow_dispatch: # Allows you to run this workflow manually from the Actions tab +jobs: + update_documentation: + runs-on: windows-latest + steps: + - run: | + echo Documentation update pushed + - name: Checkout + uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: 16.x + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-2 + - name: Install dependencies and build + run: | + cd docs + npm install + npm run generate + - name: deploy + run: aws s3 sync ./docs/.output/public/. s3://frontier.realdecoy.com diff --git a/.github/workflows/deploy-package.yml b/.github/workflows/deploy-package.yml new file mode 100644 index 00000000..478d68ea --- /dev/null +++ b/.github/workflows/deploy-package.yml @@ -0,0 +1,43 @@ +name: Frontier Package to NPM +on: + workflow_dispatch: + inputs: + isBeta: + description: 'Is a Beta release' + required: true + default: false + type: boolean + versionNumber: + description: 'Override Package.json version' + required: false + versionMessage: + description: 'Override git message with custom message' + required: false + push: + tags: + - "v*" +jobs: + npm-publish: + name: npm-publish + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + # Setup .npmrc file to publish to npm + - name: Configuring Node + uses: actions/setup-node@v3 + with: + node-version: '20.x' + registry-url: 'https://registry.npmjs.org' + - name: Installing Dependencies + run: npm i + - name: Building project + run: npm run rebuild + - name: Manually Changing version using input + if: inputs.versionNumber != '' + run: npm version --no-git-tag-version ${{ inputs.versionNumber }} -m "${{ inputs.versionMessage && 'Updating version to %s' || github.event.head_commit.message }}" + - name: Publish to NPM + run: npm publish $PUBLISH_ARGS + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} + PUBLISH_ARGS: --non-interactive ${{ inputs.isBeta && '--tag beta' || '' }} diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml deleted file mode 100644 index f920984b..00000000 --- a/.github/workflows/static.yml +++ /dev/null @@ -1,42 +0,0 @@ -# Simple workflow for deploying static content to GitHub Pages -name: Deploy static content to Pages - -on: - # Runs on pushes targeting the default branch - push: - branches: ["main"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow one concurrent deployment -concurrency: - group: "pages" - cancel-in-progress: true - -jobs: - # Single deploy job since we're just deploying - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Pages - uses: actions/configure-pages@v3 - - name: Upload artifact - uses: actions/upload-pages-artifact@v1 - with: - # Upload entire repository - path: './docs/.output/public' - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v1 diff --git a/.gitignore b/.gitignore index 2d60ce08..1a77136f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,37 +1,12 @@ -# Dependencies -node_modules/ - -# Coverage and Testing -test-results/ -coverage/ - -# Build Artifacts -build/ -dist/ -lib/ -!**/packages/frontier-plugins/plugin-mobile/src/**/lib -module/ -esnext/ -types/ - -/test-projects -/rdv-* - -# Misc -.DS_Store -*.log* -*.iml -sw.* -.rdvue/ -.env -.nuxt -.idea - - -# OCLIF CLI related +*-debug.log +*-error.log /.nyc_output +/dist +/lib +/package-lock.json /tmp +node_modules oclif.manifest.json -tsconfig.tsbuildinfo - - +# TEST PROJECT PREFIXES +/rdv-* +/mob-* \ No newline at end of file diff --git a/.husky/commit-msg b/.husky/commit-msg old mode 100755 new mode 100644 index da159774..037f5ea1 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,4 +1,4 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -# npx --no -- commitlint --edit "${1}" +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +# npx --no -- commitlint --edit "${1}" diff --git a/.husky/pre-commit b/.husky/pre-commit old mode 100755 new mode 100644 index 36af2198..6a3afe06 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx lint-staged +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged diff --git a/.mocharc.json b/.mocharc.json new file mode 100644 index 00000000..4a09d144 --- /dev/null +++ b/.mocharc.json @@ -0,0 +1,12 @@ +{ + "require": [ + "test/helpers/init.js", + "ts-node/register" + ], + "watch-extensions": [ + "ts" + ], + "recursive": true, + "reporter": "spec", + "timeout": 60000 +} diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index 7da30cba..00000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -16.13 diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index cdbfd995..00000000 --- a/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "proseWrap": "always", - "singleQuote": true, - "trailingComma": "all" -} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..85d5d03a --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,18 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Execute Command", + "skipFiles": [ + "/**" + ], + "program": "${workspaceFolder}/bin/dev", + "args": [ + "hello", + "world", + ], + } + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..2def0e88 --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/README.md b/README.md index 108cd9b5..929df4e8 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,9 @@ - -
+


rd logo -
-

+

# Frontier @@ -18,103 +16,123 @@ Contributions are welcome! You can help us by reporting or fixing bugs and givin [![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) +[![Version](https://img.shields.io/npm/v/@realdecoy/frontier.svg)](https://npmjs.org/package/@realdecoy/frontier) +[![Downloads/week](https://img.shields.io/npm/dw/@realdecoy/frontier.svg)](https://npmjs.org/package/@realdecoy/frontier) +[![License](https://img.shields.io/npm/l/@realdecoy/frontier.svg)](https://github.com/realdecoy/@realdecoy/frontier/blob/main/package.json) - -      - +  +  +  ## Table of Contents -* [About](#about) * [Usage](#usage) -* [Bootstrapping](#bootstrapinghttpslernajsorgdocscore-conceptsbootstrapping) -* [Addons](#addons) -* [Libraries](#libraries) * [Options](#options) -* [Development Instructions](#development-instructions) -* [Contributions](#contribution-instructions) +* [Documentation](http://frontier.realdecoy.com/) +* [Dev Instructions](#development) +* [Testing](#testing) -      - - -## About - -Frontier offers a set of standard libraries and typing kits that can be use across engineering projects to allow for more consistency software development. With frontier, a set of plugins are available for use by developers which can be used to easily generate base project files contributing to a faster development process. +  +  +  ## Usage - -When using the frontier cli tool it is prefered that when runing commands `yarn` is used over `npm`. When `npm` is used some frontier's mono repositoy features may not work as they should therefore `yarn` is needed. Using `yarn` also allows for parallel installation of the frontier tool to take place. - - -      -#### [Bootstraping](https://lerna.js.org/docs/core-concepts/bootstrapping) -Bootstraping allows for the linking of different frontier packages so they can import and utilize each other without having to be published. -To bootstrap all frontier packages and their dependencies run the command: -``` -npm run bootstrap +```bash +npm install --global @realdecoy/frontier +frontier ``` or +```bash +npx @realdecoy/frontier ``` -yarn run bootstrap -``` +> namespaces are optional if running frontier commands in an existing frontier project -      +The help menu can be accessed with the commands: -#### [Type Checking](https://lerna.js.org/docs/core-concepts/bootstrapping) -Type checking, see the validation of the type of very variable in the code base. -To type check all frontier packages and their dependencies run the command: -``` -npm run typecheck -``` -or +```bash +frontier --help +frontier --help ``` -yarn run typecheck +The current version of frontier can be retrieved with the command: + +```bash +frontier --version ``` + -      +  +  +  -## Components +## Options +```txt +Usage: + frontier -### Addons +Namespaces: + dotnet - Dotnet API Scaffolding + mobile - React Native Scaffolding + vue - Vue.js Scaffolding + +Options: + --help - Show help information + --version - Show cli version +``` -| Name | Package | Status | More Information -| --- | --- | --- | --- | -| Backend | `@rdfrontier/plugin-backend` | Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | -| Spring Boot | `@rdfrontier/plugin-java` | Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | -| Javascript | `@rdfrontier/plugin-js` | Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | -| .Net | `@rdfrontier/plugin-dotnet` | Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | -| Frontend | `@rdfrontier/plugin-frontend` | Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | -| Vue | `@rdfrontier/plugin-vue` | Ready | [ Read More ](https://github.com/realdecoy/frontier/tree/main/packages/frontier-plugins/plugin-vue) | -| React | `@rdfrontier/plugin-react` | Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | -| QA | `@rdfrontier/plugin-qa` | Ready | [ Read More ](https://github.com/realdecoy/frontier/tree/main/packages/frontier-plugins/plugin-qa) | -| Mobile | `@rdfrontier/plugin-mobile` | Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | -| React Native | `@rdfrontier/plugin-react-native` | Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | -| Infrastructure | `@rdfrontier/plugin-iac` | Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | +      -### Libraries +## Namespaces -| Name | Package | Status | More Information +| Name | Namespace | Status | More Information | --- | --- | --- | --- | -| Frontier Standard Library | `@rdfrontier/stdlib` | Ready | [ Read More ](https://github.com/realdecoy/frontier/tree/main/packages/frontier-libraries/stdlib) | -| Frontier TypeKit | `@rdfrontier/typekit` | Ready | [ Read More ](https://github.com/realdecoy/frontier/tree/main/packages/frontier-libraries/typekit) | +| .Net | `dotnet` | Ready | [ Read More ](https://github.com/realdecoy/frontier/tree/development/src/commands/dotnet) | +| Infrastructure | `iac`| Pre-Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | +| Mobile | `mobile` | Ready | [ Read More ](https://github.com/realdecoy/frontier/tree/development/src/commands/mobile) | +| QA | `qa` | Technical Proposal | [ Read More ](https://github.com/realdecoy/frontier) | +| Vue | `vue` | Ready | [ Read More ](https://github.com/realdecoy/frontier/tree/development/src/commands/vue) | -      +  +  +  +## Development +### Prerequisites & Recommendations + +| Name | Description | More Information +| ---- | ----------- | --------------- | +| node | runtime | version 19.8.1 | +| yarn | dependency management | version 1.22.19 | +| vscode | code editor | version 1.77.1 |   -  +    +### Install Dependencies +```bash +yarn install +``` +or +```bash +npm install +``` -## Development Instructions - +### Execute CLI commands +```bash +./bin/dev +``` +e.g. +```bash +$ ./bin/dev vue create-project +? Enter a project name: » my-rdvue-project +``` ### Building #### Build @@ -133,7 +151,7 @@ npm run build #### Rebuild -Rebuilding the frontier packages automatically reconstructs the packages forgetting about any previous compliation of them. +Rebuilding the frontier packages automatically reconstructs the packages forgetting about any previous compilation of them. To rebuild the frontier packages, run the command: ```bash @@ -146,94 +164,36 @@ npm run rebuild       +## Creating a frontier namespace +#### [Adam](https://github.com/realdecoy/frontier/tree/development/commands/adam) +To support the creation of new frontier-based namespaces a template, [Adam](https://github.com/realdecoy/frontier/tree/development/src/commands/adam), has been provided to allow for easier development. This template provides the basic structure needed to develop a simple frontier-based namespace. It also provides sample commands and tests to get you started. -### Testing -Testing any piece of software created is critical for developers. Frontier uses the jest configuration for testing the packages in its monorepository. -[`Testing Monorepo with Jest`](https://orlandobayo.com/blog/monorepo-testing-using-jest/) - -  +      -##### Run Unit Test Suites From Root -To test all frontier packages from the root level run the command: +## Testing -``` -npm run test -``` -or -``` +### Run Unit Test Suite +```bash yarn run test ``` - -    - -##### Run Unit Test Suites From Package Level -To test all frontier packages from the package level run the command: - -``` -npm run test:packages -``` or -``` -yarn run test:packages -``` - -    - -##### Run Unit Test Suites From Package Level with Coverage Report -Test converage is a measure of the amount of testing preformed by a test suite. -To get a test coverage report of Frontier packages run the command: - -``` -npm run test:packages:ci -``` -or -``` -yarn run test:packages:ci -``` - -      - -### Nuking -Nuking strips the source code of all distribuatble code previously built. - -#### Nuke -To nuke the packages of frontier, run the command: - -```bash -yarn run nuke -``` -or ```bash -npm run nuke +npm run test ``` -    - - -#### Nuke:artifacts -To nuke artifacts of the frontier packages, run the command: - -```bash -yarn run nuke:artifacts -``` -or -```bash -npm run nuke:artifacts -``` +### Creating Tests +- create a ```.test.ts``` file in the respective folder +- using ```chai``` assertion syntax, describe your unit test cases +- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see more details       -## Creating a frontier based project -#### [Adam](https://github.com/realdecoy/frontier/tree/main/templates/adam) -To support the creation of new frointer-based projects a template, [Adam](https://github.com/realdecoy/frontier/tree/main/templates/adam), has been provided to allow for easier development. This template provides the basic structure needed to develop a simple frontier-based project. - - ## Contribution Instructions ### Testing Requirements -All code contributions made to this repository be properly tested. For testing the testing framework Jest is used. All test files must be writen with the extension ".spec.ts", to maintain the consistency of this project. +All code contributions made to this repository must be properly tested. Jest is the testing framework that is used. All test files must be written with the extension ".spec.ts", to maintain the consistency of this project. ### GitHub Commits -All commits maded to this repository be rewritten according to the [Conventional Commit Messages Standard](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13). This is to ensure that consistency is maintained throughout the repository. +All commits made to this repository should be written according to the [Conventional Commit Messages Standard](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13). This is to ensure that consistency is maintained throughout the repository. ### Pull Request -When creating a pull request ensure that the request is well documented and the changes made to the repository have been properly noted. Ensure to link the issue number/s that the pull request satisfies. +When creating a pull request ensure that the request is well documented and the changes made to the repository have been properly noted. Ensure to link the issue number(s) that the pull request satisfies. diff --git a/babel.root.js b/babel.root.js deleted file mode 100644 index 8b0de9eb..00000000 --- a/babel.root.js +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = ({ - envConfig = {}, - isTest = false, - plugins = [], - presets = [], - runtimeConfig = {}, -}) => { - presets = [ - ['@babel/preset-env', { loose: true, ...envConfig }], - ['@babel/preset-typescript', { onlyRemoveTypeImports: true }], - ].concat(presets); - - plugins = [ - ['@babel/plugin-transform-runtime', { ...runtimeConfig }], - ].concat(plugins); - - return { - plugins, - presets, - }; -}; diff --git a/packages/frontier-core/cli/bin/dev b/bin/dev similarity index 100% rename from packages/frontier-core/cli/bin/dev rename to bin/dev diff --git a/packages/frontier-core/cli/bin/dev.cmd b/bin/dev.cmd similarity index 100% rename from packages/frontier-core/cli/bin/dev.cmd rename to bin/dev.cmd diff --git a/packages/frontier-core/cli/bin/run b/bin/run similarity index 100% rename from packages/frontier-core/cli/bin/run rename to bin/run diff --git a/packages/frontier-core/cli/bin/run.cmd b/bin/run.cmd similarity index 100% rename from packages/frontier-core/cli/bin/run.cmd rename to bin/run.cmd diff --git a/commitlint.config.js b/commitlint.config.js deleted file mode 100644 index 28fe5c5b..00000000 --- a/commitlint.config.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = {extends: ['@commitlint/config-conventional']} diff --git a/docs/.env.example b/docs/.env.example old mode 100755 new mode 100644 index de6694bf..27b48d1d --- a/docs/.env.example +++ b/docs/.env.example @@ -1,3 +1,3 @@ -# Create one with no scope selected on https://github.com/settings/tokens/new -# This token is used for fetching the repository releases. +# Create one with no scope selected on https://github.com/settings/tokens/new +# This token is used for fetching the repository releases. GITHUB_TOKEN= \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..7a06d09c --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,3 @@ +.nuxt/ +node_modules/ +.output/ \ No newline at end of file diff --git a/docs/.nuxt/app.config.mjs b/docs/.nuxt/app.config.mjs new file mode 100644 index 00000000..1afd2972 --- /dev/null +++ b/docs/.nuxt/app.config.mjs @@ -0,0 +1,11 @@ + +import { defuFn } from 'C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/defu/dist/defu.mjs' + +const inlineConfig = {} + +import cfg0 from "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/app.config.ts" +import cfg1 from "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/app.config.ts" +import cfg2 from "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/app.config.ts" +import cfg3 from "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/app.config.ts" + +export default defuFn(cfg0, cfg1, cfg2, cfg3, inlineConfig) diff --git a/docs/.nuxt/components.d.ts b/docs/.nuxt/components.d.ts new file mode 100644 index 00000000..98bfe781 --- /dev/null +++ b/docs/.nuxt/components.d.ts @@ -0,0 +1,524 @@ +// Generated by components discovery +declare module 'vue' { + export interface GlobalComponents { + 'ExampleCard': typeof import("../components/content/Example/ExampleCard.vue")['default'] + 'ExampleHero': typeof import("../components/content/Example/ExampleHero.vue")['default'] + 'ExampleIconCard': typeof import("../components/content/Example/ExampleIconCard.vue")['default'] + 'ExampleMultiselect': typeof import("../components/content/Example/ExampleMultiselect.vue")['default'] + 'ExampleTheTitle': typeof import("../components/content/Example/ExampleTheTitle.vue")['default'] + 'HeroAnnouncement': typeof import("../components/content/HeroAnnouncement.vue")['default'] + 'IconMarkdown': typeof import("../components/content/IconMarkdown.vue")['default'] + 'Logo': typeof import("../components/content/Logo.vue")['default'] + 'MyButton': typeof import("../components/content/MyButton.vue")['default'] + 'PropInspector': typeof import("../components/content/PropInspector.vue")['default'] + 'ReadMore': typeof import("../components/content/ReadMore.vue")['default'] + 'AppFooter': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppFooter.vue")['default'] + 'AppHeader': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeader.vue")['default'] + 'AppHeaderDialog': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue")['default'] + 'AppHeaderLogo': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue")['default'] + 'AppHeaderNavigation': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue")['default'] + 'AppLayout': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppLayout.vue")['default'] + 'AppLoadingBar': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue")['default'] + 'AppSearch': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppSearch.vue")['default'] + 'AppSocialIcons': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue")['default'] + 'DocumentDrivenNotFound': typeof import("../node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.vue")['default'] + 'Ellipsis': typeof import("../node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue")['default'] + 'ThemeSelect': typeof import("../node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue")['default'] + 'DocsAside': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue")['default'] + 'DocsAsideTree': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue")['default'] + 'DocsPageBottom': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue")['default'] + 'DocsPageLayout': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue")['default'] + 'DocsPrevNext': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue")['default'] + 'DocsToc': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue")['default'] + 'DocsTocLinks': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue")['default'] + 'EditOnLink': typeof import("../node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue")['default'] + 'SourceLink': typeof import("../node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue")['default'] + 'ProseA': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseA.vue")['default'] + 'ProseBlockquote': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.vue")['default'] + 'ProseCode': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseCode.vue")['default'] + 'ProseCodeInline': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue")['default'] + 'ProseEm': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseEm.vue")['default'] + 'ProseH1': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH1.vue")['default'] + 'ProseH2': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH2.vue")['default'] + 'ProseH3': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH3.vue")['default'] + 'ProseH4': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH4.vue")['default'] + 'ProseH5': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH5.vue")['default'] + 'ProseH6': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH6.vue")['default'] + 'ProseHr': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseHr.vue")['default'] + 'ProseImg': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseImg.vue")['default'] + 'ProseLi': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseLi.vue")['default'] + 'ProseOl': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseOl.vue")['default'] + 'ProseP': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseP.vue")['default'] + 'ProseStrong': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseStrong.vue")['default'] + 'ProseTable': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTable.vue")['default'] + 'ProseTbody': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTbody.vue")['default'] + 'ProseTd': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTd.vue")['default'] + 'ProseTh': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTh.vue")['default'] + 'ProseThead': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseThead.vue")['default'] + 'ProseTr': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTr.vue")['default'] + 'ProseUl': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseUl.vue")['default'] + 'ProseCodeCopyButton': typeof import("../node_modules/@nuxt-themes/typography/components/ProseCodeCopyButton.vue")['default'] + 'Alert': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Alert.vue")['default'] + 'Badge': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Badge.vue")['default'] + 'ButtonLink': typeof import("../node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue")['default'] + 'Callout': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Callout.vue")['default'] + 'CodeBlock': typeof import("../node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue")['default'] + 'CodeGroup': typeof import("../node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue")['default'] + 'Container': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Container.vue")['default'] + 'CopyButton': typeof import("../node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue")['default'] + 'List': typeof import("../node_modules/@nuxt-themes/elements/components/globals/List.vue")['default'] + 'NuxtImg': typeof import("../node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue")['default'] + 'Props': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Props.vue")['default'] + 'Sandbox': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue")['default'] + 'TabsHeader': typeof import("../node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue")['default'] + 'Terminal': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Terminal.vue")['default'] + 'VideoPlayer': typeof import("../node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue")['default'] + 'IconCodeSandBox': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue")['default'] + 'IconDocus': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue")['default'] + 'IconNuxt': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue")['default'] + 'IconNuxtContent': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue")['default'] + 'IconNuxtLabs': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue")['default'] + 'IconNuxtStudio': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue")['default'] + 'IconStackBlitz': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue")['default'] + 'IconVueTelescope': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue")['default'] + 'BlockHero': typeof import("../node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue")['default'] + 'Card': typeof import("../node_modules/@nuxt-themes/elements/components/landing/Card.vue")['default'] + 'CardGrid': typeof import("../node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue")['default'] + 'VoltaBoard': typeof import("../node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue")['default'] + 'ComponentPlayground': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue")['default'] + 'ComponentPlaygroundData': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue")['default'] + 'ComponentPlaygroundProps': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue")['default'] + 'ComponentPlaygroundSlots': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue")['default'] + 'ComponentPlaygroundTokens': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue")['default'] + 'TokensPlayground': typeof import("../node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue")['default'] + 'ContentDoc': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentDoc.vue")['default'] + 'ContentList': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentList.vue")['default'] + 'ContentNavigation': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentNavigation.vue")['default'] + 'ContentQuery': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue")['default'] + 'ContentRenderer': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")['default'] + 'ContentRendererMarkdown': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRendererMarkdown.vue")['default'] + 'ContentSlot': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentSlot.vue")['default'] + 'DocumentDrivenEmpty': typeof import("../node_modules/@nuxt/content/dist/runtime/components/DocumentDrivenEmpty.vue")['default'] + 'Markdown': typeof import("../node_modules/@nuxt/content/dist/runtime/components/Markdown.vue")['default'] + 'NuxtWelcome': typeof import("../node_modules/@nuxt/ui-templates/dist/templates/welcome.vue")['default'] + 'NuxtLayout': typeof import("../node_modules/nuxt/dist/app/components/layout")['default'] + 'NuxtErrorBoundary': typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary")['default'] + 'ClientOnly': typeof import("../node_modules/nuxt/dist/app/components/client-only")['default'] + 'DevOnly': typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default'] + 'ServerPlaceholder': typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default'] + 'NuxtLink': typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default'] + 'NuxtLoadingIndicator': typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default'] + 'GithubRepository': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRepository")['default'] + 'GithubLink': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLink")['default'] + 'GithubReadme': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReadme")['default'] + 'GithubReleases': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReleases")['default'] + 'GithubLastRelease': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLastRelease")['default'] + 'GithubRelease': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRelease")['default'] + 'GithubContributors': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubContributors")['default'] + 'GithubFileContributors': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubFileContributors")['default'] + 'GithubCommits': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubCommits")['default'] + 'ColorScheme': typeof import("../node_modules/@nuxtjs/color-mode/dist/runtime/component.vue3.vue")['default'] + 'Icon': typeof import("../node_modules/nuxt-icon/dist/runtime/Icon.vue")['default'] + 'IconCSS': typeof import("../node_modules/nuxt-icon/dist/runtime/IconCSS.vue")['default'] + 'NuxtPage': typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default'] + 'NoScript': typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript'] + 'Link': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link'] + 'Base': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base'] + 'Title': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title'] + 'Meta': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta'] + 'Style': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style'] + 'Head': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head'] + 'Html': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html'] + 'Body': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body'] + 'LazyExampleCard': typeof import("../components/content/Example/ExampleCard.vue")['default'] + 'LazyExampleHero': typeof import("../components/content/Example/ExampleHero.vue")['default'] + 'LazyExampleIconCard': typeof import("../components/content/Example/ExampleIconCard.vue")['default'] + 'LazyExampleMultiselect': typeof import("../components/content/Example/ExampleMultiselect.vue")['default'] + 'LazyExampleTheTitle': typeof import("../components/content/Example/ExampleTheTitle.vue")['default'] + 'LazyHeroAnnouncement': typeof import("../components/content/HeroAnnouncement.vue")['default'] + 'LazyIconMarkdown': typeof import("../components/content/IconMarkdown.vue")['default'] + 'LazyLogo': typeof import("../components/content/Logo.vue")['default'] + 'LazyMyButton': typeof import("../components/content/MyButton.vue")['default'] + 'LazyPropInspector': typeof import("../components/content/PropInspector.vue")['default'] + 'LazyReadMore': typeof import("../components/content/ReadMore.vue")['default'] + 'LazyAppFooter': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppFooter.vue")['default'] + 'LazyAppHeader': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeader.vue")['default'] + 'LazyAppHeaderDialog': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue")['default'] + 'LazyAppHeaderLogo': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue")['default'] + 'LazyAppHeaderNavigation': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue")['default'] + 'LazyAppLayout': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppLayout.vue")['default'] + 'LazyAppLoadingBar': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue")['default'] + 'LazyAppSearch': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppSearch.vue")['default'] + 'LazyAppSocialIcons': typeof import("../node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue")['default'] + 'LazyDocumentDrivenNotFound': typeof import("../node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.vue")['default'] + 'LazyEllipsis': typeof import("../node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue")['default'] + 'LazyThemeSelect': typeof import("../node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue")['default'] + 'LazyDocsAside': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue")['default'] + 'LazyDocsAsideTree': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue")['default'] + 'LazyDocsPageBottom': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue")['default'] + 'LazyDocsPageLayout': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue")['default'] + 'LazyDocsPrevNext': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue")['default'] + 'LazyDocsToc': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue")['default'] + 'LazyDocsTocLinks': typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue")['default'] + 'LazyEditOnLink': typeof import("../node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue")['default'] + 'LazySourceLink': typeof import("../node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue")['default'] + 'LazyProseA': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseA.vue")['default'] + 'LazyProseBlockquote': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.vue")['default'] + 'LazyProseCode': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseCode.vue")['default'] + 'LazyProseCodeInline': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue")['default'] + 'LazyProseEm': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseEm.vue")['default'] + 'LazyProseH1': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH1.vue")['default'] + 'LazyProseH2': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH2.vue")['default'] + 'LazyProseH3': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH3.vue")['default'] + 'LazyProseH4': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH4.vue")['default'] + 'LazyProseH5': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH5.vue")['default'] + 'LazyProseH6': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH6.vue")['default'] + 'LazyProseHr': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseHr.vue")['default'] + 'LazyProseImg': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseImg.vue")['default'] + 'LazyProseLi': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseLi.vue")['default'] + 'LazyProseOl': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseOl.vue")['default'] + 'LazyProseP': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseP.vue")['default'] + 'LazyProseStrong': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseStrong.vue")['default'] + 'LazyProseTable': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTable.vue")['default'] + 'LazyProseTbody': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTbody.vue")['default'] + 'LazyProseTd': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTd.vue")['default'] + 'LazyProseTh': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTh.vue")['default'] + 'LazyProseThead': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseThead.vue")['default'] + 'LazyProseTr': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTr.vue")['default'] + 'LazyProseUl': typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseUl.vue")['default'] + 'LazyProseCodeCopyButton': typeof import("../node_modules/@nuxt-themes/typography/components/ProseCodeCopyButton.vue")['default'] + 'LazyAlert': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Alert.vue")['default'] + 'LazyBadge': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Badge.vue")['default'] + 'LazyButtonLink': typeof import("../node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue")['default'] + 'LazyCallout': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Callout.vue")['default'] + 'LazyCodeBlock': typeof import("../node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue")['default'] + 'LazyCodeGroup': typeof import("../node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue")['default'] + 'LazyContainer': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Container.vue")['default'] + 'LazyCopyButton': typeof import("../node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue")['default'] + 'LazyList': typeof import("../node_modules/@nuxt-themes/elements/components/globals/List.vue")['default'] + 'LazyNuxtImg': typeof import("../node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue")['default'] + 'LazyProps': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Props.vue")['default'] + 'LazySandbox': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue")['default'] + 'LazyTabsHeader': typeof import("../node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue")['default'] + 'LazyTerminal': typeof import("../node_modules/@nuxt-themes/elements/components/globals/Terminal.vue")['default'] + 'LazyVideoPlayer': typeof import("../node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue")['default'] + 'LazyIconCodeSandBox': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue")['default'] + 'LazyIconDocus': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue")['default'] + 'LazyIconNuxt': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue")['default'] + 'LazyIconNuxtContent': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue")['default'] + 'LazyIconNuxtLabs': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue")['default'] + 'LazyIconNuxtStudio': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue")['default'] + 'LazyIconStackBlitz': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue")['default'] + 'LazyIconVueTelescope': typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue")['default'] + 'LazyBlockHero': typeof import("../node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue")['default'] + 'LazyCard': typeof import("../node_modules/@nuxt-themes/elements/components/landing/Card.vue")['default'] + 'LazyCardGrid': typeof import("../node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue")['default'] + 'LazyVoltaBoard': typeof import("../node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue")['default'] + 'LazyComponentPlayground': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue")['default'] + 'LazyComponentPlaygroundData': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue")['default'] + 'LazyComponentPlaygroundProps': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue")['default'] + 'LazyComponentPlaygroundSlots': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue")['default'] + 'LazyComponentPlaygroundTokens': typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue")['default'] + 'LazyTokensPlayground': typeof import("../node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue")['default'] + 'LazyContentDoc': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentDoc.vue")['default'] + 'LazyContentList': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentList.vue")['default'] + 'LazyContentNavigation': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentNavigation.vue")['default'] + 'LazyContentQuery': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue")['default'] + 'LazyContentRenderer': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")['default'] + 'LazyContentRendererMarkdown': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRendererMarkdown.vue")['default'] + 'LazyContentSlot': typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentSlot.vue")['default'] + 'LazyDocumentDrivenEmpty': typeof import("../node_modules/@nuxt/content/dist/runtime/components/DocumentDrivenEmpty.vue")['default'] + 'LazyMarkdown': typeof import("../node_modules/@nuxt/content/dist/runtime/components/Markdown.vue")['default'] + 'LazyNuxtWelcome': typeof import("../node_modules/@nuxt/ui-templates/dist/templates/welcome.vue")['default'] + 'LazyNuxtLayout': typeof import("../node_modules/nuxt/dist/app/components/layout")['default'] + 'LazyNuxtErrorBoundary': typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary")['default'] + 'LazyClientOnly': typeof import("../node_modules/nuxt/dist/app/components/client-only")['default'] + 'LazyDevOnly': typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default'] + 'LazyServerPlaceholder': typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default'] + 'LazyNuxtLink': typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default'] + 'LazyNuxtLoadingIndicator': typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default'] + 'LazyGithubRepository': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRepository")['default'] + 'LazyGithubLink': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLink")['default'] + 'LazyGithubReadme': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReadme")['default'] + 'LazyGithubReleases': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReleases")['default'] + 'LazyGithubLastRelease': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLastRelease")['default'] + 'LazyGithubRelease': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRelease")['default'] + 'LazyGithubContributors': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubContributors")['default'] + 'LazyGithubFileContributors': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubFileContributors")['default'] + 'LazyGithubCommits': typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubCommits")['default'] + 'LazyColorScheme': typeof import("../node_modules/@nuxtjs/color-mode/dist/runtime/component.vue3.vue")['default'] + 'LazyIcon': typeof import("../node_modules/nuxt-icon/dist/runtime/Icon.vue")['default'] + 'LazyIconCSS': typeof import("../node_modules/nuxt-icon/dist/runtime/IconCSS.vue")['default'] + 'LazyNuxtPage': typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default'] + 'LazyNoScript': typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript'] + 'LazyLink': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link'] + 'LazyBase': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base'] + 'LazyTitle': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title'] + 'LazyMeta': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta'] + 'LazyStyle': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style'] + 'LazyHead': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head'] + 'LazyHtml': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html'] + 'LazyBody': typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body'] + } +} + +export const ExampleCard: typeof import("../components/content/Example/ExampleCard.vue")['default'] +export const ExampleHero: typeof import("../components/content/Example/ExampleHero.vue")['default'] +export const ExampleIconCard: typeof import("../components/content/Example/ExampleIconCard.vue")['default'] +export const ExampleMultiselect: typeof import("../components/content/Example/ExampleMultiselect.vue")['default'] +export const ExampleTheTitle: typeof import("../components/content/Example/ExampleTheTitle.vue")['default'] +export const HeroAnnouncement: typeof import("../components/content/HeroAnnouncement.vue")['default'] +export const IconMarkdown: typeof import("../components/content/IconMarkdown.vue")['default'] +export const Logo: typeof import("../components/content/Logo.vue")['default'] +export const MyButton: typeof import("../components/content/MyButton.vue")['default'] +export const PropInspector: typeof import("../components/content/PropInspector.vue")['default'] +export const ReadMore: typeof import("../components/content/ReadMore.vue")['default'] +export const AppFooter: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppFooter.vue")['default'] +export const AppHeader: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeader.vue")['default'] +export const AppHeaderDialog: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue")['default'] +export const AppHeaderLogo: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue")['default'] +export const AppHeaderNavigation: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue")['default'] +export const AppLayout: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppLayout.vue")['default'] +export const AppLoadingBar: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue")['default'] +export const AppSearch: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppSearch.vue")['default'] +export const AppSocialIcons: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue")['default'] +export const DocumentDrivenNotFound: typeof import("../node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.vue")['default'] +export const Ellipsis: typeof import("../node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue")['default'] +export const ThemeSelect: typeof import("../node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue")['default'] +export const DocsAside: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue")['default'] +export const DocsAsideTree: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue")['default'] +export const DocsPageBottom: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue")['default'] +export const DocsPageLayout: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue")['default'] +export const DocsPrevNext: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue")['default'] +export const DocsToc: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue")['default'] +export const DocsTocLinks: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue")['default'] +export const EditOnLink: typeof import("../node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue")['default'] +export const SourceLink: typeof import("../node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue")['default'] +export const ProseA: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseA.vue")['default'] +export const ProseBlockquote: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.vue")['default'] +export const ProseCode: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseCode.vue")['default'] +export const ProseCodeInline: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue")['default'] +export const ProseEm: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseEm.vue")['default'] +export const ProseH1: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH1.vue")['default'] +export const ProseH2: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH2.vue")['default'] +export const ProseH3: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH3.vue")['default'] +export const ProseH4: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH4.vue")['default'] +export const ProseH5: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH5.vue")['default'] +export const ProseH6: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH6.vue")['default'] +export const ProseHr: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseHr.vue")['default'] +export const ProseImg: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseImg.vue")['default'] +export const ProseLi: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseLi.vue")['default'] +export const ProseOl: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseOl.vue")['default'] +export const ProseP: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseP.vue")['default'] +export const ProseStrong: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseStrong.vue")['default'] +export const ProseTable: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTable.vue")['default'] +export const ProseTbody: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTbody.vue")['default'] +export const ProseTd: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTd.vue")['default'] +export const ProseTh: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTh.vue")['default'] +export const ProseThead: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseThead.vue")['default'] +export const ProseTr: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTr.vue")['default'] +export const ProseUl: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseUl.vue")['default'] +export const ProseCodeCopyButton: typeof import("../node_modules/@nuxt-themes/typography/components/ProseCodeCopyButton.vue")['default'] +export const Alert: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Alert.vue")['default'] +export const Badge: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Badge.vue")['default'] +export const ButtonLink: typeof import("../node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue")['default'] +export const Callout: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Callout.vue")['default'] +export const CodeBlock: typeof import("../node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue")['default'] +export const CodeGroup: typeof import("../node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue")['default'] +export const Container: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Container.vue")['default'] +export const CopyButton: typeof import("../node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue")['default'] +export const List: typeof import("../node_modules/@nuxt-themes/elements/components/globals/List.vue")['default'] +export const NuxtImg: typeof import("../node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue")['default'] +export const Props: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Props.vue")['default'] +export const Sandbox: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue")['default'] +export const TabsHeader: typeof import("../node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue")['default'] +export const Terminal: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Terminal.vue")['default'] +export const VideoPlayer: typeof import("../node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue")['default'] +export const IconCodeSandBox: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue")['default'] +export const IconDocus: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue")['default'] +export const IconNuxt: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue")['default'] +export const IconNuxtContent: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue")['default'] +export const IconNuxtLabs: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue")['default'] +export const IconNuxtStudio: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue")['default'] +export const IconStackBlitz: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue")['default'] +export const IconVueTelescope: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue")['default'] +export const BlockHero: typeof import("../node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue")['default'] +export const Card: typeof import("../node_modules/@nuxt-themes/elements/components/landing/Card.vue")['default'] +export const CardGrid: typeof import("../node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue")['default'] +export const VoltaBoard: typeof import("../node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue")['default'] +export const ComponentPlayground: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue")['default'] +export const ComponentPlaygroundData: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue")['default'] +export const ComponentPlaygroundProps: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue")['default'] +export const ComponentPlaygroundSlots: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue")['default'] +export const ComponentPlaygroundTokens: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue")['default'] +export const TokensPlayground: typeof import("../node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue")['default'] +export const ContentDoc: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentDoc.vue")['default'] +export const ContentList: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentList.vue")['default'] +export const ContentNavigation: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentNavigation.vue")['default'] +export const ContentQuery: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue")['default'] +export const ContentRenderer: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")['default'] +export const ContentRendererMarkdown: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRendererMarkdown.vue")['default'] +export const ContentSlot: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentSlot.vue")['default'] +export const DocumentDrivenEmpty: typeof import("../node_modules/@nuxt/content/dist/runtime/components/DocumentDrivenEmpty.vue")['default'] +export const Markdown: typeof import("../node_modules/@nuxt/content/dist/runtime/components/Markdown.vue")['default'] +export const NuxtWelcome: typeof import("../node_modules/@nuxt/ui-templates/dist/templates/welcome.vue")['default'] +export const NuxtLayout: typeof import("../node_modules/nuxt/dist/app/components/layout")['default'] +export const NuxtErrorBoundary: typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary")['default'] +export const ClientOnly: typeof import("../node_modules/nuxt/dist/app/components/client-only")['default'] +export const DevOnly: typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default'] +export const ServerPlaceholder: typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default'] +export const NuxtLink: typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default'] +export const NuxtLoadingIndicator: typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default'] +export const GithubRepository: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRepository")['default'] +export const GithubLink: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLink")['default'] +export const GithubReadme: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReadme")['default'] +export const GithubReleases: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReleases")['default'] +export const GithubLastRelease: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLastRelease")['default'] +export const GithubRelease: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRelease")['default'] +export const GithubContributors: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubContributors")['default'] +export const GithubFileContributors: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubFileContributors")['default'] +export const GithubCommits: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubCommits")['default'] +export const ColorScheme: typeof import("../node_modules/@nuxtjs/color-mode/dist/runtime/component.vue3.vue")['default'] +export const Icon: typeof import("../node_modules/nuxt-icon/dist/runtime/Icon.vue")['default'] +export const IconCSS: typeof import("../node_modules/nuxt-icon/dist/runtime/IconCSS.vue")['default'] +export const NuxtPage: typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default'] +export const NoScript: typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript'] +export const Link: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link'] +export const Base: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base'] +export const Title: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title'] +export const Meta: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta'] +export const Style: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style'] +export const Head: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head'] +export const Html: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html'] +export const Body: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body'] +export const LazyExampleCard: typeof import("../components/content/Example/ExampleCard.vue")['default'] +export const LazyExampleHero: typeof import("../components/content/Example/ExampleHero.vue")['default'] +export const LazyExampleIconCard: typeof import("../components/content/Example/ExampleIconCard.vue")['default'] +export const LazyExampleMultiselect: typeof import("../components/content/Example/ExampleMultiselect.vue")['default'] +export const LazyExampleTheTitle: typeof import("../components/content/Example/ExampleTheTitle.vue")['default'] +export const LazyHeroAnnouncement: typeof import("../components/content/HeroAnnouncement.vue")['default'] +export const LazyIconMarkdown: typeof import("../components/content/IconMarkdown.vue")['default'] +export const LazyLogo: typeof import("../components/content/Logo.vue")['default'] +export const LazyMyButton: typeof import("../components/content/MyButton.vue")['default'] +export const LazyPropInspector: typeof import("../components/content/PropInspector.vue")['default'] +export const LazyReadMore: typeof import("../components/content/ReadMore.vue")['default'] +export const LazyAppFooter: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppFooter.vue")['default'] +export const LazyAppHeader: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeader.vue")['default'] +export const LazyAppHeaderDialog: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue")['default'] +export const LazyAppHeaderLogo: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue")['default'] +export const LazyAppHeaderNavigation: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue")['default'] +export const LazyAppLayout: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppLayout.vue")['default'] +export const LazyAppLoadingBar: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue")['default'] +export const LazyAppSearch: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppSearch.vue")['default'] +export const LazyAppSocialIcons: typeof import("../node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue")['default'] +export const LazyDocumentDrivenNotFound: typeof import("../node_modules/@nuxt-themes/docus/components/app/DocumentDrivenNotFound.vue")['default'] +export const LazyEllipsis: typeof import("../node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue")['default'] +export const LazyThemeSelect: typeof import("../node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue")['default'] +export const LazyDocsAside: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue")['default'] +export const LazyDocsAsideTree: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue")['default'] +export const LazyDocsPageBottom: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue")['default'] +export const LazyDocsPageLayout: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue")['default'] +export const LazyDocsPrevNext: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue")['default'] +export const LazyDocsToc: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue")['default'] +export const LazyDocsTocLinks: typeof import("../node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue")['default'] +export const LazyEditOnLink: typeof import("../node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue")['default'] +export const LazySourceLink: typeof import("../node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue")['default'] +export const LazyProseA: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseA.vue")['default'] +export const LazyProseBlockquote: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseBlockquote.vue")['default'] +export const LazyProseCode: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseCode.vue")['default'] +export const LazyProseCodeInline: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseCodeInline.vue")['default'] +export const LazyProseEm: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseEm.vue")['default'] +export const LazyProseH1: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH1.vue")['default'] +export const LazyProseH2: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH2.vue")['default'] +export const LazyProseH3: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH3.vue")['default'] +export const LazyProseH4: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH4.vue")['default'] +export const LazyProseH5: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH5.vue")['default'] +export const LazyProseH6: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseH6.vue")['default'] +export const LazyProseHr: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseHr.vue")['default'] +export const LazyProseImg: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseImg.vue")['default'] +export const LazyProseLi: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseLi.vue")['default'] +export const LazyProseOl: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseOl.vue")['default'] +export const LazyProseP: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseP.vue")['default'] +export const LazyProseStrong: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseStrong.vue")['default'] +export const LazyProseTable: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTable.vue")['default'] +export const LazyProseTbody: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTbody.vue")['default'] +export const LazyProseTd: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTd.vue")['default'] +export const LazyProseTh: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTh.vue")['default'] +export const LazyProseThead: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseThead.vue")['default'] +export const LazyProseTr: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseTr.vue")['default'] +export const LazyProseUl: typeof import("../node_modules/@nuxt-themes/typography/components/global/ProseUl.vue")['default'] +export const LazyProseCodeCopyButton: typeof import("../node_modules/@nuxt-themes/typography/components/ProseCodeCopyButton.vue")['default'] +export const LazyAlert: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Alert.vue")['default'] +export const LazyBadge: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Badge.vue")['default'] +export const LazyButtonLink: typeof import("../node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue")['default'] +export const LazyCallout: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Callout.vue")['default'] +export const LazyCodeBlock: typeof import("../node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue")['default'] +export const LazyCodeGroup: typeof import("../node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue")['default'] +export const LazyContainer: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Container.vue")['default'] +export const LazyCopyButton: typeof import("../node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue")['default'] +export const LazyList: typeof import("../node_modules/@nuxt-themes/elements/components/globals/List.vue")['default'] +export const LazyNuxtImg: typeof import("../node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue")['default'] +export const LazyProps: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Props.vue")['default'] +export const LazySandbox: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue")['default'] +export const LazyTabsHeader: typeof import("../node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue")['default'] +export const LazyTerminal: typeof import("../node_modules/@nuxt-themes/elements/components/globals/Terminal.vue")['default'] +export const LazyVideoPlayer: typeof import("../node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue")['default'] +export const LazyIconCodeSandBox: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue")['default'] +export const LazyIconDocus: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue")['default'] +export const LazyIconNuxt: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue")['default'] +export const LazyIconNuxtContent: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue")['default'] +export const LazyIconNuxtLabs: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue")['default'] +export const LazyIconNuxtStudio: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue")['default'] +export const LazyIconStackBlitz: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue")['default'] +export const LazyIconVueTelescope: typeof import("../node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue")['default'] +export const LazyBlockHero: typeof import("../node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue")['default'] +export const LazyCard: typeof import("../node_modules/@nuxt-themes/elements/components/landing/Card.vue")['default'] +export const LazyCardGrid: typeof import("../node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue")['default'] +export const LazyVoltaBoard: typeof import("../node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue")['default'] +export const LazyComponentPlayground: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue")['default'] +export const LazyComponentPlaygroundData: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue")['default'] +export const LazyComponentPlaygroundProps: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue")['default'] +export const LazyComponentPlaygroundSlots: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue")['default'] +export const LazyComponentPlaygroundTokens: typeof import("../node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue")['default'] +export const LazyTokensPlayground: typeof import("../node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue")['default'] +export const LazyContentDoc: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentDoc.vue")['default'] +export const LazyContentList: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentList.vue")['default'] +export const LazyContentNavigation: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentNavigation.vue")['default'] +export const LazyContentQuery: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentQuery.vue")['default'] +export const LazyContentRenderer: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRenderer.vue")['default'] +export const LazyContentRendererMarkdown: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentRendererMarkdown.vue")['default'] +export const LazyContentSlot: typeof import("../node_modules/@nuxt/content/dist/runtime/components/ContentSlot.vue")['default'] +export const LazyDocumentDrivenEmpty: typeof import("../node_modules/@nuxt/content/dist/runtime/components/DocumentDrivenEmpty.vue")['default'] +export const LazyMarkdown: typeof import("../node_modules/@nuxt/content/dist/runtime/components/Markdown.vue")['default'] +export const LazyNuxtWelcome: typeof import("../node_modules/@nuxt/ui-templates/dist/templates/welcome.vue")['default'] +export const LazyNuxtLayout: typeof import("../node_modules/nuxt/dist/app/components/layout")['default'] +export const LazyNuxtErrorBoundary: typeof import("../node_modules/nuxt/dist/app/components/nuxt-error-boundary")['default'] +export const LazyClientOnly: typeof import("../node_modules/nuxt/dist/app/components/client-only")['default'] +export const LazyDevOnly: typeof import("../node_modules/nuxt/dist/app/components/dev-only")['default'] +export const LazyServerPlaceholder: typeof import("../node_modules/nuxt/dist/app/components/server-placeholder")['default'] +export const LazyNuxtLink: typeof import("../node_modules/nuxt/dist/app/components/nuxt-link")['default'] +export const LazyNuxtLoadingIndicator: typeof import("../node_modules/nuxt/dist/app/components/nuxt-loading-indicator")['default'] +export const LazyGithubRepository: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRepository")['default'] +export const LazyGithubLink: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLink")['default'] +export const LazyGithubReadme: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReadme")['default'] +export const LazyGithubReleases: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReleases")['default'] +export const LazyGithubLastRelease: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLastRelease")['default'] +export const LazyGithubRelease: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRelease")['default'] +export const LazyGithubContributors: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubContributors")['default'] +export const LazyGithubFileContributors: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubFileContributors")['default'] +export const LazyGithubCommits: typeof import("../node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubCommits")['default'] +export const LazyColorScheme: typeof import("../node_modules/@nuxtjs/color-mode/dist/runtime/component.vue3.vue")['default'] +export const LazyIcon: typeof import("../node_modules/nuxt-icon/dist/runtime/Icon.vue")['default'] +export const LazyIconCSS: typeof import("../node_modules/nuxt-icon/dist/runtime/IconCSS.vue")['default'] +export const LazyNuxtPage: typeof import("../node_modules/nuxt/dist/pages/runtime/page")['default'] +export const LazyNoScript: typeof import("../node_modules/nuxt/dist/head/runtime/components")['NoScript'] +export const LazyLink: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Link'] +export const LazyBase: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Base'] +export const LazyTitle: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Title'] +export const LazyMeta: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Meta'] +export const LazyStyle: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Style'] +export const LazyHead: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Head'] +export const LazyHtml: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Html'] +export const LazyBody: typeof import("../node_modules/nuxt/dist/head/runtime/components")['Body'] + +export const componentNames: string[] diff --git a/docs/.nuxt/content-cache/content-index.json b/docs/.nuxt/content-cache/content-index.json new file mode 100644 index 00000000..904e2a4f --- /dev/null +++ b/docs/.nuxt/content-cache/content-index.json @@ -0,0 +1 @@ +{"/":["content:1.index.md"],"/_partials/hello-world":["content:_partials:hello-world.md"],"/frontier/_dir":["content:2.frontier:_dir.yml"],"/frontier/getting-started/installation":["content:2.frontier:2.getting-started:1.installation.md"],"/frontier/getting-started/usage":["content:2.frontier:2.getting-started:1.usage.md"],"/frontier/getting-started/_dir":["content:2.frontier:2.getting-started:_dir.yml"],"/frontier/introduction/whats-frontier":["content:2.frontier:1.introduction:1.whats-frontier.md"],"/frontier/introduction/_2.content-directory":["content:2.frontier:1.introduction:_2.content-directory.md"],"/frontier/introduction/_3.philosophy":["content:2.frontier:1.introduction:_3.philosophy.md"],"/frontier/introduction/_dir":["content:2.frontier:1.introduction:_dir.yml"],"/frontier/development/overview":["content:2.frontier:3.development:1.overview.md"],"/frontier/development/building":["content:2.frontier:3.development:2.building.md"],"/frontier/development/testing":["content:2.frontier:3.development:3.testing.md"],"/frontier/development/contributing":["content:2.frontier:3.development:4.contributing.md"],"/frontier/development/_dir":["content:2.frontier:3.development:_dir.yml"],"/frontier/namespaces/vue":["content:2.frontier:4.namespaces:1.vue.md"],"/frontier/namespaces/mobile":["content:2.frontier:4.namespaces:2.mobile.md"],"/frontier/namespaces/dotnet":["content:2.frontier:4.namespaces:3.dotnet.md"],"/frontier/namespaces/spectre":["content:2.frontier:4.namespaces:4.spectre.md"],"/frontier/namespaces/_dir":["content:2.frontier:4.namespaces:_dir.yml"],"/frontier/_5.libraries/typekit":["content:2.frontier:_5.libraries:1.typekit.md"],"/frontier/_5.libraries/standard-library":["content:2.frontier:_5.libraries:2.standard-library.md"],"/frontier/_5.libraries/_dir":["content:2.frontier:_5.libraries:_dir.yml"],"/frontier/_6.templates/dotnet":["content:2.frontier:_6.templates:1.dotNet.md"],"/frontier/_6.templates/typescript":["content:2.frontier:_6.templates:2.typescript.md"],"/frontier/_6.templates/nuxt":["content:2.frontier:_6.templates:3.nuxt.md"],"/frontier/_6.templates/_dir":["content:2.frontier:_6.templates:_dir.yml"],"/vue/_dir":["content:3.Vue:_dir.yml"],"/vue/getting-started/installation":["content:3.Vue:2.getting-started:1.installation.md"],"/vue/getting-started/usage":["content:3.Vue:2.getting-started:2.usage.md"],"/vue/getting-started/next-steps":["content:3.Vue:2.getting-started:3.next-steps.md"],"/vue/getting-started/_dir":["content:3.Vue:2.getting-started:_dir.yml"],"/vue/introduction/whats-frontier-vue":["content:3.Vue:1.introduction:1.whats-frontier-vue.md"],"/vue/introduction/_dir":["content:3.Vue:1.introduction:_dir.yml"],"/vue/development/template":["content:3.Vue:4.development:1.template.md"],"/vue/development/schema":["content:3.Vue:4.development:2.schema.md"],"/vue/development/_dir":["content:3.Vue:4.development:_dir.yml"],"/vue/cli-commands/usage":["content:3.Vue:3.cli-commands:1.usage.md"],"/vue/cli-commands/_dir":["content:3.Vue:3.cli-commands:_dir.yml"],"/vue/features/overview":["content:3.Vue:5.features:0.overview.md"],"/vue/features/pages":["content:3.Vue:5.features:1.pages.md"],"/vue/features/theming":["content:3.Vue:5.features:10.theming.md"],"/vue/features/components":["content:3.Vue:5.features:2.components.md"],"/vue/features/services":["content:3.Vue:5.features:3.services.md"],"/vue/features/layouts":["content:3.Vue:5.features:4.layouts.md"],"/vue/features/stores":["content:3.Vue:5.features:5.stores.md"],"/vue/features/localization":["content:3.Vue:5.features:6.localization.md"],"/vue/features/bundle-analysis":["content:3.Vue:5.features:7.bundle-analysis.md"],"/vue/features/routing":["content:3.Vue:5.features:8.routing.md"],"/vue/features/sitemap":["content:3.Vue:5.features:9.sitemap.md"],"/vue/features/_dir":["content:3.Vue:5.features:_dir.yml"],"/spectre/_dir":["content:5.spectre:_dir.yml"],"/spectre/getting-started/introduction":["content:5.spectre:1.getting-started:1.introduction.md"],"/spectre/getting-started/_dir":["content:5.spectre:1.getting-started:_dir.yml"],"/mobile/_dir":["content:4.mobile:_dir.yml"],"/mobile/introduction/whats-frontier-mobile":["content:4.mobile:1.introduction:1.whats-frontier-mobile.md"],"/mobile/introduction/_dir":["content:4.mobile:1.introduction:_dir.yml"],"/mobile/getting-started/installation":["content:4.mobile:2.getting-started:1.installation.md"],"/mobile/getting-started/usage":["content:4.mobile:2.getting-started:2.usage.md"],"/mobile/getting-started/next-steps":["content:4.mobile:2.getting-started:3.next-steps.md"],"/mobile/getting-started/_dir":["content:4.mobile:2.getting-started:_dir.yml"],"/mobile/cli-commands/usage":["content:4.mobile:3.cli-commands:1.usage.md"],"/mobile/cli-commands/_dir":["content:4.mobile:3.cli-commands:_dir.yml"],"/mobile/features/overview":["content:4.mobile:4.features:0.overview.md"],"/mobile/features/screens":["content:4.mobile:4.features:1.screens.md"],"/mobile/features/components":["content:4.mobile:4.features:2.components.md"],"/mobile/features/services":["content:4.mobile:4.features:3.services.md"],"/mobile/features/navigation":["content:4.mobile:4.features:4.navigation.md"],"/mobile/features/stores":["content:4.mobile:4.features:5.stores.md"],"/mobile/features/_dir":["content:4.mobile:4.features:_dir.yml"],"/mobile/deployment/deployment":["content:4.mobile:6.deployment:1.deployment.md"],"/mobile/deployment/_dir":["content:4.mobile:6.deployment:_dir.yml"],"/mobile/testing/testing":["content:4.mobile:5.testing:1.testing.md"],"/mobile/testing/_dir":["content:4.mobile:5.testing:_dir.yml"],"/dotnet/_dir":["content:5.dotnet:_dir.yml"],"/dotnet/introduction/whats-frontier-mobile":["content:5.dotnet:1.introduction:1.whats-frontier-mobile.md"],"/dotnet/introduction/_dir":["content:5.dotnet:1.introduction:_dir.yml"],"/dotnet/cli-commands/usage":["content:5.dotnet:3.cli-commands:1.usage.md"],"/dotnet/cli-commands/_dir":["content:5.dotnet:3.cli-commands:_dir.yml"],"/dotnet/getting-started/installation":["content:5.dotnet:2.getting-started:1.installation.md"],"/dotnet/getting-started/usage":["content:5.dotnet:2.getting-started:2.usage.md"],"/dotnet/getting-started/next-steps":["content:5.dotnet:2.getting-started:3.next-steps.md"],"/dotnet/getting-started/_dir":["content:5.dotnet:2.getting-started:_dir.yml"],"/dotnet/features/overview":["content:5.dotnet:4.features:0.overview.md"],"/dotnet/features/screens":["content:5.dotnet:4.features:1.screens.md"],"/dotnet/features/components":["content:5.dotnet:4.features:2.components.md"],"/dotnet/features/services":["content:5.dotnet:4.features:3.services.md"],"/dotnet/features/navigation":["content:5.dotnet:4.features:4.navigation.md"],"/dotnet/features/stores":["content:5.dotnet:4.features:5.stores.md"],"/dotnet/features/_dir":["content:5.dotnet:4.features:_dir.yml"],"/_7.iac/_dir":["content:_7.IAC:_dir.yml"],"/_7.iac/getting-started/introduction":["content:_7.IAC:1.getting-started:2.introduction.md"],"/_7.iac/getting-started/_dir":["content:_7.IAC:1.getting-started:_dir.yml"],"/_6.design/_dir":["content:_6.design:_dir.yml"],"/_6.design/getting-started/introduction":["content:_6.design:1.getting-started:2.introduction.md"],"/_6.design/getting-started/_dir":["content:_6.design:1.getting-started:_dir.yml"]} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/1.index.md b/docs/.nuxt/content-cache/parsed/content/1.index.md new file mode 100644 index 00000000..79e7fd3a --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/1.index.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Frontier","description":"The file-based CMS for your Nuxt application, powered by Markdown and Vue components.","navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/frontier/introduction/whats-frontier\"]",":secondary":"[\"Star on GitHub\",\"https://github.com/realdecoy/frontier\"]","snippet":"npm i -g @realdecoy/frontier"},"children":[{"type":"element","tag":"template","props":{"v-slot:announce":""},"children":[{"type":"element","tag":"hero-announcement","props":{"label":"Discover the all new ","to":"/frontier/introduction/whats-frontier"},"children":[]}]},{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Frontier - by Realdecoy"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A full service toolset for building "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"web"}]},{"type":"text","value":" and "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mobile"}]},{"type":"text","value":" software products. With "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"templates"}]},{"type":"text","value":" and "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"libraries"}]},{"type":"text","value":", Frontier delivers a designed development experience to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"10x"}]},{"type":"text","value":" your software development."}]}]},{"type":"element","tag":"template","props":{"v-slot:support":""},"children":[]}]},{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Powerful Features"}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CLI"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Take advantage of the Frontier CLI powering tools for: Vue, Mobile, and Spectre."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Standard Library"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Leverage battle-hardened code from the standard library."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"TypeKit"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use Common type definition and data structures from the typekit."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Vue"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A beautifully structured vue template and cli for authoring frontend applications."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Spectre"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Test your applications to the moon with the Spectre testing suite."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Mobile"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Build Mobile applications with ease with structures React Native foundation."}]}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{},"children":[]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:1.index.md","_source":"content","_file":"1.index.md","_extension":"md"},"hash":"JXmSboHq96"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/1.whats-frontier.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/1.whats-frontier.md new file mode 100644 index 00000000..f6ff3f22 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/1.whats-frontier.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/introduction/whats-frontier","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"What is Frontier?","description":"Frontier brings together engineering standards across disciplines for ease of use, promoting consistent software development.\r\nContributions are welcome! You can help us by reporting or fixing bugs and giving us feedback on new/existing features.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"what-is-frontier"},"children":[{"type":"text","value":"What is Frontier?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Frontier brings together engineering standards across disciplines for ease of use, promoting consistent software development.\r\nContributions are welcome! You can help us by reporting or fixing bugs and giving us feedback on new/existing features."}]},{"type":"element","tag":"h2","props":{"id":"about"},"children":[{"type":"text","value":"About"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Frontier offers a set of standard libraries and typing kits that can be use across engineering projects to allow for more consistency software development. With frontier, a set of plugins are available for use by developers which can be used to easily generate base project files contributing to a faster development process."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"about","depth":2,"text":"About"}]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:1.whats-frontier.md","_source":"content","_file":"2.frontier/1.introduction/1.whats-frontier.md","_extension":"md"},"hash":"P8MKEZHZ8t"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_2.content-directory.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_2.content-directory.md new file mode 100644 index 00000000..8562af5f --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_2.content-directory.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/introduction/_2.content-directory","_dir":"introduction","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":"Content directory","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"content-directory"},"children":[{"type":"text","value":"Content directory"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:_2.content-directory.md","_source":"content","_file":"2.frontier/1.introduction/_2.content-directory.md","_extension":"md"},"hash":"nZDuEmI0yr"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_3.philosophy.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_3.philosophy.md new file mode 100644 index 00000000..9547f504 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_3.philosophy.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/introduction/_3.philosophy","_dir":"introduction","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":"Philosophy","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"philosophy"},"children":[{"type":"text","value":"Philosophy"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:_3.philosophy.md","_source":"content","_file":"2.frontier/1.introduction/_3.philosophy.md","_extension":"md"},"hash":"rGnfUhBXMD"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_dir.yml b/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_dir.yml new file mode 100644 index 00000000..5c8d8722 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/1.introduction/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/introduction/_dir","_dir":"introduction","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:pencil-alt","_id":"content:2.frontier:1.introduction:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/1.introduction/_dir.yml","_extension":"yml"},"hash":"8OGNGk9U9B"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/1.installation.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/1.installation.md new file mode 100644 index 00000000..603539c5 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/1.installation.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/getting-started/installation","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Installation","description":"For global installation","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For global installation"}]},{"type":"element","tag":"code","props":{"code":"npm install --global @realdecoy/frontier\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a0b1e2"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-120d1b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-52ddb1"},"children":[{"type":"text","value":"install"}]},{"type":"element","tag":"span","props":{"class":"ct-120d1b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-acc981"},"children":[{"type":"text","value":"--global"}]},{"type":"element","tag":"span","props":{"class":"ct-120d1b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-52ddb1"},"children":[{"type":"text","value":"@realdecoy/frontier"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"alternatively, use "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"npx"}]},{"type":"text","value":" to execute the binaries remotely"}]},{"type":"element","tag":"code","props":{"code":"npx @realdecoy/frontier \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a0b1e2"},"children":[{"type":"text","value":"npx"}]},{"type":"element","tag":"span","props":{"class":"ct-120d1b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-52ddb1"},"children":[{"type":"text","value":"@realdecoy/frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-120d1b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-51eeeb"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-52ddb1"},"children":[{"type":"text","value":"namespac"}]},{"type":"element","tag":"span","props":{"class":"ct-120d1b"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-51eeeb"},"children":[{"type":"text","value":">"}]},{"type":"element","tag":"span","props":{"class":"ct-120d1b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-51eeeb"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-52ddb1"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-120d1b"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-51eeeb"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-51eeeb{color:#CF222E}\n.ct-acc981{color:#0550AE}\n.ct-52ddb1{color:#0A3069}\n.ct-120d1b{color:#24292F}\n.ct-a0b1e2{color:#953800}\n.dark .ct-a0b1e2{color:#FFA657}\n.dark .ct-120d1b{color:#C9D1D9}\n.dark .ct-52ddb1{color:#A5D6FF}\n.dark .ct-acc981{color:#79C0FF}\n.dark .ct-51eeeb{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:2.getting-started:1.installation.md","_source":"content","_file":"2.frontier/2.getting-started/1.installation.md","_extension":"md"},"hash":"mCfWc79feX"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/1.usage.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/1.usage.md new file mode 100644 index 00000000..15b258c6 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/1.usage.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/getting-started/usage","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Usage","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e0b966"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-927d35"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-6eecd0"},"children":[{"type":"text","value":"namespac"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-927d35"},"children":[{"type":"text","value":">"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-927d35"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-6eecd0"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-927d35"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"namespaces are optional if running frontier commands in an existing frontier project"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The help menu can be accessed with the commands:"}]},{"type":"element","tag":"code","props":{"code":"frontier --help\r\nfrontier --help\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e0b966"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1b485d"},"children":[{"type":"text","value":"--help"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e0b966"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-927d35"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-6eecd0"},"children":[{"type":"text","value":"namespac"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-927d35"},"children":[{"type":"text","value":">"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1b485d"},"children":[{"type":"text","value":"--help"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The current version of frontier can be retrieved with the command:"}]},{"type":"element","tag":"code","props":{"code":"frontier --version\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e0b966"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-e64e12"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1b485d"},"children":[{"type":"text","value":"--version"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"code","props":{"code":"Usage:\r\n frontier \r\n\r\nNamespaces:\r\n dotnet - Dotnet API Scaffolding\r\n mobile - React Native Scaffolding\r\n vue - Vue.js Scaffolding\r\n \r\nOptions:\r\n --help - Show help information\r\n --version - Show cli version\n","language":"txt","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"Usage:\r\n frontier \r\n\r\nNamespaces:\r\n dotnet - Dotnet API Scaffolding\r\n mobile - React Native Scaffolding\r\n vue - Vue.js Scaffolding\r\n \r\nOptions:\r\n --help - Show help information\r\n --version - Show cli version"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-1b485d{color:#0550AE}\n.ct-6eecd0{color:#0A3069}\n.ct-927d35{color:#CF222E}\n.ct-e64e12{color:#24292F}\n.ct-e0b966{color:#953800}\n.dark .ct-e0b966{color:#FFA657}\n.dark .ct-e64e12{color:#C9D1D9}\n.dark .ct-927d35{color:#FF7B72}\n.dark .ct-6eecd0{color:#A5D6FF}\n.dark .ct-1b485d{color:#79C0FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"options","depth":2,"text":"Options"}]}},"_type":"markdown","_id":"content:2.frontier:2.getting-started:1.usage.md","_source":"content","_file":"2.frontier/2.getting-started/1.usage.md","_extension":"md"},"hash":"joM0QhvF4q"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/2.development.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/2.development.md new file mode 100644 index 00000000..5bc5d221 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/2.development.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/getting-started/development","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"development"},"children":[{"type":"text","value":"Development"}]},{"type":"element","tag":"h3","props":{"id":"prerequisites-recommendations"},"children":[{"type":"text","value":"Prerequisites & Recommendations"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"Name"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"Description"}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"text","value":"More Information"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"node"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"runtime"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"version 19.8.1"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"dependency management"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"version 1.22.19"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"vscode"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"code editor"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"version 1.77.1"}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"clone-the-project"},"children":[{"type":"text","value":"Clone the project"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/realdecoy/frontier/tree/development","rel":["nofollow"]},"children":[{"type":"text","value":"Frontier - development"}]}]},{"type":"element","tag":"h3","props":{"id":"install-dependencies"},"children":[{"type":"text","value":"Install Dependencies"}]},{"type":"element","tag":"code","props":{"code":"yarn install\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"install"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"or"}]},{"type":"element","tag":"code","props":{"code":"npm install\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"install"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"execute-cli-commands"},"children":[{"type":"text","value":"Execute CLI commands"}]},{"type":"element","tag":"code","props":{"code":"./bin/dev \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a32842"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"/bin/dev"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-01c8b7"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"namespac"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-01c8b7"},"children":[{"type":"text","value":">"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-01c8b7"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-01c8b7"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"e.g."}]},{"type":"element","tag":"code","props":{"code":"./bin/dev vue create-project\r\n? Enter a project name: » my-cool-project\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a32842"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"/bin/dev"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-01c8b7"},"children":[{"type":"text","value":"?"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" Enter a project name: » my-cool-project"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"building"},"children":[{"type":"text","value":"Building"}]},{"type":"element","tag":"h4","props":{"id":"build"},"children":[{"type":"text","value":"Build"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The build command rebuilds all packages and notify the user of the success of the packages being rebuilt.\r\nTo build the packages of frontier, run the command:"}]},{"type":"element","tag":"code","props":{"code":"yarn run build\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"build"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"or"}]},{"type":"element","tag":"code","props":{"code":"npm run build\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"build"}]}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"rebuild"},"children":[{"type":"text","value":"Rebuild"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Rebuilding the frontier packages automatically reconstructs the packages forgetting about any previous compliation of them.\r\nTo rebuild the frontier packages, run the command:"}]},{"type":"element","tag":"code","props":{"code":"yarn run rebuild\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"rebuild"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"or"}]},{"type":"element","tag":"code","props":{"code":"npm run rebuild\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"rebuild"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"creating-a-frontier-namespace"},"children":[{"type":"text","value":"Creating a frontier namespace"}]},{"type":"element","tag":"h4","props":{"id":"adam"},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/realdecoy/frontier/tree/development/commands/adam","rel":["nofollow"]},"children":[{"type":"text","value":"Adam"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To support the creation of new frointer-based namespaces a template, "},{"type":"element","tag":"a","props":{"href":"https://github.com/realdecoy/frontier/tree/development/src/commands/adam","rel":["nofollow"]},"children":[{"type":"text","value":"Adam"}]},{"type":"text","value":", has been provided to allow for easier development. This template provides the basic structure needed to develop a simple frontier-based namespace. It also provides sample commands and tests to get you started."}]},{"type":"element","tag":"h3","props":{"id":"testing"},"children":[{"type":"text","value":"Testing"}]},{"type":"element","tag":"h3","props":{"id":"run-unit-test-suite"},"children":[{"type":"text","value":"Run Unit Test Suite"}]},{"type":"element","tag":"code","props":{"code":"yarn run test\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"test"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"or"}]},{"type":"element","tag":"code","props":{"code":"npm run test\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0959f9"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-9a3554"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-433b54"},"children":[{"type":"text","value":"test"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"creating-tests"},"children":[{"type":"text","value":"Creating Tests"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"create a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":".test.ts"}]},{"type":"text","value":" file in the respective folder"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"using "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"chai"}]},{"type":"text","value":" assertion syntax, describe your unit test cases"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"visit the oclif "},{"type":"element","tag":"a","props":{"href":"https://oclif.io/docs/testing","rel":["nofollow"]},"children":[{"type":"text","value":"testing documentation"}]},{"type":"text","value":" to see more details"}]}]},{"type":"element","tag":"h3","props":{"id":"contribution-instructions"},"children":[{"type":"text","value":"Contribution Instructions"}]},{"type":"element","tag":"h4","props":{"id":"testing-requirements"},"children":[{"type":"text","value":"Testing Requirements"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All code contributions made to this repository be properly tested. For testing the testing framework Jest is used. All test files must be writen with the extension \".spec.ts\", to maintain the consistency of this project."}]},{"type":"element","tag":"h4","props":{"id":"github-commits"},"children":[{"type":"text","value":"GitHub Commits"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All commits maded to this repository be rewritten according to the "},{"type":"element","tag":"a","props":{"href":"https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13","rel":["nofollow"]},"children":[{"type":"text","value":"Conventional Commit Messages Standard"}]},{"type":"text","value":". This is to ensure that consistency is maintained throughout the repository."}]},{"type":"element","tag":"h4","props":{"id":"pull-request"},"children":[{"type":"text","value":"Pull Request"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When creating a pull request ensure that the request is well documented and the changes made to the repository have been properly noted. Ensure to link the issue number/s that the pull request satisfies."}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-01c8b7{color:#CF222E}\n.ct-a32842{color:#0550AE}\n.ct-433b54{color:#0A3069}\n.ct-9a3554{color:#24292F}\n.ct-0959f9{color:#953800}\n.dark .ct-0959f9{color:#FFA657}\n.dark .ct-9a3554{color:#C9D1D9}\n.dark .ct-433b54{color:#A5D6FF}\n.dark .ct-a32842{color:#79C0FF}\n.dark .ct-01c8b7{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"prerequisites-recommendations","depth":3,"text":"Prerequisites & Recommendations"},{"id":"clone-the-project","depth":3,"text":"Clone the project"},{"id":"install-dependencies","depth":3,"text":"Install Dependencies"},{"id":"execute-cli-commands","depth":3,"text":"Execute CLI commands"},{"id":"building","depth":3,"text":"Building"},{"id":"creating-a-frontier-namespace","depth":3,"text":"Creating a frontier namespace"},{"id":"testing","depth":3,"text":"Testing"},{"id":"run-unit-test-suite","depth":3,"text":"Run Unit Test Suite"},{"id":"creating-tests","depth":3,"text":"Creating Tests"},{"id":"contribution-instructions","depth":3,"text":"Contribution Instructions"}]}},"_type":"markdown","_id":"content:2.frontier:2.getting-started:2.development.md","_source":"content","_file":"2.frontier/2.getting-started/2.development.md","_extension":"md"},"hash":"LA3KosknmI"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/_dir.yml b/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/_dir.yml new file mode 100644 index 00000000..c93ccb6e --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/2.getting-started/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:document-text","_id":"content:2.frontier:2.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/2.getting-started/_dir.yml","_extension":"yml"},"hash":"U2iT2QKcGv"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/1.vue.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/1.vue.md new file mode 100644 index 00000000..75bc47af --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/1.vue.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/namespaces/vue","_dir":"namespaces","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Vue","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"vue"},"children":[{"type":"text","value":"Vue"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.namespaces:1.vue.md","_source":"content","_file":"2.frontier/4.namespaces/1.vue.md","_extension":"md"},"hash":"mpmpG1G0IK"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/2.mobile.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/2.mobile.md new file mode 100644 index 00000000..0b0261f9 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/2.mobile.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/namespaces/mobile","_dir":"namespaces","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Mobile","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"mobile"},"children":[{"type":"text","value":"Mobile"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.namespaces:2.mobile.md","_source":"content","_file":"2.frontier/4.namespaces/2.mobile.md","_extension":"md"},"hash":"5VATw0FZRu"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/2.quality.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/2.quality.md new file mode 100644 index 00000000..454753b3 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/2.quality.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/namespaces/quality","_dir":"namespaces","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Quality","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"quality"},"children":[{"type":"text","value":"Quality"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.namespaces:2.quality.md","_source":"content","_file":"2.frontier/4.namespaces/2.quality.md","_extension":"md"},"hash":"hWhsm3yWYL"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/3.dotnet.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/3.dotnet.md new file mode 100644 index 00000000..519bc321 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/3.dotnet.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/namespaces/dotnet","_dir":"namespaces","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Dotnet","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"dotnet"},"children":[{"type":"text","value":"Dotnet"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.namespaces:3.dotnet.md","_source":"content","_file":"2.frontier/4.namespaces/3.dotnet.md","_extension":"md"},"hash":"t9YUsv46lw"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/_dir.yml b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/_dir.yml new file mode 100644 index 00000000..0403bbd2 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/4.namespaces/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/namespaces/_dir","_dir":"namespaces","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:2.frontier:4.namespaces:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/4.namespaces/_dir.yml","_extension":"yml"},"hash":"Afs7FnC9yF"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/1.typekit.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/1.typekit.md new file mode 100644 index 00000000..1c15fd37 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/1.typekit.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/_5.libraries/typekit","_dir":"_5.libraries","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":"TypeKit","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"typekit"},"children":[{"type":"text","value":"TypeKit"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:_5.libraries:1.typekit.md","_source":"content","_file":"2.frontier/_5.libraries/1.typekit.md","_extension":"md"},"hash":"A1ET3rqwLf"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/2.standard-library.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/2.standard-library.md new file mode 100644 index 00000000..fc3f6905 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/2.standard-library.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/_5.libraries/standard-library","_dir":"_5.libraries","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":"Standard Library","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"standard-library"},"children":[{"type":"text","value":"Standard Library"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:_5.libraries:2.standard-library.md","_source":"content","_file":"2.frontier/_5.libraries/2.standard-library.md","_extension":"md"},"hash":"sNtNylXQYF"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/_dir.yml b/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/_dir.yml new file mode 100644 index 00000000..5f0c97f9 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/_5.libraries/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/_5.libraries/_dir","_dir":"_5.libraries","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:2.frontier:_5.libraries:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/_5.libraries/_dir.yml","_extension":"yml"},"hash":"5do8ni9gnT"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/1.dotNet.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/1.dotNet.md new file mode 100644 index 00000000..b2f344cf --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/1.dotNet.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/_6.templates/dotnet","_dir":"_6.templates","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":" Backend - Dot Net","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"backend-dot-net"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Backend"}]},{"type":"text","value":" - Dot Net"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:_6.templates:1.dotNet.md","_source":"content","_file":"2.frontier/_6.templates/1.dotNet.md","_extension":"md"},"hash":"9OkTCDTLUZ"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/2.typescript.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/2.typescript.md new file mode 100644 index 00000000..574c0737 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/2.typescript.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/_6.templates/typescript","_dir":"_6.templates","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":" Backend - Typescript","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"backend-typescript"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Backend"}]},{"type":"text","value":" - Typescript"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:_6.templates:2.typescript.md","_source":"content","_file":"2.frontier/_6.templates/2.typescript.md","_extension":"md"},"hash":"YJl2l1MoeU"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/3.nuxt.md b/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/3.nuxt.md new file mode 100644 index 00000000..23b728f7 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/3.nuxt.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/_6.templates/nuxt","_dir":"_6.templates","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":" Frontend - Nuxtjs","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"frontend-nuxtjs"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Frontend"}]},{"type":"text","value":" - Nuxtjs"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:_6.templates:3.nuxt.md","_source":"content","_file":"2.frontier/_6.templates/3.nuxt.md","_extension":"md"},"hash":"w5nB5rtDt1"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/_dir.yml b/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/_dir.yml new file mode 100644 index 00000000..eea1304e --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/_6.templates/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/_6.templates/_dir","_dir":"_6.templates","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:2.frontier:_6.templates:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/_6.templates/_dir.yml","_extension":"yml"},"hash":"AbhDdYEbBX"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/2.frontier/_dir.yml b/docs/.nuxt/content-cache/parsed/content/2.frontier/_dir.yml new file mode 100644 index 00000000..f70e729d --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/2.frontier/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/frontier/_dir","_dir":"frontier","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:2.frontier:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/_dir.yml","_extension":"yml"},"hash":"rbDhcxf7VZ"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/1.introduction/1.whats-frontier-vue.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/1.introduction/1.whats-frontier-vue.md new file mode 100644 index 00000000..03e0d73c --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/1.introduction/1.whats-frontier-vue.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/introduction/whats-frontier-vue","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"What is Frontier - Vue?","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"what-is-frontier-vue"},"children":[{"type":"text","value":"What is Frontier - Vue?"}]},{"type":"element","tag":"h2","props":{"id":"about"},"children":[{"type":"text","value":"About"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Frontier - Vue"}]},{"type":"text","value":" is an opinionated CLI for generating Vue.js projects. We do so by adopting a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models, and a data-layer design promoting unified consumption through Stores and Services."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"about","depth":2,"text":"About"}]}},"_type":"markdown","_id":"content:3.Vue:1.introduction:1.whats-frontier-vue.md","_source":"content","_file":"3.Vue/1.introduction/1.whats-frontier-vue.md","_extension":"md"},"hash":"qhq8G6apRP"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/1.introduction/_dir.yml b/docs/.nuxt/content-cache/parsed/content/3.Vue/1.introduction/_dir.yml new file mode 100644 index 00000000..cdbbaa50 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/1.introduction/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/introduction/_dir","_dir":"introduction","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:pencil-alt","_id":"content:3.Vue:1.introduction:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.Vue/1.introduction/_dir.yml","_extension":"yml"},"hash":"8OGNGk9U9B"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/1.installation.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/1.installation.md new file mode 100644 index 00000000..4670b66f --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/1.installation.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/getting-started/installation","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Installation","description":"For global installation","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For global installation"}]},{"type":"element","tag":"code","props":{"code":"npm install --global @realdecoy/frontier\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-db1dea"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-f1f697"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3577da"},"children":[{"type":"text","value":"install"}]},{"type":"element","tag":"span","props":{"class":"ct-f1f697"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-459845"},"children":[{"type":"text","value":"--global"}]},{"type":"element","tag":"span","props":{"class":"ct-f1f697"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3577da"},"children":[{"type":"text","value":"@realdecoy/frontier"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"alternatively, use "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"npx"}]},{"type":"text","value":" to execute the binaries remotely"}]},{"type":"element","tag":"code","props":{"code":"npx @realdecoy/frontier vue \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-db1dea"},"children":[{"type":"text","value":"npx"}]},{"type":"element","tag":"span","props":{"class":"ct-f1f697"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3577da"},"children":[{"type":"text","value":"@realdecoy/frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-f1f697"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3577da"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-f1f697"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3e121"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-3577da"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-f1f697"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-c3e121"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-c3e121{color:#CF222E}\n.ct-459845{color:#0550AE}\n.ct-3577da{color:#0A3069}\n.ct-f1f697{color:#24292F}\n.ct-db1dea{color:#953800}\n.dark .ct-db1dea{color:#FFA657}\n.dark .ct-f1f697{color:#C9D1D9}\n.dark .ct-3577da{color:#A5D6FF}\n.dark .ct-459845{color:#79C0FF}\n.dark .ct-c3e121{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.Vue:2.getting-started:1.installation.md","_source":"content","_file":"3.Vue/2.getting-started/1.installation.md","_extension":"md"},"hash":"M8fJOrUDxE"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/2.usage.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/2.usage.md new file mode 100644 index 00000000..4fc09c96 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/2.usage.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/getting-started/usage","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Usage","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier vue \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2740b5"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-31f034"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-79ce28"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-31f034"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-79ce28"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The help menu can be accessed with the command:"}]},{"type":"element","tag":"code","props":{"code":"frontier vue --help\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2740b5"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-31f034"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7e0984"},"children":[{"type":"text","value":"--help"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"code","props":{"code":"Usage:\r\n frontier vue \r\n\r\nCommands:\r\n add - Add a new module\r\n create-project - Scaffold a new project\r\n plugin - Inject a utility to extend project functionality\r\n upgrade - Specify the template version for a project\r\n\r\nOptions:\r\n --help - Show help information\n","language":"txt","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"Usage:\r\n frontier vue \r\n\r\nCommands:\r\n add - Add a new module\r\n create-project - Scaffold a new project\r\n plugin - Inject a utility to extend project functionality\r\n upgrade - Specify the template version for a project\r\n\r\nOptions:\r\n --help - Show help information"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"create-a-project"},"children":[{"type":"text","value":"Create a project"}]},{"type":"element","tag":"code","props":{"code":"frontier vue create-project \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2740b5"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-31f034"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-31f034"},"children":[{"type":"text","value":"create-project"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-79ce28"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-31f034"},"children":[{"type":"text","value":"project-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-2c4d3b"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-79ce28"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Replace "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":""}]},{"type":"text","value":" with the actual name of your project. Generated folders are named in kebab-case."}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-7e0984{color:#0550AE}\n.ct-79ce28{color:#CF222E}\n.ct-31f034{color:#0A3069}\n.ct-2c4d3b{color:#24292F}\n.ct-2740b5{color:#953800}\n.dark .ct-2740b5{color:#FFA657}\n.dark .ct-2c4d3b{color:#C9D1D9}\n.dark .ct-31f034{color:#A5D6FF}\n.dark .ct-79ce28{color:#FF7B72}\n.dark .ct-7e0984{color:#79C0FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"options","depth":2,"text":"Options","children":[{"id":"create-a-project","depth":3,"text":"Create a project"}]}]}},"_type":"markdown","_id":"content:3.Vue:2.getting-started:2.usage.md","_source":"content","_file":"3.Vue/2.getting-started/2.usage.md","_extension":"md"},"hash":"ey5bukN1Gm"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/3.next-steps.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/3.next-steps.md new file mode 100644 index 00000000..da31b0c6 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/3.next-steps.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/getting-started/next-steps","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Next Steps","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"next-steps"},"children":[{"type":"text","value":"Next Steps"}]},{"type":"element","tag":"h3","props":{"id":"step-1-install-project-dependencies"},"children":[{"type":"text","value":"Step 1: Install project dependencies"}]},{"type":"element","tag":"code","props":{"code":"cd \r\nnpm install\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-61e11c"},"children":[{"type":"text","value":"cd"}]},{"type":"element","tag":"span","props":{"class":"ct-555d68"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dae50b"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-0649f7"},"children":[{"type":"text","value":"project-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-555d68"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-dae50b"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-cfaefc"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-555d68"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0649f7"},"children":[{"type":"text","value":"install"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"step-2-serve-project"},"children":[{"type":"text","value":"Step 2: Serve project"}]},{"type":"element","tag":"code","props":{"code":"npm run serve\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-cfaefc"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-555d68"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0649f7"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-555d68"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0649f7"},"children":[{"type":"text","value":"serve"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The project will be served at "},{"type":"element","tag":"a","props":{"href":"http://localhost:8080/","rel":["nofollow"]},"children":[{"type":"text","value":"http://localhost:8080/"}]},{"type":"text","value":" by default. This information will also be printed out in your terminal. Visiting the link the app is served on will display a default page which was created on project creation."}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-cfaefc{color:#953800}\n.ct-0649f7{color:#0A3069}\n.ct-dae50b{color:#CF222E}\n.ct-555d68{color:#24292F}\n.ct-61e11c{color:#0550AE}\n.dark .ct-61e11c{color:#79C0FF}\n.dark .ct-555d68{color:#C9D1D9}\n.dark .ct-dae50b{color:#FF7B72}\n.dark .ct-0649f7{color:#A5D6FF}\n.dark .ct-cfaefc{color:#FFA657}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"step-1-install-project-dependencies","depth":3,"text":"Step 1: Install project dependencies"},{"id":"step-2-serve-project","depth":3,"text":"Step 2: Serve project"}]}},"_type":"markdown","_id":"content:3.Vue:2.getting-started:3.next-steps.md","_source":"content","_file":"3.Vue/2.getting-started/3.next-steps.md","_extension":"md"},"hash":"1CsbvbmmLg"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/_dir.yml b/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/_dir.yml new file mode 100644 index 00000000..10af00d8 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/2.getting-started/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:document-text","_id":"content:3.Vue:2.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.Vue/2.getting-started/_dir.yml","_extension":"yml"},"hash":"FULamQsldy"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/3.cli-commands/1.usage.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/3.cli-commands/1.usage.md new file mode 100644 index 00000000..97d98079 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/3.cli-commands/1.usage.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/cli-commands/usage","_dir":"cli-commands","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"CLI Commands","description":"This reference documents every command and flag available in the frontier vue command-line interface. The vue CLI helps with scaffolfing projects, components and other features right from the terminal.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"cli-commands"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This reference documents every command and flag available in the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"frontier vue"}]},{"type":"text","value":" command-line interface. The vue CLI helps with scaffolfing projects, components and other features right from the terminal."}]},{"type":"element","tag":"h2","props":{"id":"help-menu"},"children":[{"type":"text","value":"Help Menu"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Run the cli option below for a list of commands and options"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Option"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"--help"}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Show CLI help"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"cli-commands-1"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Frontier - Vue"}]},{"type":"text","value":" includes the following sub-commands:"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Command"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#create-project"},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Scaffold a new project"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#add"},"children":[{"type":"text","value":"add"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Add a feature to a project"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#plugin"},"children":[{"type":"text","value":"plugin"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Inject a utility to extend project functionality"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#upgrade"},"children":[{"type":"text","value":"upgrade"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Specify the rdvue template version for a project"}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"create-project"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"create-project will scaffold a new project for you, using one of the presets selected from its interactive shell."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier vue create-project \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c132f0"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"create-project"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f4c92"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"project-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-8f4c92"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"add"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"add"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Add a feature to a project."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier vue add \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c132f0"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f4c92"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-8f4c92"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Commands"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#components"},"children":[{"type":"text","value":"component"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#pages"},"children":[{"type":"text","value":"page"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#services"},"children":[{"type":"text","value":"service"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#stores"},"children":[{"type":"text","value":"store"}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"plugin"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"plugin"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Injects a utility to extend the project's functionality"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier vue plugin \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c132f0"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"plugin"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f4c92"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"librar"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":"y"}]},{"type":"element","tag":"span","props":{"class":"ct-8f4c92"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Libraries"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"buefy"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"localization"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"vuetify"}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"upgrade"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"upgrade"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Attempts to upgrade the project's rdvue template to the specified version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier vue upgrade \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c132f0"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"upgrade"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8f4c92"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ba7a00"},"children":[{"type":"text","value":"versio"}]},{"type":"element","tag":"span","props":{"class":"ct-3ae5f6"},"children":[{"type":"text","value":"n"}]},{"type":"element","tag":"span","props":{"class":"ct-8f4c92"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-8f4c92{color:#CF222E}\n.ct-ba7a00{color:#0A3069}\n.ct-3ae5f6{color:#24292F}\n.ct-c132f0{color:#953800}\n.dark .ct-c132f0{color:#FFA657}\n.dark .ct-3ae5f6{color:#C9D1D9}\n.dark .ct-ba7a00{color:#A5D6FF}\n.dark .ct-8f4c92{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"help-menu","depth":2,"text":"Help Menu"},{"id":"cli-commands-1","depth":2,"text":"CLI Commands","children":[{"id":"create-project","depth":3,"text":"create-project"},{"id":"add","depth":3,"text":"add"},{"id":"plugin","depth":3,"text":"plugin"},{"id":"upgrade","depth":3,"text":"upgrade"}]}]}},"_type":"markdown","_id":"content:3.Vue:3.cli-commands:1.usage.md","_source":"content","_file":"3.Vue/3.cli-commands/1.usage.md","_extension":"md"},"hash":"1fnMzykuPZ"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/3.cli-commands/_dir.yml b/docs/.nuxt/content-cache/parsed/content/3.Vue/3.cli-commands/_dir.yml new file mode 100644 index 00000000..74eb2489 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/3.cli-commands/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/cli-commands/_dir","_dir":"cli-commands","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:3.Vue:3.cli-commands:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.Vue/3.cli-commands/_dir.yml","_extension":"yml"},"hash":"mNeslKcacX"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/1.template.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/1.template.md new file mode 100644 index 00000000..cf238b1d --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/1.template.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/development/template","_dir":"development","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Template","description":"The vue scaffolding template can be found here","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"template"},"children":[{"type":"text","value":"Template"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The vue scaffolding template can be found "},{"type":"element","tag":"a","props":{"href":"https://github.com/realdecoy/rdvue-template","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.Vue:4.development:1.template.md","_source":"content","_file":"3.Vue/4.development/1.template.md","_extension":"md"},"hash":"wF9Kcg0xVo"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/2.schema.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/2.schema.md new file mode 100644 index 00000000..8fcaa4d5 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/2.schema.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/development/schema","_dir":"development","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Template Schema","description":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"template-schema"},"children":[{"type":"text","value":"Template Schema"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module."}]},{"type":"element","tag":"h2","props":{"id":"templatejson"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"template.json"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The template.json file keeps a record of each abstracted template module. This file directs how the CLI will navigate and parse each subsequent template module. The following is a breakdown of the sections that make up template.json."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The template.json file includes the following properties:"}]},{"type":"element","tag":"h3","props":{"id":"version"},"children":[{"type":"text","value":"version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A number representing the current version of the file."}]},{"type":"element","tag":"code","props":{"code":"{\r\n \"version\": 1\r\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"1"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sourcedirectory"},"children":[{"type":"text","value":"sourceDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Source directory for module files that will be copied into a project. Normally points to the base folder of a module."}]},{"type":"element","tag":"code","props":{"code":"{\r\n \"sourceDirectory\": \"./\",\r\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"sourceDirectory\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"./\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"features"},"children":[{"type":"text","value":"features"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The features section holds a list of objects with each representing a single feature. Each object holds two properties, name & private."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The name property holds the name of a feature, this the name that you must use when running a command on any of these features."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The private is a boolean which determines whether or not the files of a feature can be overwritten after been initially added to the project. Also, features whose private property is set to true cannot be added by a user."}]},{"type":"element","tag":"code","props":{"code":" \"features\": [\r\n {\r\n \"name\": \"config\",\r\n \"private\": true\r\n },\r\n {\r\n \"name\": \"store\",\r\n \"private\": true\r\n },\r\n {\r\n \"name\": \"component\",\r\n \"private\": false\r\n },\r\n {\r\n \"name\": \"service\",\r\n \"private\": false\r\n },\r\n {\r\n \"name\": \"model\",\r\n \"private\": false\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"private\": false\r\n },\r\n {\r\n \"name\": \"sm\",\r\n \"private\": false\r\n }\r\n ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"store\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"component\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"service\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"model\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"page\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"sm\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"plugins"},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The plugins section holds a list of names of the plugins available in RDvue. After setting up your configuration files for a plugin, simply add the name (the name of the module folder for the configuration files of your plugin) to this list to make it available to the CLI for usage."}]},{"type":"element","tag":"code","props":{"code":"\"plugins\": [\r\n \"auth\",\r\n \"localization\",\r\n \"storybook\"\r\n]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"auth\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"project"},"children":[{"type":"text","value":"project"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The project section is an object which defines what will be installed at project creation. Currently, there are two properties/keys on this object, features & plugin."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The features property/key is an array holding the name of all features which will be automatically generated at project creation."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The plugins property/key is an array holding the name of all plugins which will be automatically generated at project creation."}]},{"type":"element","tag":"code","props":{"code":"\"project\": {\r\n    \"features\": [\r\n      \"config\",\r\n      \"store\"\r\n    ],\r\n    \"plugins\": [\r\n      \"storybook\"\r\n    ]\r\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"groups"},"children":[{"type":"text","value":"groups"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The groups section is used to group plugins that offer similar functionalities."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For example, imagine if we had the following two UI libraries Buefy & Vuetify, we could create a group called ui-library which holds these two plugins."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each group is represented as an object. Each object has the following properties:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name of the group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"isMultipleChoice - boolean indicating if more than one option can be selected from this group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"plugins - a list of the names of the plugins that belong to the group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"question - the question prompted to a user when they run the command to add a plugin from a group"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Running rdvue add-group would prompt a user with the question that belongs to the requested group along with the list of plugins in that group to choose from."}]},{"type":"element","tag":"code","props":{"code":"\"project\": {\r\n    \"features\": [\r\n      \"config\",\r\n      \"store\"\r\n    ],\r\n    \"plugins\": [\r\n      \"storybook\"\r\n    ]\r\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"presets"},"children":[{"type":"text","value":"presets"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"presets are available for a user to quickly scaffold in plugins when creating a project. The presets section of the template.json contains a list of objects. each representing an individual preset. A preset object contains the following properties:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name of the preset"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"description - description of the preset. Conventionally used to list out the plugins that comes with the preset"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"plugins- a list of the plugins which the preset will install"}]}]},{"type":"element","tag":"code","props":{"code":" \"presets\": [\r\n    {\r\n      \"name\": \"Sample Preset 1\",\r\n      \"description\": \"Installs storybook, and localization\",\r\n      \"plugins\": [\r\n        \"storybook\",\r\n        \"localization\"\r\n      ]\r\n    }\r\n  ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"Sample Preset 1\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"description\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"Installs storybook, and localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"storybook\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  ]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"custompreset"},"children":[{"type":"text","value":"customPreset"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A user can decide to manually select plugins from different groups that they’d like at project creation instead of choosing a preset. The cutomPreset object describes the groups available to a user. It includes the following:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name displayed to the user"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"groups - a list containing the names of the Feature Groups which the user will be able to choose from"}]}]},{"type":"element","tag":"code","props":{"code":" \"customPreset\": {\r\n    \"groups\": [\r\n      \"authentication\",\r\n      \"locale\"\r\n    ],\r\n    \"name\": \"custom\"\r\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"customPreset\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"locale\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"custom\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"example-templatejson-file"},"children":[{"type":"text","value":"Example "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"template.json"}]},{"type":"text","value":" file"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here is a sample of what a complete template.json file would look like."}]},{"type":"element","tag":"code","props":{"code":"{\r\n  \"version\": 1,\r\n  \"sourceDirectory\": \"./\",\r\n  \"features\": [\r\n    {\r\n      \"name\": \"config\",\r\n      \"private\": true\r\n    },\r\n    {\r\n      \"name\": \"store\",\r\n      \"private\": true\r\n    },\r\n    {\r\n      \"name\": \"component\",\r\n      \"private\": false\r\n    },\r\n    {\r\n      \"name\": \"service\",\r\n      \"private\": false\r\n    },\r\n    {\r\n      \"name\": \"model\",\r\n      \"private\": false\r\n    },\r\n    {\r\n      \"name\": \"page\",\r\n      \"private\": false\r\n    },\r\n    {\r\n      \"name\": \"sm\",\r\n      \"private\": false\r\n    }\r\n  ],\r\n  \"plugins\": [\r\n    \"auth\",\r\n    \"localization\",\r\n    \"storybook\"\r\n  ],\r\n  \"project\": {\r\n    \"features\": [\r\n      \"config\",\r\n      \"store\"\r\n    ],\r\n    \"plugins\": [\r\n      \"storybook\"\r\n    ]\r\n  },\r\n  \"groups\": [\r\n    {\r\n      \"name\": \"authentication\",\r\n      \"isMultipleChoice\": false,\r\n      \"plugins\": [\r\n        \"auth\"\r\n      ],\r\n      \"question\": \"Which Authentication Library would you like to install?\"\r\n    },\r\n    {\r\n      \"name\": \"locale\",\r\n      \"isMultipleChoice\": false,\r\n      \"plugins\": [\r\n        \"localization\"\r\n      ],\r\n      \"question\": \"Which Localization Library would you like to install?\"\r\n    }\r\n  ],\r\n  \"presets\": [\r\n    {\r\n      \"name\": \"Sample Preset 1\",\r\n      \"description\": \"Installs storybook, and localization\",\r\n      \"plugins\": [\r\n        \"storybook\",\r\n        \"localization\"\r\n      ]\r\n    }\r\n  ],\r\n  \"customPreset\": {\r\n    \"groups\": [\r\n      \"authentication\",\r\n      \"locale\"\r\n    ],\r\n    \"name\": \"custom\"\r\n  }\r\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"sourceDirectory\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"./\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"store\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"component\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"service\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"model\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"page\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"sm\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"auth\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"isMultipleChoice\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"auth\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"question\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"Which Authentication Library would you like to install?\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"locale\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"isMultipleChoice\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-229b59"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"question\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"Which Localization Library would you like to install?\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"Sample Preset 1\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"description\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"Installs storybook, and localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"storybook\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"customPreset\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"locale\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"custom\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h1","props":{"id":"template-module"},"children":[{"type":"text","value":"Template Module"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Modules are self-contained building blocks of a full Vue project. Each module must contain a manifest.json file."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A module.json file is built with the following section. Not all sections will be needed inside every module.json file created. A module.json is composed of the following sections:"}]},{"type":"element","tag":"h3","props":{"id":"version-1"},"children":[{"type":"text","value":"version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The current version of the file."}]},{"type":"element","tag":"code","props":{"code":"\"version\": 1\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"version\": 1"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"name"},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Name of the module (e.g component)"}]},{"type":"element","tag":"code","props":{"code":" \"name\": \"component\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"name\": \"component\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"description"},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A description of the module. This is also displayed inside the CLI help menu for each Module."}]},{"type":"element","tag":"code","props":{"code":"\"description\": \"Generate a basic components needed for basic authenticaton.\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"description\": \"Generate a basic components needed for basic authenticaton.\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sourcedirectory-1"},"children":[{"type":"text","value":"sourceDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Source directory for module files that get copied into a project. Normally points to the base folder of a module."}]},{"type":"element","tag":"code","props":{"code":" \"sourceDirectory\": \"./\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"sourceDirectory\": \"./\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"installdirectory"},"children":[{"type":"text","value":"installDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"the location that the module should be generated in the Vue project."}]},{"type":"element","tag":"h3","props":{"id":"files"},"children":[{"type":"text","value":"files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"a list of files that exist in the module that needs to be copied to the install directory. The files in this list can either be either of the following:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"a string (if the file should be copied as-is)"}]}]},{"type":"element","tag":"code","props":{"code":"\"files\": [\r\n {\r\n \"source\": \"store/auth.ts\",\r\n \"target\": \"store/auth.ts\"\r\n },\r\n {\r\n \"source\": \"services/auth.ts\",\r\n \"target\": \"services/auth.ts\"\r\n },\r\n {\r\n \"source\": \"model/user.ts\",\r\n \"target\": \"model/user.ts\"\r\n },\r\n {\r\n \"source\": \"pages/register/index.ts\",\r\n \"target\": \"pages/auth/register/index.ts\"\r\n },\r\n {\r\n \"source\": \"pages/register/register.ts\",\r\n \"target\": \"pages/auth/register/register.ts\"\r\n },\r\n {\r\n \"source\": \"pages/register/register.scss\",\r\n \"target\": \"pages/auth/register/register.scss\"\r\n },\r\n {\r\n \"source\": \"pages/register/register.vue\",\r\n \"target\": \"pages/auth/register/register.vue\"\r\n },\r\n {\r\n \"source\": \"pages/login/index.ts\",\r\n \"target\": \"pages/auth/login/index.ts\"\r\n },\r\n {\r\n \"source\": \"pages/login/login.ts\",\r\n \"target\": \"pages/auth/login/login.ts\"\r\n },\r\n {\r\n \"source\": \"pages/login/login.scss\",\r\n \"target\": \"pages/auth/login/login.scss\"\r\n },\r\n {\r\n \"source\": \"pages/login/login.vue\",\r\n \"target\": \"pages/auth/login/login.vue\"\r\n },\r\n {\r\n \"source\": \"pages/forget-password/index.ts\",\r\n \"target\": \"pages/auth/forget-password/index.ts\"\r\n },\r\n {\r\n \"source\": \"pages/forget-password/forget-password.ts\",\r\n \"target\": \"pages/auth/forget-password/forget-password.ts\"\r\n },\r\n {\r\n \"source\": \"pages/forget-password/forget-password.scss\",\r\n \"target\": \"pages/auth/forget-password/forget-password.scss\"\r\n },\r\n {\r\n \"source\": \"pages/forget-password/forget-password.vue\",\r\n \"target\": \"pages/auth/forget-password/forget-password.vue\"\r\n }\r\n ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"store/auth.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"store/auth.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"services/auth.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"services/auth.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"model/user.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"model/user.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/register/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/register/index.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/register/register.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/register/register.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/register/register.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/register/register.scss\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/register/register.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/register/register.vue\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/login/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"\"pages/auth/login/index.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/login/login.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/login/login.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/login/login.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/login/login.scss\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/login/login.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/login/login.vue\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/forget-password/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/forget-password/index.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.scss\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.vue\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"object with required properties:"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"source and target (for change of name if necessary)"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"and an optional content list of objects for finding and replacing content within the file -"}]}]},{"type":"element","tag":"code","props":{"code":"\"files\": [\r\n {\r\n \"source\": \"index.ts\",\r\n \"target\": \"index.ts\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n }\r\n ]\r\n },\r\n {\r\n \"source\": \"component.scss\",\r\n \"target\": \"${componentNameKebab}.scss\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n }\r\n ]\r\n },\r\n {\r\n \"source\": \"component.ts\",\r\n \"target\": \"${componentNameKebab}.ts\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n },\r\n {\r\n \"matchRegex\": \"__COMPONENT__\",\r\n \"replace\": \"${componentName}\"\r\n }\r\n ]\r\n },\r\n {\r\n \"source\": \"component.spec.js\",\r\n \"target\": \"${componentNameKebab}.spec.js\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n },\r\n {\r\n \"matchRegex\": \"__COMPONENT__\",\r\n \"replace\": \"${componentName}\"\r\n }\r\n ]\r\n },\r\n {\r\n \"source\": \"component.vue\",\r\n \"target\": \"${componentNameKebab}.vue\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n }\r\n ]\r\n }\r\n]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"\"component.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"${componentNameKebab}.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"component.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"${componentNameKebab}.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"${componentName}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"component.spec.js\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"${componentNameKebab}.spec.js\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"${componentName}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-5bdcc5"},"children":[{"type":"text","value":"\"component.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a77c23"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-7071d3"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"\"${componentNameKebab}.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3ce69f"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":"]"}]}]}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"\r\n _Note: files section can be a combination of both types mentioned above._\r\n\r\n### packages\r\nThis section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.\r\n\r\nThe dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.\r\n\r\n```json\r\n \"packages\": {\r\n \"dependencies\": [\"vue-i18n\"],\r\n \"devDependencies\": [\"vue-cli-plugin-i18n\"]\r\n }\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\r\n _Note: files section can be a combination of both types mentioned above._\r\n\r\n### packages\r\nThis section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.\r\n\r\nThe dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.\r\n\r\n```json\r\n \"packages\": {\r\n \"dependencies\": [\"vue-i18n\"],\r\n \"devDependencies\": [\"vue-cli-plugin-i18n\"]\r\n }"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"There’s currently no support for specifying package versions."}]}]},{"type":"element","tag":"h3","props":{"id":"routes"},"children":[{"type":"text","value":"routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You have the ability to inject a route into the application to allow users to preview a module (feature or plugin) after installing it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The routes section of the manifest.json allows you to define an array of routes. Here’s an example:"}]},{"type":"element","tag":"code","props":{"code":" \"routes\": [\r\n {\r\n \"path\": \"'/buefy-sample'\",\r\n \"name\": \"'buefy-sample'\",\r\n \"component\": \"`require('@/pages/buefy-sample/buefy-sample.vue').default`\"\r\n }\r\n ]\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"routes\": [\r\n {\r\n \"path\": \"'/buefy-sample'\",\r\n \"name\": \"'buefy-sample'\",\r\n \"component\": \"`require('@/pages/buefy-sample/buefy-sample.vue').default`\"\r\n }\r\n ]"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"path: relative URL where module component (.vue file) can be viewed"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name: name of the route"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"component: the sample component created as a part of your module"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Any number of modules can have a routes section. Therefore, each route definition is programmatically added to an array of route definitions found in .rdvue/routes.js at the root of an RDvue project. The definitions found in this array are then automatically loaded into the router.ts file. Here’s an example:"}]},{"type":"element","tag":"code","props":{"code":"export default [{\r\n path: '/buefy-sample',\r\n name: 'buefy-sample',\r\n component: require('@/pages/buefy-sample/buefy-sample.vue').default\r\n },];\n","language":"javascript","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-07890a"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-928a4b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-07890a"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-928a4b"},"children":[{"type":"text","value":" [{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-928a4b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":"path: "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"'/buefy-sample'"}]},{"type":"element","tag":"span","props":{"class":"ct-928a4b"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-928a4b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":"name: "}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"'buefy-sample'"}]},{"type":"element","tag":"span","props":{"class":"ct-928a4b"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-928a4b"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":"component: "}]},{"type":"element","tag":"span","props":{"class":"ct-ac7d12"},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-116528"},"children":[{"type":"text","value":"'@/pages/buefy-sample/buefy-sample.vue'"}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":").default"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-928a4b"},"children":[{"type":"text","value":"},]"}]},{"type":"element","tag":"span","props":{"class":"ct-1787d9"},"children":[{"type":"text","value":";"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"vueoptions"},"children":[{"type":"text","value":"vueOptions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Plugin options needed in vue.config for module to work"}]},{"type":"element","tag":"code","props":{"code":"\"vueOptions\": {\r\n \"transpileDependencies\": [\r\n \"'vuetify'\"\r\n ]\r\n }\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"vueOptions\": {\r\n \"transpileDependencies\": [\r\n \"'vuetify'\"\r\n ]\r\n }"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All vueOptions are automatically added to the exports object in .rdvue/options.js. This module is then loaded in vue.config.js and used as part of its plugin options."}]},{"type":"element","tag":"code","props":{"code":"module.exports = {\r\n transpileDependencies: 'vuetify',\r\n};\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"module.exports = {\r\n transpileDependencies: 'vuetify',\r\n};"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"modules"},"children":[{"type":"text","value":"modules"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Configuration imports needed for your module to work. These configs are store in the src/config folder."}]},{"type":"element","tag":"code","props":{"code":" \"modules\": {\r\n \"vuetify\": \"`require('@/config/vuetify').default`\"\r\n } \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"modules\": {\r\n \"vuetify\": \"`require('@/config/vuetify').default`\"\r\n } "}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-ac7d12{color:#8250DF}\n.ct-928a4b{color:#953800}\n.ct-07890a{color:#CF222E}\n.ct-5bdcc5{color:#0A3069}\n.ct-229b59{color:#0550AE}\n.ct-a77c23{color:#116329}\n.ct-7071d3{color:#24292F}\n.dark .ct-7071d3{color:#C9D1D9}\n.dark .ct-a77c23{color:#7EE787}\n.dark .ct-229b59{color:#79C0FF}\n.dark .ct-5bdcc5{color:#A5D6FF}\n.dark .ct-a96f3f{color:#FF7B72}\n.dark .ct-370b5d{color:#FFA657}\n.dark .ct-814202{color:#D2A8FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"templatejson","depth":2,"text":"template.json","children":[{"id":"version","depth":3,"text":"version"},{"id":"sourcedirectory","depth":3,"text":"sourceDirectory"},{"id":"features","depth":3,"text":"features"},{"id":"plugins","depth":3,"text":"plugins"},{"id":"project","depth":3,"text":"project"},{"id":"groups","depth":3,"text":"groups"},{"id":"presets","depth":3,"text":"presets"},{"id":"custompreset","depth":3,"text":"customPreset"},{"id":"example-templatejson-file","depth":3,"text":"Example template.json file"},{"id":"version-1","depth":3,"text":"version"},{"id":"name","depth":3,"text":"name"},{"id":"description","depth":3,"text":"description"},{"id":"sourcedirectory-1","depth":3,"text":"sourceDirectory"},{"id":"installdirectory","depth":3,"text":"installDirectory"},{"id":"files","depth":3,"text":"files"},{"id":"routes","depth":3,"text":"routes"},{"id":"vueoptions","depth":3,"text":"vueOptions"},{"id":"modules","depth":3,"text":"modules"}]}]}},"_type":"markdown","_id":"content:3.Vue:4.development:2.schema.md","_source":"content","_file":"3.Vue/4.development/2.schema.md","_extension":"md"},"hash":"VyzH75UHEX"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/_dir.yml b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/_dir.yml new file mode 100644 index 00000000..46b63d26 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.development/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/development/_dir","_dir":"development","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:3.Vue:4.development:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.Vue/4.development/_dir.yml","_extension":"yml"},"hash":"ekTY7BnJK5"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/1.template.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/1.template.md new file mode 100644 index 00000000..8003231f --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/1.template.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/scaffolding/template","_dir":"scaffolding","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Template","description":"The vue scaffolding template can be found here","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"template"},"children":[{"type":"text","value":"Template"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The vue scaffolding template can be found "},{"type":"element","tag":"a","props":{"href":"https://github.com/realdecoy/rdvue-template","rel":["nofollow"]},"children":[{"type":"text","value":"here"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.Vue:4.scaffolding:1.template.md","_source":"content","_file":"3.Vue/4.scaffolding/1.template.md","_extension":"md"},"hash":"6E9WDBRkbS"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/2.schema.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/2.schema.md new file mode 100644 index 00000000..d4bdeee7 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/2.schema.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/scaffolding/schema","_dir":"scaffolding","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Template Schema","description":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"template-schema"},"children":[{"type":"text","value":"Template Schema"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module."}]},{"type":"element","tag":"h2","props":{"id":"templatejson"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"template.json"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The template.json file keeps a record of each abstracted template module. This file directs how the CLI will navigate and parse each subsequent template module. The following is a breakdown of the sections that make up template.json."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The template.json file includes the following properties:"}]},{"type":"element","tag":"h3","props":{"id":"version"},"children":[{"type":"text","value":"version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A number representing the current version of the file."}]},{"type":"element","tag":"code","props":{"code":"{\r\n \"version\": 1\r\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"1"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sourcedirectory"},"children":[{"type":"text","value":"sourceDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Source directory for module files that will be copied into a project. Normally points to the base folder of a module."}]},{"type":"element","tag":"code","props":{"code":"{\r\n \"sourceDirectory\": \"./\",\r\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"sourceDirectory\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"./\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"features"},"children":[{"type":"text","value":"features"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The features section holds a list of objects with each representing a single feature. Each object holds two properties, name & private."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The name property holds the name of a feature, this the name that you must use when running a command on any of these features."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The private is a boolean which determines whether or not the files of a feature can be overwritten after been initially added to the project. Also, features whose private property is set to true cannot be added by a user."}]},{"type":"element","tag":"code","props":{"code":" \"features\": [\r\n {\r\n \"name\": \"config\",\r\n \"private\": true\r\n },\r\n {\r\n \"name\": \"store\",\r\n \"private\": true\r\n },\r\n {\r\n \"name\": \"component\",\r\n \"private\": false\r\n },\r\n {\r\n \"name\": \"service\",\r\n \"private\": false\r\n },\r\n {\r\n \"name\": \"model\",\r\n \"private\": false\r\n },\r\n {\r\n \"name\": \"page\",\r\n \"private\": false\r\n },\r\n {\r\n \"name\": \"sm\",\r\n \"private\": false\r\n }\r\n ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"store\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"component\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"service\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"model\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"page\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"sm\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"plugins"},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The plugins section holds a list of names of the plugins available in RDvue. After setting up your configuration files for a plugin, simply add the name (the name of the module folder for the configuration files of your plugin) to this list to make it available to the CLI for usage."}]},{"type":"element","tag":"code","props":{"code":"\"plugins\": [\r\n \"auth\",\r\n \"localization\",\r\n \"storybook\"\r\n]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"auth\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"project"},"children":[{"type":"text","value":"project"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The project section is an object which defines what will be installed at project creation. Currently, there are two properties/keys on this object, features & plugin."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The features property/key is an array holding the name of all features which will be automatically generated at project creation."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The plugins property/key is an array holding the name of all plugins which will be automatically generated at project creation."}]},{"type":"element","tag":"code","props":{"code":"\"project\": {\r\n    \"features\": [\r\n      \"config\",\r\n      \"store\"\r\n    ],\r\n    \"plugins\": [\r\n      \"storybook\"\r\n    ]\r\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"groups"},"children":[{"type":"text","value":"groups"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The groups section is used to group plugins that offer similar functionalities."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For example, imagine if we had the following two UI libraries Buefy & Vuetify, we could create a group called ui-library which holds these two plugins."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each group is represented as an object. Each object has the following properties:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name of the group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"isMultipleChoice - boolean indicating if more than one option can be selected from this group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"plugins - a list of the names of the plugins that belong to the group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"question - the question prompted to a user when they run the command to add a plugin from a group"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Running rdvue add-group would prompt a user with the question that belongs to the requested group along with the list of plugins in that group to choose from."}]},{"type":"element","tag":"code","props":{"code":"\"project\": {\r\n    \"features\": [\r\n      \"config\",\r\n      \"store\"\r\n    ],\r\n    \"plugins\": [\r\n      \"storybook\"\r\n    ]\r\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"presets"},"children":[{"type":"text","value":"presets"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"presets are available for a user to quickly scaffold in plugins when creating a project. The presets section of the template.json contains a list of objects. each representing an individual preset. A preset object contains the following properties:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name of the preset"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"description - description of the preset. Conventionally used to list out the plugins that comes with the preset"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"plugins- a list of the plugins which the preset will install"}]}]},{"type":"element","tag":"code","props":{"code":" \"presets\": [\r\n    {\r\n      \"name\": \"Sample Preset 1\",\r\n      \"description\": \"Installs storybook, and localization\",\r\n      \"plugins\": [\r\n        \"storybook\",\r\n        \"localization\"\r\n      ]\r\n    }\r\n  ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"Sample Preset 1\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"description\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"Installs storybook, and localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"storybook\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  ]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"custompreset"},"children":[{"type":"text","value":"customPreset"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A user can decide to manually select plugins from different groups that they’d like at project creation instead of choosing a preset. The cutomPreset object describes the groups available to a user. It includes the following:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name displayed to the user"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"groups - a list containing the names of the Feature Groups which the user will be able to choose from"}]}]},{"type":"element","tag":"code","props":{"code":" \"customPreset\": {\r\n    \"groups\": [\r\n      \"authentication\",\r\n      \"locale\"\r\n    ],\r\n    \"name\": \"custom\"\r\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"customPreset\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"locale\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"custom\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"example-templatejson-file"},"children":[{"type":"text","value":"Example "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"template.json"}]},{"type":"text","value":" file"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here is a sample of what a complete template.json file would look like."}]},{"type":"element","tag":"code","props":{"code":"{\r\n  \"version\": 1,\r\n  \"sourceDirectory\": \"./\",\r\n  \"features\": [\r\n    {\r\n      \"name\": \"config\",\r\n      \"private\": true\r\n    },\r\n    {\r\n      \"name\": \"store\",\r\n      \"private\": true\r\n    },\r\n    {\r\n      \"name\": \"component\",\r\n      \"private\": false\r\n    },\r\n    {\r\n      \"name\": \"service\",\r\n      \"private\": false\r\n    },\r\n    {\r\n      \"name\": \"model\",\r\n      \"private\": false\r\n    },\r\n    {\r\n      \"name\": \"page\",\r\n      \"private\": false\r\n    },\r\n    {\r\n      \"name\": \"sm\",\r\n      \"private\": false\r\n    }\r\n  ],\r\n  \"plugins\": [\r\n    \"auth\",\r\n    \"localization\",\r\n    \"storybook\"\r\n  ],\r\n  \"project\": {\r\n    \"features\": [\r\n      \"config\",\r\n      \"store\"\r\n    ],\r\n    \"plugins\": [\r\n      \"storybook\"\r\n    ]\r\n  },\r\n  \"groups\": [\r\n    {\r\n      \"name\": \"authentication\",\r\n      \"isMultipleChoice\": false,\r\n      \"plugins\": [\r\n        \"auth\"\r\n      ],\r\n      \"question\": \"Which Authentication Library would you like to install?\"\r\n    },\r\n    {\r\n      \"name\": \"locale\",\r\n      \"isMultipleChoice\": false,\r\n      \"plugins\": [\r\n        \"localization\"\r\n      ],\r\n      \"question\": \"Which Localization Library would you like to install?\"\r\n    }\r\n  ],\r\n  \"presets\": [\r\n    {\r\n      \"name\": \"Sample Preset 1\",\r\n      \"description\": \"Installs storybook, and localization\",\r\n      \"plugins\": [\r\n        \"storybook\",\r\n        \"localization\"\r\n      ]\r\n    }\r\n  ],\r\n  \"customPreset\": {\r\n    \"groups\": [\r\n      \"authentication\",\r\n      \"locale\"\r\n    ],\r\n    \"name\": \"custom\"\r\n  }\r\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"sourceDirectory\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"./\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"store\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"component\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"service\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"model\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"page\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"sm\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"auth\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"isMultipleChoice\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"auth\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"question\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"Which Authentication Library would you like to install?\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"locale\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"isMultipleChoice\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3e319c"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"question\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"Which Localization Library would you like to install?\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"Sample Preset 1\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"description\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"Installs storybook, and localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"storybook\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"customPreset\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"locale\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"custom\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h1","props":{"id":"template-module"},"children":[{"type":"text","value":"Template Module"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Modules are self-contained building blocks of a full Vue project. Each module must contain a manifest.json file."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A module.json file is built with the following section. Not all sections will be needed inside every module.json file created. A module.json is composed of the following sections:"}]},{"type":"element","tag":"h3","props":{"id":"version-1"},"children":[{"type":"text","value":"version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The current version of the file."}]},{"type":"element","tag":"code","props":{"code":"\"version\": 1\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"version\": 1"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"name"},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Name of the module (e.g component)"}]},{"type":"element","tag":"code","props":{"code":" \"name\": \"component\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"name\": \"component\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"description"},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A description of the module. This is also displayed inside the CLI help menu for each Module."}]},{"type":"element","tag":"code","props":{"code":"\"description\": \"Generate a basic components needed for basic authenticaton.\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"description\": \"Generate a basic components needed for basic authenticaton.\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sourcedirectory-1"},"children":[{"type":"text","value":"sourceDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Source directory for module files that get copied into a project. Normally points to the base folder of a module."}]},{"type":"element","tag":"code","props":{"code":" \"sourceDirectory\": \"./\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"sourceDirectory\": \"./\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"installdirectory"},"children":[{"type":"text","value":"installDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"the location that the module should be generated in the Vue project."}]},{"type":"element","tag":"h3","props":{"id":"files"},"children":[{"type":"text","value":"files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"a list of files that exist in the module that needs to be copied to the install directory. The files in this list can either be either of the following:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"a string (if the file should be copied as-is)"}]}]},{"type":"element","tag":"code","props":{"code":"\"files\": [\r\n {\r\n \"source\": \"store/auth.ts\",\r\n \"target\": \"store/auth.ts\"\r\n },\r\n {\r\n \"source\": \"services/auth.ts\",\r\n \"target\": \"services/auth.ts\"\r\n },\r\n {\r\n \"source\": \"model/user.ts\",\r\n \"target\": \"model/user.ts\"\r\n },\r\n {\r\n \"source\": \"pages/register/index.ts\",\r\n \"target\": \"pages/auth/register/index.ts\"\r\n },\r\n {\r\n \"source\": \"pages/register/register.ts\",\r\n \"target\": \"pages/auth/register/register.ts\"\r\n },\r\n {\r\n \"source\": \"pages/register/register.scss\",\r\n \"target\": \"pages/auth/register/register.scss\"\r\n },\r\n {\r\n \"source\": \"pages/register/register.vue\",\r\n \"target\": \"pages/auth/register/register.vue\"\r\n },\r\n {\r\n \"source\": \"pages/login/index.ts\",\r\n \"target\": \"pages/auth/login/index.ts\"\r\n },\r\n {\r\n \"source\": \"pages/login/login.ts\",\r\n \"target\": \"pages/auth/login/login.ts\"\r\n },\r\n {\r\n \"source\": \"pages/login/login.scss\",\r\n \"target\": \"pages/auth/login/login.scss\"\r\n },\r\n {\r\n \"source\": \"pages/login/login.vue\",\r\n \"target\": \"pages/auth/login/login.vue\"\r\n },\r\n {\r\n \"source\": \"pages/forget-password/index.ts\",\r\n \"target\": \"pages/auth/forget-password/index.ts\"\r\n },\r\n {\r\n \"source\": \"pages/forget-password/forget-password.ts\",\r\n \"target\": \"pages/auth/forget-password/forget-password.ts\"\r\n },\r\n {\r\n \"source\": \"pages/forget-password/forget-password.scss\",\r\n \"target\": \"pages/auth/forget-password/forget-password.scss\"\r\n },\r\n {\r\n \"source\": \"pages/forget-password/forget-password.vue\",\r\n \"target\": \"pages/auth/forget-password/forget-password.vue\"\r\n }\r\n ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"store/auth.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"store/auth.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"services/auth.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"services/auth.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"model/user.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"model/user.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/register/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/register/index.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/register/register.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/register/register.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/register/register.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/register/register.scss\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/register/register.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/register/register.vue\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/login/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/login/index.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/login/login.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/login/login.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/login/login.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/login/login.scss\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/login/login.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/login/login.vue\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/forget-password/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/forget-password/index.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.ts\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.scss\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.vue\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"object with required properties:"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"source and target (for change of name if necessary)"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"and an optional content list of objects for finding and replacing content within the file -"}]}]},{"type":"element","tag":"code","props":{"code":"\"files\": [\r\n {\r\n \"source\": \"index.ts\",\r\n \"target\": \"index.ts\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n }\r\n ]\r\n },\r\n {\r\n \"source\": \"component.scss\",\r\n \"target\": \"${componentNameKebab}.scss\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n }\r\n ]\r\n },\r\n {\r\n \"source\": \"component.ts\",\r\n \"target\": \"${componentNameKebab}.ts\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n },\r\n {\r\n \"matchRegex\": \"__COMPONENT__\",\r\n \"replace\": \"${componentName}\"\r\n }\r\n ]\r\n },\r\n {\r\n \"source\": \"component.spec.js\",\r\n \"target\": \"${componentNameKebab}.spec.js\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n },\r\n {\r\n \"matchRegex\": \"__COMPONENT__\",\r\n \"replace\": \"${componentName}\"\r\n }\r\n ]\r\n },\r\n {\r\n \"source\": \"component.vue\",\r\n \"target\": \"${componentNameKebab}.vue\",\r\n \"content\": [\r\n {\r\n \"matchRegex\": \"__COMPONENT__\",\r\n \"replace\": \"${componentNameKebab}\"\r\n }\r\n ]\r\n }\r\n]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"component.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"component.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentName}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"component.spec.js\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}.spec.js\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentName}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"component.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-60c0dd"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"]"}]}]}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"\r\n _Note: files section can be a combination of both types mentioned above._\r\n\r\n### packages\r\nThis section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.\r\n\r\nThe dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.\r\n\r\n```json\r\n \"packages\": {\r\n \"dependencies\": [\"vue-i18n\"],\r\n \"devDependencies\": [\"vue-cli-plugin-i18n\"]\r\n }\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\r\n _Note: files section can be a combination of both types mentioned above._\r\n\r\n### packages\r\nThis section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.\r\n\r\nThe dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.\r\n\r\n```json\r\n \"packages\": {\r\n \"dependencies\": [\"vue-i18n\"],\r\n \"devDependencies\": [\"vue-cli-plugin-i18n\"]\r\n }"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"There’s currently no support for specifying package versions."}]}]},{"type":"element","tag":"h3","props":{"id":"routes"},"children":[{"type":"text","value":"routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You have the ability to inject a route into the application to allow users to preview a module (feature or plugin) after installing it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The routes section of the manifest.json allows you to define an array of routes. Here’s an example:"}]},{"type":"element","tag":"code","props":{"code":" \"routes\": [\r\n {\r\n \"path\": \"'/buefy-sample'\",\r\n \"name\": \"'buefy-sample'\",\r\n \"component\": \"`require('@/pages/buefy-sample/buefy-sample.vue').default`\"\r\n }\r\n ]\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"routes\": [\r\n {\r\n \"path\": \"'/buefy-sample'\",\r\n \"name\": \"'buefy-sample'\",\r\n \"component\": \"`require('@/pages/buefy-sample/buefy-sample.vue').default`\"\r\n }\r\n ]"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"path: relative URL where module component (.vue file) can be viewed"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name: name of the route"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"component: the sample component created as a part of your module"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Any number of modules can have a routes section. Therefore, each route definition is programmatically added to an array of route definitions found in .rdvue/routes.js at the root of an RDvue project. The definitions found in this array are then automatically loaded into the router.ts file. Here’s an example:"}]},{"type":"element","tag":"code","props":{"code":"export default [{\r\n path: '/buefy-sample',\r\n name: 'buefy-sample',\r\n component: require('@/pages/buefy-sample/buefy-sample.vue').default\r\n },];\n","language":"javascript","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4526f3"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-ba67ae"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4526f3"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-ba67ae"},"children":[{"type":"text","value":" [{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ba67ae"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"path: "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"'/buefy-sample'"}]},{"type":"element","tag":"span","props":{"class":"ct-ba67ae"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ba67ae"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"name: "}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"'buefy-sample'"}]},{"type":"element","tag":"span","props":{"class":"ct-ba67ae"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ba67ae"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"component: "}]},{"type":"element","tag":"span","props":{"class":"ct-6265b9"},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-d76621"},"children":[{"type":"text","value":"'@/pages/buefy-sample/buefy-sample.vue'"}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":").default"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ba67ae"},"children":[{"type":"text","value":"},]"}]},{"type":"element","tag":"span","props":{"class":"ct-4eae0c"},"children":[{"type":"text","value":";"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"vueoptions"},"children":[{"type":"text","value":"vueOptions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Plugin options needed in vue.config for module to work"}]},{"type":"element","tag":"code","props":{"code":"\"vueOptions\": {\r\n \"transpileDependencies\": [\r\n \"'vuetify'\"\r\n ]\r\n }\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"vueOptions\": {\r\n \"transpileDependencies\": [\r\n \"'vuetify'\"\r\n ]\r\n }"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All vueOptions are automatically added to the exports object in .rdvue/options.js. This module is then loaded in vue.config.js and used as part of its plugin options."}]},{"type":"element","tag":"code","props":{"code":"module.exports = {\r\n transpileDependencies: 'vuetify',\r\n};\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"module.exports = {\r\n transpileDependencies: 'vuetify',\r\n};"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"modules"},"children":[{"type":"text","value":"modules"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Configuration imports needed for your module to work. These configs are store in the src/config folder."}]},{"type":"element","tag":"code","props":{"code":" \"modules\": {\r\n \"vuetify\": \"`require('@/config/vuetify').default`\"\r\n } \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"modules\": {\r\n \"vuetify\": \"`require('@/config/vuetify').default`\"\r\n } "}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-6265b9{color:#8250DF}\n.ct-ba67ae{color:#953800}\n.ct-4526f3{color:#CF222E}\n.ct-d76621{color:#0A3069}\n.ct-3e319c{color:#0550AE}\n.ct-60c0dd{color:#116329}\n.ct-4eae0c{color:#24292F}\n.dark .ct-4eae0c{color:#C9D1D9}\n.dark .ct-60c0dd{color:#7EE787}\n.dark .ct-3e319c{color:#79C0FF}\n.dark .ct-d76621{color:#A5D6FF}\n.dark .ct-4526f3{color:#FF7B72}\n.dark .ct-ba67ae{color:#FFA657}\n.dark .ct-6265b9{color:#D2A8FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"templatejson","depth":2,"text":"template.json","children":[{"id":"version","depth":3,"text":"version"},{"id":"sourcedirectory","depth":3,"text":"sourceDirectory"},{"id":"features","depth":3,"text":"features"},{"id":"plugins","depth":3,"text":"plugins"},{"id":"project","depth":3,"text":"project"},{"id":"groups","depth":3,"text":"groups"},{"id":"presets","depth":3,"text":"presets"},{"id":"custompreset","depth":3,"text":"customPreset"},{"id":"example-templatejson-file","depth":3,"text":"Example template.json file"},{"id":"version-1","depth":3,"text":"version"},{"id":"name","depth":3,"text":"name"},{"id":"description","depth":3,"text":"description"},{"id":"sourcedirectory-1","depth":3,"text":"sourceDirectory"},{"id":"installdirectory","depth":3,"text":"installDirectory"},{"id":"files","depth":3,"text":"files"},{"id":"routes","depth":3,"text":"routes"},{"id":"vueoptions","depth":3,"text":"vueOptions"},{"id":"modules","depth":3,"text":"modules"}]}]}},"_type":"markdown","_id":"content:3.Vue:4.scaffolding:2.schema.md","_source":"content","_file":"3.Vue/4.scaffolding/2.schema.md","_extension":"md"},"hash":"VyzH75UHEX"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/_dir.yml b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/_dir.yml new file mode 100644 index 00000000..7e1c6cf9 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/4.scaffolding/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/scaffolding/_dir","_dir":"scaffolding","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:3.Vue:4.scaffolding:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.Vue/4.scaffolding/_dir.yml","_extension":"yml"},"hash":"ekTY7BnJK5"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/0.overview.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/0.overview.md new file mode 100644 index 00000000..ebb80636 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/0.overview.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/overview","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Overview","description":"This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"overview"},"children":[{"type":"text","value":"Overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Reading through this section will get you comfortable with the CLI."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An in depth look at the command used in this section, along with all available commands, can be found in "},{"type":"element","tag":"a","props":{"href":"CLI-Commands.md#cli-commands-1"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"RDvue provides an elegant way for generating features."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.Vue:5.features:0.overview.md","_source":"content","_file":"3.Vue/5.features/0.overview.md","_extension":"md"},"hash":"i0GLG8Cm3W"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/1.pages.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/1.pages.md new file mode 100644 index 00000000..6f77c2f5 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/1.pages.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/pages","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Pages","description":"A Page is a conceptual grouping for Vue Components used in routing. Pages are not to be imported by other Pages, Components or Layouts.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Page is a conceptual grouping for Vue Components used in routing. Pages are "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"not"}]},{"type":"text","value":" to be imported by other Pages, Components or Layouts."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A special feature of Pages are that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The "},{"type":"element","tag":"a","props":{"href":"#layouts"},"children":[{"type":"text","value":"Layouts"}]},{"type":"text","value":" section goes into more detail on this approach."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Page needs to be added to the "},{"type":"element","tag":"a","props":{"href":"#routing"},"children":[{"type":"text","value":"Router"}]},{"type":"text","value":" before it can be previewed within a web browser."}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Page is contained within it’s own sub-folder within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/pages"}]},{"type":"text","value":" directory. The directory contains the following files which each carry out a specific role in developing a Page:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"vue"}]},{"type":"text","value":": This contains the Vue template markup used to implement the structure and layout of a Page. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"ts"}]},{"type":"text","value":": This contains the TypeScript controller which provides the procedural code-behind logical needed to add integrations to a page. Through this file you may expose data and handle events generated by Page elements."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"scss"}]},{"type":"text","value":": This contains the SASS stylesheet to be applied to the page - and that page only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [page].vue template file."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory."}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"spec.ts"}]},{"type":"text","value":": This contains the unit-level tests for the page. Read the "},{"type":"element","tag":"a","props":{"href":"Testing.md#unit-tests-with-jest"},"children":[{"type":"text","value":"testing section"}]},{"type":"text","value":" for more details about writing tests."}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:3.Vue:5.features:1.pages.md","_source":"content","_file":"3.Vue/5.features/1.pages.md","_extension":"md"},"hash":"ZcRwaZds4U"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/10.theming.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/10.theming.md new file mode 100644 index 00000000..48ba9033 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/10.theming.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/theming","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Theming","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"theming"},"children":[{"type":"text","value":"Theming"}]},{"type":"element","tag":"h2","props":{"id":"global-styles"},"children":[{"type":"text","value":"Global Styles"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Custom styles can be added into the project to provide global-level styling. This is useful for providing defaults which will be used by all instances of an element - such as overriding a UI framework’s defaults."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Global styles can be added to the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/theme"}]},{"type":"text","value":" directory."}]}]},{"type":"element","tag":"h3","props":{"id":"dos-and-dont"},"children":[{"type":"text","value":"Do’s and Don’t"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" use global styles to apply application level defaults to HTML elements"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do not"}]},{"type":"text","value":" use global styles to customize the imperative look/feel of specific Components. (Use "},{"type":"element","tag":"a","props":{"href":"Features.md#components"},"children":[{"type":"text","value":"Component-level"}]},{"type":"text","value":" styles and "},{"type":"element","tag":"a","props":{"href":"#tailwind"},"children":[{"type":"text","value":"Tailwind"}]},{"type":"text","value":" for that)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" use global styles to override imported UI components' look and feel (Eg. to customize Buefy)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" import global styles within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"main.ts"}]},{"type":"text","value":" app bootstrap file. This will allow unused selectors to be tree-shaken."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" import global styles from a CDN within the public/index.html file."}]}]},{"type":"element","tag":"h2","props":{"id":"tailwind"},"children":[{"type":"text","value":"Tailwind"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/","rel":["nofollow"]},"children":[{"type":"text","value":"Tailwind"}]},{"type":"text","value":" is a utility-first CSS framework which provides standardized classes for layout, colors and responsiveness. It is unique through its approach of providing low-level utility classes which can be rapidly combined to produce complex functionality. It does not provide custom UI elements like Buttons or Dropdowns, but rather focuses on building blocks which are agnostic of a specific visual design."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Tailwind is the best practice approach for styling Components and Pages within RDVue."}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"tailwind.config.js"}]},{"type":"text","value":" file allows custom utilities to be created or existing ones overridden. Eg. new standardized margin or padding values."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Tailwind utilities can be combined within your custom CSS selectors using the "},{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/docs/functions-and-directives#apply","rel":["nofollow"]},"children":[{"type":"text","value":"@apply"}]},{"type":"text","value":" directive."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"New utility classes can "},{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/docs/adding-new-utilities","rel":["nofollow"]},"children":[{"type":"text","value":"implemented"}]},{"type":"text","value":" using CSS. They can be used with psuedo class and responsive variants - like native Tailwind utilities."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The color section in tailwind.config.js should be overridden for new projects and the colors matching your style guide listed instead."}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"global-styles","depth":2,"text":"Global Styles","children":[{"id":"dos-and-dont","depth":3,"text":"Do’s and Don’t"}]},{"id":"tailwind","depth":2,"text":"Tailwind","children":[{"id":"technical","depth":3,"text":"Technical"}]}]}},"_type":"markdown","_id":"content:3.Vue:5.features:10.theming.md","_source":"content","_file":"3.Vue/5.features/10.theming.md","_extension":"md"},"hash":"mKR622W3fM"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/2.components.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/2.components.md new file mode 100644 index 00000000..ebc4819c --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/2.components.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/components","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Components","description":"A Component is a conceptual grouping for Vue components which are imported by Pages and other Components.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Component is a conceptual grouping for Vue components which are imported by "},{"type":"element","tag":"a","props":{"href":"#pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"text","value":" and other Components."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Unlike Pages, Components are never used in Routing. That would deviate from the RDVue development style guide."}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Component contains all the files present for "},{"type":"element","tag":"a","props":{"href":"#pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"text","value":" with the addition of:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[component]"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":".story.ts"}]},{"type":"text","value":": This contains the list of stories which describe the component’s usage. This is helpful for documentation purposes in providing live examples of key ways a Component can be used through the included Storybook preview tool."}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Components use special decorators within their TypeScript file to add metadata useful for generating its documentation within Storybook:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryComponent","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryComponent"}]}]}]},{"type":"text","value":": decorates the Component’s class, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Component","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Component"}]}]},{"type":"text","value":" (used in pages) with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the component’s overall purpose."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"module"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Text stating the module used in the import statement (eg. “@/components/foo”)"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"playground"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: boolean, default: true"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Toggles the Playground feature for this component within the Storybook preview."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"api"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: boolean, default: true"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Display the Component’s list of props, slots and events on the API tab within the Storybook preview tool."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"slots (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: {[key: string]: string}, default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the slots available within the component. Eg."},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"
slots: {
header: ‘The header component goes here’,
...
}
"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryProp","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryProp"}]}]}]},{"type":"text","value":": decorates the Component’s Props, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Prop","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Prop"}]}]},{"type":"text","value":" with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the prop's overall purpose."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"values"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"[array; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"An optional list of values which are considered acceptable for the prop. This is great for constraining Props that are bound to an enum type."}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryEvent","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryEvent"}]}]}]},{"type":"text","value":": decorates the Component’s Events, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Event","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Event"}]}]},{"type":"text","value":" with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the event’s overall purpose."}]}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:3.Vue:5.features:2.components.md","_source":"content","_file":"3.Vue/5.features/2.components.md","_extension":"md"},"hash":"CoBVQ4Sd75"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/3.services.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/3.services.md new file mode 100644 index 00000000..4b37bcf2 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/3.services.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/services","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Services","description":"Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should:","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"services"},"children":[{"type":"text","value":"Services"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"only interact with a single domain"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"only provide features from the domain which are relevant to the theme of the service. Eg. A user service should be focused on methods support such; adding order related data would make for poor encapsulation."}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"While each generated service resides in its own file and class, all services extend a predefined BaseService class in order to provide centralized functionality."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Each service is able to specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (Eg. wrapper storage mechanism over LocalStorage)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Each service has access to the following protected memebers:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Member"}]}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"api (field) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: Axios"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Helper to invoke web APIs. Individual service methods need only specify their endpoint paths relative to the registered root domain."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onRequest(request: AxiosRequestConfig) => void"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked before requests are sent to the web API endpoint."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onResponse(response: AxiosResponse) => void"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked before responses are handled by a Service’s methods."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onError(data: any)"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked for errors during request or response."}]}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:3.Vue:5.features:3.services.md","_source":"content","_file":"3.Vue/5.features/3.services.md","_extension":"md"},"hash":"QxsQgxWqqY"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/4.layouts.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/4.layouts.md new file mode 100644 index 00000000..9a9fc169 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/4.layouts.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/layouts","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Layouts","description":"A Layout is a conceptual grouping given to components which serve the purpose of rendering re-usable pieces of UI shared by many pages. An easy example is the header and footer information displayed on many sites: though the body of the page changes often, those elements remain the same.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"layouts"},"children":[{"type":"text","value":"Layouts"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Layout is a conceptual grouping given to components which serve the purpose of rendering re-usable pieces of UI shared by many pages. An easy example is the header and footer information displayed on many sites: though the body of the page changes often, those elements remain the same."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Layout allows us to define the common elements while leaving a slot (router-view) to inject the actual body of the Page."}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To get a Page to use a Layout, edit it’s definition in the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"router.ts"}]},{"type":"text","value":" file and add the following option:"}]},{"type":"element","tag":"code","props":{"code":"meta: {\n layout: '',\n}\n","language":"ts","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-cd33fe"},"children":[{"type":"text","value":"meta"}]},{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-cd33fe"},"children":[{"type":"text","value":"layout"}]},{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-39be03"},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For example:"}]},{"type":"element","tag":"code","props":{"code":" routes: [\n {\n path: '/',\n name: 'home',\n component: [...],\n meta: {\n layout: 'two-column',\n },\n },\n ]\n","language":"ts","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-cd33fe"},"children":[{"type":"text","value":"routes"}]},{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" path: "}]},{"type":"element","tag":"span","props":{"class":"ct-39be03"},"children":[{"type":"text","value":"'/'"}]},{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" name: "}]},{"type":"element","tag":"span","props":{"class":"ct-39be03"},"children":[{"type":"text","value":"'home'"}]},{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" component: ["}]},{"type":"element","tag":"span","props":{"class":"ct-15470e"},"children":[{"type":"text","value":"..."}]},{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":"],"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" meta: {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" layout: "}]},{"type":"element","tag":"span","props":{"class":"ct-39be03"},"children":[{"type":"text","value":"'two-column'"}]},{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-768113"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Above, the Layout refers to a component within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/layouts"}]},{"type":"text","value":" directory called "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"two-column"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Layout must contain a router-view to display the Page within the area designated for it’s content."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Layout is contained within it’s own sub-folder within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/layouts"}]},{"type":"text","value":" directory. The directory contains the following files which each carry out a specific role in developing a Layout:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"vue"}]},{"type":"text","value":": This contains the Vue template markup used to implement the structure and layout of a Layout. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"ts"}]},{"type":"text","value":": This contains the controller which provides the procedural code-behind logical needed to add integrations to a Layout. Through this file you may expose data and handle events generated by Layout elements."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"scss"}]},{"type":"text","value":": This contains the stylesheet to be applied to the Layout- and that Layout only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [layout].vue template file."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the "},{"type":"element","tag":"a","props":{"href":"Theming.md#global-styles"},"children":[{"type":"text","value":"Theme"}]},{"type":"text","value":" directory."}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"spec.ts"}]},{"type":"text","value":": This contains the unit-level tests for the Layout. Read the "},{"type":"element","tag":"a","props":{"href":"Testing.md#unit-tests-with-jest"},"children":[{"type":"text","value":"testing section"}]},{"type":"text","value":" for more details about writing tests."}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-15470e{color:#CF222E}\n.ct-39be03{color:#0A3069}\n.ct-768113{color:#24292F}\n.ct-cd33fe{color:#953800}\n.dark .ct-cd33fe{color:#FFA657}\n.dark .ct-768113{color:#C9D1D9}\n.dark .ct-39be03{color:#A5D6FF}\n.dark .ct-15470e{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:3.Vue:5.features:4.layouts.md","_source":"content","_file":"3.Vue/5.features/4.layouts.md","_extension":"md"},"hash":"Tq9TX1aVIH"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/5.stores.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/5.stores.md new file mode 100644 index 00000000..570ea891 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/5.stores.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/stores","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Stores","description":"A Store is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for [re]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a Vue Store differs in two distinct ways:","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"stores"},"children":[{"type":"text","value":"Stores"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Store is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for [re]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a Vue Store differs in two distinct ways:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Properties are reactive. Changing Store values will automatically propagate to the component-level bindings which use them."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Stores enforce a strong process-control for mutating values. Every change within a store "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"must"}]},{"type":"text","value":" go through a specially designed method, called a "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Mutation"}]},{"type":"text","value":", in order to update an internal value. This also produces the side-effect of making state manipulation atomic and track-able (using the "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=en","rel":["nofollow"]},"children":[{"type":"text","value":"Vue DevTools"}]},{"type":"text","value":")."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An application can have as many Stores as needed to logically group state concerns. The RDVue CLI creates strongly typed Stores, enabling full Intellisense and compiler support when writing code against them."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Data within a Store can be managed using 3 intrinsic functionalities of every Store:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Getters: Retrieve a value within the store."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Actions - Arbitrary, asynchronous, functions which can perform business logic and invoke mutations."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Mutations - Special, synchronous, functions which only update the values in Store. The operate atomically, meaning their changes are indivisible."}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Store consists of a standard Class, with "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Decorators"}]},{"type":"text","value":" providing the special functionality:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Module","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Module"}]}]}]},{"type":"text","value":" Decorator is added to the class itself and will be preconfigured with the necessary options whenever you use the CLI to create a new Store."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]}]},{"type":"text","value":" Decorator is added to the class’ methods that want to carry-out business logic and be able to persist the result of that into state. "},{"type":"element","tag":"a","props":{"href":"https://github.com/MultiParamAction","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@MultiParamAction"}]}]},{"type":"text","value":" is preferred over this Decorator due to Vuex quirks in how multiple parameters are handled."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If multiple parameters are used in a base "},{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]},{"type":"text","value":", the real value of the first parameter will be an array with a payload object, and the second parameter will be an options object. This will likely be entirely misaligned from the type information you specified in TypeScript."}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/MultiParamAction","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@MultiParamAction"}]}]}]},{"type":"text","value":" Decorator is the preferred alternative to "},{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]},{"type":"text","value":" because it allows methods to receive multiple parameters."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Mutation","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Mutation"}]}]}]},{"type":"text","value":" Decorator flags a method as being able to update the Store’s state. That means any fields which belong to the class may be set within the execution context of these methods."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Attempting to modify a field outside of a method marked with "},{"type":"element","tag":"a","props":{"href":"https://github.com/Mutation","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Mutation"}]}]},{"type":"text","value":" will result in a runtime error with the Vuex framework."}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:3.Vue:5.features:5.stores.md","_source":"content","_file":"3.Vue/5.features/5.stores.md","_extension":"md"},"hash":"gpcGcDer4C"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/6.localization.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/6.localization.md new file mode 100644 index 00000000..a9103990 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/6.localization.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/localization","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Localization","description":"Localization refers to the adaptation of an application or website content to meet the language, cultural and other requirements of a specific target market (a locale). This feature has two parts that is required to work:","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"localization"},"children":[{"type":"text","value":"Localization"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Localization refers to the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"adaptation"}]},{"type":"text","value":" of an application or website content to meet the language, cultural and other requirements of a specific target market (a "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":"). This feature has two parts that is required to work:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"A JSON file named as the respective "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"**i18n language codes,**"}]},{"type":"text","value":" stored in the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"locales"}]},{"type":"text","value":" folder"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Function call with respective key"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Based of the current "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":", the matching JSON file would be searched for the matching key/s."}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Examples:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"A JSON file named “en.json” with structure as follows:"}]}]},{"type":"element","tag":"code","props":{"code":"{\n \"message\": \"hello i18n!!\"\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f3e293"},"children":[{"type":"text","value":"\"message\""}]},{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-9b9628"},"children":[{"type":"text","value":"\"hello i18n!!\""}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"2. "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Function"}]},{"type":"text","value":" called within document as follows:"}]},{"type":"element","tag":"code","props":{"code":"
\n

{{ $t(\"message\") }}

\n
\n","language":"html","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-f3e293"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f3e293"},"children":[{"type":"text","value":"p"}]},{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":">{{ $t(\"message\") }}"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-604542"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The call above would print the value of the message key "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"if the **locale** is set to English (en)"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If no matching key was found, the key would be returned instead. In this case "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"message"}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-9b9628{color:#0A3069}\n.ct-f3e293{color:#116329}\n.ct-604542{color:#24292F}\n.dark .ct-604542{color:#C9D1D9}\n.dark .ct-f3e293{color:#7EE787}\n.dark .ct-9b9628{color:#A5D6FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:3.Vue:5.features:6.localization.md","_source":"content","_file":"3.Vue/5.features/6.localization.md","_extension":"md"},"hash":"HXlWxB9Koq"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/7.bundle-analysis.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/7.bundle-analysis.md new file mode 100644 index 00000000..248c33bc --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/7.bundle-analysis.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/bundle-analysis","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Bundle Analysis","description":"Bundle Analysis is the method of examining the detailed structure of individual elements within your application output build files. This allows for visualize and analyse build statistics pinpointing areas that can optimized in the next iteration of your build output. This process becomes increasingly important as your bundle size grow which has a direct impact on the end users load time.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"bundle-analysis"},"children":[{"type":"text","value":"Bundle Analysis"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Bundle Analysis is the method of examining the detailed structure of individual elements within your application output build files. This allows for visualize and analyse build statistics pinpointing areas that can optimized in the next iteration of your build output. This process becomes increasingly important as your bundle size grow which has a direct impact on the end users load time."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Bundle Analyzer"}]},{"type":"text","value":" allows for the creation of statistical data that is used for visualizing webpack outputs which helps in understanding the composition of your bundles."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"RDVUE and Bundle Analysis Using Webpack Bundle Analyser Plugin"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To generate build files for bundle analysis we run the following command"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"$ npm run build"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This will build production ready files for deployment, additionally spinning up the integrated webpack bundle analysis server:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Webpack Bundle Analyzer is started at http://127.0.0.1:8888"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Expected terminal output:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/bundle-image1.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Expected browser output Treemap:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/bundle-image2.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This module will help you:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Realize what's "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"really"}]},{"type":"text","value":" inside your bundle"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Find out what modules make up the most of its size"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Find modules that got there by mistake"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Optimize it!"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"And the best thing is it supports minified bundles! It parses them to get real size of bundled modules. And it also shows their gzipped sizes!"}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For additional plugin options and configurations please visit: "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/webpack-bundle-analyzer","rel":["nofollow"]},"children":[{"type":"text","value":"https://www.npmjs.com/package/webpack-bundle-analyzer"}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.Vue:5.features:7.bundle-analysis.md","_source":"content","_file":"3.Vue/5.features/7.bundle-analysis.md","_extension":"md"},"hash":"NOGkjYrvPP"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/8.routing.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/8.routing.md new file mode 100644 index 00000000..c5887611 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/8.routing.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/routing","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Routing","description":"In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"routing"},"children":[{"type":"text","value":"Routing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below is an example of a Route definition for a sample Login page:"}]},{"type":"element","tag":"code","props":{"code":"{\n path: '/login',\n name: 'login',\n meta: { layout: 'default' },\n component: () => import(/* webpackChunkName: \"login\" */ '@/pages/login'),\n},\n","language":"ts","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f81f45"},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-611d7c"},"children":[{"type":"text","value":"'/login'"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f81f45"},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-611d7c"},"children":[{"type":"text","value":"'login'"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f81f45"},"children":[{"type":"text","value":"meta"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":": { "}]},{"type":"element","tag":"span","props":{"class":"ct-f81f45"},"children":[{"type":"text","value":"layout"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-611d7c"},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f81f45"},"children":[{"type":"text","value":"component"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":": () "}]},{"type":"element","tag":"span","props":{"class":"ct-c5a228"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e8d362"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-f6957b"},"children":[{"type":"text","value":"/* webpackChunkName: \"login\" */"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-611d7c"},"children":[{"type":"text","value":"'@/pages/login'"}]},{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":"),"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a0a01f"},"children":[{"type":"text","value":"},"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"path"}]},{"type":"text","value":" property specifies where the page will be accessible under the domain, for example: localhost:8080**/login**."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"name"}]},{"type":"text","value":" field provides an alternative means of identifying and navigation to defined pages programatically. This approach is preferable because the route names can be externalized into global constants and shared throughout your code for navigational consistency."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"meta"}]},{"type":"text","value":" property allows specifying arbitrary data that will get passed along to the loaded Page. The CLI recognizes a sub-property called layout which it will use to attach a "},{"type":"element","tag":"a","props":{"href":"#layouts"},"children":[{"type":"text","value":"Layout"}]},{"type":"text","value":" to a page."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"component"}]},{"type":"text","value":" property specifies the Page to load for the given path. Here we used the recommended approach of dynamically loading the Page component using the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"import()"}]},{"type":"text","value":" function."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The import function is not the same as the import statements found at the top of a module file. The former is an asynchronous function that will load a module on-demand at runtime, while the latter only does static, compile-time, imports that always get bundled into the core application’s JavaScript payload."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The comment within the import statement is a directive for the Webpack pre-processor that compiles to project to create a new file which only contains the code needed to construct and execute the respective Page."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The comment inside the brackets of the import function are important and should be made unique to support proper code separation - or Chunking as it’s technically referred to. Do not delete them and ensure the value for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"webpackChunkName"}]},{"type":"text","value":" is unique for each route."}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-f6957b{color:#6E7781}\n.ct-e8d362{color:#8250DF}\n.ct-c5a228{color:#CF222E}\n.ct-611d7c{color:#0A3069}\n.ct-f81f45{color:#953800}\n.ct-a0a01f{color:#24292F}\n.dark .ct-a0a01f{color:#C9D1D9}\n.dark .ct-f81f45{color:#FFA657}\n.dark .ct-611d7c{color:#A5D6FF}\n.dark .ct-c5a228{color:#FF7B72}\n.dark .ct-e8d362{color:#D2A8FF}\n.dark .ct-f6957b{color:#8B949E}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:3.Vue:5.features:8.routing.md","_source":"content","_file":"3.Vue/5.features/8.routing.md","_extension":"md"},"hash":"9WzAx2bust"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/9.sitemap.md b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/9.sitemap.md new file mode 100644 index 00000000..435d4e8a --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/9.sitemap.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/sitemap","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Sitemap","description":"A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"sitemap"},"children":[{"type":"text","value":"Sitemap"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This can be created by utilising the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sitemap"}]},{"type":"text","value":" library, which can be installed as follows:"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"pnpm add --save-dev sitemap\n","filename":"pnpm","language":"bash","meta":"[pnpm]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":"pnpm"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1c8d83"},"children":[{"type":"text","value":"--save-dev"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"yarn add --dev sitemap\n","filename":"yarn","language":"bash","meta":"[yarn]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1c8d83"},"children":[{"type":"text","value":"--dev"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"npm install --save-dev sitemap\n","filename":"npm","language":"bash","meta":"[npm]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"install"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1c8d83"},"children":[{"type":"text","value":"--save-dev"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"server-route"},"children":[{"type":"text","value":"Server Route"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We will be utilising the "},{"type":"element","tag":"a","props":{"href":"https://nuxt.com/docs/guide/directory-structure/server#server-routes","rel":["nofollow"]},"children":[{"type":"text","value":"server routes"}]},{"type":"text","value":" available within Nuxt, and to do so you'll need to create the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"server/"}]},{"type":"text","value":" directory within your website's root directly."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Once this is done, create a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"routes/"}]},{"type":"text","value":" directory inside this, and add a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sitemap.xml.ts"}]},{"type":"text","value":" file, this will translate to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"/sitemap.xml"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You'll need to add the following:"}]},{"type":"element","tag":"code","props":{"code":"import { serverQueryContent } from '#content/server'\r\nimport { SitemapStream, streamToPromise } from 'sitemap'\r\n\r\nexport default defineEventHandler(async (event) => {\r\n // Fetch all documents\r\n const docs = await serverQueryContent(event).find()\r\n const sitemap = new SitemapStream({\r\n hostname: 'https://example.com'\r\n })\r\n\r\n for (const doc of docs) {\r\n sitemap.write({\r\n url: doc._path,\r\n changefreq: 'monthly'\r\n })\r\n }\r\n sitemap.end()\r\n\r\n return streamToPromise(sitemap)\r\n})\n","filename":"server/routes/sitemap.xml.ts","language":"ts","meta":"[server/routes/sitemap.xml.ts]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" { serverQueryContent } "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"'#content/server'"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" { SitemapStream, streamToPromise } "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"'sitemap'"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4b75bc"},"children":[{"type":"text","value":"defineEventHandler"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":" (event) "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-760d60"},"children":[{"type":"text","value":"// Fetch all documents"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1c8d83"},"children":[{"type":"text","value":"docs"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4b75bc"},"children":[{"type":"text","value":"serverQueryContent"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"(event)."}]},{"type":"element","tag":"span","props":{"class":"ct-4b75bc"},"children":[{"type":"text","value":"find"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1c8d83"},"children":[{"type":"text","value":"sitemap"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4b75bc"},"children":[{"type":"text","value":"SitemapStream"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" hostname: "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"'https://example.com'"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"for"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1c8d83"},"children":[{"type":"text","value":"doc"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"of"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" docs) {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" sitemap."}]},{"type":"element","tag":"span","props":{"class":"ct-4b75bc"},"children":[{"type":"text","value":"write"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" url: doc._path,"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" changefreq: "}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"'monthly'"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" sitemap."}]},{"type":"element","tag":"span","props":{"class":"ct-4b75bc"},"children":[{"type":"text","value":"end"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4b75bc"},"children":[{"type":"text","value":"streamToPromise"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"(sitemap)"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":")"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now, once users go to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"https://example.com/sitemap.xml"}]},{"type":"text","value":", you'll find the generated XML file with all your pages."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When using "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt generate"}]},{"type":"text","value":", you may want to pre-render the sitemap since the server route won't be able to run on a static hosting."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can do this using the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nitro.prerender"}]},{"type":"text","value":" option in your "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt.config"}]},{"type":"text","value":":"}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\r\n // ...\r\n nitro: {\r\n prerender: {\r\n routes: ['/sitemap.xml']\r\n }\r\n }\r\n})\n","filename":"nuxt.config.ts","language":"ts","meta":"[nuxt.config.ts]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-55b0bb"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4b75bc"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-760d60"},"children":[{"type":"text","value":"// ..."}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"nitro: {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" prerender: {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" routes: ["}]},{"type":"element","tag":"span","props":{"class":"ct-c01530"},"children":[{"type":"text","value":"'/sitemap.xml'"}]},{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1ed50a"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-f40829"},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-760d60{color:#6E7781}\n.ct-4b75bc{color:#8250DF}\n.ct-55b0bb{color:#CF222E}\n.ct-1c8d83{color:#0550AE}\n.ct-c01530{color:#0A3069}\n.ct-1ed50a{color:#24292F}\n.ct-f40829{color:#953800}\n.dark .ct-f40829{color:#FFA657}\n.dark .ct-1ed50a{color:#C9D1D9}\n.dark .ct-c01530{color:#A5D6FF}\n.dark .ct-1c8d83{color:#79C0FF}\n.dark .ct-55b0bb{color:#FF7B72}\n.dark .ct-4b75bc{color:#D2A8FF}\n.dark .ct-760d60{color:#8B949E}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"server-route","depth":2,"text":"Server Route"}]}},"_type":"markdown","_id":"content:3.Vue:5.features:9.sitemap.md","_source":"content","_file":"3.Vue/5.features/9.sitemap.md","_extension":"md"},"hash":"zcOa6yiFwW"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/_dir.yml b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/_dir.yml new file mode 100644 index 00000000..8193b9ee --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/5.features/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/features/_dir","_dir":"features","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:3.Vue:5.features:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.Vue/5.features/_dir.yml","_extension":"yml"},"hash":"vr5xuhhXyG"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/3.Vue/_dir.yml b/docs/.nuxt/content-cache/parsed/content/3.Vue/_dir.yml new file mode 100644 index 00000000..1848ed19 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/3.Vue/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/vue/_dir","_dir":"vue","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:3.Vue:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.Vue/_dir.yml","_extension":"yml"},"hash":"yShZHHlIE5"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/1.introduction/1.whats-frontier-mobile.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/1.introduction/1.whats-frontier-mobile.md new file mode 100644 index 00000000..685434f4 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/1.introduction/1.whats-frontier-mobile.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/introduction/whats-frontier-mobile","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"What is Frontier - Mobile?","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"what-is-frontier-mobile"},"children":[{"type":"text","value":"What is Frontier - Mobile?"}]},{"type":"element","tag":"h2","props":{"id":"about"},"children":[{"type":"text","value":"About"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/realdecoy/frontier/tree/development/src/commands/mobile","rel":["nofollow"]},"children":[{"type":"text","value":"Frontier - Mobile"}]},{"type":"text","value":" is an opinionated CLI for generating React Native Expo projects. We do so by adopting a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Screen models,\r\nand a data-layer design promoting unified consumption through React Contexts and Services.\r\nFollow the installation guide to set up the Mobile CLI."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"about","depth":2,"text":"About"}]}},"_type":"markdown","_id":"content:4.mobile:1.introduction:1.whats-frontier-mobile.md","_source":"content","_file":"4.mobile/1.introduction/1.whats-frontier-mobile.md","_extension":"md"},"hash":"aI4h0Laxcn"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/1.introduction/_dir.yml b/docs/.nuxt/content-cache/parsed/content/4.mobile/1.introduction/_dir.yml new file mode 100644 index 00000000..835b90d4 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/1.introduction/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/introduction/_dir","_dir":"introduction","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:pencil-alt","_id":"content:4.mobile:1.introduction:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.mobile/1.introduction/_dir.yml","_extension":"yml"},"hash":"8OGNGk9U9B"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/1.installation.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/1.installation.md new file mode 100644 index 00000000..efb917f6 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/1.installation.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/getting-started/installation","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Installation","description":"For global installation","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For global installation"}]},{"type":"element","tag":"code","props":{"code":"npm install --global @realdecoy/frontier\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c1367b"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-4b763f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-cff58c"},"children":[{"type":"text","value":"install"}]},{"type":"element","tag":"span","props":{"class":"ct-4b763f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-90aa32"},"children":[{"type":"text","value":"--global"}]},{"type":"element","tag":"span","props":{"class":"ct-4b763f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-cff58c"},"children":[{"type":"text","value":"@realdecoy/frontier"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"alternatively, use "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"npx"}]},{"type":"text","value":" to execute the binaries remotely"}]},{"type":"element","tag":"code","props":{"code":"npx @realdecoy/frontier mobile \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c1367b"},"children":[{"type":"text","value":"npx"}]},{"type":"element","tag":"span","props":{"class":"ct-4b763f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-cff58c"},"children":[{"type":"text","value":"@realdecoy/frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-4b763f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-cff58c"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-4b763f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-baec53"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-cff58c"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-4b763f"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-baec53"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"system-requirements"},"children":[{"type":"text","value":"System Requirements"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"You will need "},{"type":"element","tag":"a","props":{"href":"https://docs.expo.dev/get-started/installation/#expo-cli","rel":["nofollow"]},"children":[{"type":"text","value":"React Native Expo CLI"}]},{"type":"text","value":" and its dependencies in order to run this frontier project."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Git"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"For macOS or Linux users: Watchman"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"MacOs to run on iOS simular."}]}]},{"type":"element","tag":"h3","props":{"id":"recommended-tools"},"children":[{"type":"text","value":"Recommended tools"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Visual Studio Code Editor "},{"type":"element","tag":"a","props":{"href":"https://code.visualstudio.com/download","rel":["nofollow"]},"children":[{"type":"text","value":"VS Code"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-baec53{color:#CF222E}\n.ct-90aa32{color:#0550AE}\n.ct-cff58c{color:#0A3069}\n.ct-4b763f{color:#24292F}\n.ct-c1367b{color:#953800}\n.dark .ct-c1367b{color:#FFA657}\n.dark .ct-4b763f{color:#C9D1D9}\n.dark .ct-cff58c{color:#A5D6FF}\n.dark .ct-90aa32{color:#79C0FF}\n.dark .ct-baec53{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"system-requirements","depth":2,"text":"System Requirements","children":[{"id":"recommended-tools","depth":3,"text":"Recommended tools"}]}]}},"_type":"markdown","_id":"content:4.mobile:2.getting-started:1.installation.md","_source":"content","_file":"4.mobile/2.getting-started/1.installation.md","_extension":"md"},"hash":"GDF8k3TTfL"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/2.usage.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/2.usage.md new file mode 100644 index 00000000..cfc380a0 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/2.usage.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/getting-started/usage","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Usage","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-520bc4"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2f64b0"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-2f64b0"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The help menu can be accessed with the command:"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile --help\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-520bc4"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-10ab73"},"children":[{"type":"text","value":"--help"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"code","props":{"code":"Usage:\n frontier mobile \n\nCommands:\n add - Add a new module\n create-project - Scaffold a new project\n plugin - Inject a utility to extend project functionality\n\nOptions:\n --help - Show help information\n","language":"txt","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"Usage:\n frontier mobile \n\nCommands:\n add - Add a new module\n create-project - Scaffold a new project\n plugin - Inject a utility to extend project functionality\n\nOptions:\n --help - Show help information"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now we can start using the CLI if the installation was successful."}]},{"type":"element","tag":"h3","props":{"id":"create-a-project"},"children":[{"type":"text","value":"Create a project"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile create-project \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-520bc4"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"create-project"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2f64b0"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"project-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-2f64b0"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Replace "},{"type":"element","tag":"project-name","props":{},"children":[{"type":"text","value":" with the actual name of your project. Preferrably written in snake case (eg. "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"my-awesome-project"}]},{"type":"text","value":")."}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Example"}]}]},{"type":"element","tag":"code","props":{"code":"frontier mobile create-project my-awesome-project\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-520bc4"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"create-project"}]},{"type":"element","tag":"span","props":{"class":"ct-e6977e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c25c44"},"children":[{"type":"text","value":"my-awesome-project"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-10ab73{color:#0550AE}\n.ct-2f64b0{color:#CF222E}\n.ct-c25c44{color:#0A3069}\n.ct-e6977e{color:#24292F}\n.ct-520bc4{color:#953800}\n.dark .ct-520bc4{color:#FFA657}\n.dark .ct-e6977e{color:#C9D1D9}\n.dark .ct-c25c44{color:#A5D6FF}\n.dark .ct-2f64b0{color:#FF7B72}\n.dark .ct-10ab73{color:#79C0FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"options","depth":2,"text":"Options","children":[{"id":"create-a-project","depth":3,"text":"Create a project"}]}]}},"_type":"markdown","_id":"content:4.mobile:2.getting-started:2.usage.md","_source":"content","_file":"4.mobile/2.getting-started/2.usage.md","_extension":"md"},"hash":"Zck4PAfsz1"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/3.next-steps.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/3.next-steps.md new file mode 100644 index 00000000..a4c10995 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/3.next-steps.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/getting-started/next-steps","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Next Steps","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"next-steps"},"children":[{"type":"text","value":"Next Steps"}]},{"type":"element","tag":"h3","props":{"id":"step-1-run-project"},"children":[{"type":"text","value":"Step 1: Run project"}]},{"type":"element","tag":"code","props":{"code":"cd my-awesome-project\n","language":"shell","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-628c58"},"children":[{"type":"text","value":"cd"}]},{"type":"element","tag":"span","props":{"class":"ct-1c3c7e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2823b0"},"children":[{"type":"text","value":"my-awesome-project"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Run the iOS App (Mac only)."}]},{"type":"element","tag":"code","props":{"code":"npm run ios\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1bcb3a"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-1c3c7e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2823b0"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-1c3c7e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2823b0"},"children":[{"type":"text","value":"ios"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Run the Android App."}]},{"type":"element","tag":"code","props":{"code":"npm run android\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-1bcb3a"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-1c3c7e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2823b0"},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"class":"ct-1c3c7e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2823b0"},"children":[{"type":"text","value":"android"}]}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"more"},"children":[{"type":"text","value":"More"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"From here you can perform multiple other actions but a good next step is to explore the cli commands."}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-1bcb3a{color:#953800}\n.ct-2823b0{color:#0A3069}\n.ct-1c3c7e{color:#24292F}\n.ct-628c58{color:#0550AE}\n.dark .ct-628c58{color:#79C0FF}\n.dark .ct-1c3c7e{color:#C9D1D9}\n.dark .ct-2823b0{color:#A5D6FF}\n.dark .ct-1bcb3a{color:#FFA657}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"step-1-run-project","depth":3,"text":"Step 1: Run project"},{"id":"more","depth":2,"text":"More"}]}},"_type":"markdown","_id":"content:4.mobile:2.getting-started:3.next-steps.md","_source":"content","_file":"4.mobile/2.getting-started/3.next-steps.md","_extension":"md"},"hash":"Gn7qV9dKxS"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/_dir.yml b/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/_dir.yml new file mode 100644 index 00000000..c93b1624 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/2.getting-started/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:document-text","_id":"content:4.mobile:2.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.mobile/2.getting-started/_dir.yml","_extension":"yml"},"hash":"MRvkvX4JM1"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/3.cli-commands/1.usage.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/3.cli-commands/1.usage.md new file mode 100644 index 00000000..ec0ead94 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/3.cli-commands/1.usage.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/cli-commands/usage","_dir":"cli-commands","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"CLI Commands","description":"This reference documents every command and flag available in Frontier - Mobile command-line interface. The mobile CLI helps with scaffolfing project, components and other features right from the terminal.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"cli-commands"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This reference documents every command and flag available in "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Frontier - Mobile"}]},{"type":"text","value":" command-line interface. The mobile CLI helps with scaffolfing project, components and other features right from the terminal."}]},{"type":"element","tag":"h2","props":{"id":"help-menu"},"children":[{"type":"text","value":"Help Menu"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Run the CLI option below for a list of commands and options"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Usage"}]}]},{"type":"element","tag":"code","props":{"code":"frontier mobile --help\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-bbd9b3"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2eab63"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"comman"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":"d"}]},{"type":"element","tag":"span","props":{"class":"ct-2eab63"},"children":[{"type":"text","value":">"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3f5261"},"children":[{"type":"text","value":"--help"}]}]}]}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Option"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"--help"}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Displays the help menu."}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h2","props":{"id":"cli-command"},"children":[{"type":"text","value":"CLI Command"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Frontier - Mobile"}]},{"type":"text","value":" includes the following sub-commands:"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Command"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#create-project"},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Scaffold a new project"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#add"},"children":[{"type":"text","value":"add"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Add a feature to a project"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#plugin"},"children":[{"type":"text","value":"plugin"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Inject a utility to extend project functionality"}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"create-project"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"create-project"}]},{"type":"text","value":" will scaffold a new project for you, using one of the presets selected from its interactive shell."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Usage"}]}]},{"type":"element","tag":"code","props":{"code":"frontier mobile create-project \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-bbd9b3"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"create-project"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2eab63"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"project-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-2eab63"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Option"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"--bundleIdenifier"}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"The name of the unique identifier that will used for deployment to the App & Google play Store (eg. com.company.app)."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"--verbose"}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Show debug logs when creating the project."}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"add"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"add"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Adds a feature to the project."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-bbd9b3"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2eab63"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"featur"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-2eab63"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"plugin"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"plugin"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Injects a utility to extend the project's functionality"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile plugin \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-bbd9b3"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"plugin"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2eab63"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ec89f8"},"children":[{"type":"text","value":"librar"}]},{"type":"element","tag":"span","props":{"class":"ct-6cda9f"},"children":[{"type":"text","value":"y"}]},{"type":"element","tag":"span","props":{"class":"ct-2eab63"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Libraries"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"localization"}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-3f5261{color:#0550AE}\n.ct-2eab63{color:#CF222E}\n.ct-ec89f8{color:#0A3069}\n.ct-6cda9f{color:#24292F}\n.ct-bbd9b3{color:#953800}\n.dark .ct-bbd9b3{color:#FFA657}\n.dark .ct-6cda9f{color:#C9D1D9}\n.dark .ct-ec89f8{color:#A5D6FF}\n.dark .ct-2eab63{color:#FF7B72}\n.dark .ct-3f5261{color:#79C0FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"help-menu","depth":2,"text":"Help Menu"},{"id":"cli-command","depth":2,"text":"CLI Command","children":[{"id":"create-project","depth":3,"text":"create-project"},{"id":"add","depth":3,"text":"add"},{"id":"plugin","depth":3,"text":"plugin"}]}]}},"_type":"markdown","_id":"content:4.mobile:3.cli-commands:1.usage.md","_source":"content","_file":"4.mobile/3.cli-commands/1.usage.md","_extension":"md"},"hash":"IhNySlZLlK"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/3.cli-commands/_dir.yml b/docs/.nuxt/content-cache/parsed/content/4.mobile/3.cli-commands/_dir.yml new file mode 100644 index 00000000..8ef4a5fa --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/3.cli-commands/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/cli-commands/_dir","_dir":"cli-commands","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:4.mobile:3.cli-commands:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.mobile/3.cli-commands/_dir.yml","_extension":"yml"},"hash":"WDPgO4uJ5e"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/0.overview.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/0.overview.md new file mode 100644 index 00000000..446234f5 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/0.overview.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/features/overview","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Overview","description":"This section will provide a brief introduction to generating features inside a project. Each available feature has a dedicated section in our documentation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"overview"},"children":[{"type":"text","value":"Overview"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This section will provide a brief introduction to generating features inside a project. Each available feature has a dedicated section in our documentation."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Reading through this section will get you comfortable with the CLI. An in depth look at the command used in this section, along with all available commands, can be found in "},{"type":"element","tag":"a","props":{"href":"cli-reference.md#add"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"text","value":"."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"It is recommended to read through the "},{"type":"element","tag":"a","props":{"href":"cli-reference.md#add"},"children":[{"type":"text","value":"CLI Reference"}]},{"type":"text","value":" before continuing with this document."}]}]},{"type":"element","tag":"hr","props":{},"children":[]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:4.mobile:4.features:0.overview.md","_source":"content","_file":"4.mobile/4.features/0.overview.md","_extension":"md"},"hash":"lFv1FpRu04"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/1.screens.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/1.screens.md new file mode 100644 index 00000000..65c24b99 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/1.screens.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/features/screens","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Screens","description":"A Screen is a conceptual grouping for React Native Components used in nagivation. Technically a screen is a component but in order to standardize how we work with react we want you to think of screen as its own thing. Screen are not to be imported by other Screen, Components or Layouts.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"screens"},"children":[{"type":"text","value":"Screens"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Screen is a conceptual grouping for React Native Components used in nagivation. Technically a screen is a component but in order to standardize how we work with react we want you to think of screen as its own thing. Screen are "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"not"}]},{"type":"text","value":" to be imported by other Screen, Components or Layouts."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Screen needs to be added to the "},{"type":"element","tag":"a","props":{"href":"#nagivation"},"children":[{"type":"text","value":"Navigator"}]},{"type":"text","value":" before it can be used within a mobile application."}]},{"type":"element","tag":"h3","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add screen \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-68a28a"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f3d73f"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f3d73f"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f3d73f"},"children":[{"type":"text","value":"screen"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-81e9c0"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-f3d73f"},"children":[{"type":"text","value":"screen-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-81e9c0"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"example"},"children":[{"type":"text","value":"Example"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add screen login\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-68a28a"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f3d73f"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f3d73f"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f3d73f"},"children":[{"type":"text","value":"screen"}]},{"type":"element","tag":"span","props":{"class":"ct-752827"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f3d73f"},"children":[{"type":"text","value":"login"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Screen is contained within it's own sub-folder within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/screens"}]},{"type":"text","value":" directory. The directory contains the following files which each carry out a specific role in developing a Screen:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[screen]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"tsx"}]},{"type":"text","value":": This is similar to a "},{"type":"element","tag":"a","props":{"href":"#component"},"children":[{"type":"text","value":"Component"}]},{"type":"text","value":" but this is generally where we make API calls to fetch data to populate the views and import other components. Screen are also used within navigation."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[screen]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"styles.tsx"}]},{"type":"text","value":": All Stylesheet file are the same as the stylesheet used shown in "},{"type":"element","tag":"a","props":{"href":"#component"},"children":[{"type":"text","value":"Component"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-81e9c0{color:#CF222E}\n.ct-f3d73f{color:#0A3069}\n.ct-752827{color:#24292F}\n.ct-68a28a{color:#953800}\n.dark .ct-68a28a{color:#FFA657}\n.dark .ct-752827{color:#C9D1D9}\n.dark .ct-f3d73f{color:#A5D6FF}\n.dark .ct-81e9c0{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage","depth":3,"text":"Usage"},{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:4.mobile:4.features:1.screens.md","_source":"content","_file":"4.mobile/4.features/1.screens.md","_extension":"md"},"hash":"YXZWYBMYXs"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/2.components.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/2.components.md new file mode 100644 index 00000000..881c0ddc --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/2.components.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/features/components","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Components","description":"Components are independent and reusable bits of code. They include the functional logic of the component along with styling and are imported by Screens and Layout. Unlike Screens, Components are never used in Nagivation. That would deviate from our development style guide.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Components are independent and reusable bits of code. They include the functional logic of the component along with styling and are imported by "},{"type":"element","tag":"a","props":{"href":"#screens"},"children":[{"type":"text","value":"Screens"}]},{"type":"text","value":" and "},{"type":"element","tag":"a","props":{"href":"#layouts"},"children":[{"type":"text","value":"Layout"}]},{"type":"text","value":". Unlike Screens, Components are never used in Nagivation. That would deviate from our development style guide."}]},{"type":"element","tag":"h3","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add component \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-6a2c42"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"component"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"component-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"example"},"children":[{"type":"text","value":"Example"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add component fancy-text\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-6a2c42"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"component"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"fancy-text"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Component folder consists of for two files. These file include:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[component]"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":".tsx"}]},{"type":"text","value":": This file holds actual functional logic and view hierarchy for the component you are trying to create.."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[component]"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":".styles.tsx"}]},{"type":"text","value":": This contains the styling of the component. It is an abstraction similar to CSS StyleSheets with some of the attribute but not all."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"See below for example of folder structure after creating a component called "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"fancy-text"}]},{"type":"text","value":":"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/frontier/tree/mobile-integration/packages/frontier-plugins/plugin-mobile/docs/images/component.png"},"children":[]},{"type":"text","value":" \n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Example"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below is an example of a component called "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"fancy-text.tsx"}]}]},{"type":"element","tag":"code","props":{"code":"// @/component/fancy-text/fancy-text.tsx\n\nimport { Component } from \"react\";\nimport styles from \"./fancy-text.styles\";\n\nclass FancyText extends Component {\n render() {\n return Some Fancy Text\n }\n}\n\n","language":"tsx","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ad651d"},"children":[{"type":"text","value":"// @/component/fancy-text/fancy-text.tsx"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" { Component } "}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"\"react\""}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" styles "}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"\"./fancy-text.styles\""}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"class"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-6a2c42"},"children":[{"type":"text","value":"FancyText"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"extends"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9b84d3"},"children":[{"type":"text","value":"Component"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-806cdf"},"children":[{"type":"text","value":"render"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":"() {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-e7d14d"},"children":[{"type":"text","value":"Text"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-9b84d3"},"children":[{"type":"text","value":"style"}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"={"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":"styles.title"}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":">Some Fancy Text"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This is an example of the stylesheet "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"fancy-text.styles.tsx"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":"// @/component/fancy-text/fancy-text.style.tsx\n\nimport { StyleSheet } from \"react-native\";\n\nexport StyleSheet.create({\n text: {\n color: \"red\",\n fontSize: 18,\n }\n });\n};\n","language":"tsx","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-ad651d"},"children":[{"type":"text","value":"// @/component/fancy-text/fancy-text.style.tsx"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" { StyleSheet } "}]},{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"\"react-native\""}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":";"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e3bff0"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" StyleSheet."}]},{"type":"element","tag":"span","props":{"class":"ct-806cdf"},"children":[{"type":"text","value":"create"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" text: {"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" color: "}]},{"type":"element","tag":"span","props":{"class":"ct-daaacd"},"children":[{"type":"text","value":"\"red\""}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" fontSize: "}]},{"type":"element","tag":"span","props":{"class":"ct-9b84d3"},"children":[{"type":"text","value":"18"}]},{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":" });"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-730691"},"children":[{"type":"text","value":"};"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"choosing-between-class-and-function-components"},"children":[{"type":"text","value":"Choosing between Class and Function components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"There are two ways in which components can be create in React / React Native. We can use Class or Function based components. Function based components are generally quicker to create for simple use cases. However, as the components get more complicated and require more logic Class based components make this a bit easier to work with. Here are some reasons how to help make your decision a bit easier."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"When to choose Class-Based components:"}]}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"If you want to work with components lifecycle functions - Even though react provides hooks like "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"useEffect()"}]},{"type":"text","value":", this can get quite cumbersome when the components grows."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"If you are creating a "},{"type":"element","tag":"a","props":{"href":"#screens"},"children":[{"type":"text","value":"Screen"}]},{"type":"text","value":"."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"If you are creating a "},{"type":"element","tag":"a","props":{"href":"#stores--context"},"children":[{"type":"text","value":"Context Provider"}]},{"type":"text","value":"."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"If your component has a lot a "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"state"}]},{"type":"text","value":" variables - A general rule of thump is to keep state variable count at a max of 5."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"If your component has a lot a "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"props"}]},{"type":"text","value":" variables - A general rule of thump is to keep props variable count at a max of 5."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"If you intend on making API calls from within the component."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"When to choose Function-Based components:"}]}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"If the component is mostly visual with little to no functional logic."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Applying these to your development are not aim at providing technical benefit (for most scenarios) but these will help to ensure the code is more readable and easier to adapt for new developers."}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-e7d14d{color:#116329}\n.ct-806cdf{color:#8250DF}\n.ct-9b84d3{color:#0550AE}\n.ct-ad651d{color:#6E7781}\n.ct-e3bff0{color:#CF222E}\n.ct-daaacd{color:#0A3069}\n.ct-730691{color:#24292F}\n.ct-6a2c42{color:#953800}\n.dark .ct-6a2c42{color:#FFA657}\n.dark .ct-730691{color:#C9D1D9}\n.dark .ct-daaacd{color:#A5D6FF}\n.dark .ct-e3bff0{color:#FF7B72}\n.dark .ct-ad651d{color:#8B949E}\n.dark .ct-9b84d3{color:#79C0FF}\n.dark .ct-806cdf{color:#D2A8FF}\n.dark .ct-e7d14d{color:#7EE787}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage","depth":3,"text":"Usage"},{"id":"technical","depth":3,"text":"Technical"},{"id":"choosing-between-class-and-function-components","depth":3,"text":"Choosing between Class and Function components"}]}},"_type":"markdown","_id":"content:4.mobile:4.features:2.components.md","_source":"content","_file":"4.mobile/4.features/2.components.md","_extension":"md"},"hash":"LmLQVUV5qI"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/3.services.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/3.services.md new file mode 100644 index 00000000..d22650fc --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/3.services.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/features/services","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Services","description":"Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should:","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"services"},"children":[{"type":"text","value":"Services"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Only interact with a single domain"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Only provide features from the domain which are relevant to the theme of the service. Eg. A user service should be focused on methods that support such; adding order related data would make for poor encapsulation."}]}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add service \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-61d112"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f91fc6"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f91fc6"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f91fc6"},"children":[{"type":"text","value":"service"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-cbdee5"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-f91fc6"},"children":[{"type":"text","value":"service-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-cbdee5"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"example"},"children":[{"type":"text","value":"Example"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add service auth\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-61d112"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f91fc6"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f91fc6"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f91fc6"},"children":[{"type":"text","value":"service"}]},{"type":"element","tag":"span","props":{"class":"ct-8031fa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f91fc6"},"children":[{"type":"text","value":"auth"}]}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"output-file"},"children":[{"type":"text","value":"Output File"}]},{"type":"element","tag":"code","props":{"code":"src/services/auth.service.tsx\n","language":"txt","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"src/services/auth.service.tsx"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated serive is contained within the sub-folder "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"src/services"}]},{"type":"text","value":" directory. The directory contains a file for each service that has been created:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[service-name]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"serivce.tsx"}]},{"type":"text","value":": The file will contain a related grouping of http functions."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"While each generated service resides in its own file and class, all services extend a predefined BaseService class in order to provide centralized functionality."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Each service is able to specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (Eg. wrapper storage mechanism over AsyncStorage)."}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-cbdee5{color:#CF222E}\n.ct-f91fc6{color:#0A3069}\n.ct-8031fa{color:#24292F}\n.ct-61d112{color:#953800}\n.dark .ct-61d112{color:#FFA657}\n.dark .ct-8031fa{color:#C9D1D9}\n.dark .ct-f91fc6{color:#A5D6FF}\n.dark .ct-cbdee5{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:4.mobile:4.features:3.services.md","_source":"content","_file":"4.mobile/4.features/3.services.md","_extension":"md"},"hash":"ElYyLFjzh3"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/4.navigation.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/4.navigation.md new file mode 100644 index 00000000..38e66ffc --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/4.navigation.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/features/navigation","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Nagivation","description":"A special feature of Pages are that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The Layouts section goes into more detail on this approach.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"nagivation"},"children":[{"type":"text","value":"Nagivation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A special feature of Pages are that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The "},{"type":"element","tag":"a","props":{"href":"#layouts"},"children":[{"type":"text","value":"Layouts"}]},{"type":"text","value":" section goes into more detail on this approach."}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Page needs to be added to the "},{"type":"element","tag":"a","props":{"href":"#routing"},"children":[{"type":"text","value":"Router"}]},{"type":"text","value":" before it can be previewed within a web browser."}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated context is contained within the sub-folder "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"src/contexts"}]},{"type":"text","value":" directory. The context will provide high order functions that will help you to inject global state within you Class based components. It will also provide you will hooks for you to use in your function based components."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"vue"}]},{"type":"text","value":": This contains the Vue template markup used to implement the structure and layout of a Page. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"ts"}]},{"type":"text","value":": This contains the TypeScript controller which provides the procedural code-behind logical needed to add integrations to a page. Through this file you may expose data and handle events generated by Page elements."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"scss"}]},{"type":"text","value":": This contains the SASS stylesheet to be applied to the page - and that page only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [page].vue template file."}]}]},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory."}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"spec.ts"}]},{"type":"text","value":": This contains the unit-level tests for the page. Read the "},{"type":"element","tag":"a","props":{"href":"Testing.md#unit-tests-with-jest"},"children":[{"type":"text","value":"testing section"}]},{"type":"text","value":" for more details about writing tests."}]}]},{"type":"element","tag":"h2","props":{"id":"routing"},"children":[{"type":"text","value":"Routing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below is an example of a Route definition for a sample Login page:"}]},{"type":"element","tag":"code","props":{"code":"\n \n\n","language":"jsx","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-42ddbd"},"children":[{"type":"text","value":"Stack.Navigator"}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5b0ad2"},"children":[{"type":"text","value":"screenOptions"}]},{"type":"element","tag":"span","props":{"class":"ct-8d4f3d"},"children":[{"type":"text","value":"={"}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":"{ headerShwon: "}]},{"type":"element","tag":"span","props":{"class":"ct-5b0ad2"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-8d4f3d"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5b0ad2"},"children":[{"type":"text","value":"initialRouteName"}]},{"type":"element","tag":"span","props":{"class":"ct-8d4f3d"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-0f7569"},"children":[{"type":"text","value":"'Login'"}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-42ddbd"},"children":[{"type":"text","value":"Stack.Screen"}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5b0ad2"},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"class":"ct-8d4f3d"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-0f7569"},"children":[{"type":"text","value":"\"Login\""}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5b0ad2"},"children":[{"type":"text","value":"component"}]},{"type":"element","tag":"span","props":{"class":"ct-8d4f3d"},"children":[{"type":"text","value":"={"}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":"Login"}]},{"type":"element","tag":"span","props":{"class":"ct-8d4f3d"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":" />"}]}]},{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-2103dc"},"children":[{"type":"text","value":""}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"name"}]},{"type":"text","value":" field provides an alternative means of identifying and navigating to defined pages programatically. This approach is preferable because the route names can be externalized into global constants and shared throughout your code for navigational consistency."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"component"}]},{"type":"text","value":" property specifies the Screen component to load for the given name."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Navigation should be centralized within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/core/navigation"}]},{"type":"text","value":" directory. This is where the "},{"type":"element","tag":"a","props":{"href":"https://reactnavigation.org/","rel":["nofollow"]},"children":[{"type":"text","value":"React Navigation"}]},{"type":"text","value":" library is configured and where the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Stack"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For more details on the available options for configuring a Stack, please refer to the "},{"type":"element","tag":"a","props":{"href":"https://reactnavigation.org/docs/stack-navigator/","rel":["nofollow"]},"children":[{"type":"text","value":"React Navigation"}]},{"type":"text","value":" documentation, and more specifically, the "},{"type":"element","tag":"a","props":{"href":"https://reactnavigation.org/docs/stack-navigator/#api-definition","rel":["nofollow"]},"children":[{"type":"text","value":"API Definition"}]},{"type":"text","value":"."}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-0f7569{color:#0A3069}\n.ct-8d4f3d{color:#CF222E}\n.ct-5b0ad2{color:#0550AE}\n.ct-42ddbd{color:#116329}\n.ct-2103dc{color:#24292F}\n.dark .ct-2103dc{color:#C9D1D9}\n.dark .ct-42ddbd{color:#7EE787}\n.dark .ct-5b0ad2{color:#79C0FF}\n.dark .ct-8d4f3d{color:#FF7B72}\n.dark .ct-0f7569{color:#A5D6FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"technical","depth":3,"text":"Technical"},{"id":"routing","depth":2,"text":"Routing"}]}},"_type":"markdown","_id":"content:4.mobile:4.features:4.navigation.md","_source":"content","_file":"4.mobile/4.features/4.navigation.md","_extension":"md"},"hash":"5EJ6zNZuYJ"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/5.stores.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/5.stores.md new file mode 100644 index 00000000..303e18af --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/5.stores.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/features/stores","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Stores / Context","description":"A Context is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for [re]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a React Context differs in one distinct ways:","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"stores-context"},"children":[{"type":"text","value":"Stores / Context"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Context is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for [re]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a React Context differs in one distinct ways:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Properties are reactive. Changing Context values will automatically propagate to the component-level bindings which use them."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An application can have as many Contexts as needed to logically group state concerns. The Frontier CLI creates strongly typed Contexts, enabling full Intellisense and compiler support when writing code against them."}]},{"type":"element","tag":"h3","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add store \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e441ea"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e5270b"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e5270b"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e5270b"},"children":[{"type":"text","value":"store"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d955b9"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-e5270b"},"children":[{"type":"text","value":"store-nam"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":"e"}]},{"type":"element","tag":"span","props":{"class":"ct-d955b9"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"example"},"children":[{"type":"text","value":"Example"}]},{"type":"element","tag":"code","props":{"code":"frontier mobile add store auth\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e441ea"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e5270b"},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e5270b"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e5270b"},"children":[{"type":"text","value":"store"}]},{"type":"element","tag":"span","props":{"class":"ct-c7af6e"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e5270b"},"children":[{"type":"text","value":"auth"}]}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"output-file"},"children":[{"type":"text","value":"Output File"}]},{"type":"element","tag":"code","props":{"code":"src/contexts/auth.context.tsx\n","language":"txt","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"div","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"src/contexts/auth.context.tsx"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated serive is contained within the sub-folder "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"src/contexts"}]},{"type":"text","value":" directory. The context will provide high order functions that will help you to inject global state within you Class based components. It will also provide you will hooks for you to use in your function based components."}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Member"}]}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Type"}]}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"ContextName"}]},{"type":"text","value":"ContextProvider"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"React Component"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Every Context object comes with a Provider React component that allows consuming components to subscribe to context changes."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"ContextName"}]},{"type":"text","value":"Consumer"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"React Component"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Allows components to subscribe to changes in the global state endpoint."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"with"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"ContextName"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"HOC"},{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"^1"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Used when Class-based components would like to consume data from the a context"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"use"},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"ContextName"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"HOC"},{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"^1"}]}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Used when function-based components would like to consume data from the a contextresponse."}]}]}]}]},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"ContextName"}]},{"type":"text","value":" - This is the provided name for the context when created using the CLI's "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" command above."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"^1"}]},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"HOC (High-Order Component)"}]},{"type":"text","value":" - a higher-order component is a function that takes a component and returns a new enhanced component."}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-d955b9{color:#CF222E}\n.ct-e5270b{color:#0A3069}\n.ct-c7af6e{color:#24292F}\n.ct-e441ea{color:#953800}\n.dark .ct-e441ea{color:#FFA657}\n.dark .ct-c7af6e{color:#C9D1D9}\n.dark .ct-e5270b{color:#A5D6FF}\n.dark .ct-d955b9{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage","depth":3,"text":"Usage"},{"id":"technical","depth":3,"text":"Technical"}]}},"_type":"markdown","_id":"content:4.mobile:4.features:5.stores.md","_source":"content","_file":"4.mobile/4.features/5.stores.md","_extension":"md"},"hash":"XGIzcNaMru"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/_dir.yml b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/_dir.yml new file mode 100644 index 00000000..f45d1f01 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/4.features/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/features/_dir","_dir":"features","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:4.mobile:4.features:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.mobile/4.features/_dir.yml","_extension":"yml"},"hash":"l5Mk8bRYMH"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/5.testing/1.testing.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/5.testing/1.testing.md new file mode 100644 index 00000000..29059670 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/5.testing/1.testing.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/testing/testing","_dir":"testing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:4.mobile:5.testing:1.testing.md","_source":"content","_file":"4.mobile/5.testing/1.testing.md","_extension":"md"},"hash":"McC7aVpqG2"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/5.testing/_dir.yml b/docs/.nuxt/content-cache/parsed/content/4.mobile/5.testing/_dir.yml new file mode 100644 index 00000000..e8c43d8f --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/5.testing/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/testing/_dir","_dir":"testing","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:4.mobile:5.testing:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.mobile/5.testing/_dir.yml","_extension":"yml"},"hash":"l5Mk8bRYMH"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/6.deployment/1.deployment.md b/docs/.nuxt/content-cache/parsed/content/4.mobile/6.deployment/1.deployment.md new file mode 100644 index 00000000..6b649b33 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/6.deployment/1.deployment.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/deployment/deployment","_dir":"deployment","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:4.mobile:6.deployment:1.deployment.md","_source":"content","_file":"4.mobile/6.deployment/1.deployment.md","_extension":"md"},"hash":"OyNp6ctxdD"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/6.deployment/_dir.yml b/docs/.nuxt/content-cache/parsed/content/4.mobile/6.deployment/_dir.yml new file mode 100644 index 00000000..599a1460 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/6.deployment/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/deployment/_dir","_dir":"deployment","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:4.mobile:6.deployment:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.mobile/6.deployment/_dir.yml","_extension":"yml"},"hash":"l5Mk8bRYMH"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/4.mobile/_dir.yml b/docs/.nuxt/content-cache/parsed/content/4.mobile/_dir.yml new file mode 100644 index 00000000..d67a6996 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/4.mobile/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/mobile/_dir","_dir":"mobile","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:play","_id":"content:4.mobile:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.mobile/_dir.yml","_extension":"yml"},"hash":"l5Mk8bRYMH"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/5.spectre/1.getting-started/1.introduction.md b/docs/.nuxt/content-cache/parsed/content/5.spectre/1.getting-started/1.introduction.md new file mode 100644 index 00000000..a3860e80 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/5.spectre/1.getting-started/1.introduction.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/spectre/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:5.spectre:1.getting-started:1.introduction.md","_source":"content","_file":"5.spectre/1.getting-started/1.introduction.md","_extension":"md"},"hash":"4eaPVpJxuB"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/5.spectre/1.getting-started/_dir.yml b/docs/.nuxt/content-cache/parsed/content/5.spectre/1.getting-started/_dir.yml new file mode 100644 index 00000000..9dded7ab --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/5.spectre/1.getting-started/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/spectre/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:cube","_id":"content:5.spectre:1.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"5.spectre/1.getting-started/_dir.yml","_extension":"yml"},"hash":"ZJlqS0zbIJ"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/5.spectre/_dir.yml b/docs/.nuxt/content-cache/parsed/content/5.spectre/_dir.yml new file mode 100644 index 00000000..c0dcb96f --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/5.spectre/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/spectre/_dir","_dir":"spectre","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:bookmark-alt","_id":"content:5.spectre:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"5.spectre/_dir.yml","_extension":"yml"},"hash":"ouSoEXLEVh"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/_6.design/1.getting-started/2.introduction.md b/docs/.nuxt/content-cache/parsed/content/_6.design/1.getting-started/2.introduction.md new file mode 100644 index 00000000..1015ef99 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/_6.design/1.getting-started/2.introduction.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/_6.design/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:_6.design:1.getting-started:2.introduction.md","_source":"content","_file":"_6.design/1.getting-started/2.introduction.md","_extension":"md"},"hash":"6sAb4ULfbp"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/_6.design/1.getting-started/_dir.yml b/docs/.nuxt/content-cache/parsed/content/_6.design/1.getting-started/_dir.yml new file mode 100644 index 00000000..5c6d9f76 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/_6.design/1.getting-started/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/_6.design/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:flag","_id":"content:_6.design:1.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"_6.design/1.getting-started/_dir.yml","_extension":"yml"},"hash":"XeTwfsdzhp"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/_6.design/_dir.yml b/docs/.nuxt/content-cache/parsed/content/_6.design/_dir.yml new file mode 100644 index 00000000..5fb1ceec --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/_6.design/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/_6.design/_dir","_dir":"_6.design","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:play","_id":"content:_6.design:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"_6.design/_dir.yml","_extension":"yml"},"hash":"A78Uumo9uS"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/_7.IAC/1.getting-started/2.introduction.md b/docs/.nuxt/content-cache/parsed/content/_7.IAC/1.getting-started/2.introduction.md new file mode 100644 index 00000000..8409fb5f --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/_7.IAC/1.getting-started/2.introduction.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/_7.iac/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:_7.IAC:1.getting-started:2.introduction.md","_source":"content","_file":"_7.IAC/1.getting-started/2.introduction.md","_extension":"md"},"hash":"gYJIrZ2uzF"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/_7.IAC/1.getting-started/_dir.yml b/docs/.nuxt/content-cache/parsed/content/_7.IAC/1.getting-started/_dir.yml new file mode 100644 index 00000000..fab84470 --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/_7.IAC/1.getting-started/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/_7.iac/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:flag","_id":"content:_7.IAC:1.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"_7.IAC/1.getting-started/_dir.yml","_extension":"yml"},"hash":"A78Uumo9uS"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/_7.IAC/_dir.yml b/docs/.nuxt/content-cache/parsed/content/_7.IAC/_dir.yml new file mode 100644 index 00000000..3559452b --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/_7.IAC/_dir.yml @@ -0,0 +1 @@ +{"parsed":{"_path":"/_7.iac/_dir","_dir":"_7.iac","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:play","_id":"content:_7.IAC:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"_7.IAC/_dir.yml","_extension":"yml"},"hash":"H9Eu9HwZ2V"} \ No newline at end of file diff --git a/docs/.nuxt/content-cache/parsed/content/_partials/hello-world.md b/docs/.nuxt/content-cache/parsed/content/_partials/hello-world.md new file mode 100644 index 00000000..97ade27d --- /dev/null +++ b/docs/.nuxt/content-cache/parsed/content/_partials/hello-world.md @@ -0,0 +1 @@ +{"parsed":{"_path":"/_partials/hello-world","_dir":"_partials","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":"I am a partial","description":"With some Hello World text.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"i-am-a-partial"},"children":[{"type":"text","value":"I am a partial"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With some Hello World text."}]},{"type":"element","tag":"button-link","props":{":blank":"true","class":"mr-2","href":"https://stackblitz.com/github/nuxt/starter/tree/content"},"children":[{"type":"text","value":"Play on StackBlitz"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:_partials:hello-world.md","_source":"content","_file":"_partials/hello-world.md","_extension":"md"},"hash":"yOa6d6cK4r"} \ No newline at end of file diff --git a/docs/.nuxt/dev/index.mjs b/docs/.nuxt/dev/index.mjs new file mode 100644 index 00000000..da1d12d6 --- /dev/null +++ b/docs/.nuxt/dev/index.mjs @@ -0,0 +1,4375 @@ +globalThis._importMeta_={url:import.meta.url,env:process.env};import 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/node-fetch-native/dist/polyfill.mjs'; +import { Server } from 'node:http'; +import { tmpdir } from 'node:os'; +import { join as join$1 } from 'node:path'; +import { mkdirSync } from 'node:fs'; +import { parentPort, threadId } from 'node:worker_threads'; +import { provider, isWindows } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/std-env/dist/index.mjs'; +import { defineEventHandler, handleCacheHeaders, createEvent, eventHandler, setHeaders, sendRedirect, proxyRequest, setResponseStatus, getRequestHeader, getRequestHeaders, setResponseHeader, getQuery, getCookie, createError, createApp, createRouter as createRouter$1, toNodeListener, fetchWithEvent, lazyEventHandler } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/h3/dist/index.mjs'; +import { createRenderer } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/vue-bundle-renderer/dist/runtime.mjs'; +import devalue from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/devalue/dist/devalue.mjs'; +import { renderToString } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/vue/server-renderer/index.mjs'; +import { parseURL, withoutBase, joinURL, withQuery, withLeadingSlash, withoutTrailingSlash, isRelative } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/ufo/dist/index.mjs'; +import destr from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/destr/dist/index.mjs'; +import { snakeCase, kebabCase, pascalCase, camelCase } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/scule/dist/index.mjs'; +import defu, { defuFn, defu as defu$1 } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/defu/dist/defu.mjs'; +import { createFetch as createFetch$1, Headers } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/ofetch/dist/node.mjs'; +import { createCall, createFetch } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unenv/runtime/fetch/index.mjs'; +import { createHooks } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/hookable/dist/index.mjs'; +import { hash } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/ohash/dist/index.mjs'; +import { createStorage, prefixStorage } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unstorage/dist/index.mjs'; +import unstorage_47drivers_47fs from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unstorage/drivers/fs.mjs'; +import { toRouteMatcher, createRouter } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/radix3/dist/index.mjs'; +import { graphql } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@octokit/graphql/dist-node/index.js'; +import remarkGithub from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/remark-github/index.js'; +import { extname, join } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/pathe/dist/index.mjs'; +import { unified } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unified/index.js'; +import { toString } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/mdast-util-to-string/index.js'; +import { preprocess } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/micromark/dev/lib/preprocess.js'; +import { postprocess } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/micromark/dev/lib/postprocess.js'; +import { stringifyPosition } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unist-util-stringify-position/index.js'; +import { markdownLineEnding, markdownSpace } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/micromark-util-character/dev/index.js'; +import { push, splice } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/micromark-util-chunked/dev/index.js'; +import { resolveAll } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/micromark-util-resolve-all/index.js'; +import remarkEmoji from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/remark-emoji/index.js'; +import rehypeSlug from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/rehype-slug/index.js'; +import remarkSqueezeParagraphs from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/remark-squeeze-paragraphs/index.js'; +import rehypeExternalLinks from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/rehype-external-links/index.js'; +import remarkGfm from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/remark-gfm/index.js'; +import rehypeSortAttributeValues from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/rehype-sort-attribute-values/index.js'; +import rehypeSortAttributes from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/rehype-sort-attributes/index.js'; +import rehypeRaw from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/rehype-raw/index.js'; +import remarkMDC, { parseFrontMatter } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/remark-mdc/dist/index.mjs'; +import remarkParse from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/remark-parse/index.js'; +import remark2rehype from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/remark-rehype/index.js'; +import { all } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/mdast-util-to-hast/index.js'; +import { detab } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/detab/index.js'; +import { u } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unist-builder/index.js'; +import { encode } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/mdurl/index.js'; +import slugify from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/slugify/slugify.js'; +import { position } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unist-util-position/index.js'; +import { visit } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unist-util-visit/index.js'; +import { BUNDLED_LANGUAGES, BUNDLED_THEMES, getHighlighter } from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/shiki-es/dist/shiki.node.mjs'; +import consola from 'file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/unenv/runtime/npm/consola.mjs'; + +const inlineAppConfig = {}; + + + +const appConfig = defuFn(inlineAppConfig); + +const _runtimeConfig = {"app":{"baseURL":"/","buildAssetsDir":"/_nuxt/","cdnURL":""},"nitro":{"envPrefix":"NUXT_","routeRules":{"/__nuxt_error":{"cache":false}}},"public":{"algolia":{"applicationId":"","apiKey":"","langAttribute":"lang","docSearch":{"indexName":"frontier"}},"github":{"api":"https://api.github.com","owner":"realdecoy","branch":"main","repo":"frontier","token":"","disableCache":false,"parseContents":true,"maxContributors":100},"content":{"locales":[],"defaultLocale":"","integrity":"","experimental":{"stripQueryParameters":false,"clientDB":false},"api":{"baseURL":"/api/_content"},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"tags":{"p":"prose-p","a":"prose-a","blockquote":"prose-blockquote","code-inline":"prose-code-inline","code":"prose-code","em":"prose-em","h1":"prose-h1","h2":"prose-h2","h3":"prose-h3","h4":"prose-h4","h5":"prose-h5","h6":"prose-h6","hr":"prose-hr","img":"prose-img","ul":"prose-ul","ol":"prose-ol","li":"prose-li","strong":"prose-strong","table":"prose-table","thead":"prose-thead","tbody":"prose-tbody","td":"prose-td","th":"prose-th","tr":"prose-tr"},"highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"wsUrl":"ws://localhost:4000/","documentDriven":{"page":true,"navigation":true,"surround":true,"globals":{},"layoutFallbacks":["theme"],"injectPage":true},"host":"","trailingSlash":false,"anchorLinks":{"depth":4,"exclude":[1]}}},"content":{"cacheVersion":2,"cacheIntegrity":"4QSCmZ1KSX","transformers":[],"base":"","api":{"baseURL":"/api/_content"},"watch":{"ws":{"port":{"port":4000,"portRange":[4000,4040]},"hostname":"localhost","showURL":false}},"sources":{},"ignores":["\\.","-"],"locales":[],"defaultLocale":"","highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"markdown":{"tags":{"p":"prose-p","a":"prose-a","blockquote":"prose-blockquote","code-inline":"prose-code-inline","code":"prose-code","em":"prose-em","h1":"prose-h1","h2":"prose-h2","h3":"prose-h3","h4":"prose-h4","h5":"prose-h5","h6":"prose-h6","hr":"prose-hr","img":"prose-img","ul":"prose-ul","ol":"prose-ol","li":"prose-li","strong":"prose-strong","table":"prose-table","thead":"prose-thead","tbody":"prose-tbody","td":"prose-td","th":"prose-th","tr":"prose-tr"},"anchorLinks":{"depth":4,"exclude":[1]},"remarkPlugins":{"remark-github":{"repository":"realdecoy/frontier"}},"rehypePlugins":{}},"yaml":{},"csv":{"delimeter":",","json":true},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"documentDriven":true,"experimental":{"clientDB":false,"stripQueryParameters":false},"host":"https://content.nuxtjs.org"},"github":{"api":"https://api.github.com","owner":"realdecoy","branch":"main","repo":"frontier","token":"","disableCache":false,"parseContents":true,"maxContributors":100},"pinceau":{"studio":true,"outputDir":"C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/.nuxt/pinceau/"},"appConfigSchema":{"properties":{"id":"#appConfig","properties":{"nuxtIcon":{"title":"Nuxt Icon","description":"Configure the defaults of Nuxt Icon","id":"#appConfig/nuxtIcon","properties":{"size":{"title":"Icon Size","description":"Set the default icon size. Set to false to disable the sizing of icon in style.","tags":["@studioIcon material-symbols:format-size-rounded"],"tsType":"string | false","id":"#appConfig/nuxtIcon/size","default":"1em","type":"string"},"class":{"title":"CSS Class","description":"Set the default CSS class","tags":["@studioIcon material-symbols:css"],"id":"#appConfig/nuxtIcon/class","default":"","type":"string"},"aliases":{"title":"Icon aliases","description":"Define Icon aliases to update them easily without code changes.","tags":["@studioIcon material-symbols:star-rounded","@studioInputObjectValueType icon"],"tsType":"{ [alias: string]: string }","id":"#appConfig/nuxtIcon/aliases","default":{},"type":"object"}},"type":"object","default":{"size":"1em","class":"","aliases":{}}},"prose":{"title":"Prose configuration from Nuxt Typography","description":"","tags":["@studioIcon material-symbols:short-text-rounded","@studioInput icon"],"id":"#appConfig/prose","properties":{"copyButton":{"title":"Copy button (used in code blocks)","description":"","tags":["@studioIcon material-symbols:content-copy"],"id":"#appConfig/prose/copyButton","properties":{"iconCopy":{"title":"Icon displayed to copy","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopy","default":"ph:copy","type":"string"},"iconCopied":{"title":"Icon displayed when copied","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopied","default":"ph:check","type":"string"}},"type":"object","default":{"iconCopy":"ph:copy","iconCopied":"ph:check"}},"headings":{"title":"Default configuration for all headings (h1, h2, h3, h4, h5 and h6)","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/prose/headings","properties":{"icon":{"title":"Default icon for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/headings/icon","default":"ph:link","type":"string"}},"type":"object","default":{"icon":"ph:link"}},"h1":{"title":"First heading configuration","description":"","tags":["@studioIcon material-symbols:format-h1"],"id":"#appConfig/prose/h1","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h1/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h2":{"title":"Second heading configuration","description":"","tags":["@studioIcon material-symbols:format-h2"],"id":"#appConfig/prose/h2","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h2/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h3":{"title":"Third heading configuration","description":"","tags":["@studioIcon material-symbols:format-h3"],"id":"#appConfig/prose/h3","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h3/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h4":{"title":"Fourth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h4"],"id":"#appConfig/prose/h4","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h4/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h5":{"title":"Fifth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h5"],"id":"#appConfig/prose/h5","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h5/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h6":{"title":"Sixth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h6"],"id":"#appConfig/prose/h6","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h6/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}}},"type":"object","default":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}}},"docus":{"title":"Docus theme configuration.","description":"","tags":["@studioIcon material-symbols:docs"],"id":"#appConfig/docus","properties":{"title":{"title":"Website title, used as header default title and meta title.","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/title","default":"Docus","type":"string"},"titleTemplate":{"title":"The website title template, to overwrite the default one.","description":"","tags":[],"id":"#appConfig/docus/titleTemplate","default":"%s · Docus","type":"string"},"description":{"title":"Website description, used for meta description.","description":"","tags":["@studioIcon material-symbols:description"],"id":"#appConfig/docus/description","default":"The best place to start your documentation.","type":"string"},"image":{"title":"Cover image.","description":"","tags":["@example '/cover.jpg'","@studioIcon dashicons:cover-image","@studioInput file"],"id":"#appConfig/docus/image","default":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","type":"string"},"socials":{"title":"Social links","description":"Will be used in AppSocialIcons component.","tags":["@studioIcon material-symbols:share-outline"],"id":"#appConfig/docus/socials","properties":{"twitter":{"title":"Twitter social handle","description":"","tags":["@example 'nuxt_js'","@studioIcon simple-icons:twitter"],"id":"#appConfig/docus/socials/twitter","default":"","type":"string"},"github":{"title":"GitHub org or repository","description":"","tags":["@example 'nuxt/framework'","@studioIcon simple-icons:github"],"id":"#appConfig/docus/socials/github","default":"","type":"string"},"facebook":{"title":"Facebook page url","description":"","tags":["@example https://www.facebook.com/groups/nuxtjs","@studioIcon simple-icons:facebook"],"id":"#appConfig/docus/socials/facebook","default":"","type":"string"},"instagram":{"title":"Instagram page url","description":"","tags":["@example https://www.instagram.com/wearenuxt","@studioIcon simple-icons:instagram"],"id":"#appConfig/docus/socials/instagram","default":"","type":"string"},"youtube":{"title":"Instagram page url","description":"","tags":["@example https://www.youtube.com/@NuxtLabs","@studioIcon simple-icons:youtube"],"id":"#appConfig/docus/socials/youtube","default":"","type":"string"},"medium":{"title":"Medium page url","description":"","tags":["@example https://medium.com/nuxt","@studioIcon simple-icons:medium"],"id":"#appConfig/docus/socials/medium","default":"","type":"string"}},"type":"object","default":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""}},"layout":{"title":"Theme layout configuration.","description":"","tags":["@studioIcon tabler:arrow-autofit-width"],"tsType":"'default'|'page'","id":"#appConfig/docus/layout","default":"default","type":"string"},"aside":{"title":"Aside navigation configuration.","description":"","tags":["@studioIcon fluent:document-page-24-regular"],"id":"#appConfig/docus/aside","properties":{"level":{"title":"Aside navigation level","description":"Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation.","tags":[],"id":"#appConfig/docus/aside/level","default":0,"type":"number"},"collapsed":{"title":"Specify if default collapsibles state globally for aside navigation.","description":"","tags":[],"id":"#appConfig/docus/aside/collapsed","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from aside navigation.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/aside/exclude","default":[],"type":"array","items":{"type":"any"}}},"type":"object","default":{"level":0,"collapsed":false,"exclude":[]}},"header":{"title":"Header configuration.","description":"","tags":["@studioIcon fluent:document-header-24-regular"],"id":"#appConfig/docus/header","properties":{"title":{"title":"Website title","description":"Title to be displayed in header or as aria-label if logo is defined.\nDefault to docus.title","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/header/title","default":"","type":"string"},"logo":{"title":"Logo configuration","description":"Boolean to disable or use the `Logo.vue` component.\nString to be used as a name of a component.","tags":["@example 'MyLogo'","@studioInput boolean"],"id":"#appConfig/docus/header/logo","default":false,"type":"boolean"},"showLinkIcon":{"title":"Header links","description":"Toggle links icons in the header.","tags":[],"id":"#appConfig/docus/header/showLinkIcon","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from header links.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/header/exclude","default":[],"type":"array","items":{"type":"any"}},"fluid":{"title":"Makes the content of the header fluid.","description":"","tags":[],"id":"#appConfig/docus/header/fluid","default":false,"type":"boolean"}},"type":"object","default":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false}},"main":{"title":"Main content configuration.","description":"","tags":["@studioIcon fluent:document-header-footer-24-filled"],"id":"#appConfig/docus/main","properties":{"fluid":{"title":"Makes the content of the main container fluid.","description":"","tags":[],"id":"#appConfig/docus/main/fluid","default":false,"type":"boolean"},"padded":{"title":"Makes the content of the main container padded.","description":"","tags":[],"id":"#appConfig/docus/main/padded","default":true,"type":"boolean"}},"type":"object","default":{"fluid":false,"padded":true}},"footer":{"title":"Footer configuration","description":"","tags":["@studioIcon fluent:document-footer-24-regular"],"id":"#appConfig/docus/footer","properties":{"credits":{"title":"Website credits configuration.","description":"","tags":["@studioIcon material-symbols:copyright"],"tsType":"false|{icon: string, text: string, href: string}","id":"#appConfig/docus/footer/credits","properties":{"icon":{"title":"Icon to show on credits","description":"","tags":["@formtype Icon"],"id":"#appConfig/docus/footer/credits/icon","default":"IconDocus","type":"string"},"text":{"type":"string","id":"#appConfig/docus/footer/credits/text","default":"Powered by Docus"},"href":{"type":"string","id":"#appConfig/docus/footer/credits/href","default":"https://docus.dev"}},"type":"object","default":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"}},"textLinks":{"type":"array","items":{"type":"object","required":["text","href"],"properties":{"href":{"type":"string","description":"URL when clicking the link"},"text":{"type":"string","description":"Text of the link"},"target":{"type":"string","description":"Target attribute of the link"}}},"title":"Text links","description":"Will be added into center section of the footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/textLinks"},"iconLinks":{"type":"array","items":{"type":"object","required":["icon","href"],"properties":{"icon":{"type":"string","description":"Icon name"},"href":{"type":"string","description":"Link when clicking on the icon"},"label":{"type":"string","description":"Label of the icon"}}},"title":"Icon links","description":"Icons to be added to Social Icons in footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/iconLinks"},"fluid":{"title":"Makes the content of the footer fluid.","description":"","tags":[],"id":"#appConfig/docus/footer/fluid","default":true,"type":"boolean"}},"type":"object","default":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true}},"github":{"title":"GitHub integration","description":"Configure the Edit on Github integration.","tags":["@studioIcon simple-icons:github"],"id":"#appConfig/docus/github","properties":{"dir":{"title":"Directory","description":"Your GitHub repository root directory.","tags":[],"id":"#appConfig/docus/github/dir","default":"","type":"string"},"branch":{"title":"Branch","description":"Your GitHub repository branch.","tags":[],"id":"#appConfig/docus/github/branch","default":"","type":"string"},"repo":{"title":"Repository","description":"Your GitHub repository name.","tags":[],"id":"#appConfig/docus/github/repo","default":"","type":"string"},"owner":{"title":"Owner","description":"Your GitHub repository owner.","tags":[],"id":"#appConfig/docus/github/owner","default":"","type":"string"},"edit":{"title":"EditOnGithub","description":"Display EditOnGithub button.","tags":[],"id":"#appConfig/docus/github/edit","default":false,"type":"boolean"}},"type":"object","default":{"dir":"","branch":"","repo":"","owner":"","edit":false}}},"type":"object","default":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}},"type":"object","default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}},"default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}}}; +const ENV_PREFIX = "NITRO_"; +const ENV_PREFIX_ALT = _runtimeConfig.nitro.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_"; +overrideConfig$1(_runtimeConfig); +const runtimeConfig = deepFreeze(_runtimeConfig); +const useRuntimeConfig = () => runtimeConfig; +deepFreeze(appConfig); +function getEnv(key) { + const envKey = snakeCase(key).toUpperCase(); + return destr( + process.env[ENV_PREFIX + envKey] ?? process.env[ENV_PREFIX_ALT + envKey] + ); +} +function isObject$1(input) { + return typeof input === "object" && !Array.isArray(input); +} +function overrideConfig$1(obj, parentKey = "") { + for (const key in obj) { + const subKey = parentKey ? `${parentKey}_${key}` : key; + const envValue = getEnv(subKey); + if (isObject$1(obj[key])) { + if (isObject$1(envValue)) { + obj[key] = { ...obj[key], ...envValue }; + } + overrideConfig$1(obj[key], subKey); + } else { + obj[key] = envValue ?? obj[key]; + } + } +} +function deepFreeze(object) { + const propNames = Object.getOwnPropertyNames(object); + for (const name of propNames) { + const value = object[name]; + if (value && typeof value === "object") { + deepFreeze(value); + } + } + return Object.freeze(object); +} + +const serverAssets = [{"baseName":"server","dir":"C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/server/assets"}]; + +const assets = createStorage(); + +for (const asset of serverAssets) { + assets.mount(asset.baseName, unstorage_47drivers_47fs({ base: asset.dir })); +} + +const storage = createStorage({}); + +storage.mount('/assets', assets); + +storage.mount('pinceau', unstorage_47drivers_47fs({"driver":"fs","base":"C:\\Users\\AVidal\\Documents\\Projects\\SEPA\\frontier\\docs\\.nuxt\\pinceau\\theme","ignore":["**/node_modules/**","**/.git/**"]})); +storage.mount('content:source:content', unstorage_47drivers_47fs({"name":"content:source:content","driver":"fs","base":"C:\\Users\\AVidal\\Documents\\Projects\\SEPA\\frontier\\docs\\content","ignore":["**/node_modules/**","**/.git/**"]})); +storage.mount('cache:content', unstorage_47drivers_47fs({"driver":"fs","base":"C:\\Users\\AVidal\\Documents\\Projects\\SEPA\\frontier\\docs\\.nuxt\\content-cache","ignore":["**/node_modules/**","**/.git/**"]})); +storage.mount('root', unstorage_47drivers_47fs({"driver":"fs","readOnly":true,"base":"C:\\Users\\AVidal\\Documents\\Projects\\SEPA\\frontier\\docs","ignore":["**/node_modules/**","**/.git/**"]})); +storage.mount('src', unstorage_47drivers_47fs({"driver":"fs","readOnly":true,"base":"C:\\Users\\AVidal\\Documents\\Projects\\SEPA\\frontier\\docs\\server","ignore":["**/node_modules/**","**/.git/**"]})); +storage.mount('build', unstorage_47drivers_47fs({"driver":"fs","readOnly":false,"base":"C:\\Users\\AVidal\\Documents\\Projects\\SEPA\\frontier\\docs\\.nuxt","ignore":["**/node_modules/**","**/.git/**"]})); +storage.mount('cache', unstorage_47drivers_47fs({"driver":"fs","readOnly":false,"base":"C:\\Users\\AVidal\\Documents\\Projects\\SEPA\\frontier\\docs\\.nuxt\\cache","ignore":["**/node_modules/**","**/.git/**"]})); + +function useStorage(base = "") { + return base ? prefixStorage(storage, base) : storage; +} + +const defaultCacheOptions = { + name: "_", + base: "/cache", + swr: true, + maxAge: 1 +}; +function defineCachedFunction(fn, opts = {}) { + opts = { ...defaultCacheOptions, ...opts }; + const pending = {}; + const group = opts.group || "nitro/functions"; + const name = opts.name || fn.name || "_"; + const integrity = hash([opts.integrity, fn, opts]); + const validate = opts.validate || (() => true); + async function get(key, resolver, shouldInvalidateCache) { + const cacheKey = [opts.base, group, name, key + ".json"].filter(Boolean).join(":").replace(/:\/$/, ":index"); + const entry = await useStorage().getItem(cacheKey) || {}; + const ttl = (opts.maxAge ?? opts.maxAge ?? 0) * 1e3; + if (ttl) { + entry.expires = Date.now() + ttl; + } + const expired = shouldInvalidateCache || entry.integrity !== integrity || ttl && Date.now() - (entry.mtime || 0) > ttl || !validate(entry); + const _resolve = async () => { + const isPending = pending[key]; + if (!isPending) { + if (entry.value !== void 0 && (opts.staleMaxAge || 0) >= 0 && opts.swr === false) { + entry.value = void 0; + entry.integrity = void 0; + entry.mtime = void 0; + entry.expires = void 0; + } + pending[key] = Promise.resolve(resolver()); + } + try { + entry.value = await pending[key]; + } catch (error) { + if (!isPending) { + delete pending[key]; + } + throw error; + } + if (!isPending) { + entry.mtime = Date.now(); + entry.integrity = integrity; + delete pending[key]; + if (validate(entry)) { + useStorage().setItem(cacheKey, entry).catch((error) => console.error("[nitro] [cache]", error)); + } + } + }; + const _resolvePromise = expired ? _resolve() : Promise.resolve(); + if (opts.swr && entry.value) { + _resolvePromise.catch(console.error); + return entry; + } + return _resolvePromise.then(() => entry); + } + return async (...args) => { + const shouldBypassCache = opts.shouldBypassCache?.(...args); + if (shouldBypassCache) { + return fn(...args); + } + const key = await (opts.getKey || getKey)(...args); + const shouldInvalidateCache = opts.shouldInvalidateCache?.(...args); + const entry = await get(key, () => fn(...args), shouldInvalidateCache); + let value = entry.value; + if (opts.transform) { + value = await opts.transform(entry, ...args) || value; + } + return value; + }; +} +const cachedFunction = defineCachedFunction; +function getKey(...args) { + return args.length > 0 ? hash(args, {}) : ""; +} +function escapeKey(key) { + return key.replace(/[^\dA-Za-z]/g, ""); +} +function defineCachedEventHandler(handler, opts = defaultCacheOptions) { + const _opts = { + ...opts, + getKey: async (event) => { + const key = await opts.getKey?.(event); + if (key) { + return escapeKey(key); + } + const url = event.node.req.originalUrl || event.node.req.url; + const friendlyName = escapeKey(decodeURI(parseURL(url).pathname)).slice( + 0, + 16 + ); + const urlHash = hash(url); + return `${friendlyName}.${urlHash}`; + }, + validate: (entry) => { + if (entry.value.code >= 400) { + return false; + } + if (entry.value.body === void 0) { + return false; + } + return true; + }, + group: opts.group || "nitro/handlers", + integrity: [opts.integrity, handler] + }; + const _cachedHandler = cachedFunction( + async (incomingEvent) => { + const reqProxy = cloneWithProxy(incomingEvent.node.req, { headers: {} }); + const resHeaders = {}; + let _resSendBody; + const resProxy = cloneWithProxy(incomingEvent.node.res, { + statusCode: 200, + getHeader(name) { + return resHeaders[name]; + }, + setHeader(name, value) { + resHeaders[name] = value; + return this; + }, + getHeaderNames() { + return Object.keys(resHeaders); + }, + hasHeader(name) { + return name in resHeaders; + }, + removeHeader(name) { + delete resHeaders[name]; + }, + getHeaders() { + return resHeaders; + }, + end(chunk, arg2, arg3) { + if (typeof chunk === "string") { + _resSendBody = chunk; + } + if (typeof arg2 === "function") { + arg2(); + } + if (typeof arg3 === "function") { + arg3(); + } + return this; + }, + write(chunk, arg2, arg3) { + if (typeof chunk === "string") { + _resSendBody = chunk; + } + if (typeof arg2 === "function") { + arg2(); + } + if (typeof arg3 === "function") { + arg3(); + } + return this; + }, + writeHead(statusCode, headers2) { + this.statusCode = statusCode; + if (headers2) { + for (const header in headers2) { + this.setHeader(header, headers2[header]); + } + } + return this; + } + }); + const event = createEvent(reqProxy, resProxy); + event.context = incomingEvent.context; + const body = await handler(event) || _resSendBody; + const headers = event.node.res.getHeaders(); + headers.etag = headers.Etag || headers.etag || `W/"${hash(body)}"`; + headers["last-modified"] = headers["Last-Modified"] || headers["last-modified"] || (/* @__PURE__ */ new Date()).toUTCString(); + const cacheControl = []; + if (opts.swr) { + if (opts.maxAge) { + cacheControl.push(`s-maxage=${opts.maxAge}`); + } + if (opts.staleMaxAge) { + cacheControl.push(`stale-while-revalidate=${opts.staleMaxAge}`); + } else { + cacheControl.push("stale-while-revalidate"); + } + } else if (opts.maxAge) { + cacheControl.push(`max-age=${opts.maxAge}`); + } + if (cacheControl.length > 0) { + headers["cache-control"] = cacheControl.join(", "); + } + const cacheEntry = { + code: event.node.res.statusCode, + headers, + body + }; + return cacheEntry; + }, + _opts + ); + return defineEventHandler(async (event) => { + if (opts.headersOnly) { + if (handleCacheHeaders(event, { maxAge: opts.maxAge })) { + return; + } + return handler(event); + } + const response = await _cachedHandler(event); + if (event.node.res.headersSent || event.node.res.writableEnded) { + return response.body; + } + if (handleCacheHeaders(event, { + modifiedTime: new Date(response.headers["last-modified"]), + etag: response.headers.etag, + maxAge: opts.maxAge + })) { + return; + } + event.node.res.statusCode = response.code; + for (const name in response.headers) { + event.node.res.setHeader(name, response.headers[name]); + } + return response.body; + }); +} +function cloneWithProxy(obj, overrides) { + return new Proxy(obj, { + get(target, property, receiver) { + if (property in overrides) { + return overrides[property]; + } + return Reflect.get(target, property, receiver); + }, + set(target, property, value, receiver) { + if (property in overrides) { + overrides[property] = value; + return true; + } + return Reflect.set(target, property, value, receiver); + } + }); +} +const cachedEventHandler = defineCachedEventHandler; + +const config = useRuntimeConfig(); +const _routeRulesMatcher = toRouteMatcher( + createRouter({ routes: config.nitro.routeRules }) +); +function createRouteRulesHandler() { + return eventHandler((event) => { + const routeRules = getRouteRules(event); + if (routeRules.headers) { + setHeaders(event, routeRules.headers); + } + if (routeRules.redirect) { + return sendRedirect( + event, + routeRules.redirect.to, + routeRules.redirect.statusCode + ); + } + if (routeRules.proxy) { + let target = routeRules.proxy.to; + if (target.endsWith("/**")) { + let targetPath = event.path; + const strpBase = routeRules.proxy._proxyStripBase; + if (strpBase) { + targetPath = withoutBase(targetPath, strpBase); + } + target = joinURL(target.slice(0, -3), targetPath); + } + return proxyRequest(event, target, { + fetch: $fetch.raw, + ...routeRules.proxy + }); + } + }); +} +function getRouteRules(event) { + event.context._nitro = event.context._nitro || {}; + if (!event.context._nitro.routeRules) { + const path = new URL(event.node.req.url, "http://localhost").pathname; + event.context._nitro.routeRules = getRouteRulesForPath( + withoutBase(path, useRuntimeConfig().app.baseURL) + ); + } + return event.context._nitro.routeRules; +} +function getRouteRulesForPath(path) { + return defu({}, ..._routeRulesMatcher.matchAll(path).reverse()); +} + +function defineRenderHandler(handler) { + return eventHandler(async (event) => { + if (event.node.req.url.endsWith("/favicon.ico")) { + event.node.res.setHeader("Content-Type", "image/x-icon"); + event.node.res.end( + "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" + ); + return; + } + const response = await handler(event); + if (!response) { + if (!event.node.res.writableEnded) { + event.node.res.statusCode = event.node.res.statusCode === 200 ? 500 : event.node.res.statusCode; + event.node.res.end( + "No response returned from render handler: " + event.node.req.url + ); + } + return; + } + const nitroApp = useNitroApp(); + await nitroApp.hooks.callHook("render:response", response, { event }); + if (!event.node.res.headersSent && response.headers) { + for (const header in response.headers) { + event.node.res.setHeader(header, response.headers[header]); + } + setResponseStatus(event, response.statusCode, response.statusMessage); + } + return typeof response.body === "string" ? response.body : JSON.stringify(response.body); + }); +} + +const nitro = (async function(nitro) { + nitro.hooks.hook("render:html", async (htmlContext, { event }) => { + const theme = await useStorage().getItem("pinceau:index.css"); + const pinceauContent = event?.pinceauContent || { theme: void 0, runtime: void 0 }; + if (!theme?.runtime) { + htmlContext.head.splice(2, 0, ``); + } + if (!theme?.theme) { + htmlContext.head.splice(2, 0, ``); + } + }); +}); + +const script = "\"use strict\";const w=window,de=document.documentElement,knownColorSchemes=[\"dark\",\"light\"],preference=window.localStorage.getItem(\"nuxt-color-mode\")||\"dark\";let value=preference===\"system\"?getColorScheme():preference;const forcedColorMode=de.getAttribute(\"data-color-mode-forced\");forcedColorMode&&(value=forcedColorMode),addColorScheme(value),w[\"__NUXT_COLOR_MODE__\"]={preference,value,getColorScheme,addColorScheme,removeColorScheme};function addColorScheme(e){const o=\"\"+e+\"\",t=\"theme\";de.classList?de.classList.add(o):de.className+=\" \"+o,t&&de.setAttribute(\"data-\"+t,e)}function removeColorScheme(e){const o=\"\"+e+\"\",t=\"theme\";de.classList?de.classList.remove(o):de.className=de.className.replace(new RegExp(o,\"g\"),\"\"),t&&de.removeAttribute(\"data-\"+t)}function prefersColorScheme(e){return w.matchMedia(\"(prefers-color-scheme\"+e+\")\")}function getColorScheme(){if(w.matchMedia&&prefersColorScheme(\"\").media!==\"not all\"){for(const e of knownColorSchemes)if(prefersColorScheme(\":\"+e).matches)return e}return\"light\"}\n"; + +const _KdDja5Z6ZE = (function(nitro) { + nitro.hooks.hook("render:html", (htmlContext) => { + htmlContext.head.push(`

' + +((__t = ( messages.statusCode )) == null ? '' : __t) + +'

' + +((__t = ( messages.description )) == null ? '' : __t) + +'

' +
+((__t = ( messages.stack )) == null ? '' : __t) +
+'
'; +return __p +}; +const _template = (messages) => _render({ messages: { ..._messages, ...messages } }); +const template = _template; + +const errorDev = /*#__PURE__*/Object.freeze({ + __proto__: null, + template: template +}); + +const appRootId = "__nuxt"; + +const appRootTag = "div"; + +globalThis.__buildAssetsURL = buildAssetsURL; +globalThis.__publicAssetsURL = publicAssetsURL; +const getClientManifest = () => import('file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/.nuxt/dist/server/client.manifest.mjs').then((r) => r.default || r).then((r) => typeof r === "function" ? r() : r); +const getStaticRenderedHead = () => Promise.resolve().then(function () { return _virtual__headStatic$1; }).then((r) => r.default || r); +const getServerEntry = () => import('file://C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/.nuxt/dist/server/server.mjs').then((r) => r.default || r); +const getSSRRenderer = lazyCachedFunction(async () => { + const manifest = await getClientManifest(); + if (!manifest) { + throw new Error("client.manifest is not available"); + } + const createSSRApp = await getServerEntry(); + if (!createSSRApp) { + throw new Error("Server bundle is not available"); + } + const options = { + manifest, + renderToString: renderToString$1, + buildAssetsURL + }; + const renderer = createRenderer(createSSRApp, options); + async function renderToString$1(input, context) { + const html = await renderToString(input, context); + if (process.env.NUXT_VITE_NODE_OPTIONS) { + renderer.rendererContext.updateManifest(await getClientManifest()); + } + return `<${appRootTag} id="${appRootId}">${html}`; + } + return renderer; +}); +const getSPARenderer = lazyCachedFunction(async () => { + const manifest = await getClientManifest(); + const options = { + manifest, + renderToString: () => `<${appRootTag} id="${appRootId}">`, + buildAssetsURL + }; + const renderer = createRenderer(() => () => { + }, options); + const result = await renderer.renderToString({}); + const renderToString = (ssrContext) => { + const config = useRuntimeConfig(); + ssrContext.payload = { + serverRendered: false, + config: { + public: config.public, + app: config.app + }, + data: {}, + state: {} + }; + ssrContext.renderMeta = ssrContext.renderMeta ?? getStaticRenderedHead; + return Promise.resolve(result); + }; + return { + rendererContext: renderer.rendererContext, + renderToString + }; +}); +const PAYLOAD_URL_RE = /\/_payload(\.[a-zA-Z0-9]+)?.js(\?.*)?$/; +const renderer = defineRenderHandler(async (event) => { + const nitroApp = useNitroApp(); + const ssrError = event.node.req.url?.startsWith("/__nuxt_error") ? getQuery(event) : null; + if (ssrError && event.node.req.socket.readyState !== "readOnly") { + throw createError("Cannot directly render error page!"); + } + const islandContext = void 0; + let url = ssrError?.url || islandContext?.url || event.node.req.url; + const isRenderingPayload = PAYLOAD_URL_RE.test(url); + if (isRenderingPayload) { + url = url.substring(0, url.lastIndexOf("/")) || "/"; + event.node.req.url = url; + } + const routeOptions = getRouteRules(event); + const ssrContext = { + url, + event, + runtimeConfig: useRuntimeConfig(), + noSSR: !!event.node.req.headers["x-nuxt-no-ssr"] || routeOptions.ssr === false || (false), + error: !!ssrError, + nuxt: void 0, + /* NuxtApp */ + payload: ssrError ? { error: ssrError } : {}, + islandContext + }; + const renderer = ssrContext.noSSR ? await getSPARenderer() : await getSSRRenderer(); + const _rendered = await renderer.renderToString(ssrContext).catch((error) => { + throw !ssrError && ssrContext.payload?.error || error; + }); + await ssrContext.nuxt?.hooks.callHook("app:rendered", { ssrContext }); + if (ssrContext.payload?.error && !ssrError) { + throw ssrContext.payload.error; + } + if (isRenderingPayload) { + const response2 = renderPayloadResponse(ssrContext); + return response2; + } + const renderedMeta = await ssrContext.renderMeta?.() ?? {}; + const inlinedStyles = ""; + const htmlContext = { + island: Boolean(islandContext), + htmlAttrs: normalizeChunks([renderedMeta.htmlAttrs]), + head: normalizeChunks([ + renderedMeta.headTags, + null, + _rendered.renderResourceHints(), + _rendered.renderStyles(), + inlinedStyles, + ssrContext.styles + ]), + bodyAttrs: normalizeChunks([renderedMeta.bodyAttrs]), + bodyPrepend: normalizeChunks([ + renderedMeta.bodyScriptsPrepend, + ssrContext.teleports?.body + ]), + body: [_rendered.html], + bodyAppend: normalizeChunks([ + `","bodyTags":"","bodyTagsOpen":"","htmlAttrs":"","bodyAttrs":""}; + +const _virtual__headStatic$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + default: _virtual__headStatic +}); +//# sourceMappingURL=index.mjs.map diff --git a/docs/.nuxt/dev/index.mjs.map b/docs/.nuxt/dev/index.mjs.map new file mode 100644 index 00000000..bc61735b --- /dev/null +++ b/docs/.nuxt/dev/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index.mjs","sources":["C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime/config.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime/storage.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime/cache.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime/route-rules.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime/renderer.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/pinceau/dist/nitro.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxtjs/color-mode/dist/runtime/nitro-plugin.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime/utils.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/core/runtime/nitro/error.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/query/match/utils.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/query/query.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/query/match/index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/query/match/pipeline.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/utils.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/csv/create-tokenizer.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/csv/parser.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/csv/from-csv.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/csv/index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/utils/ast.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/toc.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/emphasis.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/utils.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/code.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/html.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/heading.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/path-meta.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/link.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/list.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/listItem.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/table.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/utils/html-tags.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/paragraph.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/image.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/blockquote.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/strong.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/inlineCode.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/thematicBreak.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/containerComponent.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/handler/index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/compiler.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/utils/node.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/content.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/markdown-parser/index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/markdown.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/yaml.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/shiki/languages/mdc.tmLanguage.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/shiki/highlighter.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/shiki/shiki.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/json.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/transformers/index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server/preview.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/core/runtime/nitro/paths.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server/content-index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server/storage.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxtlabs/github-module/dist/runtime/server/utils/queries.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxtlabs/github-module/dist/runtime/server/api/repository.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxtlabs/github-module/dist/runtime/server/api/readme.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxtlabs/github-module/dist/runtime/server/api/releases/index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxtlabs/github-module/dist/runtime/server/api/contributors/index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxtlabs/github-module/dist/runtime/server/api/contributors/file.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxtlabs/github-module/dist/runtime/server/api/commits/index.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/utils/json.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/utils/query.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server/api/query.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server/api/cache.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server/navigation.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server/api/navigation.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime/app.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime/entries/nitro-dev.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/ui-templates/dist/templates/error-dev.mjs","C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/core/runtime/nitro/renderer.mjs"],"sourcesContent":null,"names":["overrideConfig","_appConfig","isObject","createRadixRouter","parse","compiler","handlers","hash","ohash","customTransformers","defu","moduleConfig","imports.useRuntimeConfig","handler","imports.defineEventHandler","createRouter","createLocalFetch","createFetch","join","renderToString","_renderToString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,wCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,qBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,6DAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,0BAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kGAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,+BAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,iCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,wCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA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A,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC3H,CAAA,CAAA,CAAA,CAAI,CAA4G,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAChH,CAAA,CAAA,CAAA,CAAI,CAAiE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACjT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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACnO,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,EAAE,CAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACtC,CAAM,CAAA,CAAA,CA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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAovX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA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AA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAiC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA;AACrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,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AA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,GAAG,CAAC,CAAA,CAAA,CAAA;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACv0H,CAAC,CAAC,CAAA,CAAA,CAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]} \ No newline at end of file diff --git a/docs/.nuxt/dist/server/client.manifest.json b/docs/.nuxt/dist/server/client.manifest.json new file mode 100644 index 00000000..5a126933 --- /dev/null +++ b/docs/.nuxt/dist/server/client.manifest.json @@ -0,0 +1,15 @@ +{ + "@vite/client": { + "isEntry": true, + "file": "@vite/client", + "css": [], + "module": true, + "resourceType": "script" + }, + "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/app/entry.mjs": { + "resourceType": "script", + "module": true, + "isEntry": true, + "file": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/app/entry.mjs" + } +} \ No newline at end of file diff --git a/docs/.nuxt/dist/server/client.manifest.mjs b/docs/.nuxt/dist/server/client.manifest.mjs new file mode 100644 index 00000000..9dc207a2 --- /dev/null +++ b/docs/.nuxt/dist/server/client.manifest.mjs @@ -0,0 +1 @@ +export { default } from "file:///C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/vite-builder/dist/runtime/client.manifest.mjs" \ No newline at end of file diff --git a/docs/.nuxt/dist/server/server.mjs b/docs/.nuxt/dist/server/server.mjs new file mode 100644 index 00000000..1b6146a2 --- /dev/null +++ b/docs/.nuxt/dist/server/server.mjs @@ -0,0 +1 @@ +export { default } from "file:///C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/vite-builder/dist/runtime/vite-node.mjs" \ No newline at end of file diff --git a/docs/.nuxt/imports.d.ts b/docs/.nuxt/imports.d.ts new file mode 100644 index 00000000..70a517f2 --- /dev/null +++ b/docs/.nuxt/imports.d.ts @@ -0,0 +1,19 @@ +export { useHead, useSeoMeta, useServerSeoMeta } from '#head'; +export { isVue2, isVue3 } from 'vue-demi'; +export { useAsyncData, useLazyAsyncData, useNuxtData, refreshNuxtData, clearNuxtData, defineNuxtComponent, useNuxtApp, defineNuxtPlugin, useRuntimeConfig, useState, useFetch, useLazyFetch, useCookie, useRequestHeaders, useRequestEvent, setResponseStatus, setPageLayout, onNuxtReady, useRouter, useRoute, defineNuxtRouteMiddleware, navigateTo, abortNavigation, addRouteMiddleware, showError, clearError, isNuxtError, useError, createError, defineNuxtLink, useAppConfig, updateAppConfig, defineAppConfig, preloadComponents, preloadRouteComponents, prefetchComponents, loadPayload, preloadPayload, isPrerendered } from '#app'; +export { onBeforeRouteLeave, onBeforeRouteUpdate, useLink } from 'vue-router'; +export { withCtx, withDirectives, withKeys, withMemo, withModifiers, withScopeId, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, computed, customRef, isProxy, isReactive, isReadonly, isRef, markRaw, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, watch, watchEffect, isShallow, effect, effectScope, getCurrentScope, onScopeDispose, defineComponent, defineAsyncComponent, resolveComponent, getCurrentInstance, h, inject, nextTick, provide, useAttrs, useCssModule, useCssVars, useSlots, useTransitionState } from 'vue'; +export { computedAsync, asyncComputed, computedEager, eagerComputed, computedInject, computedWithControl, controlledComputed, createEventHook, createGlobalState, createInjectionState, createSharedComposable, createUnrefFn, extendRef, isDefined, makeDestructurable, onClickOutside, onKeyStroke, onLongPress, onStartTyping, reactify, createReactiveFn, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, autoResetRef, refDebounced, useDebounce, debouncedRef, refDefault, refThrottled, useThrottle, throttledRef, refWithControl, controlledRef, resolveRef, resolveUnref, syncRef, syncRefs, templateRef, toReactive, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, unrefElement, until, useActiveElement, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useCloned, useConfirmDialog, useCounter, useCssVar, useCurrentElement, useCycleList, useDark, useDateFormat, useDebouncedRefHistory, useDebounceFn, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIntervalFn, useKeyModifier, useLastChanged, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextareaAutosize, useTextDirection, useTextSelection, useThrottledRefHistory, useThrottleFn, useTimeAgo, useTimeout, useTimeoutFn, useTimeoutPoll, useTimestamp, useToggle, useToNumber, useToString, useTransition, useUrlSearchParams, useUserMedia, useVibrate, useVirtualList, useVModel, useVModels, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize, watchArray, watchAtMost, watchDebounced, debouncedWatch, watchIgnorable, ignorableWatch, watchOnce, watchPausable, pausableWatch, watchThrottled, throttledWatch, watchTriggerable, watchWithFilter, whenever } from '@vueuse/core'; +export { useDocSearch } from '../node_modules/@nuxt-themes/docus/composables/useDocSearch'; +export { useDocus } from '../node_modules/@nuxt-themes/docus/composables/useDocus'; +export { useMenu } from '../node_modules/@nuxt-themes/docus/composables/useMenu'; +export { useScrollspy } from '../node_modules/@nuxt-themes/docus/composables/useScrollspy'; +export { useGithub } from '../node_modules/@nuxtlabs/github-module/dist/runtime/composables/useGithub'; +export { useColorMode } from '../node_modules/@nuxtjs/color-mode/dist/runtime/composables'; +export { queryContent } from '../node_modules/@nuxt/content/dist/runtime/composables/query'; +export { useContentHelpers } from '../node_modules/@nuxt/content/dist/runtime/composables/helpers'; +export { useContentHead } from '../node_modules/@nuxt/content/dist/runtime/composables/head'; +export { withContentBase, useUnwrap } from '../node_modules/@nuxt/content/dist/runtime/composables/utils'; +export { fetchContentNavigation } from '../node_modules/@nuxt/content/dist/runtime/composables/navigation'; +export { useContentState, useContent } from '../node_modules/@nuxt/content/dist/runtime/composables/content'; +export { definePageMeta } from '../node_modules/nuxt/dist/pages/runtime/composables'; \ No newline at end of file diff --git a/docs/.nuxt/nuxt.d.ts b/docs/.nuxt/nuxt.d.ts new file mode 100644 index 00000000..4661b2d8 --- /dev/null +++ b/docs/.nuxt/nuxt.d.ts @@ -0,0 +1,34 @@ +// Generated by nuxi +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// + +export {} diff --git a/docs/.nuxt/nuxt.json b/docs/.nuxt/nuxt.json new file mode 100644 index 00000000..acb822b2 --- /dev/null +++ b/docs/.nuxt/nuxt.json @@ -0,0 +1,9 @@ +{ + "_hash": "xhS2oQ9Z0K", + "project": { + "rootDir": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs" + }, + "versions": { + "nuxt": "3.1.2" + } +} \ No newline at end of file diff --git a/docs/.nuxt/pinceau/definitions.ts b/docs/.nuxt/pinceau/definitions.ts new file mode 100644 index 00000000..59a5d7a9 --- /dev/null +++ b/docs/.nuxt/pinceau/definitions.ts @@ -0,0 +1,9989 @@ +export const definitions = { + "media.xs": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 14, + "column": 4, + "index": 397, + "token": 43 + }, + "end": { + "line": 14, + "column": 30, + "index": 423, + "token": 46 + } + } + }, + "media.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 15, + "column": 4, + "index": 430, + "token": 47 + }, + "end": { + "line": 15, + "column": 30, + "index": 456, + "token": 50 + } + } + }, + "media.md": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 16, + "column": 4, + "index": 463, + "token": 51 + }, + "end": { + "line": 16, + "column": 30, + "index": 489, + "token": 54 + } + } + }, + "media.lg": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 17, + "column": 4, + "index": 496, + "token": 55 + }, + "end": { + "line": 17, + "column": 31, + "index": 523, + "token": 58 + } + } + }, + "media.xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 18, + "column": 4, + "index": 530, + "token": 59 + }, + "end": { + "line": 18, + "column": 31, + "index": 557, + "token": 62 + } + } + }, + "media.2xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 19, + "column": 4, + "index": 564, + "token": 63 + }, + "end": { + "line": 19, + "column": 32, + "index": 592, + "token": 66 + } + } + }, + "media.rm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 20, + "column": 4, + "index": 599, + "token": 67 + }, + "end": { + "line": 20, + "column": 44, + "index": 639, + "token": 70 + } + } + }, + "media.landscape": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 21, + "column": 4, + "index": 646, + "token": 71 + }, + "end": { + "line": 21, + "column": 59, + "index": 701, + "token": 74 + } + } + }, + "media.portrait": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 22, + "column": 4, + "index": 708, + "token": 75 + }, + "end": { + "line": 22, + "column": 57, + "index": 761, + "token": 78 + } + } + }, + "color.white": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 465, + "column": 4, + "index": 12921, + "token": 1356 + }, + "end": { + "line": 465, + "column": 20, + "index": 12937, + "token": 1359 + } + } + }, + "color.black": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 5, + "column": 4, + "index": 87, + "token": 14 + }, + "end": { + "line": 5, + "column": 20, + "index": 103, + "token": 17 + } + } + }, + "color.gray.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 20, + "column": 6, + "index": 415, + "token": 66 + }, + "end": { + "line": 20, + "column": 19, + "index": 428, + "token": 69 + } + } + }, + "color.gray.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 21, + "column": 6, + "index": 437, + "token": 70 + }, + "end": { + "line": 21, + "column": 20, + "index": 451, + "token": 73 + } + } + }, + "color.gray.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 22, + "column": 6, + "index": 460, + "token": 74 + }, + "end": { + "line": 22, + "column": 20, + "index": 474, + "token": 77 + } + } + }, + "color.gray.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 23, + "column": 6, + "index": 483, + "token": 78 + }, + "end": { + "line": 23, + "column": 20, + "index": 497, + "token": 81 + } + } + }, + "color.gray.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 24, + "column": 6, + "index": 506, + "token": 82 + }, + "end": { + "line": 24, + "column": 20, + "index": 520, + "token": 85 + } + } + }, + "color.gray.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 25, + "column": 6, + "index": 529, + "token": 86 + }, + "end": { + "line": 25, + "column": 20, + "index": 543, + "token": 89 + } + } + }, + "color.gray.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 26, + "column": 6, + "index": 552, + "token": 90 + }, + "end": { + "line": 26, + "column": 20, + "index": 566, + "token": 93 + } + } + }, + "color.gray.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 27, + "column": 6, + "index": 575, + "token": 94 + }, + "end": { + "line": 27, + "column": 20, + "index": 589, + "token": 97 + } + } + }, + "color.gray.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 28, + "column": 6, + "index": 598, + "token": 98 + }, + "end": { + "line": 28, + "column": 20, + "index": 612, + "token": 101 + } + } + }, + "color.gray.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 29, + "column": 6, + "index": 621, + "token": 102 + }, + "end": { + "line": 29, + "column": 20, + "index": 635, + "token": 105 + } + } + }, + "color.green.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 56, + "column": 6, + "index": 1162, + "token": 198 + }, + "end": { + "line": 56, + "column": 19, + "index": 1175, + "token": 201 + } + } + }, + "color.green.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 57, + "column": 6, + "index": 1184, + "token": 202 + }, + "end": { + "line": 57, + "column": 20, + "index": 1198, + "token": 205 + } + } + }, + "color.green.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 58, + "column": 6, + "index": 1207, + "token": 206 + }, + "end": { + "line": 58, + "column": 20, + "index": 1221, + "token": 209 + } + } + }, + "color.green.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 59, + "column": 6, + "index": 1230, + "token": 210 + }, + "end": { + "line": 59, + "column": 20, + "index": 1244, + "token": 213 + } + } + }, + "color.green.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 60, + "column": 6, + "index": 1253, + "token": 214 + }, + "end": { + "line": 60, + "column": 20, + "index": 1267, + "token": 217 + } + } + }, + "color.green.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 61, + "column": 6, + "index": 1276, + "token": 218 + }, + "end": { + "line": 61, + "column": 20, + "index": 1290, + "token": 221 + } + } + }, + "color.green.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 62, + "column": 6, + "index": 1299, + "token": 222 + }, + "end": { + "line": 62, + "column": 20, + "index": 1313, + "token": 225 + } + } + }, + "color.green.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 63, + "column": 6, + "index": 1322, + "token": 226 + }, + "end": { + "line": 63, + "column": 20, + "index": 1336, + "token": 229 + } + } + }, + "color.green.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 64, + "column": 6, + "index": 1345, + "token": 230 + }, + "end": { + "line": 64, + "column": 20, + "index": 1359, + "token": 233 + } + } + }, + "color.green.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 65, + "column": 6, + "index": 1368, + "token": 234 + }, + "end": { + "line": 65, + "column": 20, + "index": 1382, + "token": 237 + } + } + }, + "color.yellow.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 68, + "column": 6, + "index": 1413, + "token": 242 + }, + "end": { + "line": 68, + "column": 19, + "index": 1426, + "token": 245 + } + } + }, + "color.yellow.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 69, + "column": 6, + "index": 1435, + "token": 246 + }, + "end": { + "line": 69, + "column": 20, + "index": 1449, + "token": 249 + } + } + }, + "color.yellow.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 70, + "column": 6, + "index": 1458, + "token": 250 + }, + "end": { + "line": 70, + "column": 20, + "index": 1472, + "token": 253 + } + } + }, + "color.yellow.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 71, + "column": 6, + "index": 1481, + "token": 254 + }, + "end": { + "line": 71, + "column": 20, + "index": 1495, + "token": 257 + } + } + }, + "color.yellow.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 72, + "column": 6, + "index": 1504, + "token": 258 + }, + "end": { + "line": 72, + "column": 20, + "index": 1518, + "token": 261 + } + } + }, + "color.yellow.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 73, + "column": 6, + "index": 1527, + "token": 262 + }, + "end": { + "line": 73, + "column": 20, + "index": 1541, + "token": 265 + } + } + }, + "color.yellow.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 74, + "column": 6, + "index": 1550, + "token": 266 + }, + "end": { + "line": 74, + "column": 20, + "index": 1564, + "token": 269 + } + } + }, + "color.yellow.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 75, + "column": 6, + "index": 1573, + "token": 270 + }, + "end": { + "line": 75, + "column": 20, + "index": 1587, + "token": 273 + } + } + }, + "color.yellow.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 76, + "column": 6, + "index": 1596, + "token": 274 + }, + "end": { + "line": 76, + "column": 20, + "index": 1610, + "token": 277 + } + } + }, + "color.yellow.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 77, + "column": 6, + "index": 1619, + "token": 278 + }, + "end": { + "line": 77, + "column": 20, + "index": 1633, + "token": 281 + } + } + }, + "color.orange.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 73, + "column": 6, + "index": 1811, + "token": 250 + }, + "end": { + "line": 73, + "column": 19, + "index": 1824, + "token": 253 + } + } + }, + "color.orange.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 74, + "column": 6, + "index": 1833, + "token": 254 + }, + "end": { + "line": 74, + "column": 20, + "index": 1847, + "token": 257 + } + } + }, + "color.orange.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 75, + "column": 6, + "index": 1856, + "token": 258 + }, + "end": { + "line": 75, + "column": 20, + "index": 1870, + "token": 261 + } + } + }, + "color.orange.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 76, + "column": 6, + "index": 1879, + "token": 262 + }, + "end": { + "line": 76, + "column": 20, + "index": 1893, + "token": 265 + } + } + }, + "color.orange.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 77, + "column": 6, + "index": 1902, + "token": 266 + }, + "end": { + "line": 77, + "column": 20, + "index": 1916, + "token": 269 + } + } + }, + "color.orange.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 78, + "column": 6, + "index": 1925, + "token": 270 + }, + "end": { + "line": 78, + "column": 20, + "index": 1939, + "token": 273 + } + } + }, + "color.orange.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 79, + "column": 6, + "index": 1948, + "token": 274 + }, + "end": { + "line": 79, + "column": 20, + "index": 1962, + "token": 277 + } + } + }, + "color.orange.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 80, + "column": 6, + "index": 1971, + "token": 278 + }, + "end": { + "line": 80, + "column": 20, + "index": 1985, + "token": 281 + } + } + }, + "color.orange.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 81, + "column": 6, + "index": 1994, + "token": 282 + }, + "end": { + "line": 81, + "column": 20, + "index": 2008, + "token": 285 + } + } + }, + "color.orange.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 82, + "column": 6, + "index": 2017, + "token": 286 + }, + "end": { + "line": 82, + "column": 20, + "index": 2031, + "token": 289 + } + } + }, + "color.red.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 32, + "column": 6, + "index": 663, + "token": 110 + }, + "end": { + "line": 32, + "column": 19, + "index": 676, + "token": 113 + } + } + }, + "color.red.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 33, + "column": 6, + "index": 685, + "token": 114 + }, + "end": { + "line": 33, + "column": 20, + "index": 699, + "token": 117 + } + } + }, + "color.red.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 34, + "column": 6, + "index": 708, + "token": 118 + }, + "end": { + "line": 34, + "column": 20, + "index": 722, + "token": 121 + } + } + }, + "color.red.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 35, + "column": 6, + "index": 731, + "token": 122 + }, + "end": { + "line": 35, + "column": 20, + "index": 745, + "token": 125 + } + } + }, + "color.red.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 36, + "column": 6, + "index": 754, + "token": 126 + }, + "end": { + "line": 36, + "column": 20, + "index": 768, + "token": 129 + } + } + }, + "color.red.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 37, + "column": 6, + "index": 777, + "token": 130 + }, + "end": { + "line": 37, + "column": 20, + "index": 791, + "token": 133 + } + } + }, + "color.red.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 38, + "column": 6, + "index": 800, + "token": 134 + }, + "end": { + "line": 38, + "column": 20, + "index": 814, + "token": 137 + } + } + }, + "color.red.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 39, + "column": 6, + "index": 823, + "token": 138 + }, + "end": { + "line": 39, + "column": 20, + "index": 837, + "token": 141 + } + } + }, + "color.red.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 40, + "column": 6, + "index": 846, + "token": 142 + }, + "end": { + "line": 40, + "column": 20, + "index": 860, + "token": 145 + } + } + }, + "color.red.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 41, + "column": 6, + "index": 869, + "token": 146 + }, + "end": { + "line": 41, + "column": 20, + "index": 883, + "token": 149 + } + } + }, + "color.pear.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 97, + "column": 6, + "index": 2310, + "token": 340 + }, + "end": { + "line": 97, + "column": 19, + "index": 2323, + "token": 343 + } + } + }, + "color.pear.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 98, + "column": 6, + "index": 2332, + "token": 344 + }, + "end": { + "line": 98, + "column": 20, + "index": 2346, + "token": 347 + } + } + }, + "color.pear.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 99, + "column": 6, + "index": 2355, + "token": 348 + }, + "end": { + "line": 99, + "column": 20, + "index": 2369, + "token": 351 + } + } + }, + "color.pear.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 100, + "column": 6, + "index": 2378, + "token": 352 + }, + "end": { + "line": 100, + "column": 20, + "index": 2392, + "token": 355 + } + } + }, + "color.pear.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 101, + "column": 6, + "index": 2401, + "token": 356 + }, + "end": { + "line": 101, + "column": 20, + "index": 2415, + "token": 359 + } + } + }, + "color.pear.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 102, + "column": 6, + "index": 2424, + "token": 360 + }, + "end": { + "line": 102, + "column": 20, + "index": 2438, + "token": 363 + } + } + }, + "color.pear.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 103, + "column": 6, + "index": 2447, + "token": 364 + }, + "end": { + "line": 103, + "column": 20, + "index": 2461, + "token": 367 + } + } + }, + "color.pear.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 104, + "column": 6, + "index": 2470, + "token": 368 + }, + "end": { + "line": 104, + "column": 20, + "index": 2484, + "token": 371 + } + } + }, + "color.pear.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 105, + "column": 6, + "index": 2493, + "token": 372 + }, + "end": { + "line": 105, + "column": 20, + "index": 2507, + "token": 375 + } + } + }, + "color.pear.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 106, + "column": 6, + "index": 2516, + "token": 376 + }, + "end": { + "line": 106, + "column": 20, + "index": 2530, + "token": 379 + } + } + }, + "color.teal.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 109, + "column": 6, + "index": 2560, + "token": 385 + }, + "end": { + "line": 109, + "column": 19, + "index": 2573, + "token": 388 + } + } + }, + "color.teal.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 110, + "column": 6, + "index": 2582, + "token": 389 + }, + "end": { + "line": 110, + "column": 20, + "index": 2596, + "token": 392 + } + } + }, + "color.teal.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 111, + "column": 6, + "index": 2605, + "token": 393 + }, + "end": { + "line": 111, + "column": 20, + "index": 2619, + "token": 396 + } + } + }, + "color.teal.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 112, + "column": 6, + "index": 2628, + "token": 397 + }, + "end": { + "line": 112, + "column": 20, + "index": 2642, + "token": 400 + } + } + }, + "color.teal.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 113, + "column": 6, + "index": 2651, + "token": 401 + }, + "end": { + "line": 113, + "column": 20, + "index": 2665, + "token": 404 + } + } + }, + "color.teal.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 114, + "column": 6, + "index": 2674, + "token": 405 + }, + "end": { + "line": 114, + "column": 20, + "index": 2688, + "token": 408 + } + } + }, + "color.teal.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 115, + "column": 6, + "index": 2697, + "token": 409 + }, + "end": { + "line": 115, + "column": 20, + "index": 2711, + "token": 412 + } + } + }, + "color.teal.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 116, + "column": 6, + "index": 2720, + "token": 413 + }, + "end": { + "line": 116, + "column": 20, + "index": 2734, + "token": 416 + } + } + }, + "color.teal.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 117, + "column": 6, + "index": 2743, + "token": 417 + }, + "end": { + "line": 117, + "column": 20, + "index": 2757, + "token": 420 + } + } + }, + "color.teal.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 118, + "column": 6, + "index": 2766, + "token": 421 + }, + "end": { + "line": 118, + "column": 20, + "index": 2780, + "token": 424 + } + } + }, + "color.lightblue.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 121, + "column": 6, + "index": 2815, + "token": 430 + }, + "end": { + "line": 121, + "column": 19, + "index": 2828, + "token": 433 + } + } + }, + "color.lightblue.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 122, + "column": 6, + "index": 2837, + "token": 434 + }, + "end": { + "line": 122, + "column": 20, + "index": 2851, + "token": 437 + } + } + }, + "color.lightblue.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 123, + "column": 6, + "index": 2860, + "token": 438 + }, + "end": { + "line": 123, + "column": 20, + "index": 2874, + "token": 441 + } + } + }, + "color.lightblue.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 124, + "column": 6, + "index": 2883, + "token": 442 + }, + "end": { + "line": 124, + "column": 20, + "index": 2897, + "token": 445 + } + } + }, + "color.lightblue.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 125, + "column": 6, + "index": 2906, + "token": 446 + }, + "end": { + "line": 125, + "column": 20, + "index": 2920, + "token": 449 + } + } + }, + "color.lightblue.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 126, + "column": 6, + "index": 2929, + "token": 450 + }, + "end": { + "line": 126, + "column": 20, + "index": 2943, + "token": 453 + } + } + }, + "color.lightblue.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 127, + "column": 6, + "index": 2952, + "token": 454 + }, + "end": { + "line": 127, + "column": 20, + "index": 2966, + "token": 457 + } + } + }, + "color.lightblue.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 128, + "column": 6, + "index": 2975, + "token": 458 + }, + "end": { + "line": 128, + "column": 20, + "index": 2989, + "token": 461 + } + } + }, + "color.lightblue.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 129, + "column": 6, + "index": 2998, + "token": 462 + }, + "end": { + "line": 129, + "column": 20, + "index": 3012, + "token": 465 + } + } + }, + "color.lightblue.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 130, + "column": 6, + "index": 3021, + "token": 466 + }, + "end": { + "line": 130, + "column": 20, + "index": 3035, + "token": 469 + } + } + }, + "color.blue.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 44, + "column": 6, + "index": 912, + "token": 154 + }, + "end": { + "line": 44, + "column": 19, + "index": 925, + "token": 157 + } + } + }, + "color.blue.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 45, + "column": 6, + "index": 934, + "token": 158 + }, + "end": { + "line": 45, + "column": 20, + "index": 948, + "token": 161 + } + } + }, + "color.blue.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 46, + "column": 6, + "index": 957, + "token": 162 + }, + "end": { + "line": 46, + "column": 20, + "index": 971, + "token": 165 + } + } + }, + "color.blue.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 47, + "column": 6, + "index": 980, + "token": 166 + }, + "end": { + "line": 47, + "column": 20, + "index": 994, + "token": 169 + } + } + }, + "color.blue.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 48, + "column": 6, + "index": 1003, + "token": 170 + }, + "end": { + "line": 48, + "column": 20, + "index": 1017, + "token": 173 + } + } + }, + "color.blue.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 49, + "column": 6, + "index": 1026, + "token": 174 + }, + "end": { + "line": 49, + "column": 20, + "index": 1040, + "token": 177 + } + } + }, + "color.blue.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 50, + "column": 6, + "index": 1049, + "token": 178 + }, + "end": { + "line": 50, + "column": 20, + "index": 1063, + "token": 181 + } + } + }, + "color.blue.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 51, + "column": 6, + "index": 1072, + "token": 182 + }, + "end": { + "line": 51, + "column": 20, + "index": 1086, + "token": 185 + } + } + }, + "color.blue.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 52, + "column": 6, + "index": 1095, + "token": 186 + }, + "end": { + "line": 52, + "column": 20, + "index": 1109, + "token": 189 + } + } + }, + "color.blue.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 53, + "column": 6, + "index": 1118, + "token": 190 + }, + "end": { + "line": 53, + "column": 20, + "index": 1132, + "token": 193 + } + } + }, + "color.indigoblue.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 145, + "column": 6, + "index": 3321, + "token": 520 + }, + "end": { + "line": 145, + "column": 19, + "index": 3334, + "token": 523 + } + } + }, + "color.indigoblue.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 146, + "column": 6, + "index": 3343, + "token": 524 + }, + "end": { + "line": 146, + "column": 20, + "index": 3357, + "token": 527 + } + } + }, + "color.indigoblue.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 147, + "column": 6, + "index": 3366, + "token": 528 + }, + "end": { + "line": 147, + "column": 20, + "index": 3380, + "token": 531 + } + } + }, + "color.indigoblue.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 148, + "column": 6, + "index": 3389, + "token": 532 + }, + "end": { + "line": 148, + "column": 20, + "index": 3403, + "token": 535 + } + } + }, + "color.indigoblue.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 149, + "column": 6, + "index": 3412, + "token": 536 + }, + "end": { + "line": 149, + "column": 20, + "index": 3426, + "token": 539 + } + } + }, + "color.indigoblue.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 150, + "column": 6, + "index": 3435, + "token": 540 + }, + "end": { + "line": 150, + "column": 20, + "index": 3449, + "token": 543 + } + } + }, + "color.indigoblue.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 151, + "column": 6, + "index": 3458, + "token": 544 + }, + "end": { + "line": 151, + "column": 20, + "index": 3472, + "token": 547 + } + } + }, + "color.indigoblue.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 152, + "column": 6, + "index": 3481, + "token": 548 + }, + "end": { + "line": 152, + "column": 20, + "index": 3495, + "token": 551 + } + } + }, + "color.indigoblue.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 153, + "column": 6, + "index": 3504, + "token": 552 + }, + "end": { + "line": 153, + "column": 20, + "index": 3518, + "token": 555 + } + } + }, + "color.indigoblue.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 154, + "column": 6, + "index": 3527, + "token": 556 + }, + "end": { + "line": 154, + "column": 20, + "index": 3541, + "token": 559 + } + } + }, + "color.royalblue.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 157, + "column": 6, + "index": 3576, + "token": 565 + }, + "end": { + "line": 157, + "column": 19, + "index": 3589, + "token": 568 + } + } + }, + "color.royalblue.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 158, + "column": 6, + "index": 3598, + "token": 569 + }, + "end": { + "line": 158, + "column": 20, + "index": 3612, + "token": 572 + } + } + }, + "color.royalblue.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 159, + "column": 6, + "index": 3621, + "token": 573 + }, + "end": { + "line": 159, + "column": 20, + "index": 3635, + "token": 576 + } + } + }, + "color.royalblue.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 160, + "column": 6, + "index": 3644, + "token": 577 + }, + "end": { + "line": 160, + "column": 20, + "index": 3658, + "token": 580 + } + } + }, + "color.royalblue.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 161, + "column": 6, + "index": 3667, + "token": 581 + }, + "end": { + "line": 161, + "column": 20, + "index": 3681, + "token": 584 + } + } + }, + "color.royalblue.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 162, + "column": 6, + "index": 3690, + "token": 585 + }, + "end": { + "line": 162, + "column": 20, + "index": 3704, + "token": 588 + } + } + }, + "color.royalblue.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 163, + "column": 6, + "index": 3713, + "token": 589 + }, + "end": { + "line": 163, + "column": 20, + "index": 3727, + "token": 592 + } + } + }, + "color.royalblue.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 164, + "column": 6, + "index": 3736, + "token": 593 + }, + "end": { + "line": 164, + "column": 20, + "index": 3750, + "token": 596 + } + } + }, + "color.royalblue.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 165, + "column": 6, + "index": 3759, + "token": 597 + }, + "end": { + "line": 165, + "column": 20, + "index": 3773, + "token": 600 + } + } + }, + "color.royalblue.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 166, + "column": 6, + "index": 3782, + "token": 601 + }, + "end": { + "line": 166, + "column": 20, + "index": 3796, + "token": 604 + } + } + }, + "color.purple.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 169, + "column": 6, + "index": 3828, + "token": 610 + }, + "end": { + "line": 169, + "column": 19, + "index": 3841, + "token": 613 + } + } + }, + "color.purple.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 170, + "column": 6, + "index": 3850, + "token": 614 + }, + "end": { + "line": 170, + "column": 20, + "index": 3864, + "token": 617 + } + } + }, + "color.purple.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 171, + "column": 6, + "index": 3873, + "token": 618 + }, + "end": { + "line": 171, + "column": 20, + "index": 3887, + "token": 621 + } + } + }, + "color.purple.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 172, + "column": 6, + "index": 3896, + "token": 622 + }, + "end": { + "line": 172, + "column": 20, + "index": 3910, + "token": 625 + } + } + }, + "color.purple.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 173, + "column": 6, + "index": 3919, + "token": 626 + }, + "end": { + "line": 173, + "column": 20, + "index": 3933, + "token": 629 + } + } + }, + "color.purple.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 174, + "column": 6, + "index": 3942, + "token": 630 + }, + "end": { + "line": 174, + "column": 20, + "index": 3956, + "token": 633 + } + } + }, + "color.purple.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 175, + "column": 6, + "index": 3965, + "token": 634 + }, + "end": { + "line": 175, + "column": 20, + "index": 3979, + "token": 637 + } + } + }, + "color.purple.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 176, + "column": 6, + "index": 3988, + "token": 638 + }, + "end": { + "line": 176, + "column": 20, + "index": 4002, + "token": 641 + } + } + }, + "color.purple.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 177, + "column": 6, + "index": 4011, + "token": 642 + }, + "end": { + "line": 177, + "column": 20, + "index": 4025, + "token": 645 + } + } + }, + "color.purple.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 178, + "column": 6, + "index": 4034, + "token": 646 + }, + "end": { + "line": 178, + "column": 20, + "index": 4048, + "token": 649 + } + } + }, + "color.pink.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 181, + "column": 6, + "index": 4078, + "token": 655 + }, + "end": { + "line": 181, + "column": 19, + "index": 4091, + "token": 658 + } + } + }, + "color.pink.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 182, + "column": 6, + "index": 4100, + "token": 659 + }, + "end": { + "line": 182, + "column": 20, + "index": 4114, + "token": 662 + } + } + }, + "color.pink.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 183, + "column": 6, + "index": 4123, + "token": 663 + }, + "end": { + "line": 183, + "column": 20, + "index": 4137, + "token": 666 + } + } + }, + "color.pink.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 184, + "column": 6, + "index": 4146, + "token": 667 + }, + "end": { + "line": 184, + "column": 20, + "index": 4160, + "token": 670 + } + } + }, + "color.pink.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 185, + "column": 6, + "index": 4169, + "token": 671 + }, + "end": { + "line": 185, + "column": 20, + "index": 4183, + "token": 674 + } + } + }, + "color.pink.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 186, + "column": 6, + "index": 4192, + "token": 675 + }, + "end": { + "line": 186, + "column": 20, + "index": 4206, + "token": 678 + } + } + }, + "color.pink.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 187, + "column": 6, + "index": 4215, + "token": 679 + }, + "end": { + "line": 187, + "column": 20, + "index": 4229, + "token": 682 + } + } + }, + "color.pink.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 188, + "column": 6, + "index": 4238, + "token": 683 + }, + "end": { + "line": 188, + "column": 20, + "index": 4252, + "token": 686 + } + } + }, + "color.pink.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 189, + "column": 6, + "index": 4261, + "token": 687 + }, + "end": { + "line": 189, + "column": 20, + "index": 4275, + "token": 690 + } + } + }, + "color.pink.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 190, + "column": 6, + "index": 4284, + "token": 691 + }, + "end": { + "line": 190, + "column": 20, + "index": 4298, + "token": 694 + } + } + }, + "color.ruby.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 193, + "column": 6, + "index": 4328, + "token": 700 + }, + "end": { + "line": 193, + "column": 19, + "index": 4341, + "token": 703 + } + } + }, + "color.ruby.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 194, + "column": 6, + "index": 4350, + "token": 704 + }, + "end": { + "line": 194, + "column": 20, + "index": 4364, + "token": 707 + } + } + }, + "color.ruby.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 195, + "column": 6, + "index": 4373, + "token": 708 + }, + "end": { + "line": 195, + "column": 20, + "index": 4387, + "token": 711 + } + } + }, + "color.ruby.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 196, + "column": 6, + "index": 4396, + "token": 712 + }, + "end": { + "line": 196, + "column": 20, + "index": 4410, + "token": 715 + } + } + }, + "color.ruby.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 197, + "column": 6, + "index": 4419, + "token": 716 + }, + "end": { + "line": 197, + "column": 20, + "index": 4433, + "token": 719 + } + } + }, + "color.ruby.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 198, + "column": 6, + "index": 4442, + "token": 720 + }, + "end": { + "line": 198, + "column": 20, + "index": 4456, + "token": 723 + } + } + }, + "color.ruby.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 199, + "column": 6, + "index": 4465, + "token": 724 + }, + "end": { + "line": 199, + "column": 20, + "index": 4479, + "token": 727 + } + } + }, + "color.ruby.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 200, + "column": 6, + "index": 4488, + "token": 728 + }, + "end": { + "line": 200, + "column": 20, + "index": 4502, + "token": 731 + } + } + }, + "color.ruby.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 201, + "column": 6, + "index": 4511, + "token": 732 + }, + "end": { + "line": 201, + "column": 20, + "index": 4525, + "token": 735 + } + } + }, + "color.ruby.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 202, + "column": 6, + "index": 4534, + "token": 736 + }, + "end": { + "line": 202, + "column": 20, + "index": 4548, + "token": 739 + } + } + }, + "width.screen": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 215, + "column": 4, + "index": 4788, + "token": 767 + }, + "end": { + "line": 215, + "column": 19, + "index": 4803, + "token": 770 + } + } + }, + "height.screen": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 226, + "column": 4, + "index": 5034, + "token": 796 + }, + "end": { + "line": 226, + "column": 19, + "index": 5049, + "token": 799 + } + } + }, + "shadow.$schema.title": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 231, + "column": 6, + "index": 5097, + "token": 808 + }, + "end": { + "line": 231, + "column": 36, + "index": 5127, + "token": 811 + } + } + }, + "shadow.$schema.tags": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 232, + "column": 6, + "index": 5136, + "token": 812 + }, + "end": { + "line": 236, + "column": 7, + "index": 5270, + "token": 822 + } + } + }, + "shadow.xs": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 238, + "column": 4, + "index": 5285, + "token": 825 + }, + "end": { + "line": 238, + "column": 35, + "index": 5316, + "token": 828 + } + } + }, + "shadow.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 239, + "column": 4, + "index": 5323, + "token": 829 + }, + "end": { + "line": 239, + "column": 61, + "index": 5380, + "token": 832 + } + } + }, + "shadow.md": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 240, + "column": 4, + "index": 5387, + "token": 833 + }, + "end": { + "line": 240, + "column": 62, + "index": 5445, + "token": 836 + } + } + }, + "shadow.lg": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 241, + "column": 4, + "index": 5452, + "token": 837 + }, + "end": { + "line": 241, + "column": 64, + "index": 5512, + "token": 840 + } + } + }, + "shadow.xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 242, + "column": 4, + "index": 5519, + "token": 841 + }, + "end": { + "line": 242, + "column": 74, + "index": 5589, + "token": 844 + } + } + }, + "shadow.2xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 243, + "column": 4, + "index": 5596, + "token": 845 + }, + "end": { + "line": 243, + "column": 49, + "index": 5641, + "token": 848 + } + } + }, + "shadow.none": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 244, + "column": 4, + "index": 5648, + "token": 849 + }, + "end": { + "line": 244, + "column": 41, + "index": 5685, + "token": 852 + } + } + }, + "radii.$schema.title": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 249, + "column": 6, + "index": 5732, + "token": 861 + }, + "end": { + "line": 249, + "column": 44, + "index": 5770, + "token": 864 + } + } + }, + "radii.$schema.tags": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 250, + "column": 6, + "index": 5779, + "token": 865 + }, + "end": { + "line": 254, + "column": 7, + "index": 5928, + "token": 875 + } + } + }, + "radii.none": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 513, + "column": 4, + "index": 14054, + "token": 1518 + }, + "end": { + "line": 513, + "column": 15, + "index": 14065, + "token": 1521 + } + } + }, + "radii.2xs": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 514, + "column": 4, + "index": 14072, + "token": 1522 + }, + "end": { + "line": 514, + "column": 21, + "index": 14089, + "token": 1525 + } + } + }, + "radii.xs": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 515, + "column": 4, + "index": 14096, + "token": 1526 + }, + "end": { + "line": 515, + "column": 17, + "index": 14109, + "token": 1529 + } + } + }, + "radii.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 516, + "column": 4, + "index": 14116, + "token": 1530 + }, + "end": { + "line": 516, + "column": 18, + "index": 14130, + "token": 1533 + } + } + }, + "radii.md": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 517, + "column": 4, + "index": 14137, + "token": 1534 + }, + "end": { + "line": 517, + "column": 16, + "index": 14149, + "token": 1537 + } + } + }, + "radii.lg": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 518, + "column": 4, + "index": 14156, + "token": 1538 + }, + "end": { + "line": 518, + "column": 17, + "index": 14169, + "token": 1541 + } + } + }, + "radii.xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 519, + "column": 4, + "index": 14176, + "token": 1542 + }, + "end": { + "line": 519, + "column": 14, + "index": 14186, + "token": 1545 + } + } + }, + "radii.2xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 520, + "column": 4, + "index": 14193, + "token": 1546 + }, + "end": { + "line": 520, + "column": 19, + "index": 14208, + "token": 1549 + } + } + }, + "radii.3xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 521, + "column": 4, + "index": 14215, + "token": 1550 + }, + "end": { + "line": 521, + "column": 20, + "index": 14231, + "token": 1553 + } + } + }, + "radii.full": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 522, + "column": 4, + "index": 14238, + "token": 1554 + }, + "end": { + "line": 522, + "column": 18, + "index": 14252, + "token": 1557 + } + } + }, + "size.$schema.title": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 270, + "column": 6, + "index": 6201, + "token": 926 + }, + "end": { + "line": 270, + "column": 36, + "index": 6231, + "token": 929 + } + } + }, + "size.$schema.tags": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 271, + "column": 6, + "index": 6240, + "token": 930 + }, + "end": { + "line": 275, + "column": 7, + "index": 6366, + "token": 940 + } + } + }, + "size.0": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 277, + "column": 4, + "index": 6381, + "token": 943 + }, + "end": { + "line": 277, + "column": 14, + "index": 6391, + "token": 946 + } + } + }, + "size.2": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 278, + "column": 4, + "index": 6398, + "token": 947 + }, + "end": { + "line": 278, + "column": 14, + "index": 6408, + "token": 950 + } + } + }, + "size.4": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 279, + "column": 4, + "index": 6415, + "token": 951 + }, + "end": { + "line": 279, + "column": 14, + "index": 6425, + "token": 954 + } + } + }, + "size.6": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 280, + "column": 4, + "index": 6432, + "token": 955 + }, + "end": { + "line": 280, + "column": 14, + "index": 6442, + "token": 958 + } + } + }, + "size.8": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 281, + "column": 4, + "index": 6449, + "token": 959 + }, + "end": { + "line": 281, + "column": 14, + "index": 6459, + "token": 962 + } + } + }, + "size.12": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 282, + "column": 4, + "index": 6466, + "token": 963 + }, + "end": { + "line": 282, + "column": 16, + "index": 6478, + "token": 966 + } + } + }, + "size.16": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 283, + "column": 4, + "index": 6485, + "token": 967 + }, + "end": { + "line": 283, + "column": 16, + "index": 6497, + "token": 970 + } + } + }, + "size.20": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 284, + "column": 4, + "index": 6504, + "token": 971 + }, + "end": { + "line": 284, + "column": 16, + "index": 6516, + "token": 974 + } + } + }, + "size.24": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 285, + "column": 4, + "index": 6523, + "token": 975 + }, + "end": { + "line": 285, + "column": 16, + "index": 6535, + "token": 978 + } + } + }, + "size.32": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 286, + "column": 4, + "index": 6542, + "token": 979 + }, + "end": { + "line": 286, + "column": 16, + "index": 6554, + "token": 982 + } + } + }, + "size.40": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 287, + "column": 4, + "index": 6561, + "token": 983 + }, + "end": { + "line": 287, + "column": 16, + "index": 6573, + "token": 986 + } + } + }, + "size.48": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 288, + "column": 4, + "index": 6580, + "token": 987 + }, + "end": { + "line": 288, + "column": 16, + "index": 6592, + "token": 990 + } + } + }, + "size.56": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 289, + "column": 4, + "index": 6599, + "token": 991 + }, + "end": { + "line": 289, + "column": 16, + "index": 6611, + "token": 994 + } + } + }, + "size.64": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 290, + "column": 4, + "index": 6618, + "token": 995 + }, + "end": { + "line": 290, + "column": 16, + "index": 6630, + "token": 998 + } + } + }, + "size.80": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 291, + "column": 4, + "index": 6637, + "token": 999 + }, + "end": { + "line": 291, + "column": 16, + "index": 6649, + "token": 1002 + } + } + }, + "size.104": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 292, + "column": 4, + "index": 6656, + "token": 1003 + }, + "end": { + "line": 292, + "column": 18, + "index": 6670, + "token": 1006 + } + } + }, + "size.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 293, + "column": 4, + "index": 6677, + "token": 1007 + }, + "end": { + "line": 293, + "column": 18, + "index": 6691, + "token": 1010 + } + } + }, + "size.xs": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 294, + "column": 4, + "index": 6698, + "token": 1011 + }, + "end": { + "line": 294, + "column": 17, + "index": 6711, + "token": 1014 + } + } + }, + "size.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 295, + "column": 4, + "index": 6718, + "token": 1015 + }, + "end": { + "line": 295, + "column": 17, + "index": 6731, + "token": 1018 + } + } + }, + "size.md": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 296, + "column": 4, + "index": 6738, + "token": 1019 + }, + "end": { + "line": 296, + "column": 17, + "index": 6751, + "token": 1022 + } + } + }, + "size.lg": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 297, + "column": 4, + "index": 6758, + "token": 1023 + }, + "end": { + "line": 297, + "column": 17, + "index": 6771, + "token": 1026 + } + } + }, + "size.xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 298, + "column": 4, + "index": 6778, + "token": 1027 + }, + "end": { + "line": 298, + "column": 17, + "index": 6791, + "token": 1030 + } + } + }, + "size.2xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 299, + "column": 4, + "index": 6798, + "token": 1031 + }, + "end": { + "line": 299, + "column": 18, + "index": 6812, + "token": 1034 + } + } + }, + "size.3xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 300, + "column": 4, + "index": 6819, + "token": 1035 + }, + "end": { + "line": 300, + "column": 18, + "index": 6833, + "token": 1038 + } + } + }, + "size.4xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 301, + "column": 4, + "index": 6840, + "token": 1039 + }, + "end": { + "line": 301, + "column": 18, + "index": 6854, + "token": 1042 + } + } + }, + "size.5xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 302, + "column": 4, + "index": 6861, + "token": 1043 + }, + "end": { + "line": 302, + "column": 18, + "index": 6875, + "token": 1046 + } + } + }, + "size.6xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 303, + "column": 4, + "index": 6882, + "token": 1047 + }, + "end": { + "line": 303, + "column": 18, + "index": 6896, + "token": 1050 + } + } + }, + "size.7xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 304, + "column": 4, + "index": 6903, + "token": 1051 + }, + "end": { + "line": 304, + "column": 18, + "index": 6917, + "token": 1054 + } + } + }, + "size.full": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 305, + "column": 4, + "index": 6924, + "token": 1055 + }, + "end": { + "line": 305, + "column": 18, + "index": 6938, + "token": 1058 + } + } + }, + "space.0": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 317, + "column": 4, + "index": 7164, + "token": 1084 + }, + "end": { + "line": 317, + "column": 12, + "index": 7172, + "token": 1087 + } + } + }, + "space.1": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 318, + "column": 4, + "index": 7179, + "token": 1088 + }, + "end": { + "line": 318, + "column": 16, + "index": 7191, + "token": 1091 + } + } + }, + "space.2": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 319, + "column": 4, + "index": 7198, + "token": 1092 + }, + "end": { + "line": 319, + "column": 15, + "index": 7209, + "token": 1095 + } + } + }, + "space.3": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 320, + "column": 4, + "index": 7216, + "token": 1096 + }, + "end": { + "line": 320, + "column": 16, + "index": 7228, + "token": 1099 + } + } + }, + "space.4": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 321, + "column": 4, + "index": 7235, + "token": 1100 + }, + "end": { + "line": 321, + "column": 13, + "index": 7244, + "token": 1103 + } + } + }, + "space.5": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 322, + "column": 4, + "index": 7251, + "token": 1104 + }, + "end": { + "line": 322, + "column": 16, + "index": 7263, + "token": 1107 + } + } + }, + "space.6": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 323, + "column": 4, + "index": 7270, + "token": 1108 + }, + "end": { + "line": 323, + "column": 15, + "index": 7281, + "token": 1111 + } + } + }, + "space.7": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 324, + "column": 4, + "index": 7288, + "token": 1112 + }, + "end": { + "line": 324, + "column": 16, + "index": 7300, + "token": 1115 + } + } + }, + "space.8": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 325, + "column": 4, + "index": 7307, + "token": 1116 + }, + "end": { + "line": 325, + "column": 13, + "index": 7316, + "token": 1119 + } + } + }, + "space.9": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 326, + "column": 4, + "index": 7323, + "token": 1120 + }, + "end": { + "line": 326, + "column": 16, + "index": 7335, + "token": 1123 + } + } + }, + "space.10": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 327, + "column": 4, + "index": 7342, + "token": 1124 + }, + "end": { + "line": 327, + "column": 16, + "index": 7354, + "token": 1127 + } + } + }, + "space.11": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 328, + "column": 4, + "index": 7361, + "token": 1128 + }, + "end": { + "line": 328, + "column": 17, + "index": 7374, + "token": 1131 + } + } + }, + "space.12": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 329, + "column": 4, + "index": 7381, + "token": 1132 + }, + "end": { + "line": 329, + "column": 14, + "index": 7391, + "token": 1135 + } + } + }, + "space.14": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 330, + "column": 4, + "index": 7398, + "token": 1136 + }, + "end": { + "line": 330, + "column": 16, + "index": 7410, + "token": 1139 + } + } + }, + "space.16": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 331, + "column": 4, + "index": 7417, + "token": 1140 + }, + "end": { + "line": 331, + "column": 14, + "index": 7427, + "token": 1143 + } + } + }, + "space.20": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 332, + "column": 4, + "index": 7434, + "token": 1144 + }, + "end": { + "line": 332, + "column": 14, + "index": 7444, + "token": 1147 + } + } + }, + "space.24": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 333, + "column": 4, + "index": 7451, + "token": 1148 + }, + "end": { + "line": 333, + "column": 14, + "index": 7461, + "token": 1151 + } + } + }, + "space.28": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 334, + "column": 4, + "index": 7468, + "token": 1152 + }, + "end": { + "line": 334, + "column": 14, + "index": 7478, + "token": 1155 + } + } + }, + "space.32": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 335, + "column": 4, + "index": 7485, + "token": 1156 + }, + "end": { + "line": 335, + "column": 14, + "index": 7495, + "token": 1159 + } + } + }, + "space.36": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 336, + "column": 4, + "index": 7502, + "token": 1160 + }, + "end": { + "line": 336, + "column": 14, + "index": 7512, + "token": 1163 + } + } + }, + "space.40": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 337, + "column": 4, + "index": 7519, + "token": 1164 + }, + "end": { + "line": 337, + "column": 15, + "index": 7530, + "token": 1167 + } + } + }, + "space.44": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 338, + "column": 4, + "index": 7537, + "token": 1168 + }, + "end": { + "line": 338, + "column": 15, + "index": 7548, + "token": 1171 + } + } + }, + "space.48": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 339, + "column": 4, + "index": 7555, + "token": 1172 + }, + "end": { + "line": 339, + "column": 15, + "index": 7566, + "token": 1175 + } + } + }, + "space.52": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 340, + "column": 4, + "index": 7573, + "token": 1176 + }, + "end": { + "line": 340, + "column": 15, + "index": 7584, + "token": 1179 + } + } + }, + "space.56": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 341, + "column": 4, + "index": 7591, + "token": 1180 + }, + "end": { + "line": 341, + "column": 15, + "index": 7602, + "token": 1183 + } + } + }, + "space.60": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 342, + "column": 4, + "index": 7609, + "token": 1184 + }, + "end": { + "line": 342, + "column": 15, + "index": 7620, + "token": 1187 + } + } + }, + "space.64": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 343, + "column": 4, + "index": 7627, + "token": 1188 + }, + "end": { + "line": 343, + "column": 15, + "index": 7638, + "token": 1191 + } + } + }, + "space.72": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 344, + "column": 4, + "index": 7645, + "token": 1192 + }, + "end": { + "line": 344, + "column": 15, + "index": 7656, + "token": 1195 + } + } + }, + "space.80": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 345, + "column": 4, + "index": 7663, + "token": 1196 + }, + "end": { + "line": 345, + "column": 15, + "index": 7674, + "token": 1199 + } + } + }, + "space.96": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 346, + "column": 4, + "index": 7681, + "token": 1200 + }, + "end": { + "line": 346, + "column": 15, + "index": 7692, + "token": 1203 + } + } + }, + "space.px": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 347, + "column": 4, + "index": 7699, + "token": 1204 + }, + "end": { + "line": 347, + "column": 13, + "index": 7708, + "token": 1207 + } + } + }, + "space.rem.125": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 349, + "column": 6, + "index": 7729, + "token": 1211 + }, + "end": { + "line": 349, + "column": 21, + "index": 7744, + "token": 1214 + } + } + }, + "space.rem.375": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 350, + "column": 6, + "index": 7753, + "token": 1215 + }, + "end": { + "line": 350, + "column": 21, + "index": 7768, + "token": 1218 + } + } + }, + "space.rem.625": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 351, + "column": 6, + "index": 7777, + "token": 1219 + }, + "end": { + "line": 351, + "column": 21, + "index": 7792, + "token": 1222 + } + } + }, + "space.rem.875": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 352, + "column": 6, + "index": 7801, + "token": 1223 + }, + "end": { + "line": 352, + "column": 21, + "index": 7816, + "token": 1226 + } + } + }, + "borderWidth.noBorder": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 365, + "column": 4, + "index": 8096, + "token": 1254 + }, + "end": { + "line": 365, + "column": 17, + "index": 8109, + "token": 1257 + } + } + }, + "borderWidth.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 366, + "column": 4, + "index": 8116, + "token": 1258 + }, + "end": { + "line": 366, + "column": 13, + "index": 8125, + "token": 1261 + } + } + }, + "borderWidth.md": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 367, + "column": 4, + "index": 8132, + "token": 1262 + }, + "end": { + "line": 367, + "column": 13, + "index": 8141, + "token": 1265 + } + } + }, + "borderWidth.lg": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 368, + "column": 4, + "index": 8148, + "token": 1266 + }, + "end": { + "line": 368, + "column": 13, + "index": 8157, + "token": 1269 + } + } + }, + "opacity.noOpacity": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 380, + "column": 4, + "index": 8405, + "token": 1295 + }, + "end": { + "line": 380, + "column": 18, + "index": 8419, + "token": 1298 + } + } + }, + "opacity.bright": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 381, + "column": 4, + "index": 8426, + "token": 1299 + }, + "end": { + "line": 381, + "column": 17, + "index": 8439, + "token": 1302 + } + } + }, + "opacity.light": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 382, + "column": 4, + "index": 8446, + "token": 1303 + }, + "end": { + "line": 382, + "column": 17, + "index": 8459, + "token": 1306 + } + } + }, + "opacity.soft": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 383, + "column": 4, + "index": 8466, + "token": 1307 + }, + "end": { + "line": 383, + "column": 15, + "index": 8477, + "token": 1310 + } + } + }, + "opacity.medium": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 384, + "column": 4, + "index": 8484, + "token": 1311 + }, + "end": { + "line": 384, + "column": 17, + "index": 8497, + "token": 1314 + } + } + }, + "opacity.high": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 385, + "column": 4, + "index": 8504, + "token": 1315 + }, + "end": { + "line": 385, + "column": 15, + "index": 8515, + "token": 1318 + } + } + }, + "opacity.total": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 386, + "column": 4, + "index": 8522, + "token": 1319 + }, + "end": { + "line": 386, + "column": 14, + "index": 8532, + "token": 1322 + } + } + }, + "font.sans": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 586, + "column": 4, + "index": 15449, + "token": 1712 + }, + "end": { + "line": 586, + "column": 205, + "index": 15650, + "token": 1715 + } + } + }, + "font.serif": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 587, + "column": 4, + "index": 15657, + "token": 1716 + }, + "end": { + "line": 587, + "column": 70, + "index": 15723, + "token": 1719 + } + } + }, + "font.mono": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 588, + "column": 4, + "index": 15730, + "token": 1720 + }, + "end": { + "line": 588, + "column": 106, + "index": 15832, + "token": 1723 + } + } + }, + "fontWeight.thin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 411, + "column": 4, + "index": 9420, + "token": 1385 + }, + "end": { + "line": 411, + "column": 15, + "index": 9431, + "token": 1388 + } + } + }, + "fontWeight.extralight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 412, + "column": 4, + "index": 9438, + "token": 1389 + }, + "end": { + "line": 412, + "column": 21, + "index": 9455, + "token": 1392 + } + } + }, + "fontWeight.light": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 413, + "column": 4, + "index": 9462, + "token": 1393 + }, + "end": { + "line": 413, + "column": 16, + "index": 9474, + "token": 1396 + } + } + }, + "fontWeight.normal": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 414, + "column": 4, + "index": 9481, + "token": 1397 + }, + "end": { + "line": 414, + "column": 17, + "index": 9494, + "token": 1400 + } + } + }, + "fontWeight.medium": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 415, + "column": 4, + "index": 9501, + "token": 1401 + }, + "end": { + "line": 415, + "column": 17, + "index": 9514, + "token": 1404 + } + } + }, + "fontWeight.semibold": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 416, + "column": 4, + "index": 9521, + "token": 1405 + }, + "end": { + "line": 416, + "column": 19, + "index": 9536, + "token": 1408 + } + } + }, + "fontWeight.bold": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 417, + "column": 4, + "index": 9543, + "token": 1409 + }, + "end": { + "line": 417, + "column": 15, + "index": 9554, + "token": 1412 + } + } + }, + "fontWeight.extrabold": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 418, + "column": 4, + "index": 9561, + "token": 1413 + }, + "end": { + "line": 418, + "column": 20, + "index": 9577, + "token": 1416 + } + } + }, + "fontWeight.black": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 419, + "column": 4, + "index": 9584, + "token": 1417 + }, + "end": { + "line": 419, + "column": 16, + "index": 9596, + "token": 1420 + } + } + }, + "fontSize.$schema.title": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 423, + "column": 6, + "index": 9644, + "token": 1429 + }, + "end": { + "line": 423, + "column": 39, + "index": 9677, + "token": 1432 + } + } + }, + "fontSize.$schema.tags": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 424, + "column": 6, + "index": 9686, + "token": 1433 + }, + "end": { + "line": 428, + "column": 7, + "index": 9831, + "token": 1443 + } + } + }, + "fontSize.xs": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 534, + "column": 6, + "index": 14510, + "token": 1583 + }, + "end": { + "line": 534, + "column": 22, + "index": 14526, + "token": 1586 + } + } + }, + "fontSize.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 537, + "column": 6, + "index": 14553, + "token": 1591 + }, + "end": { + "line": 537, + "column": 23, + "index": 14570, + "token": 1594 + } + } + }, + "fontSize.base": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 540, + "column": 6, + "index": 14599, + "token": 1599 + }, + "end": { + "line": 540, + "column": 19, + "index": 14612, + "token": 1602 + } + } + }, + "fontSize.lg": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 543, + "column": 6, + "index": 14639, + "token": 1607 + }, + "end": { + "line": 543, + "column": 23, + "index": 14656, + "token": 1610 + } + } + }, + "fontSize.xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 546, + "column": 6, + "index": 14683, + "token": 1615 + }, + "end": { + "line": 546, + "column": 22, + "index": 14699, + "token": 1618 + } + } + }, + "fontSize.2xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 435, + "column": 4, + "index": 9957, + "token": 1466 + }, + "end": { + "line": 435, + "column": 19, + "index": 9972, + "token": 1469 + } + } + }, + "fontSize.3xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 436, + "column": 4, + "index": 9979, + "token": 1470 + }, + "end": { + "line": 436, + "column": 21, + "index": 9996, + "token": 1473 + } + } + }, + "fontSize.4xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 437, + "column": 4, + "index": 10003, + "token": 1474 + }, + "end": { + "line": 437, + "column": 20, + "index": 10019, + "token": 1477 + } + } + }, + "fontSize.5xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 438, + "column": 4, + "index": 10026, + "token": 1478 + }, + "end": { + "line": 438, + "column": 17, + "index": 10039, + "token": 1481 + } + } + }, + "fontSize.6xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 439, + "column": 4, + "index": 10046, + "token": 1482 + }, + "end": { + "line": 439, + "column": 20, + "index": 10062, + "token": 1485 + } + } + }, + "fontSize.7xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 440, + "column": 4, + "index": 10069, + "token": 1486 + }, + "end": { + "line": 440, + "column": 19, + "index": 10084, + "token": 1489 + } + } + }, + "fontSize.8xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 441, + "column": 4, + "index": 10091, + "token": 1490 + }, + "end": { + "line": 441, + "column": 17, + "index": 10104, + "token": 1493 + } + } + }, + "fontSize.9xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 442, + "column": 4, + "index": 10111, + "token": 1494 + }, + "end": { + "line": 442, + "column": 17, + "index": 10124, + "token": 1497 + } + } + }, + "letterSpacing.tighter": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 453, + "column": 4, + "index": 10405, + "token": 1523 + }, + "end": { + "line": 453, + "column": 22, + "index": 10423, + "token": 1526 + } + } + }, + "letterSpacing.tight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 454, + "column": 4, + "index": 10430, + "token": 1527 + }, + "end": { + "line": 454, + "column": 21, + "index": 10447, + "token": 1530 + } + } + }, + "letterSpacing.normal": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 455, + "column": 4, + "index": 10454, + "token": 1531 + }, + "end": { + "line": 455, + "column": 17, + "index": 10467, + "token": 1534 + } + } + }, + "letterSpacing.wide": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 456, + "column": 4, + "index": 10474, + "token": 1535 + }, + "end": { + "line": 456, + "column": 19, + "index": 10489, + "token": 1538 + } + } + }, + "letterSpacing.wider": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 457, + "column": 4, + "index": 10496, + "token": 1539 + }, + "end": { + "line": 457, + "column": 19, + "index": 10511, + "token": 1542 + } + } + }, + "letterSpacing.widest": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 458, + "column": 4, + "index": 10518, + "token": 1543 + }, + "end": { + "line": 458, + "column": 19, + "index": 10533, + "token": 1546 + } + } + }, + "lead.1": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 469, + "column": 4, + "index": 10786, + "token": 1572 + }, + "end": { + "line": 469, + "column": 16, + "index": 10798, + "token": 1575 + } + } + }, + "lead.2": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 470, + "column": 4, + "index": 10805, + "token": 1576 + }, + "end": { + "line": 470, + "column": 14, + "index": 10815, + "token": 1579 + } + } + }, + "lead.3": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 471, + "column": 4, + "index": 10822, + "token": 1580 + }, + "end": { + "line": 471, + "column": 15, + "index": 10833, + "token": 1583 + } + } + }, + "lead.4": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 472, + "column": 4, + "index": 10840, + "token": 1584 + }, + "end": { + "line": 472, + "column": 13, + "index": 10849, + "token": 1587 + } + } + }, + "lead.5": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 473, + "column": 4, + "index": 10856, + "token": 1588 + }, + "end": { + "line": 473, + "column": 16, + "index": 10868, + "token": 1591 + } + } + }, + "lead.6": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 474, + "column": 4, + "index": 10875, + "token": 1592 + }, + "end": { + "line": 474, + "column": 15, + "index": 10886, + "token": 1595 + } + } + }, + "lead.7": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 475, + "column": 4, + "index": 10893, + "token": 1596 + }, + "end": { + "line": 475, + "column": 16, + "index": 10905, + "token": 1599 + } + } + }, + "lead.8": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 476, + "column": 4, + "index": 10912, + "token": 1600 + }, + "end": { + "line": 476, + "column": 13, + "index": 10921, + "token": 1603 + } + } + }, + "lead.9": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 477, + "column": 4, + "index": 10928, + "token": 1604 + }, + "end": { + "line": 477, + "column": 16, + "index": 10940, + "token": 1607 + } + } + }, + "lead.10": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 478, + "column": 4, + "index": 10947, + "token": 1608 + }, + "end": { + "line": 478, + "column": 16, + "index": 10959, + "token": 1611 + } + } + }, + "lead.none": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 559, + "column": 6, + "index": 14971, + "token": 1645 + }, + "end": { + "line": 559, + "column": 16, + "index": 14981, + "token": 1648 + } + } + }, + "lead.tight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 562, + "column": 6, + "index": 15011, + "token": 1653 + }, + "end": { + "line": 562, + "column": 19, + "index": 15024, + "token": 1656 + } + } + }, + "lead.snug": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 565, + "column": 6, + "index": 15053, + "token": 1661 + }, + "end": { + "line": 565, + "column": 20, + "index": 15067, + "token": 1664 + } + } + }, + "lead.normal": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 568, + "column": 6, + "index": 15098, + "token": 1669 + }, + "end": { + "line": 568, + "column": 18, + "index": 15110, + "token": 1672 + } + } + }, + "lead.relaxed": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 571, + "column": 6, + "index": 15142, + "token": 1677 + }, + "end": { + "line": 571, + "column": 20, + "index": 15156, + "token": 1680 + } + } + }, + "lead.loose": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 574, + "column": 6, + "index": 15186, + "token": 1685 + }, + "end": { + "line": 574, + "column": 16, + "index": 15196, + "token": 1688 + } + } + }, + "text.$schema.title": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 488, + "column": 6, + "index": 11119, + "token": 1644 + }, + "end": { + "line": 488, + "column": 40, + "index": 11153, + "token": 1647 + } + } + }, + "text.$schema.tags": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 489, + "column": 6, + "index": 11162, + "token": 1648 + }, + "end": { + "line": 493, + "column": 7, + "index": 11316, + "token": 1658 + } + } + }, + "text.xs.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 496, + "column": 6, + "index": 11346, + "token": 1664 + }, + "end": { + "line": 496, + "column": 31, + "index": 11371, + "token": 1667 + } + } + }, + "text.xs.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 497, + "column": 6, + "index": 11380, + "token": 1668 + }, + "end": { + "line": 497, + "column": 28, + "index": 11402, + "token": 1671 + } + } + }, + "text.sm.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 500, + "column": 6, + "index": 11432, + "token": 1677 + }, + "end": { + "line": 500, + "column": 31, + "index": 11457, + "token": 1680 + } + } + }, + "text.sm.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 501, + "column": 6, + "index": 11466, + "token": 1681 + }, + "end": { + "line": 501, + "column": 28, + "index": 11488, + "token": 1684 + } + } + }, + "text.base.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 504, + "column": 6, + "index": 11520, + "token": 1690 + }, + "end": { + "line": 504, + "column": 33, + "index": 11547, + "token": 1693 + } + } + }, + "text.base.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 505, + "column": 6, + "index": 11556, + "token": 1694 + }, + "end": { + "line": 505, + "column": 28, + "index": 11578, + "token": 1697 + } + } + }, + "text.lg.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 508, + "column": 6, + "index": 11608, + "token": 1703 + }, + "end": { + "line": 508, + "column": 31, + "index": 11633, + "token": 1706 + } + } + }, + "text.lg.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 509, + "column": 6, + "index": 11642, + "token": 1707 + }, + "end": { + "line": 509, + "column": 28, + "index": 11664, + "token": 1710 + } + } + }, + "text.xl.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 512, + "column": 6, + "index": 11694, + "token": 1716 + }, + "end": { + "line": 512, + "column": 31, + "index": 11719, + "token": 1719 + } + } + }, + "text.xl.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 513, + "column": 6, + "index": 11728, + "token": 1720 + }, + "end": { + "line": 513, + "column": 28, + "index": 11750, + "token": 1723 + } + } + }, + "text.2xl.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 516, + "column": 6, + "index": 11781, + "token": 1729 + }, + "end": { + "line": 516, + "column": 32, + "index": 11807, + "token": 1732 + } + } + }, + "text.2xl.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 517, + "column": 6, + "index": 11816, + "token": 1733 + }, + "end": { + "line": 517, + "column": 28, + "index": 11838, + "token": 1736 + } + } + }, + "text.3xl.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 520, + "column": 6, + "index": 11869, + "token": 1742 + }, + "end": { + "line": 520, + "column": 32, + "index": 11895, + "token": 1745 + } + } + }, + "text.3xl.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 521, + "column": 6, + "index": 11904, + "token": 1746 + }, + "end": { + "line": 521, + "column": 28, + "index": 11926, + "token": 1749 + } + } + }, + "text.4xl.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 524, + "column": 6, + "index": 11957, + "token": 1755 + }, + "end": { + "line": 524, + "column": 32, + "index": 11983, + "token": 1758 + } + } + }, + "text.4xl.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 525, + "column": 6, + "index": 11992, + "token": 1759 + }, + "end": { + "line": 525, + "column": 29, + "index": 12015, + "token": 1762 + } + } + }, + "text.5xl.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 528, + "column": 6, + "index": 12046, + "token": 1768 + }, + "end": { + "line": 528, + "column": 32, + "index": 12072, + "token": 1771 + } + } + }, + "text.5xl.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 529, + "column": 6, + "index": 12081, + "token": 1772 + }, + "end": { + "line": 529, + "column": 31, + "index": 12106, + "token": 1775 + } + } + }, + "text.6xl.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 532, + "column": 6, + "index": 12137, + "token": 1781 + }, + "end": { + "line": 532, + "column": 32, + "index": 12163, + "token": 1784 + } + } + }, + "text.6xl.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 533, + "column": 6, + "index": 12172, + "token": 1785 + }, + "end": { + "line": 533, + "column": 31, + "index": 12197, + "token": 1788 + } + } + }, + "utils.my": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 538, + "column": 4, + "index": 12232, + "token": 1796 + }, + "end": { + "line": 543, + "column": 5, + "index": 12362, + "token": 1820 + } + }, + "content": "(value: PropertyValue<'margin'>) => {\r\n return {\r\n marginTop: value,\r\n marginBottom: value,\r\n }\r\n}" + }, + "utils.mx": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 544, + "column": 4, + "index": 12369, + "token": 1821 + }, + "end": { + "line": 549, + "column": 5, + "index": 12499, + "token": 1845 + } + }, + "content": "(value: PropertyValue<'margin'>) => {\r\n return {\r\n marginLeft: value,\r\n marginRight: value,\r\n }\r\n}" + }, + "utils.py": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 550, + "column": 4, + "index": 12506, + "token": 1846 + }, + "end": { + "line": 555, + "column": 5, + "index": 12638, + "token": 1870 + } + }, + "content": "(value: PropertyValue<'margin'>) => {\r\n return {\r\n paddingTop: value,\r\n paddingBottom: value,\r\n }\r\n}" + }, + "utils.px": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 556, + "column": 4, + "index": 12645, + "token": 1871 + }, + "end": { + "line": 561, + "column": 5, + "index": 12777, + "token": 1895 + } + }, + "content": "(value: PropertyValue<'margin'>) => {\r\n return {\r\n paddingLeft: value,\r\n paddingRight: value,\r\n }\r\n}" + }, + "utils.truncate": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 562, + "column": 4, + "index": 12784, + "token": 1896 + }, + "end": { + "line": 566, + "column": 12, + "index": 12898, + "token": 1914 + } + }, + "content": "{\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n} as any" + }, + "utils.lineClamp": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 567, + "column": 4, + "index": 12905, + "token": 1915 + }, + "end": { + "line": 572, + "column": 13, + "index": 13100, + "token": 1947 + } + }, + "content": "(lines: number | string) => (({\r\n 'overflow': 'hidden',\r\n 'display': '-webkit-box',\r\n '-webkit-box-orient': 'vertical',\r\n '-webkit-line-clamp': lines\r\n}) as any)" + }, + "utils.text": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts", + "range": { + "start": { + "line": 573, + "column": 4, + "index": 13107, + "token": 1948 + }, + "end": { + "line": 576, + "column": 6, + "index": 13253, + "token": 1984 + } + }, + "content": "(size: keyof PinceauTheme['text']) => ({\r\n fontSize: `{text.${size}.fontSize}`,\r\n lineHeight: `{text.${size}.lineHeight}`,\r\n})" + }, + "color.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 7, + "column": 4, + "index": 152, + "token": 19 + }, + "end": { + "line": 7, + "column": 29, + "index": 177, + "token": 26 + } + } + }, + "space.128": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 12, + "column": 4, + "index": 232, + "token": 32 + }, + "end": { + "line": 12, + "column": 16, + "index": 244, + "token": 35 + } + } + }, + "elements.text.primary.color.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 27, + "column": 12, + "index": 542, + "token": 70 + }, + "end": { + "line": 27, + "column": 35, + "index": 565, + "token": 73 + } + } + }, + "elements.text.secondary.color.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 37, + "column": 12, + "index": 774, + "token": 96 + }, + "end": { + "line": 37, + "column": 36, + "index": 798, + "token": 99 + } + } + }, + "elements.text.secondary.color.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 41, + "column": 12, + "index": 888, + "token": 108 + }, + "end": { + "line": 41, + "column": 36, + "index": 912, + "token": 111 + } + } + }, + "elements.container.maxWidth": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 56, + "column": 6, + "index": 1222, + "token": 137 + }, + "end": { + "line": 56, + "column": 23, + "index": 1239, + "token": 140 + } + } + }, + "elements.container.padding.mobile": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 58, + "column": 8, + "index": 1268, + "token": 144 + }, + "end": { + "line": 58, + "column": 27, + "index": 1287, + "token": 147 + } + } + }, + "elements.container.padding.xs": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 59, + "column": 8, + "index": 1298, + "token": 148 + }, + "end": { + "line": 59, + "column": 23, + "index": 1313, + "token": 151 + } + } + }, + "elements.container.padding.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 60, + "column": 8, + "index": 1324, + "token": 152 + }, + "end": { + "line": 60, + "column": 23, + "index": 1339, + "token": 155 + } + } + }, + "elements.container.padding.md": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 61, + "column": 8, + "index": 1350, + "token": 156 + }, + "end": { + "line": 61, + "column": 23, + "index": 1365, + "token": 159 + } + } + }, + "elements.backdrop.filter": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 75, + "column": 6, + "index": 1703, + "token": 184 + }, + "end": { + "line": 75, + "column": 41, + "index": 1738, + "token": 187 + } + } + }, + "elements.backdrop.background": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 80, + "column": 8, + "index": 1885, + "token": 197 + }, + "end": { + "line": 80, + "column": 25, + "index": 1902, + "token": 200 + } + } + }, + "elements.border.primary.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 96, + "column": 10, + "index": 2277, + "token": 234 + }, + "end": { + "line": 96, + "column": 34, + "index": 2301, + "token": 237 + } + } + }, + "elements.border.primary.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 100, + "column": 10, + "index": 2383, + "token": 246 + }, + "end": { + "line": 100, + "column": 34, + "index": 2407, + "token": 249 + } + } + }, + "elements.border.secondary.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 106, + "column": 10, + "index": 2519, + "token": 262 + }, + "end": { + "line": 106, + "column": 34, + "index": 2543, + "token": 265 + } + } + }, + "elements.border.secondary.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 110, + "column": 10, + "index": 2609, + "token": 274 + }, + "end": { + "line": 110, + "column": 18, + "index": 2617, + "token": 277 + } + } + }, + "elements.surface.background.base": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 127, + "column": 10, + "index": 2991, + "token": 312 + }, + "end": { + "line": 127, + "column": 34, + "index": 3015, + "token": 315 + } + } + }, + "elements.state.primary.color.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 145, + "column": 12, + "index": 3410, + "token": 353 + }, + "end": { + "line": 145, + "column": 39, + "index": 3437, + "token": 356 + } + } + }, + "elements.state.primary.color.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 149, + "column": 12, + "index": 3534, + "token": 365 + }, + "end": { + "line": 149, + "column": 39, + "index": 3561, + "token": 368 + } + } + }, + "elements.state.primary.backgroundColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 155, + "column": 12, + "index": 3694, + "token": 381 + }, + "end": { + "line": 155, + "column": 39, + "index": 3721, + "token": 384 + } + } + }, + "elements.state.primary.backgroundColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 159, + "column": 12, + "index": 3818, + "token": 393 + }, + "end": { + "line": 159, + "column": 39, + "index": 3845, + "token": 396 + } + } + }, + "elements.state.primary.borderColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 165, + "column": 12, + "index": 3975, + "token": 409 + }, + "end": { + "line": 165, + "column": 39, + "index": 4002, + "token": 412 + } + } + }, + "elements.state.primary.borderColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 169, + "column": 12, + "index": 4099, + "token": 421 + }, + "end": { + "line": 169, + "column": 39, + "index": 4126, + "token": 424 + } + } + }, + "elements.state.info.color.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 177, + "column": 12, + "index": 4271, + "token": 441 + }, + "end": { + "line": 177, + "column": 36, + "index": 4295, + "token": 444 + } + } + }, + "elements.state.info.color.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 181, + "column": 12, + "index": 4389, + "token": 453 + }, + "end": { + "line": 181, + "column": 36, + "index": 4413, + "token": 456 + } + } + }, + "elements.state.info.backgroundColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 187, + "column": 12, + "index": 4543, + "token": 469 + }, + "end": { + "line": 187, + "column": 36, + "index": 4567, + "token": 472 + } + } + }, + "elements.state.info.backgroundColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 191, + "column": 12, + "index": 4661, + "token": 481 + }, + "end": { + "line": 191, + "column": 36, + "index": 4685, + "token": 484 + } + } + }, + "elements.state.info.borderColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 197, + "column": 12, + "index": 4812, + "token": 497 + }, + "end": { + "line": 197, + "column": 36, + "index": 4836, + "token": 500 + } + } + }, + "elements.state.info.borderColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 201, + "column": 12, + "index": 4930, + "token": 509 + }, + "end": { + "line": 201, + "column": 36, + "index": 4954, + "token": 512 + } + } + }, + "elements.state.success.color.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 209, + "column": 12, + "index": 5103, + "token": 529 + }, + "end": { + "line": 209, + "column": 37, + "index": 5128, + "token": 532 + } + } + }, + "elements.state.success.color.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 213, + "column": 12, + "index": 5223, + "token": 541 + }, + "end": { + "line": 213, + "column": 37, + "index": 5248, + "token": 544 + } + } + }, + "elements.state.success.backgroundColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 219, + "column": 12, + "index": 5379, + "token": 557 + }, + "end": { + "line": 219, + "column": 37, + "index": 5404, + "token": 560 + } + } + }, + "elements.state.success.backgroundColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 223, + "column": 12, + "index": 5499, + "token": 569 + }, + "end": { + "line": 223, + "column": 37, + "index": 5524, + "token": 572 + } + } + }, + "elements.state.success.borderColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 229, + "column": 12, + "index": 5652, + "token": 585 + }, + "end": { + "line": 229, + "column": 37, + "index": 5677, + "token": 588 + } + } + }, + "elements.state.success.borderColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 233, + "column": 12, + "index": 5772, + "token": 597 + }, + "end": { + "line": 233, + "column": 37, + "index": 5797, + "token": 600 + } + } + }, + "elements.state.warning.color.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 241, + "column": 12, + "index": 5947, + "token": 617 + }, + "end": { + "line": 241, + "column": 38, + "index": 5973, + "token": 620 + } + } + }, + "elements.state.warning.color.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 245, + "column": 12, + "index": 6069, + "token": 629 + }, + "end": { + "line": 245, + "column": 38, + "index": 6095, + "token": 632 + } + } + }, + "elements.state.warning.backgroundColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 251, + "column": 12, + "index": 6227, + "token": 645 + }, + "end": { + "line": 251, + "column": 38, + "index": 6253, + "token": 648 + } + } + }, + "elements.state.warning.backgroundColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 255, + "column": 12, + "index": 6349, + "token": 657 + }, + "end": { + "line": 255, + "column": 38, + "index": 6375, + "token": 660 + } + } + }, + "elements.state.warning.borderColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 261, + "column": 12, + "index": 6504, + "token": 673 + }, + "end": { + "line": 261, + "column": 38, + "index": 6530, + "token": 676 + } + } + }, + "elements.state.warning.borderColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 265, + "column": 12, + "index": 6626, + "token": 685 + }, + "end": { + "line": 265, + "column": 38, + "index": 6652, + "token": 688 + } + } + }, + "elements.state.danger.color.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 273, + "column": 12, + "index": 6798, + "token": 705 + }, + "end": { + "line": 273, + "column": 35, + "index": 6821, + "token": 708 + } + } + }, + "elements.state.danger.color.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 277, + "column": 12, + "index": 6914, + "token": 717 + }, + "end": { + "line": 277, + "column": 35, + "index": 6937, + "token": 720 + } + } + }, + "elements.state.danger.backgroundColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 283, + "column": 12, + "index": 7066, + "token": 733 + }, + "end": { + "line": 283, + "column": 35, + "index": 7089, + "token": 736 + } + } + }, + "elements.state.danger.backgroundColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 287, + "column": 12, + "index": 7182, + "token": 745 + }, + "end": { + "line": 287, + "column": 35, + "index": 7205, + "token": 748 + } + } + }, + "elements.state.danger.borderColor.primary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 293, + "column": 12, + "index": 7331, + "token": 761 + }, + "end": { + "line": 293, + "column": 35, + "index": 7354, + "token": 764 + } + } + }, + "elements.state.danger.borderColor.secondary": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 297, + "column": 12, + "index": 7447, + "token": 773 + }, + "end": { + "line": 297, + "column": 35, + "index": 7470, + "token": 776 + } + } + }, + "utils.stateColors": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/tokens.config.ts", + "range": { + "start": { + "line": 305, + "column": 4, + "index": 7536, + "token": 785 + }, + "end": { + "line": 337, + "column": 5, + "index": 9040, + "token": 963 + } + }, + "content": "(value: any) => {\r\n return {\r\n color: `{elements.state.${value}.color.primary} !important`,\r\n backgroundColor: `{elements.state.${value}.backgroundColor.primary} !important`,\r\n borderColor: `{elements.state.${value}.borderColor.primary} !important`,\r\n ':deep(p code)': {\r\n color: `{elements.state.${value}.color.secondary} !important`,\r\n backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important`\r\n },\r\n ':deep(code)': {\r\n color: `{elements.state.${value}.color.primary} !important`,\r\n backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important`\r\n },\r\n ':deep(a code)': {\r\n borderColor: `{elements.state.${value}.borderColor.primary} !important`\r\n },\r\n ':deep(a)': {\r\n borderColor: 'currentColor',\r\n code: {\r\n backgroundColor: `{elements.state.${value}.backgroundColor.primary} !important`\r\n },\r\n '&:hover': {\r\n color: `{elements.state.${value}.color.secondary} !important`,\r\n borderColor: 'currentColor !important',\r\n code: {\r\n backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important`,\r\n color: `{elements.state.${value}.color.secondary} !important`,\r\n borderColor: `{elements.state.${value}.borderColor.secondary} !important`\r\n }\r\n }\r\n }\r\n }\r\n}" + }, + "typography.body.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 16, + "column": 8, + "index": 400, + "token": 42 + }, + "end": { + "line": 16, + "column": 29, + "index": 421, + "token": 45 + } + } + }, + "typography.body.backgroundColor": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 20, + "column": 8, + "index": 502, + "token": 54 + }, + "end": { + "line": 20, + "column": 29, + "index": 523, + "token": 57 + } + } + }, + "typography.verticalMargin.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 32, + "column": 6, + "index": 816, + "token": 81 + }, + "end": { + "line": 32, + "column": 16, + "index": 826, + "token": 84 + } + } + }, + "typography.verticalMargin.base": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 33, + "column": 6, + "index": 835, + "token": 85 + }, + "end": { + "line": 33, + "column": 18, + "index": 847, + "token": 88 + } + } + }, + "typography.letterSpacing.tight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 44, + "column": 6, + "index": 1132, + "token": 111 + }, + "end": { + "line": 44, + "column": 23, + "index": 1149, + "token": 114 + } + } + }, + "typography.letterSpacing.wide": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 45, + "column": 6, + "index": 1158, + "token": 115 + }, + "end": { + "line": 45, + "column": 21, + "index": 1173, + "token": 118 + } + } + }, + "typography.fontSize.xs": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 56, + "column": 6, + "index": 1453, + "token": 141 + }, + "end": { + "line": 56, + "column": 16, + "index": 1463, + "token": 144 + } + } + }, + "typography.fontSize.sm": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 57, + "column": 6, + "index": 1472, + "token": 145 + }, + "end": { + "line": 57, + "column": 16, + "index": 1482, + "token": 148 + } + } + }, + "typography.fontSize.base": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 58, + "column": 6, + "index": 1491, + "token": 149 + }, + "end": { + "line": 58, + "column": 18, + "index": 1503, + "token": 152 + } + } + }, + "typography.fontSize.lg": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 59, + "column": 6, + "index": 1512, + "token": 153 + }, + "end": { + "line": 59, + "column": 16, + "index": 1522, + "token": 156 + } + } + }, + "typography.fontSize.xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 60, + "column": 6, + "index": 1531, + "token": 157 + }, + "end": { + "line": 60, + "column": 16, + "index": 1541, + "token": 160 + } + } + }, + "typography.fontSize.2xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 61, + "column": 6, + "index": 1550, + "token": 161 + }, + "end": { + "line": 61, + "column": 19, + "index": 1563, + "token": 164 + } + } + }, + "typography.fontSize.3xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 62, + "column": 6, + "index": 1572, + "token": 165 + }, + "end": { + "line": 62, + "column": 19, + "index": 1585, + "token": 168 + } + } + }, + "typography.fontSize.4xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 63, + "column": 6, + "index": 1594, + "token": 169 + }, + "end": { + "line": 63, + "column": 19, + "index": 1607, + "token": 172 + } + } + }, + "typography.fontSize.5xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 64, + "column": 6, + "index": 1616, + "token": 173 + }, + "end": { + "line": 64, + "column": 19, + "index": 1629, + "token": 176 + } + } + }, + "typography.fontSize.6xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 65, + "column": 6, + "index": 1638, + "token": 177 + }, + "end": { + "line": 65, + "column": 19, + "index": 1651, + "token": 180 + } + } + }, + "typography.fontSize.7xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 66, + "column": 6, + "index": 1660, + "token": 181 + }, + "end": { + "line": 66, + "column": 19, + "index": 1673, + "token": 184 + } + } + }, + "typography.fontSize.8xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 67, + "column": 6, + "index": 1682, + "token": 185 + }, + "end": { + "line": 67, + "column": 19, + "index": 1695, + "token": 188 + } + } + }, + "typography.fontSize.9xl": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 68, + "column": 6, + "index": 1704, + "token": 189 + }, + "end": { + "line": 68, + "column": 20, + "index": 1718, + "token": 192 + } + } + }, + "typography.fontWeight.thin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 79, + "column": 6, + "index": 1991, + "token": 215 + }, + "end": { + "line": 79, + "column": 17, + "index": 2002, + "token": 218 + } + } + }, + "typography.fontWeight.extralight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 80, + "column": 6, + "index": 2011, + "token": 219 + }, + "end": { + "line": 80, + "column": 23, + "index": 2028, + "token": 222 + } + } + }, + "typography.fontWeight.light": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 81, + "column": 6, + "index": 2037, + "token": 223 + }, + "end": { + "line": 81, + "column": 18, + "index": 2049, + "token": 226 + } + } + }, + "typography.fontWeight.normal": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 82, + "column": 6, + "index": 2058, + "token": 227 + }, + "end": { + "line": 82, + "column": 19, + "index": 2071, + "token": 230 + } + } + }, + "typography.fontWeight.medium": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 83, + "column": 6, + "index": 2080, + "token": 231 + }, + "end": { + "line": 83, + "column": 19, + "index": 2093, + "token": 234 + } + } + }, + "typography.fontWeight.semibold": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 84, + "column": 6, + "index": 2102, + "token": 235 + }, + "end": { + "line": 84, + "column": 21, + "index": 2117, + "token": 238 + } + } + }, + "typography.fontWeight.bold": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 85, + "column": 6, + "index": 2126, + "token": 239 + }, + "end": { + "line": 85, + "column": 17, + "index": 2137, + "token": 242 + } + } + }, + "typography.fontWeight.extrabold": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 86, + "column": 6, + "index": 2146, + "token": 243 + }, + "end": { + "line": 86, + "column": 22, + "index": 2162, + "token": 246 + } + } + }, + "typography.fontWeight.black": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 87, + "column": 6, + "index": 2171, + "token": 247 + }, + "end": { + "line": 87, + "column": 18, + "index": 2183, + "token": 250 + } + } + }, + "typography.lead.1": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 98, + "column": 6, + "index": 2468, + "token": 273 + }, + "end": { + "line": 98, + "column": 18, + "index": 2480, + "token": 276 + } + } + }, + "typography.lead.2": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 99, + "column": 6, + "index": 2489, + "token": 277 + }, + "end": { + "line": 99, + "column": 16, + "index": 2499, + "token": 280 + } + } + }, + "typography.lead.3": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 100, + "column": 6, + "index": 2508, + "token": 281 + }, + "end": { + "line": 100, + "column": 17, + "index": 2519, + "token": 284 + } + } + }, + "typography.lead.4": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 101, + "column": 6, + "index": 2528, + "token": 285 + }, + "end": { + "line": 101, + "column": 15, + "index": 2537, + "token": 288 + } + } + }, + "typography.lead.5": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 102, + "column": 6, + "index": 2546, + "token": 289 + }, + "end": { + "line": 102, + "column": 18, + "index": 2558, + "token": 292 + } + } + }, + "typography.lead.6": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 103, + "column": 6, + "index": 2567, + "token": 293 + }, + "end": { + "line": 103, + "column": 17, + "index": 2578, + "token": 296 + } + } + }, + "typography.lead.7": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 104, + "column": 6, + "index": 2587, + "token": 297 + }, + "end": { + "line": 104, + "column": 18, + "index": 2599, + "token": 300 + } + } + }, + "typography.lead.8": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 105, + "column": 6, + "index": 2608, + "token": 301 + }, + "end": { + "line": 105, + "column": 15, + "index": 2617, + "token": 304 + } + } + }, + "typography.lead.9": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 106, + "column": 6, + "index": 2626, + "token": 305 + }, + "end": { + "line": 106, + "column": 18, + "index": 2638, + "token": 308 + } + } + }, + "typography.lead.10": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 107, + "column": 6, + "index": 2647, + "token": 309 + }, + "end": { + "line": 107, + "column": 18, + "index": 2659, + "token": 312 + } + } + }, + "typography.lead.none": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 108, + "column": 6, + "index": 2668, + "token": 313 + }, + "end": { + "line": 108, + "column": 15, + "index": 2677, + "token": 316 + } + } + }, + "typography.lead.tight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 109, + "column": 6, + "index": 2686, + "token": 317 + }, + "end": { + "line": 109, + "column": 19, + "index": 2699, + "token": 320 + } + } + }, + "typography.lead.snug": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 110, + "column": 6, + "index": 2708, + "token": 321 + }, + "end": { + "line": 110, + "column": 19, + "index": 2721, + "token": 324 + } + } + }, + "typography.lead.normal": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 111, + "column": 6, + "index": 2730, + "token": 325 + }, + "end": { + "line": 111, + "column": 19, + "index": 2743, + "token": 328 + } + } + }, + "typography.lead.relaxed": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 112, + "column": 6, + "index": 2752, + "token": 329 + }, + "end": { + "line": 112, + "column": 22, + "index": 2768, + "token": 332 + } + } + }, + "typography.lead.loose": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 113, + "column": 6, + "index": 2777, + "token": 333 + }, + "end": { + "line": 113, + "column": 16, + "index": 2787, + "token": 336 + } + } + }, + "typography.font.display": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 124, + "column": 6, + "index": 3058, + "token": 359 + }, + "end": { + "line": 124, + "column": 28, + "index": 3080, + "token": 362 + } + } + }, + "typography.font.body": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 125, + "column": 6, + "index": 3089, + "token": 363 + }, + "end": { + "line": 125, + "column": 25, + "index": 3108, + "token": 366 + } + } + }, + "typography.font.code": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 126, + "column": 6, + "index": 3117, + "token": 367 + }, + "end": { + "line": 126, + "column": 25, + "index": 3136, + "token": 370 + } + } + }, + "typography.color.primary.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 100, + "column": 8, + "index": 2178, + "token": 363 + }, + "end": { + "line": 100, + "column": 32, + "index": 2202, + "token": 366 + } + } + }, + "typography.color.primary.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 101, + "column": 8, + "index": 2213, + "token": 367 + }, + "end": { + "line": 101, + "column": 34, + "index": 2239, + "token": 370 + } + } + }, + "typography.color.primary.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 102, + "column": 8, + "index": 2250, + "token": 371 + }, + "end": { + "line": 102, + "column": 34, + "index": 2276, + "token": 374 + } + } + }, + "typography.color.primary.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 103, + "column": 8, + "index": 2287, + "token": 375 + }, + "end": { + "line": 103, + "column": 34, + "index": 2313, + "token": 378 + } + } + }, + "typography.color.primary.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 104, + "column": 8, + "index": 2324, + "token": 379 + }, + "end": { + "line": 104, + "column": 34, + "index": 2350, + "token": 382 + } + } + }, + "typography.color.primary.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 105, + "column": 8, + "index": 2361, + "token": 383 + }, + "end": { + "line": 105, + "column": 34, + "index": 2387, + "token": 386 + } + } + }, + "typography.color.primary.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 106, + "column": 8, + "index": 2398, + "token": 387 + }, + "end": { + "line": 106, + "column": 34, + "index": 2424, + "token": 390 + } + } + }, + "typography.color.primary.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 107, + "column": 8, + "index": 2435, + "token": 391 + }, + "end": { + "line": 107, + "column": 34, + "index": 2461, + "token": 394 + } + } + }, + "typography.color.primary.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 108, + "column": 8, + "index": 2472, + "token": 395 + }, + "end": { + "line": 108, + "column": 34, + "index": 2498, + "token": 398 + } + } + }, + "typography.color.primary.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 109, + "column": 8, + "index": 2509, + "token": 399 + }, + "end": { + "line": 109, + "column": 34, + "index": 2535, + "token": 402 + } + } + }, + "typography.color.secondary.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 112, + "column": 8, + "index": 2575, + "token": 407 + }, + "end": { + "line": 112, + "column": 29, + "index": 2596, + "token": 410 + } + } + }, + "typography.color.secondary.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 113, + "column": 8, + "index": 2607, + "token": 411 + }, + "end": { + "line": 113, + "column": 31, + "index": 2630, + "token": 414 + } + } + }, + "typography.color.secondary.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 114, + "column": 8, + "index": 2641, + "token": 415 + }, + "end": { + "line": 114, + "column": 31, + "index": 2664, + "token": 418 + } + } + }, + "typography.color.secondary.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 115, + "column": 8, + "index": 2675, + "token": 419 + }, + "end": { + "line": 115, + "column": 31, + "index": 2698, + "token": 422 + } + } + }, + "typography.color.secondary.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 116, + "column": 8, + "index": 2709, + "token": 423 + }, + "end": { + "line": 116, + "column": 31, + "index": 2732, + "token": 426 + } + } + }, + "typography.color.secondary.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 117, + "column": 8, + "index": 2743, + "token": 427 + }, + "end": { + "line": 117, + "column": 31, + "index": 2766, + "token": 430 + } + } + }, + "typography.color.secondary.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 118, + "column": 8, + "index": 2777, + "token": 431 + }, + "end": { + "line": 118, + "column": 31, + "index": 2800, + "token": 434 + } + } + }, + "typography.color.secondary.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 119, + "column": 8, + "index": 2811, + "token": 435 + }, + "end": { + "line": 119, + "column": 31, + "index": 2834, + "token": 438 + } + } + }, + "typography.color.secondary.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 120, + "column": 8, + "index": 2845, + "token": 439 + }, + "end": { + "line": 120, + "column": 31, + "index": 2868, + "token": 442 + } + } + }, + "typography.color.secondary.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 121, + "column": 8, + "index": 2879, + "token": 443 + }, + "end": { + "line": 121, + "column": 31, + "index": 2902, + "token": 446 + } + } + }, + "prose.p.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 173, + "column": 6, + "index": 4478, + "token": 507 + }, + "end": { + "line": 173, + "column": 44, + "index": 4516, + "token": 510 + } + } + }, + "prose.p.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 174, + "column": 6, + "index": 4525, + "token": 511 + }, + "end": { + "line": 174, + "column": 44, + "index": 4563, + "token": 514 + } + } + }, + "prose.p.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 175, + "column": 6, + "index": 4572, + "token": 515 + }, + "end": { + "line": 175, + "column": 50, + "index": 4616, + "token": 518 + } + } + }, + "prose.p.br.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 177, + "column": 8, + "index": 4640, + "token": 522 + }, + "end": { + "line": 177, + "column": 56, + "index": 4688, + "token": 525 + } + } + }, + "prose.h1.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 181, + "column": 6, + "index": 4724, + "token": 531 + }, + "end": { + "line": 181, + "column": 24, + "index": 4742, + "token": 534 + } + } + }, + "prose.h1.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 182, + "column": 6, + "index": 4751, + "token": 535 + }, + "end": { + "line": 182, + "column": 43, + "index": 4788, + "token": 538 + } + } + }, + "prose.h1.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 183, + "column": 6, + "index": 4797, + "token": 539 + }, + "end": { + "line": 183, + "column": 43, + "index": 4834, + "token": 542 + } + } + }, + "prose.h1.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 184, + "column": 6, + "index": 4843, + "token": 543 + }, + "end": { + "line": 184, + "column": 48, + "index": 4885, + "token": 546 + } + } + }, + "prose.h1.letterSpacing": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 185, + "column": 6, + "index": 4894, + "token": 547 + }, + "end": { + "line": 185, + "column": 55, + "index": 4943, + "token": 550 + } + } + }, + "prose.h1.iconSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 186, + "column": 6, + "index": 4952, + "token": 551 + }, + "end": { + "line": 186, + "column": 43, + "index": 4989, + "token": 554 + } + } + }, + "prose.h2.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 189, + "column": 6, + "index": 5016, + "token": 559 + }, + "end": { + "line": 189, + "column": 27, + "index": 5037, + "token": 562 + } + } + }, + "prose.h2.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 190, + "column": 6, + "index": 5046, + "token": 563 + }, + "end": { + "line": 190, + "column": 43, + "index": 5083, + "token": 566 + } + } + }, + "prose.h2.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 191, + "column": 6, + "index": 5092, + "token": 567 + }, + "end": { + "line": 191, + "column": 43, + "index": 5129, + "token": 570 + } + } + }, + "prose.h2.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 192, + "column": 6, + "index": 5138, + "token": 571 + }, + "end": { + "line": 192, + "column": 52, + "index": 5184, + "token": 574 + } + } + }, + "prose.h2.letterSpacing": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 193, + "column": 6, + "index": 5193, + "token": 575 + }, + "end": { + "line": 193, + "column": 55, + "index": 5242, + "token": 578 + } + } + }, + "prose.h2.iconSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 194, + "column": 6, + "index": 5251, + "token": 579 + }, + "end": { + "line": 194, + "column": 43, + "index": 5288, + "token": 582 + } + } + }, + "prose.h3.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 197, + "column": 6, + "index": 5315, + "token": 587 + }, + "end": { + "line": 197, + "column": 27, + "index": 5336, + "token": 590 + } + } + }, + "prose.h3.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 198, + "column": 6, + "index": 5345, + "token": 591 + }, + "end": { + "line": 198, + "column": 43, + "index": 5382, + "token": 594 + } + } + }, + "prose.h3.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 199, + "column": 6, + "index": 5391, + "token": 595 + }, + "end": { + "line": 199, + "column": 42, + "index": 5427, + "token": 598 + } + } + }, + "prose.h3.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 200, + "column": 6, + "index": 5436, + "token": 599 + }, + "end": { + "line": 200, + "column": 52, + "index": 5482, + "token": 602 + } + } + }, + "prose.h3.letterSpacing": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 201, + "column": 6, + "index": 5491, + "token": 603 + }, + "end": { + "line": 201, + "column": 55, + "index": 5540, + "token": 606 + } + } + }, + "prose.h3.iconSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 202, + "column": 6, + "index": 5549, + "token": 607 + }, + "end": { + "line": 202, + "column": 42, + "index": 5585, + "token": 610 + } + } + }, + "prose.h4.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 205, + "column": 6, + "index": 5612, + "token": 615 + }, + "end": { + "line": 205, + "column": 27, + "index": 5633, + "token": 618 + } + } + }, + "prose.h4.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 206, + "column": 6, + "index": 5642, + "token": 619 + }, + "end": { + "line": 206, + "column": 43, + "index": 5679, + "token": 622 + } + } + }, + "prose.h4.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 207, + "column": 6, + "index": 5688, + "token": 623 + }, + "end": { + "line": 207, + "column": 42, + "index": 5724, + "token": 626 + } + } + }, + "prose.h4.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 208, + "column": 6, + "index": 5733, + "token": 627 + }, + "end": { + "line": 208, + "column": 52, + "index": 5779, + "token": 630 + } + } + }, + "prose.h4.letterSpacing": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 209, + "column": 6, + "index": 5788, + "token": 631 + }, + "end": { + "line": 209, + "column": 55, + "index": 5837, + "token": 634 + } + } + }, + "prose.h4.iconSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 210, + "column": 6, + "index": 5846, + "token": 635 + }, + "end": { + "line": 210, + "column": 42, + "index": 5882, + "token": 638 + } + } + }, + "prose.h5.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 213, + "column": 6, + "index": 5909, + "token": 643 + }, + "end": { + "line": 213, + "column": 27, + "index": 5930, + "token": 646 + } + } + }, + "prose.h5.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 214, + "column": 6, + "index": 5939, + "token": 647 + }, + "end": { + "line": 214, + "column": 42, + "index": 5975, + "token": 650 + } + } + }, + "prose.h5.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 215, + "column": 6, + "index": 5984, + "token": 651 + }, + "end": { + "line": 215, + "column": 42, + "index": 6020, + "token": 654 + } + } + }, + "prose.h5.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 216, + "column": 6, + "index": 6029, + "token": 655 + }, + "end": { + "line": 216, + "column": 52, + "index": 6075, + "token": 658 + } + } + }, + "prose.h5.iconSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 217, + "column": 6, + "index": 6084, + "token": 659 + }, + "end": { + "line": 217, + "column": 42, + "index": 6120, + "token": 662 + } + } + }, + "prose.h6.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 220, + "column": 6, + "index": 6147, + "token": 667 + }, + "end": { + "line": 220, + "column": 27, + "index": 6168, + "token": 670 + } + } + }, + "prose.h6.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 221, + "column": 6, + "index": 6177, + "token": 671 + }, + "end": { + "line": 221, + "column": 42, + "index": 6213, + "token": 674 + } + } + }, + "prose.h6.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 222, + "column": 6, + "index": 6222, + "token": 675 + }, + "end": { + "line": 222, + "column": 44, + "index": 6260, + "token": 678 + } + } + }, + "prose.h6.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 223, + "column": 6, + "index": 6269, + "token": 679 + }, + "end": { + "line": 223, + "column": 52, + "index": 6315, + "token": 682 + } + } + }, + "prose.h6.iconSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 224, + "column": 6, + "index": 6324, + "token": 683 + }, + "end": { + "line": 224, + "column": 44, + "index": 6362, + "token": 686 + } + } + }, + "prose.strong.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 227, + "column": 6, + "index": 6393, + "token": 691 + }, + "end": { + "line": 227, + "column": 52, + "index": 6439, + "token": 694 + } + } + }, + "prose.img.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 230, + "column": 6, + "index": 6467, + "token": 699 + }, + "end": { + "line": 230, + "column": 50, + "index": 6511, + "token": 702 + } + } + }, + "prose.a.textDecoration": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 233, + "column": 6, + "index": 6537, + "token": 707 + }, + "end": { + "line": 233, + "column": 28, + "index": 6559, + "token": 710 + } + } + }, + "prose.a.color.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 237, + "column": 10, + "index": 6638, + "token": 721 + }, + "end": { + "line": 237, + "column": 25, + "index": 6653, + "token": 724 + } + } + }, + "prose.a.color.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 241, + "column": 10, + "index": 6749, + "token": 733 + }, + "end": { + "line": 241, + "column": 48, + "index": 6787, + "token": 736 + } + } + }, + "prose.a.border.width": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 245, + "column": 8, + "index": 6835, + "token": 742 + }, + "end": { + "line": 245, + "column": 20, + "index": 6847, + "token": 745 + } + } + }, + "prose.a.border.style.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 247, + "column": 10, + "index": 6878, + "token": 749 + }, + "end": { + "line": 247, + "column": 26, + "index": 6894, + "token": 752 + } + } + }, + "prose.a.border.style.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 248, + "column": 10, + "index": 6907, + "token": 753 + }, + "end": { + "line": 248, + "column": 24, + "index": 6921, + "token": 756 + } + } + }, + "prose.a.border.color.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 253, + "column": 12, + "index": 7024, + "token": 768 + }, + "end": { + "line": 253, + "column": 32, + "index": 7044, + "token": 771 + } + } + }, + "prose.a.border.color.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 257, + "column": 12, + "index": 7130, + "token": 780 + }, + "end": { + "line": 257, + "column": 32, + "index": 7150, + "token": 783 + } + } + }, + "prose.a.border.distance": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 260, + "column": 8, + "index": 7185, + "token": 786 + }, + "end": { + "line": 260, + "column": 23, + "index": 7200, + "token": 789 + } + } + }, + "prose.a.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 262, + "column": 6, + "index": 7218, + "token": 791 + }, + "end": { + "line": 262, + "column": 50, + "index": 7262, + "token": 794 + } + } + }, + "prose.a.hasCode.borderBottom": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 264, + "column": 8, + "index": 7291, + "token": 798 + }, + "end": { + "line": 264, + "column": 28, + "index": 7311, + "token": 801 + } + } + }, + "prose.a.code.border.width": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 268, + "column": 10, + "index": 7367, + "token": 809 + }, + "end": { + "line": 268, + "column": 41, + "index": 7398, + "token": 812 + } + } + }, + "prose.a.code.border.style": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 269, + "column": 10, + "index": 7411, + "token": 813 + }, + "end": { + "line": 269, + "column": 48, + "index": 7449, + "token": 816 + } + } + }, + "prose.a.code.border.color.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 273, + "column": 14, + "index": 7569, + "token": 827 + }, + "end": { + "line": 273, + "column": 54, + "index": 7609, + "token": 830 + } + } + }, + "prose.a.code.border.color.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 277, + "column": 14, + "index": 7721, + "token": 839 + }, + "end": { + "line": 277, + "column": 52, + "index": 7759, + "token": 842 + } + } + }, + "prose.a.code.color.static": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 284, + "column": 12, + "index": 7890, + "token": 856 + }, + "end": { + "line": 284, + "column": 32, + "index": 7910, + "token": 859 + } + } + }, + "prose.a.code.color.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 288, + "column": 12, + "index": 7996, + "token": 868 + }, + "end": { + "line": 288, + "column": 32, + "index": 8016, + "token": 871 + } + } + }, + "prose.a.code.background.hover": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 295, + "column": 12, + "index": 8176, + "token": 889 + }, + "end": { + "line": 295, + "column": 50, + "index": 8214, + "token": 892 + } + } + }, + "prose.blockquote.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 301, + "column": 6, + "index": 8282, + "token": 900 + }, + "end": { + "line": 301, + "column": 50, + "index": 8326, + "token": 903 + } + } + }, + "prose.blockquote.paddingInlineStart": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 302, + "column": 6, + "index": 8335, + "token": 904 + }, + "end": { + "line": 302, + "column": 32, + "index": 8361, + "token": 907 + } + } + }, + "prose.blockquote.quotes": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 303, + "column": 6, + "index": 8370, + "token": 908 + }, + "end": { + "line": 303, + "column": 43, + "index": 8407, + "token": 911 + } + } + }, + "prose.blockquote.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 306, + "column": 8, + "index": 8488, + "token": 919 + }, + "end": { + "line": 306, + "column": 48, + "index": 8528, + "token": 922 + } + } + }, + "prose.blockquote.border.width": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 309, + "column": 8, + "index": 8565, + "token": 927 + }, + "end": { + "line": 309, + "column": 20, + "index": 8577, + "token": 930 + } + } + }, + "prose.blockquote.border.style": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 310, + "column": 8, + "index": 8588, + "token": 931 + }, + "end": { + "line": 310, + "column": 22, + "index": 8602, + "token": 934 + } + } + }, + "prose.blockquote.border.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 313, + "column": 10, + "index": 8689, + "token": 942 + }, + "end": { + "line": 313, + "column": 50, + "index": 8729, + "token": 945 + } + } + }, + "prose.ul.listStyleType": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 318, + "column": 6, + "index": 8776, + "token": 952 + }, + "end": { + "line": 318, + "column": 27, + "index": 8797, + "token": 955 + } + } + }, + "prose.ul.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 319, + "column": 6, + "index": 8806, + "token": 956 + }, + "end": { + "line": 319, + "column": 50, + "index": 8850, + "token": 959 + } + } + }, + "prose.ul.paddingInlineStart": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 320, + "column": 6, + "index": 8859, + "token": 960 + }, + "end": { + "line": 320, + "column": 32, + "index": 8885, + "token": 963 + } + } + }, + "prose.ul.li.markerColor": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 324, + "column": 10, + "index": 8971, + "token": 974 + }, + "end": { + "line": 324, + "column": 30, + "index": 8991, + "token": 977 + } + } + }, + "prose.ol.listStyleType": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 329, + "column": 6, + "index": 9038, + "token": 984 + }, + "end": { + "line": 329, + "column": 30, + "index": 9062, + "token": 987 + } + } + }, + "prose.ol.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 330, + "column": 6, + "index": 9071, + "token": 988 + }, + "end": { + "line": 330, + "column": 50, + "index": 9115, + "token": 991 + } + } + }, + "prose.ol.paddingInlineStart": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 331, + "column": 6, + "index": 9124, + "token": 992 + }, + "end": { + "line": 331, + "column": 32, + "index": 9150, + "token": 995 + } + } + }, + "prose.ol.li.markerColor": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 335, + "column": 10, + "index": 9236, + "token": 1006 + }, + "end": { + "line": 335, + "column": 30, + "index": 9256, + "token": 1009 + } + } + }, + "prose.li.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 340, + "column": 6, + "index": 9303, + "token": 1016 + }, + "end": { + "line": 340, + "column": 48, + "index": 9345, + "token": 1019 + } + } + }, + "prose.li.listStylePosition": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 341, + "column": 6, + "index": 9354, + "token": 1020 + }, + "end": { + "line": 341, + "column": 34, + "index": 9382, + "token": 1023 + } + } + }, + "prose.hr.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 344, + "column": 6, + "index": 9409, + "token": 1028 + }, + "end": { + "line": 344, + "column": 50, + "index": 9453, + "token": 1031 + } + } + }, + "prose.hr.style": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 345, + "column": 6, + "index": 9462, + "token": 1032 + }, + "end": { + "line": 345, + "column": 20, + "index": 9476, + "token": 1035 + } + } + }, + "prose.hr.width": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 346, + "column": 6, + "index": 9485, + "token": 1036 + }, + "end": { + "line": 346, + "column": 18, + "index": 9497, + "token": 1039 + } + } + }, + "prose.hr.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 349, + "column": 8, + "index": 9578, + "token": 1047 + }, + "end": { + "line": 349, + "column": 48, + "index": 9618, + "token": 1050 + } + } + }, + "prose.table.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 353, + "column": 6, + "index": 9657, + "token": 1056 + }, + "end": { + "line": 353, + "column": 50, + "index": 9701, + "token": 1059 + } + } + }, + "prose.table.textAlign": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 354, + "column": 6, + "index": 9710, + "token": 1060 + }, + "end": { + "line": 354, + "column": 24, + "index": 9728, + "token": 1063 + } + } + }, + "prose.table.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 355, + "column": 6, + "index": 9737, + "token": 1064 + }, + "end": { + "line": 355, + "column": 42, + "index": 9773, + "token": 1067 + } + } + }, + "prose.table.lineHeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 356, + "column": 6, + "index": 9782, + "token": 1068 + }, + "end": { + "line": 356, + "column": 39, + "index": 9815, + "token": 1071 + } + } + }, + "prose.thead.border.width": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 360, + "column": 8, + "index": 9864, + "token": 1079 + }, + "end": { + "line": 360, + "column": 20, + "index": 9876, + "token": 1082 + } + } + }, + "prose.thead.border.style": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 361, + "column": 8, + "index": 9887, + "token": 1083 + }, + "end": { + "line": 361, + "column": 22, + "index": 9901, + "token": 1086 + } + } + }, + "prose.thead.border.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 364, + "column": 10, + "index": 9988, + "token": 1094 + }, + "end": { + "line": 364, + "column": 50, + "index": 10028, + "token": 1097 + } + } + }, + "prose.thead.borderBottom.width": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 368, + "column": 8, + "index": 10082, + "token": 1103 + }, + "end": { + "line": 368, + "column": 20, + "index": 10094, + "token": 1106 + } + } + }, + "prose.thead.borderBottom.style": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 369, + "column": 8, + "index": 10105, + "token": 1107 + }, + "end": { + "line": 369, + "column": 22, + "index": 10119, + "token": 1110 + } + } + }, + "prose.thead.borderBottom.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 372, + "column": 10, + "index": 10206, + "token": 1118 + }, + "end": { + "line": 372, + "column": 50, + "index": 10246, + "token": 1121 + } + } + }, + "prose.th.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 379, + "column": 8, + "index": 10365, + "token": 1135 + }, + "end": { + "line": 379, + "column": 48, + "index": 10405, + "token": 1138 + } + } + }, + "prose.th.padding": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 381, + "column": 6, + "index": 10423, + "token": 1140 + }, + "end": { + "line": 381, + "column": 111, + "index": 10528, + "token": 1143 + } + } + }, + "prose.th.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 382, + "column": 6, + "index": 10537, + "token": 1144 + }, + "end": { + "line": 382, + "column": 52, + "index": 10583, + "token": 1147 + } + } + }, + "prose.th.textAlign": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 383, + "column": 6, + "index": 10592, + "token": 1148 + }, + "end": { + "line": 383, + "column": 26, + "index": 10612, + "token": 1151 + } + } + }, + "prose.tbody.tr.borderBottom.width": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 388, + "column": 10, + "index": 10684, + "token": 1162 + }, + "end": { + "line": 388, + "column": 22, + "index": 10696, + "token": 1165 + } + } + }, + "prose.tbody.tr.borderBottom.style": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 389, + "column": 10, + "index": 10709, + "token": 1166 + }, + "end": { + "line": 389, + "column": 25, + "index": 10724, + "token": 1169 + } + } + }, + "prose.tbody.tr.borderBottom.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 392, + "column": 12, + "index": 10817, + "token": 1177 + }, + "end": { + "line": 392, + "column": 52, + "index": 10857, + "token": 1180 + } + } + }, + "prose.tbody.td.padding": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 397, + "column": 8, + "index": 10914, + "token": 1187 + }, + "end": { + "line": 397, + "column": 49, + "index": 10955, + "token": 1190 + } + } + }, + "prose.tbody.code.inline.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 401, + "column": 10, + "index": 11011, + "token": 1198 + }, + "end": { + "line": 401, + "column": 46, + "index": 11047, + "token": 1201 + } + } + }, + "prose.code.block.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 407, + "column": 8, + "index": 11114, + "token": 1211 + }, + "end": { + "line": 407, + "column": 44, + "index": 11150, + "token": 1214 + } + } + }, + "prose.code.block.margin": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 408, + "column": 8, + "index": 11161, + "token": 1215 + }, + "end": { + "line": 408, + "column": 52, + "index": 11205, + "token": 1218 + } + } + }, + "prose.code.block.border.width": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 410, + "column": 10, + "index": 11237, + "token": 1222 + }, + "end": { + "line": 410, + "column": 22, + "index": 11249, + "token": 1225 + } + } + }, + "prose.code.block.border.style": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 411, + "column": 10, + "index": 11262, + "token": 1226 + }, + "end": { + "line": 411, + "column": 24, + "index": 11276, + "token": 1229 + } + } + }, + "prose.code.block.border.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 414, + "column": 12, + "index": 11369, + "token": 1237 + }, + "end": { + "line": 414, + "column": 52, + "index": 11409, + "token": 1240 + } + } + }, + "prose.code.block.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 419, + "column": 10, + "index": 11520, + "token": 1250 + }, + "end": { + "line": 419, + "column": 50, + "index": 11560, + "token": 1253 + } + } + }, + "prose.code.block.backgroundColor": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 423, + "column": 10, + "index": 11668, + "token": 1262 + }, + "end": { + "line": 423, + "column": 50, + "index": 11708, + "token": 1265 + } + } + }, + "prose.code.block.backdropFilter": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 427, + "column": 10, + "index": 11794, + "token": 1274 + }, + "end": { + "line": 427, + "column": 29, + "index": 11813, + "token": 1277 + } + } + }, + "prose.code.block.pre.padding": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 430, + "column": 10, + "index": 11853, + "token": 1282 + }, + "end": { + "line": 430, + "column": 51, + "index": 11894, + "token": 1285 + } + } + }, + "prose.code.inline.borderRadius": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 434, + "column": 8, + "index": 11942, + "token": 1291 + }, + "end": { + "line": 434, + "column": 34, + "index": 11968, + "token": 1294 + } + } + }, + "prose.code.inline.padding": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 435, + "column": 8, + "index": 11979, + "token": 1295 + }, + "end": { + "line": 435, + "column": 50, + "index": 12021, + "token": 1298 + } + } + }, + "prose.code.inline.fontSize": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 436, + "column": 8, + "index": 12032, + "token": 1299 + }, + "end": { + "line": 436, + "column": 44, + "index": 12068, + "token": 1302 + } + } + }, + "prose.code.inline.fontWeight": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 437, + "column": 8, + "index": 12079, + "token": 1303 + }, + "end": { + "line": 437, + "column": 52, + "index": 12123, + "token": 1306 + } + } + }, + "prose.code.inline.color": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 440, + "column": 10, + "index": 12210, + "token": 1314 + }, + "end": { + "line": 440, + "column": 50, + "index": 12250, + "token": 1317 + } + } + }, + "prose.code.inline.backgroundColor": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 444, + "column": 10, + "index": 12358, + "token": 1326 + }, + "end": { + "line": 444, + "column": 50, + "index": 12398, + "token": 1329 + } + } + }, + "color.primary.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 6, + "column": 12, + "index": 112, + "token": 21 + }, + "end": { + "line": 6, + "column": 28, + "index": 128, + "token": 24 + } + } + }, + "color.primary.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 7, + "column": 13, + "index": 146, + "token": 29 + }, + "end": { + "line": 7, + "column": 29, + "index": 162, + "token": 32 + } + } + }, + "color.primary.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 8, + "column": 13, + "index": 180, + "token": 37 + }, + "end": { + "line": 8, + "column": 29, + "index": 196, + "token": 40 + } + } + }, + "color.primary.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 9, + "column": 13, + "index": 214, + "token": 45 + }, + "end": { + "line": 9, + "column": 29, + "index": 230, + "token": 48 + } + } + }, + "color.primary.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 10, + "column": 13, + "index": 248, + "token": 53 + }, + "end": { + "line": 10, + "column": 29, + "index": 264, + "token": 56 + } + } + }, + "color.primary.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 11, + "column": 13, + "index": 282, + "token": 61 + }, + "end": { + "line": 11, + "column": 29, + "index": 298, + "token": 64 + } + } + }, + "color.primary.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 12, + "column": 13, + "index": 316, + "token": 69 + }, + "end": { + "line": 12, + "column": 29, + "index": 332, + "token": 72 + } + } + }, + "color.primary.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 13, + "column": 13, + "index": 350, + "token": 77 + }, + "end": { + "line": 13, + "column": 29, + "index": 366, + "token": 80 + } + } + }, + "color.primary.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 14, + "column": 13, + "index": 384, + "token": 85 + }, + "end": { + "line": 14, + "column": 29, + "index": 400, + "token": 88 + } + } + }, + "color.primary.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/tokens.config.ts", + "range": { + "start": { + "line": 15, + "column": 13, + "index": 418, + "token": 93 + }, + "end": { + "line": 15, + "column": 29, + "index": 434, + "token": 96 + } + } + }, + "color.secondary.50": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 480, + "column": 6, + "index": 13239, + "token": 1411 + }, + "end": { + "line": 480, + "column": 27, + "index": 13260, + "token": 1414 + } + } + }, + "color.secondary.100": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 481, + "column": 6, + "index": 13269, + "token": 1415 + }, + "end": { + "line": 481, + "column": 29, + "index": 13292, + "token": 1418 + } + } + }, + "color.secondary.200": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 482, + "column": 6, + "index": 13301, + "token": 1419 + }, + "end": { + "line": 482, + "column": 29, + "index": 13324, + "token": 1422 + } + } + }, + "color.secondary.300": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 483, + "column": 6, + "index": 13333, + "token": 1423 + }, + "end": { + "line": 483, + "column": 29, + "index": 13356, + "token": 1426 + } + } + }, + "color.secondary.400": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 484, + "column": 6, + "index": 13365, + "token": 1427 + }, + "end": { + "line": 484, + "column": 29, + "index": 13388, + "token": 1430 + } + } + }, + "color.secondary.500": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 485, + "column": 6, + "index": 13397, + "token": 1431 + }, + "end": { + "line": 485, + "column": 29, + "index": 13420, + "token": 1434 + } + } + }, + "color.secondary.600": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 486, + "column": 6, + "index": 13429, + "token": 1435 + }, + "end": { + "line": 486, + "column": 29, + "index": 13452, + "token": 1438 + } + } + }, + "color.secondary.700": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 487, + "column": 6, + "index": 13461, + "token": 1439 + }, + "end": { + "line": 487, + "column": 29, + "index": 13484, + "token": 1442 + } + } + }, + "color.secondary.800": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 488, + "column": 6, + "index": 13493, + "token": 1443 + }, + "end": { + "line": 488, + "column": 29, + "index": 13516, + "token": 1446 + } + } + }, + "color.secondary.900": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 489, + "column": 6, + "index": 13525, + "token": 1447 + }, + "end": { + "line": 489, + "column": 29, + "index": 13548, + "token": 1450 + } + } + }, + "elements.surface.primary.backgroundColor": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 598, + "column": 10, + "index": 16021, + "token": 1742 + }, + "end": { + "line": 598, + "column": 34, + "index": 16045, + "token": 1745 + } + } + }, + "elements.surface.secondary.backgroundColor": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/tokens.config.ts", + "range": { + "start": { + "line": 604, + "column": 10, + "index": 16166, + "token": 1758 + }, + "end": { + "line": 604, + "column": 34, + "index": 16190, + "token": 1761 + } + } + }, + "docus.header.height": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 87, + "column": 14, + "index": 1824, + "token": 304 + }, + "end": { + "line": 87, + "column": 28, + "index": 1838, + "token": 307 + } + } + }, + "docus.footer.height": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 88, + "column": 42, + "index": 1885, + "token": 319 + }, + "end": { + "line": 88, + "column": 53, + "index": 1896, + "token": 322 + } + } + }, + "docus.footer.padding": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 88, + "column": 57, + "index": 1900, + "token": 324 + }, + "end": { + "line": 88, + "column": 79, + "index": 1922, + "token": 327 + } + } + }, + "docus.readableLine": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 89, + "column": 4, + "index": 1931, + "token": 329 + }, + "end": { + "line": 89, + "column": 24, + "index": 1951, + "token": 332 + } + } + }, + "docus.loadingBar.height": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 91, + "column": 6, + "index": 1979, + "token": 336 + }, + "end": { + "line": 91, + "column": 19, + "index": 1992, + "token": 339 + } + } + }, + "docus.loadingBar.gradientColorStop1": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 92, + "column": 6, + "index": 2001, + "token": 340 + }, + "end": { + "line": 92, + "column": 35, + "index": 2030, + "token": 343 + } + } + }, + "docus.loadingBar.gradientColorStop2": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 93, + "column": 6, + "index": 2039, + "token": 344 + }, + "end": { + "line": 93, + "column": 35, + "index": 2068, + "token": 347 + } + } + }, + "docus.loadingBar.gradientColorStop3": { + "uri": "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/tokens.config.ts", + "range": { + "start": { + "line": 94, + "column": 6, + "index": 2077, + "token": 348 + }, + "end": { + "line": 94, + "column": 35, + "index": 2106, + "token": 351 + } + } + } +} as const \ No newline at end of file diff --git a/docs/.nuxt/pinceau/index.ts b/docs/.nuxt/pinceau/index.ts new file mode 100644 index 00000000..4e9ba8a7 --- /dev/null +++ b/docs/.nuxt/pinceau/index.ts @@ -0,0 +1,3540 @@ +export const theme = { + "media": { + "xs": { + "value": "(min-width: 475px)", + "variable": "var(--media-xs)", + "raw": "(min-width: 475px)" + }, + "sm": { + "value": "(min-width: 640px)", + "variable": "var(--media-sm)", + "raw": "(min-width: 640px)" + }, + "md": { + "value": "(min-width: 768px)", + "variable": "var(--media-md)", + "raw": "(min-width: 768px)" + }, + "lg": { + "value": "(min-width: 1024px)", + "variable": "var(--media-lg)", + "raw": "(min-width: 1024px)" + }, + "xl": { + "value": "(min-width: 1280px)", + "variable": "var(--media-xl)", + "raw": "(min-width: 1280px)" + }, + "2xl": { + "value": "(min-width: 1536px)", + "variable": "var(--media-2xl)", + "raw": "(min-width: 1536px)" + }, + "rm": { + "value": "(prefers-reduced-motion: reduce)", + "variable": "var(--media-rm)", + "raw": "(prefers-reduced-motion: reduce)" + }, + "landscape": { + "value": "only screen and (orientation: landscape)", + "variable": "var(--media-landscape)", + "raw": "only screen and (orientation: landscape)" + }, + "portrait": { + "value": "only screen and (orientation: portrait)", + "variable": "var(--media-portrait)", + "raw": "only screen and (orientation: portrait)" + } + }, + "color": { + "white": { + "value": "#ffffff", + "variable": "var(--color-white)", + "raw": "#ffffff" + }, + "black": { + "value": "#0B0A0A", + "variable": "var(--color-black)", + "raw": "#0B0A0A" + }, + "gray": { + "50": { + "value": "#FBFBFB", + "variable": "var(--color-gray-50)", + "raw": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4", + "variable": "var(--color-gray-100)", + "raw": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8", + "variable": "var(--color-gray-200)", + "raw": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3", + "variable": "var(--color-gray-300)", + "raw": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4", + "variable": "var(--color-gray-400)", + "raw": "#ADA9A4" + }, + "500": { + "value": "#97948F", + "variable": "var(--color-gray-500)", + "raw": "#97948F" + }, + "600": { + "value": "#67635D", + "variable": "var(--color-gray-600)", + "raw": "#67635D" + }, + "700": { + "value": "#36332E", + "variable": "var(--color-gray-700)", + "raw": "#36332E" + }, + "800": { + "value": "#201E1B", + "variable": "var(--color-gray-800)", + "raw": "#201E1B" + }, + "900": { + "value": "#121110", + "variable": "var(--color-gray-900)", + "raw": "#121110" + } + }, + "green": { + "50": { + "value": "#ECFFF7", + "variable": "var(--color-green-50)", + "raw": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1", + "variable": "var(--color-green-100)", + "raw": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6", + "variable": "var(--color-green-200)", + "raw": "#C3FFE6" + }, + "300": { + "value": "#86FBCB", + "variable": "var(--color-green-300)", + "raw": "#86FBCB" + }, + "400": { + "value": "#3CEEA5", + "variable": "var(--color-green-400)", + "raw": "#3CEEA5" + }, + "500": { + "value": "#0DD885", + "variable": "var(--color-green-500)", + "raw": "#0DD885" + }, + "600": { + "value": "#00B467", + "variable": "var(--color-green-600)", + "raw": "#00B467" + }, + "700": { + "value": "#006037", + "variable": "var(--color-green-700)", + "raw": "#006037" + }, + "800": { + "value": "#002817", + "variable": "var(--color-green-800)", + "raw": "#002817" + }, + "900": { + "value": "#00190F", + "variable": "var(--color-green-900)", + "raw": "#00190F" + } + }, + "yellow": { + "50": { + "value": "#FFFDEA", + "variable": "var(--color-yellow-50)", + "raw": "#FFFDEA" + }, + "100": { + "value": "#FFF8CC", + "variable": "var(--color-yellow-100)", + "raw": "#FFF8CC" + }, + "200": { + "value": "#FEF5A4", + "variable": "var(--color-yellow-200)", + "raw": "#FEF5A4" + }, + "300": { + "value": "#FFEF8A", + "variable": "var(--color-yellow-300)", + "raw": "#FFEF8A" + }, + "400": { + "value": "#FFE53C", + "variable": "var(--color-yellow-400)", + "raw": "#FFE53C" + }, + "500": { + "value": "#EECF00", + "variable": "var(--color-yellow-500)", + "raw": "#EECF00" + }, + "600": { + "value": "#C2A905", + "variable": "var(--color-yellow-600)", + "raw": "#C2A905" + }, + "700": { + "value": "#6B5D02", + "variable": "var(--color-yellow-700)", + "raw": "#6B5D02" + }, + "800": { + "value": "#282300", + "variable": "var(--color-yellow-800)", + "raw": "#282300" + }, + "900": { + "value": "#1A1700", + "variable": "var(--color-yellow-900)", + "raw": "#1A1700" + } + }, + "orange": { + "50": { + "value": "#ffe9d9", + "variable": "var(--color-orange-50)", + "raw": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3", + "variable": "var(--color-orange-100)", + "raw": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d", + "variable": "var(--color-orange-200)", + "raw": "#ffbd8d" + }, + "300": { + "value": "#ffa666", + "variable": "var(--color-orange-300)", + "raw": "#ffa666" + }, + "400": { + "value": "#ff9040", + "variable": "var(--color-orange-400)", + "raw": "#ff9040" + }, + "500": { + "value": "#ff7a1a", + "variable": "var(--color-orange-500)", + "raw": "#ff7a1a" + }, + "600": { + "value": "#e15e00", + "variable": "var(--color-orange-600)", + "raw": "#e15e00" + }, + "700": { + "value": "#a94700", + "variable": "var(--color-orange-700)", + "raw": "#a94700" + }, + "800": { + "value": "#702f00", + "variable": "var(--color-orange-800)", + "raw": "#702f00" + }, + "900": { + "value": "#381800", + "variable": "var(--color-orange-900)", + "raw": "#381800" + } + }, + "red": { + "50": { + "value": "#FFF9F8", + "variable": "var(--color-red-50)", + "raw": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0", + "variable": "var(--color-red-100)", + "raw": "#FFF3F0" + }, + "200": { + "value": "#FFDED7", + "variable": "var(--color-red-200)", + "raw": "#FFDED7" + }, + "300": { + "value": "#FFA692", + "variable": "var(--color-red-300)", + "raw": "#FFA692" + }, + "400": { + "value": "#FF7353", + "variable": "var(--color-red-400)", + "raw": "#FF7353" + }, + "500": { + "value": "#FF3B10", + "variable": "var(--color-red-500)", + "raw": "#FF3B10" + }, + "600": { + "value": "#BB2402", + "variable": "var(--color-red-600)", + "raw": "#BB2402" + }, + "700": { + "value": "#701704", + "variable": "var(--color-red-700)", + "raw": "#701704" + }, + "800": { + "value": "#340A01", + "variable": "var(--color-red-800)", + "raw": "#340A01" + }, + "900": { + "value": "#1C0301", + "variable": "var(--color-red-900)", + "raw": "#1C0301" + } + }, + "pear": { + "50": { + "value": "#f7f8dc", + "variable": "var(--color-pear-50)", + "raw": "#f7f8dc" + }, + "100": { + "value": "#eff0ba", + "variable": "var(--color-pear-100)", + "raw": "#eff0ba" + }, + "200": { + "value": "#e8e997", + "variable": "var(--color-pear-200)", + "raw": "#e8e997" + }, + "300": { + "value": "#e0e274", + "variable": "var(--color-pear-300)", + "raw": "#e0e274" + }, + "400": { + "value": "#d8da52", + "variable": "var(--color-pear-400)", + "raw": "#d8da52" + }, + "500": { + "value": "#d0d32f", + "variable": "var(--color-pear-500)", + "raw": "#d0d32f" + }, + "600": { + "value": "#a8aa24", + "variable": "var(--color-pear-600)", + "raw": "#a8aa24" + }, + "700": { + "value": "#7e801b", + "variable": "var(--color-pear-700)", + "raw": "#7e801b" + }, + "800": { + "value": "#545512", + "variable": "var(--color-pear-800)", + "raw": "#545512" + }, + "900": { + "value": "#2a2b09", + "variable": "var(--color-pear-900)", + "raw": "#2a2b09" + } + }, + "teal": { + "50": { + "value": "#d7faf8", + "variable": "var(--color-teal-50)", + "raw": "#d7faf8" + }, + "100": { + "value": "#aff4f0", + "variable": "var(--color-teal-100)", + "raw": "#aff4f0" + }, + "200": { + "value": "#87efe9", + "variable": "var(--color-teal-200)", + "raw": "#87efe9" + }, + "300": { + "value": "#5fe9e1", + "variable": "var(--color-teal-300)", + "raw": "#5fe9e1" + }, + "400": { + "value": "#36e4da", + "variable": "var(--color-teal-400)", + "raw": "#36e4da" + }, + "500": { + "value": "#1cd1c6", + "variable": "var(--color-teal-500)", + "raw": "#1cd1c6" + }, + "600": { + "value": "#16a79e", + "variable": "var(--color-teal-600)", + "raw": "#16a79e" + }, + "700": { + "value": "#117d77", + "variable": "var(--color-teal-700)", + "raw": "#117d77" + }, + "800": { + "value": "#0b544f", + "variable": "var(--color-teal-800)", + "raw": "#0b544f" + }, + "900": { + "value": "#062a28", + "variable": "var(--color-teal-900)", + "raw": "#062a28" + } + }, + "lightblue": { + "50": { + "value": "#d9f8ff", + "variable": "var(--color-lightblue-50)", + "raw": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff", + "variable": "var(--color-lightblue-100)", + "raw": "#b3f1ff" + }, + "200": { + "value": "#8deaff", + "variable": "var(--color-lightblue-200)", + "raw": "#8deaff" + }, + "300": { + "value": "#66e4ff", + "variable": "var(--color-lightblue-300)", + "raw": "#66e4ff" + }, + "400": { + "value": "#40ddff", + "variable": "var(--color-lightblue-400)", + "raw": "#40ddff" + }, + "500": { + "value": "#1ad6ff", + "variable": "var(--color-lightblue-500)", + "raw": "#1ad6ff" + }, + "600": { + "value": "#00b9e1", + "variable": "var(--color-lightblue-600)", + "raw": "#00b9e1" + }, + "700": { + "value": "#008aa9", + "variable": "var(--color-lightblue-700)", + "raw": "#008aa9" + }, + "800": { + "value": "#005c70", + "variable": "var(--color-lightblue-800)", + "raw": "#005c70" + }, + "900": { + "value": "#002e38", + "variable": "var(--color-lightblue-900)", + "raw": "#002e38" + } + }, + "blue": { + "50": { + "value": "#F2FAFF", + "variable": "var(--color-blue-50)", + "raw": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF", + "variable": "var(--color-blue-100)", + "raw": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF", + "variable": "var(--color-blue-200)", + "raw": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF", + "variable": "var(--color-blue-300)", + "raw": "#A1DDFF" + }, + "400": { + "value": "#64C7FF", + "variable": "var(--color-blue-400)", + "raw": "#64C7FF" + }, + "500": { + "value": "#1AADFF", + "variable": "var(--color-blue-500)", + "raw": "#1AADFF" + }, + "600": { + "value": "#0069A6", + "variable": "var(--color-blue-600)", + "raw": "#0069A6" + }, + "700": { + "value": "#003351", + "variable": "var(--color-blue-700)", + "raw": "#003351" + }, + "800": { + "value": "#002235", + "variable": "var(--color-blue-800)", + "raw": "#002235" + }, + "900": { + "value": "#00131D", + "variable": "var(--color-blue-900)", + "raw": "#00131D" + } + }, + "indigoblue": { + "50": { + "value": "#d9e5ff", + "variable": "var(--color-indigoblue-50)", + "raw": "#d9e5ff" + }, + "100": { + "value": "#b3cbff", + "variable": "var(--color-indigoblue-100)", + "raw": "#b3cbff" + }, + "200": { + "value": "#8db0ff", + "variable": "var(--color-indigoblue-200)", + "raw": "#8db0ff" + }, + "300": { + "value": "#6696ff", + "variable": "var(--color-indigoblue-300)", + "raw": "#6696ff" + }, + "400": { + "value": "#407cff", + "variable": "var(--color-indigoblue-400)", + "raw": "#407cff" + }, + "500": { + "value": "#1a62ff", + "variable": "var(--color-indigoblue-500)", + "raw": "#1a62ff" + }, + "600": { + "value": "#0047e1", + "variable": "var(--color-indigoblue-600)", + "raw": "#0047e1" + }, + "700": { + "value": "#0035a9", + "variable": "var(--color-indigoblue-700)", + "raw": "#0035a9" + }, + "800": { + "value": "#002370", + "variable": "var(--color-indigoblue-800)", + "raw": "#002370" + }, + "900": { + "value": "#001238", + "variable": "var(--color-indigoblue-900)", + "raw": "#001238" + } + }, + "royalblue": { + "50": { + "value": "#dfdbfb", + "variable": "var(--color-royalblue-50)", + "raw": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7", + "variable": "var(--color-royalblue-100)", + "raw": "#c0b7f7" + }, + "200": { + "value": "#a093f3", + "variable": "var(--color-royalblue-200)", + "raw": "#a093f3" + }, + "300": { + "value": "#806ff0", + "variable": "var(--color-royalblue-300)", + "raw": "#806ff0" + }, + "400": { + "value": "#614bec", + "variable": "var(--color-royalblue-400)", + "raw": "#614bec" + }, + "500": { + "value": "#4127e8", + "variable": "var(--color-royalblue-500)", + "raw": "#4127e8" + }, + "600": { + "value": "#2c15c4", + "variable": "var(--color-royalblue-600)", + "raw": "#2c15c4" + }, + "700": { + "value": "#211093", + "variable": "var(--color-royalblue-700)", + "raw": "#211093" + }, + "800": { + "value": "#160a62", + "variable": "var(--color-royalblue-800)", + "raw": "#160a62" + }, + "900": { + "value": "#0b0531", + "variable": "var(--color-royalblue-900)", + "raw": "#0b0531" + } + }, + "purple": { + "50": { + "value": "#ead9ff", + "variable": "var(--color-purple-50)", + "raw": "#ead9ff" + }, + "100": { + "value": "#d5b3ff", + "variable": "var(--color-purple-100)", + "raw": "#d5b3ff" + }, + "200": { + "value": "#c08dff", + "variable": "var(--color-purple-200)", + "raw": "#c08dff" + }, + "300": { + "value": "#ab66ff", + "variable": "var(--color-purple-300)", + "raw": "#ab66ff" + }, + "400": { + "value": "#9640ff", + "variable": "var(--color-purple-400)", + "raw": "#9640ff" + }, + "500": { + "value": "#811aff", + "variable": "var(--color-purple-500)", + "raw": "#811aff" + }, + "600": { + "value": "#6500e1", + "variable": "var(--color-purple-600)", + "raw": "#6500e1" + }, + "700": { + "value": "#4c00a9", + "variable": "var(--color-purple-700)", + "raw": "#4c00a9" + }, + "800": { + "value": "#330070", + "variable": "var(--color-purple-800)", + "raw": "#330070" + }, + "900": { + "value": "#190038", + "variable": "var(--color-purple-900)", + "raw": "#190038" + } + }, + "pink": { + "50": { + "value": "#ffd9f2", + "variable": "var(--color-pink-50)", + "raw": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5", + "variable": "var(--color-pink-100)", + "raw": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8", + "variable": "var(--color-pink-200)", + "raw": "#ff8dd8" + }, + "300": { + "value": "#ff66cc", + "variable": "var(--color-pink-300)", + "raw": "#ff66cc" + }, + "400": { + "value": "#ff40bf", + "variable": "var(--color-pink-400)", + "raw": "#ff40bf" + }, + "500": { + "value": "#ff1ab2", + "variable": "var(--color-pink-500)", + "raw": "#ff1ab2" + }, + "600": { + "value": "#e10095", + "variable": "var(--color-pink-600)", + "raw": "#e10095" + }, + "700": { + "value": "#a90070", + "variable": "var(--color-pink-700)", + "raw": "#a90070" + }, + "800": { + "value": "#70004b", + "variable": "var(--color-pink-800)", + "raw": "#70004b" + }, + "900": { + "value": "#380025", + "variable": "var(--color-pink-900)", + "raw": "#380025" + } + }, + "ruby": { + "50": { + "value": "#ffd9e4", + "variable": "var(--color-ruby-50)", + "raw": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9", + "variable": "var(--color-ruby-100)", + "raw": "#ffb3c9" + }, + "200": { + "value": "#ff8dae", + "variable": "var(--color-ruby-200)", + "raw": "#ff8dae" + }, + "300": { + "value": "#ff6694", + "variable": "var(--color-ruby-300)", + "raw": "#ff6694" + }, + "400": { + "value": "#ff4079", + "variable": "var(--color-ruby-400)", + "raw": "#ff4079" + }, + "500": { + "value": "#ff1a5e", + "variable": "var(--color-ruby-500)", + "raw": "#ff1a5e" + }, + "600": { + "value": "#e10043", + "variable": "var(--color-ruby-600)", + "raw": "#e10043" + }, + "700": { + "value": "#a90032", + "variable": "var(--color-ruby-700)", + "raw": "#a90032" + }, + "800": { + "value": "#700021", + "variable": "var(--color-ruby-800)", + "raw": "#700021" + }, + "900": { + "value": "#380011", + "variable": "var(--color-ruby-900)", + "raw": "#380011" + } + }, + "primary": { + "50": { + "value": "#fff2cc", + "variable": "var(--color-primary-50)", + "raw": "#fff2cc" + }, + "100": { + "value": "#ffe599", + "variable": "var(--color-primary-100)", + "raw": "#ffe599" + }, + "200": { + "value": "#ffd966", + "variable": "var(--color-primary-200)", + "raw": "#ffd966" + }, + "300": { + "value": "#f1c232", + "variable": "var(--color-primary-300)", + "raw": "#f1c232" + }, + "400": { + "value": "#f1c232", + "variable": "var(--color-primary-400)", + "raw": "#f1c232" + }, + "500": { + "value": "#f1c232", + "variable": "var(--color-primary-500)", + "raw": "#f1c232" + }, + "600": { + "value": "#f1c232", + "variable": "var(--color-primary-600)", + "raw": "#f1c232" + }, + "700": { + "value": "#f1c232", + "variable": "var(--color-primary-700)", + "raw": "#f1c232" + }, + "800": { + "value": "#f1c232", + "variable": "var(--color-primary-800)", + "raw": "#f1c232" + }, + "900": { + "value": "#f1c232", + "variable": "var(--color-primary-900)", + "raw": "#f1c232" + } + }, + "secondary": { + "50": { + "value": "var(--color-gray-50)", + "variable": "var(--color-secondary-50)", + "raw": "{color.gray.50}" + }, + "100": { + "value": "var(--color-gray-100)", + "variable": "var(--color-secondary-100)", + "raw": "{color.gray.100}" + }, + "200": { + "value": "var(--color-gray-200)", + "variable": "var(--color-secondary-200)", + "raw": "{color.gray.200}" + }, + "300": { + "value": "var(--color-gray-300)", + "variable": "var(--color-secondary-300)", + "raw": "{color.gray.300}" + }, + "400": { + "value": "var(--color-gray-400)", + "variable": "var(--color-secondary-400)", + "raw": "{color.gray.400}" + }, + "500": { + "value": "var(--color-gray-500)", + "variable": "var(--color-secondary-500)", + "raw": "{color.gray.500}" + }, + "600": { + "value": "var(--color-gray-600)", + "variable": "var(--color-secondary-600)", + "raw": "{color.gray.600}" + }, + "700": { + "value": "var(--color-gray-700)", + "variable": "var(--color-secondary-700)", + "raw": "{color.gray.700}" + }, + "800": { + "value": "var(--color-gray-800)", + "variable": "var(--color-secondary-800)", + "raw": "{color.gray.800}" + }, + "900": { + "value": "var(--color-gray-900)", + "variable": "var(--color-secondary-900)", + "raw": "{color.gray.900}" + } + } + }, + "width": { + "screen": { + "value": "100vw", + "variable": "var(--width-screen)", + "raw": "100vw" + } + }, + "height": { + "screen": { + "value": "100vh", + "variable": "var(--height-screen)", + "raw": "100vh" + } + }, + "shadow": { + "xs": { + "value": "0px 1px 2px 0px #000000", + "variable": "var(--shadow-xs)", + "raw": "0px 1px 2px 0px #000000" + }, + "sm": { + "value": "0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000", + "variable": "var(--shadow-sm)", + "raw": "0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000" + }, + "md": { + "value": "0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000", + "variable": "var(--shadow-md)", + "raw": "0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000" + }, + "lg": { + "value": "0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000", + "variable": "var(--shadow-lg)", + "raw": "0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000" + }, + "xl": { + "value": "0px 20px 25px -5px var(--color-gray-400), 0px 8px 10px -6px #000000", + "variable": "var(--shadow-xl)", + "raw": "0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000" + }, + "2xl": { + "value": "0px 25px 50px -12px var(--color-gray-900)", + "variable": "var(--shadow-2xl)", + "raw": "0px 25px 50px -12px {color.gray.900}" + }, + "none": { + "value": "0px 0px 0px 0px transparent", + "variable": "var(--shadow-none)", + "raw": "0px 0px 0px 0px transparent" + } + }, + "radii": { + "none": { + "value": "0px", + "variable": "var(--radii-none)", + "raw": "0px" + }, + "2xs": { + "value": "0.125rem", + "variable": "var(--radii-2xs)", + "raw": "0.125rem" + }, + "xs": { + "value": "0.25rem", + "variable": "var(--radii-xs)", + "raw": "0.25rem" + }, + "sm": { + "value": "0.375rem", + "variable": "var(--radii-sm)", + "raw": "0.375rem" + }, + "md": { + "value": "0.5rem", + "variable": "var(--radii-md)", + "raw": "0.5rem" + }, + "lg": { + "value": "0.75rem", + "variable": "var(--radii-lg)", + "raw": "0.75rem" + }, + "xl": { + "value": "1rem", + "variable": "var(--radii-xl)", + "raw": "1rem" + }, + "2xl": { + "value": "1.5rem", + "variable": "var(--radii-2xl)", + "raw": "1.5rem" + }, + "3xl": { + "value": "1.75rem", + "variable": "var(--radii-3xl)", + "raw": "1.75rem" + }, + "full": { + "value": "9999px", + "variable": "var(--radii-full)", + "raw": "9999px" + } + }, + "size": { + "0": { + "value": "0px", + "variable": "var(--size-0)", + "raw": "0px" + }, + "2": { + "value": "2px", + "variable": "var(--size-2)", + "raw": "2px" + }, + "4": { + "value": "4px", + "variable": "var(--size-4)", + "raw": "4px" + }, + "6": { + "value": "6px", + "variable": "var(--size-6)", + "raw": "6px" + }, + "8": { + "value": "8px", + "variable": "var(--size-8)", + "raw": "8px" + }, + "12": { + "value": "12px", + "variable": "var(--size-12)", + "raw": "12px" + }, + "16": { + "value": "16px", + "variable": "var(--size-16)", + "raw": "16px" + }, + "20": { + "value": "20px", + "variable": "var(--size-20)", + "raw": "20px" + }, + "24": { + "value": "24px", + "variable": "var(--size-24)", + "raw": "24px" + }, + "32": { + "value": "32px", + "variable": "var(--size-32)", + "raw": "32px" + }, + "40": { + "value": "40px", + "variable": "var(--size-40)", + "raw": "40px" + }, + "48": { + "value": "48px", + "variable": "var(--size-48)", + "raw": "48px" + }, + "56": { + "value": "56px", + "variable": "var(--size-56)", + "raw": "56px" + }, + "64": { + "value": "64px", + "variable": "var(--size-64)", + "raw": "64px" + }, + "80": { + "value": "80px", + "variable": "var(--size-80)", + "raw": "80px" + }, + "104": { + "value": "104px", + "variable": "var(--size-104)", + "raw": "104px" + }, + "200": { + "value": "200px", + "variable": "var(--size-200)", + "raw": "200px" + }, + "xs": { + "value": "20rem", + "variable": "var(--size-xs)", + "raw": "20rem" + }, + "sm": { + "value": "24rem", + "variable": "var(--size-sm)", + "raw": "24rem" + }, + "md": { + "value": "28rem", + "variable": "var(--size-md)", + "raw": "28rem" + }, + "lg": { + "value": "32rem", + "variable": "var(--size-lg)", + "raw": "32rem" + }, + "xl": { + "value": "36rem", + "variable": "var(--size-xl)", + "raw": "36rem" + }, + "2xl": { + "value": "42rem", + "variable": "var(--size-2xl)", + "raw": "42rem" + }, + "3xl": { + "value": "48rem", + "variable": "var(--size-3xl)", + "raw": "48rem" + }, + "4xl": { + "value": "56rem", + "variable": "var(--size-4xl)", + "raw": "56rem" + }, + "5xl": { + "value": "64rem", + "variable": "var(--size-5xl)", + "raw": "64rem" + }, + "6xl": { + "value": "72rem", + "variable": "var(--size-6xl)", + "raw": "72rem" + }, + "7xl": { + "value": "80rem", + "variable": "var(--size-7xl)", + "raw": "80rem" + }, + "full": { + "value": "100%", + "variable": "var(--size-full)", + "raw": "100%" + } + }, + "space": { + "0": { + "value": "0px", + "variable": "var(--space-0)", + "raw": "0px" + }, + "1": { + "value": "0.25rem", + "variable": "var(--space-1)", + "raw": "0.25rem" + }, + "2": { + "value": "0.5rem", + "variable": "var(--space-2)", + "raw": "0.5rem" + }, + "3": { + "value": "0.75rem", + "variable": "var(--space-3)", + "raw": "0.75rem" + }, + "4": { + "value": "1rem", + "variable": "var(--space-4)", + "raw": "1rem" + }, + "5": { + "value": "1.25rem", + "variable": "var(--space-5)", + "raw": "1.25rem" + }, + "6": { + "value": "1.5rem", + "variable": "var(--space-6)", + "raw": "1.5rem" + }, + "7": { + "value": "1.75rem", + "variable": "var(--space-7)", + "raw": "1.75rem" + }, + "8": { + "value": "2rem", + "variable": "var(--space-8)", + "raw": "2rem" + }, + "9": { + "value": "2.25rem", + "variable": "var(--space-9)", + "raw": "2.25rem" + }, + "10": { + "value": "2.5rem", + "variable": "var(--space-10)", + "raw": "2.5rem" + }, + "11": { + "value": "2.75rem", + "variable": "var(--space-11)", + "raw": "2.75rem" + }, + "12": { + "value": "3rem", + "variable": "var(--space-12)", + "raw": "3rem" + }, + "14": { + "value": "3.5rem", + "variable": "var(--space-14)", + "raw": "3.5rem" + }, + "16": { + "value": "4rem", + "variable": "var(--space-16)", + "raw": "4rem" + }, + "20": { + "value": "5rem", + "variable": "var(--space-20)", + "raw": "5rem" + }, + "24": { + "value": "6rem", + "variable": "var(--space-24)", + "raw": "6rem" + }, + "28": { + "value": "7rem", + "variable": "var(--space-28)", + "raw": "7rem" + }, + "32": { + "value": "8rem", + "variable": "var(--space-32)", + "raw": "8rem" + }, + "36": { + "value": "9rem", + "variable": "var(--space-36)", + "raw": "9rem" + }, + "40": { + "value": "10rem", + "variable": "var(--space-40)", + "raw": "10rem" + }, + "44": { + "value": "11rem", + "variable": "var(--space-44)", + "raw": "11rem" + }, + "48": { + "value": "12rem", + "variable": "var(--space-48)", + "raw": "12rem" + }, + "52": { + "value": "13rem", + "variable": "var(--space-52)", + "raw": "13rem" + }, + "56": { + "value": "14rem", + "variable": "var(--space-56)", + "raw": "14rem" + }, + "60": { + "value": "15rem", + "variable": "var(--space-60)", + "raw": "15rem" + }, + "64": { + "value": "16rem", + "variable": "var(--space-64)", + "raw": "16rem" + }, + "72": { + "value": "18rem", + "variable": "var(--space-72)", + "raw": "18rem" + }, + "80": { + "value": "20rem", + "variable": "var(--space-80)", + "raw": "20rem" + }, + "96": { + "value": "24rem", + "variable": "var(--space-96)", + "raw": "24rem" + }, + "128": { + "value": "32rem", + "variable": "var(--space-128)", + "raw": "32rem" + }, + "px": { + "value": "1px", + "variable": "var(--space-px)", + "raw": "1px" + }, + "rem": { + "125": { + "value": "0.125rem", + "variable": "var(--space-rem-125)", + "raw": "0.125rem" + }, + "375": { + "value": "0.375rem", + "variable": "var(--space-rem-375)", + "raw": "0.375rem" + }, + "625": { + "value": "0.625rem", + "variable": "var(--space-rem-625)", + "raw": "0.625rem" + }, + "875": { + "value": "0.875rem", + "variable": "var(--space-rem-875)", + "raw": "0.875rem" + } + } + }, + "borderWidth": { + "noBorder": { + "value": "0", + "variable": "var(--borderWidth-noBorder)", + "raw": "0" + }, + "sm": { + "value": "1px", + "variable": "var(--borderWidth-sm)", + "raw": "1px" + }, + "md": { + "value": "2px", + "variable": "var(--borderWidth-md)", + "raw": "2px" + }, + "lg": { + "value": "3px", + "variable": "var(--borderWidth-lg)", + "raw": "3px" + } + }, + "opacity": { + "noOpacity": { + "value": "0", + "variable": "var(--opacity-noOpacity)", + "raw": "0" + }, + "bright": { + "value": "0.1", + "variable": "var(--opacity-bright)", + "raw": "0.1" + }, + "light": { + "value": "0.15", + "variable": "var(--opacity-light)", + "raw": "0.15" + }, + "soft": { + "value": "0.3", + "variable": "var(--opacity-soft)", + "raw": "0.3" + }, + "medium": { + "value": "0.5", + "variable": "var(--opacity-medium)", + "raw": "0.5" + }, + "high": { + "value": "0.8", + "variable": "var(--opacity-high)", + "raw": "0.8" + }, + "total": { + "value": "1", + "variable": "var(--opacity-total)", + "raw": "1" + } + }, + "font": { + "sans": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji", + "variable": "var(--font-sans)", + "raw": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + }, + "serif": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif", + "variable": "var(--font-serif)", + "raw": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + }, + "mono": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace", + "variable": "var(--font-mono)", + "raw": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + }, + "fontWeight": { + "thin": { + "value": "100", + "variable": "var(--fontWeight-thin)", + "raw": "100" + }, + "extralight": { + "value": "200", + "variable": "var(--fontWeight-extralight)", + "raw": "200" + }, + "light": { + "value": "300", + "variable": "var(--fontWeight-light)", + "raw": "300" + }, + "normal": { + "value": "400", + "variable": "var(--fontWeight-normal)", + "raw": "400" + }, + "medium": { + "value": "500", + "variable": "var(--fontWeight-medium)", + "raw": "500" + }, + "semibold": { + "value": "600", + "variable": "var(--fontWeight-semibold)", + "raw": "600" + }, + "bold": { + "value": "700", + "variable": "var(--fontWeight-bold)", + "raw": "700" + }, + "extrabold": { + "value": "800", + "variable": "var(--fontWeight-extrabold)", + "raw": "800" + }, + "black": { + "value": "900", + "variable": "var(--fontWeight-black)", + "raw": "900" + } + }, + "fontSize": { + "xs": { + "value": "0.75rem", + "variable": "var(--fontSize-xs)", + "raw": "0.75rem" + }, + "sm": { + "value": "0.875rem", + "variable": "var(--fontSize-sm)", + "raw": "0.875rem" + }, + "base": { + "value": "1rem", + "variable": "var(--fontSize-base)", + "raw": "1rem" + }, + "lg": { + "value": "1.125rem", + "variable": "var(--fontSize-lg)", + "raw": "1.125rem" + }, + "xl": { + "value": "1.25rem", + "variable": "var(--fontSize-xl)", + "raw": "1.25rem" + }, + "2xl": { + "value": "1.5rem", + "variable": "var(--fontSize-2xl)", + "raw": "1.5rem" + }, + "3xl": { + "value": "1.875rem", + "variable": "var(--fontSize-3xl)", + "raw": "1.875rem" + }, + "4xl": { + "value": "2.25rem", + "variable": "var(--fontSize-4xl)", + "raw": "2.25rem" + }, + "5xl": { + "value": "3rem", + "variable": "var(--fontSize-5xl)", + "raw": "3rem" + }, + "6xl": { + "value": "3.75rem", + "variable": "var(--fontSize-6xl)", + "raw": "3.75rem" + }, + "7xl": { + "value": "4.5rem", + "variable": "var(--fontSize-7xl)", + "raw": "4.5rem" + }, + "8xl": { + "value": "6rem", + "variable": "var(--fontSize-8xl)", + "raw": "6rem" + }, + "9xl": { + "value": "8rem", + "variable": "var(--fontSize-9xl)", + "raw": "8rem" + } + }, + "letterSpacing": { + "tighter": { + "value": "-0.05em", + "variable": "var(--letterSpacing-tighter)", + "raw": "-0.05em" + }, + "tight": { + "value": "-0.025em", + "variable": "var(--letterSpacing-tight)", + "raw": "-0.025em" + }, + "normal": { + "value": "0em", + "variable": "var(--letterSpacing-normal)", + "raw": "0em" + }, + "wide": { + "value": "0.025em", + "variable": "var(--letterSpacing-wide)", + "raw": "0.025em" + }, + "wider": { + "value": "0.05em", + "variable": "var(--letterSpacing-wider)", + "raw": "0.05em" + }, + "widest": { + "value": "0.1em", + "variable": "var(--letterSpacing-widest)", + "raw": "0.1em" + } + }, + "lead": { + "1": { + "value": ".025rem", + "variable": "var(--lead-1)", + "raw": ".025rem" + }, + "2": { + "value": ".5rem", + "variable": "var(--lead-2)", + "raw": ".5rem" + }, + "3": { + "value": ".75rem", + "variable": "var(--lead-3)", + "raw": ".75rem" + }, + "4": { + "value": "1rem", + "variable": "var(--lead-4)", + "raw": "1rem" + }, + "5": { + "value": "1.25rem", + "variable": "var(--lead-5)", + "raw": "1.25rem" + }, + "6": { + "value": "1.5rem", + "variable": "var(--lead-6)", + "raw": "1.5rem" + }, + "7": { + "value": "1.75rem", + "variable": "var(--lead-7)", + "raw": "1.75rem" + }, + "8": { + "value": "2rem", + "variable": "var(--lead-8)", + "raw": "2rem" + }, + "9": { + "value": "2.25rem", + "variable": "var(--lead-9)", + "raw": "2.25rem" + }, + "10": { + "value": "2.5rem", + "variable": "var(--lead-10)", + "raw": "2.5rem" + }, + "none": { + "value": "1", + "variable": "var(--lead-none)", + "raw": "1" + }, + "tight": { + "value": "1.25", + "variable": "var(--lead-tight)", + "raw": "1.25" + }, + "snug": { + "value": "1.375", + "variable": "var(--lead-snug)", + "raw": "1.375" + }, + "normal": { + "value": "1.5", + "variable": "var(--lead-normal)", + "raw": "1.5" + }, + "relaxed": { + "value": "1.625", + "variable": "var(--lead-relaxed)", + "raw": "1.625" + }, + "loose": { + "value": "2", + "variable": "var(--lead-loose)", + "raw": "2" + } + }, + "text": { + "xs": { + "fontSize": { + "value": "var(--fontSize-xs)", + "variable": "var(--text-xs-fontSize)", + "raw": "{fontSize.xs}" + }, + "lineHeight": { + "value": "var(--lead-4)", + "variable": "var(--text-xs-lineHeight)", + "raw": "{lead.4}" + } + }, + "sm": { + "fontSize": { + "value": "var(--fontSize-sm)", + "variable": "var(--text-sm-fontSize)", + "raw": "{fontSize.sm}" + }, + "lineHeight": { + "value": "var(--lead-5)", + "variable": "var(--text-sm-lineHeight)", + "raw": "{lead.5}" + } + }, + "base": { + "fontSize": { + "value": "var(--fontSize-base)", + "variable": "var(--text-base-fontSize)", + "raw": "{fontSize.base}" + }, + "lineHeight": { + "value": "var(--lead-6)", + "variable": "var(--text-base-lineHeight)", + "raw": "{lead.6}" + } + }, + "lg": { + "fontSize": { + "value": "var(--fontSize-lg)", + "variable": "var(--text-lg-fontSize)", + "raw": "{fontSize.lg}" + }, + "lineHeight": { + "value": "var(--lead-7)", + "variable": "var(--text-lg-lineHeight)", + "raw": "{lead.7}" + } + }, + "xl": { + "fontSize": { + "value": "var(--fontSize-xl)", + "variable": "var(--text-xl-fontSize)", + "raw": "{fontSize.xl}" + }, + "lineHeight": { + "value": "var(--lead-7)", + "variable": "var(--text-xl-lineHeight)", + "raw": "{lead.7}" + } + }, + "2xl": { + "fontSize": { + "value": "var(--fontSize-2xl)", + "variable": "var(--text-2xl-fontSize)", + "raw": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "var(--lead-8)", + "variable": "var(--text-2xl-lineHeight)", + "raw": "{lead.8}" + } + }, + "3xl": { + "fontSize": { + "value": "var(--fontSize-3xl)", + "variable": "var(--text-3xl-fontSize)", + "raw": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "var(--lead-9)", + "variable": "var(--text-3xl-lineHeight)", + "raw": "{lead.9}" + } + }, + "4xl": { + "fontSize": { + "value": "var(--fontSize-4xl)", + "variable": "var(--text-4xl-fontSize)", + "raw": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "var(--lead-10)", + "variable": "var(--text-4xl-lineHeight)", + "raw": "{lead.10}" + } + }, + "5xl": { + "fontSize": { + "value": "var(--fontSize-5xl)", + "variable": "var(--text-5xl-fontSize)", + "raw": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "var(--lead-none)", + "variable": "var(--text-5xl-lineHeight)", + "raw": "{lead.none}" + } + }, + "6xl": { + "fontSize": { + "value": "var(--fontSize-6xl)", + "variable": "var(--text-6xl-fontSize)", + "raw": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "var(--lead-none)", + "variable": "var(--text-6xl-lineHeight)", + "raw": "{lead.none}" + } + } + }, + "elements": { + "text": { + "primary": { + "color": { + "static": { + "value": { + "initial": "var(--color-gray-900)", + "dark": "var(--color-gray-50)" + }, + "variable": "var(--elements-text-primary-color-static)", + "raw": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "var(--color-gray-500)", + "dark": "var(--color-gray-400)" + }, + "variable": "var(--elements-text-secondary-color-static)", + "raw": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "var(--color-gray-700)", + "dark": "var(--color-gray-200)" + }, + "variable": "var(--elements-text-secondary-color-hover)", + "raw": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "container": { + "maxWidth": { + "value": "80rem", + "variable": "var(--elements-container-maxWidth)", + "raw": "80rem" + }, + "padding": { + "mobile": { + "value": "var(--space-4)", + "variable": "var(--elements-container-padding-mobile)", + "raw": "{space.4}" + }, + "xs": { + "value": "var(--space-4)", + "variable": "var(--elements-container-padding-xs)", + "raw": "{space.4}" + }, + "sm": { + "value": "var(--space-6)", + "variable": "var(--elements-container-padding-sm)", + "raw": "{space.6}" + }, + "md": { + "value": "var(--space-6)", + "variable": "var(--elements-container-padding-md)", + "raw": "{space.6}" + } + } + }, + "backdrop": { + "filter": { + "value": "saturate(200%) blur(20px)", + "variable": "var(--elements-backdrop-filter)", + "raw": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + }, + "variable": "var(--elements-backdrop-background)", + "raw": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "border": { + "primary": { + "static": { + "value": { + "initial": "var(--color-gray-100)", + "dark": "var(--color-gray-900)" + }, + "variable": "var(--elements-border-primary-static)", + "raw": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "var(--color-gray-200)", + "dark": "var(--color-gray-800)" + }, + "variable": "var(--elements-border-primary-hover)", + "raw": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "var(--color-gray-200)", + "dark": "var(--color-gray-800)" + }, + "variable": "var(--elements-border-secondary-static)", + "raw": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + }, + "variable": "var(--elements-border-secondary-hover)", + "raw": { + "initial": "", + "dark": "" + } + } + } + }, + "surface": { + "background": { + "base": { + "value": { + "initial": "var(--color-gray-100)", + "dark": "var(--color-gray-900)" + }, + "variable": "var(--elements-surface-background-base)", + "raw": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "var(--color-gray-100)", + "dark": "var(--color-gray-900)" + }, + "variable": "var(--elements-surface-primary-backgroundColor)", + "raw": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "var(--color-gray-200)", + "dark": "var(--color-gray-800)" + }, + "variable": "var(--elements-surface-secondary-backgroundColor)", + "raw": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "state": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "var(--color-primary-600)", + "dark": "var(--color-primary-400)" + }, + "variable": "var(--elements-state-primary-color-primary)", + "raw": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-primary-700)", + "dark": "var(--color-primary-200)" + }, + "variable": "var(--elements-state-primary-color-secondary)", + "raw": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-primary-50)", + "dark": "var(--color-primary-900)" + }, + "variable": "var(--elements-state-primary-backgroundColor-primary)", + "raw": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-primary-100)", + "dark": "var(--color-primary-800)" + }, + "variable": "var(--elements-state-primary-backgroundColor-secondary)", + "raw": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-primary-100)", + "dark": "var(--color-primary-800)" + }, + "variable": "var(--elements-state-primary-borderColor-primary)", + "raw": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-primary-200)", + "dark": "var(--color-primary-700)" + }, + "variable": "var(--elements-state-primary-borderColor-secondary)", + "raw": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "var(--color-blue-500)", + "dark": "var(--color-blue-400)" + }, + "variable": "var(--elements-state-info-color-primary)", + "raw": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-blue-600)", + "dark": "var(--color-blue-200)" + }, + "variable": "var(--elements-state-info-color-secondary)", + "raw": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-blue-50)", + "dark": "var(--color-blue-900)" + }, + "variable": "var(--elements-state-info-backgroundColor-primary)", + "raw": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-blue-100)", + "dark": "var(--color-blue-800)" + }, + "variable": "var(--elements-state-info-backgroundColor-secondary)", + "raw": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-blue-100)", + "dark": "var(--color-blue-800)" + }, + "variable": "var(--elements-state-info-borderColor-primary)", + "raw": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-blue-200)", + "dark": "var(--color-blue-700)" + }, + "variable": "var(--elements-state-info-borderColor-secondary)", + "raw": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "var(--color-green-500)", + "dark": "var(--color-green-400)" + }, + "variable": "var(--elements-state-success-color-primary)", + "raw": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-green-600)", + "dark": "var(--color-green-200)" + }, + "variable": "var(--elements-state-success-color-secondary)", + "raw": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-green-50)", + "dark": "var(--color-green-900)" + }, + "variable": "var(--elements-state-success-backgroundColor-primary)", + "raw": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-green-100)", + "dark": "var(--color-green-800)" + }, + "variable": "var(--elements-state-success-backgroundColor-secondary)", + "raw": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-green-100)", + "dark": "var(--color-green-800)" + }, + "variable": "var(--elements-state-success-borderColor-primary)", + "raw": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-green-200)", + "dark": "var(--color-green-700)" + }, + "variable": "var(--elements-state-success-borderColor-secondary)", + "raw": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "var(--color-yellow-600)", + "dark": "var(--color-yellow-400)" + }, + "variable": "var(--elements-state-warning-color-primary)", + "raw": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-yellow-700)", + "dark": "var(--color-yellow-200)" + }, + "variable": "var(--elements-state-warning-color-secondary)", + "raw": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-yellow-50)", + "dark": "var(--color-yellow-900)" + }, + "variable": "var(--elements-state-warning-backgroundColor-primary)", + "raw": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-yellow-100)", + "dark": "var(--color-yellow-800)" + }, + "variable": "var(--elements-state-warning-backgroundColor-secondary)", + "raw": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-yellow-100)", + "dark": "var(--color-yellow-800)" + }, + "variable": "var(--elements-state-warning-borderColor-primary)", + "raw": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-yellow-200)", + "dark": "var(--color-yellow-700)" + }, + "variable": "var(--elements-state-warning-borderColor-secondary)", + "raw": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "var(--color-red-500)", + "dark": "var(--color-red-300)" + }, + "variable": "var(--elements-state-danger-color-primary)", + "raw": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-red-600)", + "dark": "var(--color-red-200)" + }, + "variable": "var(--elements-state-danger-color-secondary)", + "raw": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "var(--color-red-50)", + "dark": "var(--color-red-900)" + }, + "variable": "var(--elements-state-danger-backgroundColor-primary)", + "raw": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-red-100)", + "dark": "var(--color-red-800)" + }, + "variable": "var(--elements-state-danger-backgroundColor-secondary)", + "raw": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "var(--color-red-100)", + "dark": "var(--color-red-800)" + }, + "variable": "var(--elements-state-danger-borderColor-primary)", + "raw": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "var(--color-red-200)", + "dark": "var(--color-red-700)" + }, + "variable": "var(--elements-state-danger-borderColor-secondary)", + "raw": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + }, + "typography": { + "body": { + "color": { + "value": { + "initial": "var(--color-black)", + "dark": "var(--color-white)" + }, + "variable": "var(--typography-body-color)", + "raw": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "var(--color-white)", + "dark": "var(--color-black)" + }, + "variable": "var(--typography-body-backgroundColor)", + "raw": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "verticalMargin": { + "sm": { + "value": "16px", + "variable": "var(--typography-verticalMargin-sm)", + "raw": "16px" + }, + "base": { + "value": "24px", + "variable": "var(--typography-verticalMargin-base)", + "raw": "24px" + } + }, + "letterSpacing": { + "tight": { + "value": "-0.025em", + "variable": "var(--typography-letterSpacing-tight)", + "raw": "-0.025em" + }, + "wide": { + "value": "0.025em", + "variable": "var(--typography-letterSpacing-wide)", + "raw": "0.025em" + } + }, + "fontSize": { + "xs": { + "value": "12px", + "variable": "var(--typography-fontSize-xs)", + "raw": "12px" + }, + "sm": { + "value": "14px", + "variable": "var(--typography-fontSize-sm)", + "raw": "14px" + }, + "base": { + "value": "16px", + "variable": "var(--typography-fontSize-base)", + "raw": "16px" + }, + "lg": { + "value": "18px", + "variable": "var(--typography-fontSize-lg)", + "raw": "18px" + }, + "xl": { + "value": "20px", + "variable": "var(--typography-fontSize-xl)", + "raw": "20px" + }, + "2xl": { + "value": "24px", + "variable": "var(--typography-fontSize-2xl)", + "raw": "24px" + }, + "3xl": { + "value": "30px", + "variable": "var(--typography-fontSize-3xl)", + "raw": "30px" + }, + "4xl": { + "value": "36px", + "variable": "var(--typography-fontSize-4xl)", + "raw": "36px" + }, + "5xl": { + "value": "48px", + "variable": "var(--typography-fontSize-5xl)", + "raw": "48px" + }, + "6xl": { + "value": "60px", + "variable": "var(--typography-fontSize-6xl)", + "raw": "60px" + }, + "7xl": { + "value": "72px", + "variable": "var(--typography-fontSize-7xl)", + "raw": "72px" + }, + "8xl": { + "value": "96px", + "variable": "var(--typography-fontSize-8xl)", + "raw": "96px" + }, + "9xl": { + "value": "128px", + "variable": "var(--typography-fontSize-9xl)", + "raw": "128px" + } + }, + "fontWeight": { + "thin": { + "value": "100", + "variable": "var(--typography-fontWeight-thin)", + "raw": "100" + }, + "extralight": { + "value": "200", + "variable": "var(--typography-fontWeight-extralight)", + "raw": "200" + }, + "light": { + "value": "300", + "variable": "var(--typography-fontWeight-light)", + "raw": "300" + }, + "normal": { + "value": "400", + "variable": "var(--typography-fontWeight-normal)", + "raw": "400" + }, + "medium": { + "value": "500", + "variable": "var(--typography-fontWeight-medium)", + "raw": "500" + }, + "semibold": { + "value": "600", + "variable": "var(--typography-fontWeight-semibold)", + "raw": "600" + }, + "bold": { + "value": "700", + "variable": "var(--typography-fontWeight-bold)", + "raw": "700" + }, + "extrabold": { + "value": "800", + "variable": "var(--typography-fontWeight-extrabold)", + "raw": "800" + }, + "black": { + "value": "900", + "variable": "var(--typography-fontWeight-black)", + "raw": "900" + } + }, + "lead": { + "1": { + "value": ".025rem", + "variable": "var(--typography-lead-1)", + "raw": ".025rem" + }, + "2": { + "value": ".5rem", + "variable": "var(--typography-lead-2)", + "raw": ".5rem" + }, + "3": { + "value": ".75rem", + "variable": "var(--typography-lead-3)", + "raw": ".75rem" + }, + "4": { + "value": "1rem", + "variable": "var(--typography-lead-4)", + "raw": "1rem" + }, + "5": { + "value": "1.25rem", + "variable": "var(--typography-lead-5)", + "raw": "1.25rem" + }, + "6": { + "value": "1.5rem", + "variable": "var(--typography-lead-6)", + "raw": "1.5rem" + }, + "7": { + "value": "1.75rem", + "variable": "var(--typography-lead-7)", + "raw": "1.75rem" + }, + "8": { + "value": "2rem", + "variable": "var(--typography-lead-8)", + "raw": "2rem" + }, + "9": { + "value": "2.25rem", + "variable": "var(--typography-lead-9)", + "raw": "2.25rem" + }, + "10": { + "value": "2.5rem", + "variable": "var(--typography-lead-10)", + "raw": "2.5rem" + }, + "none": { + "value": "1", + "variable": "var(--typography-lead-none)", + "raw": "1" + }, + "tight": { + "value": "1.25", + "variable": "var(--typography-lead-tight)", + "raw": "1.25" + }, + "snug": { + "value": "1.375", + "variable": "var(--typography-lead-snug)", + "raw": "1.375" + }, + "normal": { + "value": "1.5", + "variable": "var(--typography-lead-normal)", + "raw": "1.5" + }, + "relaxed": { + "value": "1.625", + "variable": "var(--typography-lead-relaxed)", + "raw": "1.625" + }, + "loose": { + "value": "2", + "variable": "var(--typography-lead-loose)", + "raw": "2" + } + }, + "font": { + "display": { + "value": "var(--font-sans)", + "variable": "var(--typography-font-display)", + "raw": "{font.sans}" + }, + "body": { + "value": "var(--font-sans)", + "variable": "var(--typography-font-body)", + "raw": "{font.sans}" + }, + "code": { + "value": "var(--font-mono)", + "variable": "var(--typography-font-code)", + "raw": "{font.mono}" + } + }, + "color": { + "primary": { + "50": { + "value": "var(--color-primary-50)", + "variable": "var(--typography-color-primary-50)", + "raw": "{color.primary.50}" + }, + "100": { + "value": "var(--color-primary-100)", + "variable": "var(--typography-color-primary-100)", + "raw": "{color.primary.100}" + }, + "200": { + "value": "var(--color-primary-200)", + "variable": "var(--typography-color-primary-200)", + "raw": "{color.primary.200}" + }, + "300": { + "value": "var(--color-primary-300)", + "variable": "var(--typography-color-primary-300)", + "raw": "{color.primary.300}" + }, + "400": { + "value": "var(--color-primary-400)", + "variable": "var(--typography-color-primary-400)", + "raw": "{color.primary.400}" + }, + "500": { + "value": "var(--color-primary-500)", + "variable": "var(--typography-color-primary-500)", + "raw": "{color.primary.500}" + }, + "600": { + "value": "var(--color-primary-600)", + "variable": "var(--typography-color-primary-600)", + "raw": "{color.primary.600}" + }, + "700": { + "value": "var(--color-primary-700)", + "variable": "var(--typography-color-primary-700)", + "raw": "{color.primary.700}" + }, + "800": { + "value": "var(--color-primary-800)", + "variable": "var(--typography-color-primary-800)", + "raw": "{color.primary.800}" + }, + "900": { + "value": "var(--color-primary-900)", + "variable": "var(--typography-color-primary-900)", + "raw": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "var(--color-gray-50)", + "variable": "var(--typography-color-secondary-50)", + "raw": "{color.gray.50}" + }, + "100": { + "value": "var(--color-gray-100)", + "variable": "var(--typography-color-secondary-100)", + "raw": "{color.gray.100}" + }, + "200": { + "value": "var(--color-gray-200)", + "variable": "var(--typography-color-secondary-200)", + "raw": "{color.gray.200}" + }, + "300": { + "value": "var(--color-gray-300)", + "variable": "var(--typography-color-secondary-300)", + "raw": "{color.gray.300}" + }, + "400": { + "value": "var(--color-gray-400)", + "variable": "var(--typography-color-secondary-400)", + "raw": "{color.gray.400}" + }, + "500": { + "value": "var(--color-gray-500)", + "variable": "var(--typography-color-secondary-500)", + "raw": "{color.gray.500}" + }, + "600": { + "value": "var(--color-gray-600)", + "variable": "var(--typography-color-secondary-600)", + "raw": "{color.gray.600}" + }, + "700": { + "value": "var(--color-gray-700)", + "variable": "var(--typography-color-secondary-700)", + "raw": "{color.gray.700}" + }, + "800": { + "value": "var(--color-gray-800)", + "variable": "var(--typography-color-secondary-800)", + "raw": "{color.gray.800}" + }, + "900": { + "value": "var(--color-gray-900)", + "variable": "var(--typography-color-secondary-900)", + "raw": "{color.gray.900}" + } + } + } + }, + "prose": { + "p": { + "fontSize": { + "value": "var(--typography-fontSize-base)", + "variable": "var(--prose-p-fontSize)", + "raw": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "var(--typography-lead-normal)", + "variable": "var(--prose-p-lineHeight)", + "raw": "{typography.lead.normal}" + }, + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-p-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0 0 0", + "variable": "var(--prose-p-br-margin)", + "raw": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "h1": { + "margin": { + "value": "0 0 2rem", + "variable": "var(--prose-h1-margin)", + "raw": "0 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-5xl)", + "variable": "var(--prose-h1-fontSize)", + "raw": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-tight)", + "variable": "var(--prose-h1-lineHeight)", + "raw": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-bold)", + "variable": "var(--prose-h1-fontWeight)", + "raw": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "var(--typography-letterSpacing-tight)", + "variable": "var(--prose-h1-letterSpacing)", + "raw": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "var(--typography-fontSize-3xl)", + "variable": "var(--prose-h1-iconSize)", + "raw": "{typography.fontSize.3xl}" + } + }, + "h2": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h2-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-4xl)", + "variable": "var(--prose-h2-fontSize)", + "raw": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-tight)", + "variable": "var(--prose-h2-lineHeight)", + "raw": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h2-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "var(--typography-letterSpacing-tight)", + "variable": "var(--prose-h2-letterSpacing)", + "raw": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "var(--typography-fontSize-2xl)", + "variable": "var(--prose-h2-iconSize)", + "raw": "{typography.fontSize.2xl}" + } + }, + "h3": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h3-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-3xl)", + "variable": "var(--prose-h3-fontSize)", + "raw": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-snug)", + "variable": "var(--prose-h3-lineHeight)", + "raw": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h3-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "var(--typography-letterSpacing-tight)", + "variable": "var(--prose-h3-letterSpacing)", + "raw": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "var(--typography-fontSize-xl)", + "variable": "var(--prose-h3-iconSize)", + "raw": "{typography.fontSize.xl}" + } + }, + "h4": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h4-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-2xl)", + "variable": "var(--prose-h4-fontSize)", + "raw": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-snug)", + "variable": "var(--prose-h4-lineHeight)", + "raw": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h4-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "var(--typography-letterSpacing-tight)", + "variable": "var(--prose-h4-letterSpacing)", + "raw": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "var(--typography-fontSize-lg)", + "variable": "var(--prose-h4-iconSize)", + "raw": "{typography.fontSize.lg}" + } + }, + "h5": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h5-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-xl)", + "variable": "var(--prose-h5-fontSize)", + "raw": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "var(--typography-lead-snug)", + "variable": "var(--prose-h5-lineHeight)", + "raw": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h5-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "var(--typography-fontSize-lg)", + "variable": "var(--prose-h5-iconSize)", + "raw": "{typography.fontSize.lg}" + } + }, + "h6": { + "margin": { + "value": "3rem 0 2rem", + "variable": "var(--prose-h6-margin)", + "raw": "3rem 0 2rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-lg)", + "variable": "var(--prose-h6-fontSize)", + "raw": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "var(--typography-lead-normal)", + "variable": "var(--prose-h6-lineHeight)", + "raw": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-h6-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "var(--typography-fontSize-base)", + "variable": "var(--prose-h6-iconSize)", + "raw": "{typography.fontSize.base}" + } + }, + "strong": { + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-strong-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + } + }, + "img": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-img-margin)", + "raw": "{typography.verticalMargin.base} 0" + } + }, + "a": { + "textDecoration": { + "value": "none", + "variable": "var(--prose-a-textDecoration)", + "raw": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + }, + "variable": "var(--prose-a-color-static)", + "raw": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "var(--typography-color-primary-500)", + "dark": "var(--typography-color-primary-400)" + }, + "variable": "var(--prose-a-color-hover)", + "raw": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px", + "variable": "var(--prose-a-border-width)", + "raw": "1px" + }, + "style": { + "static": { + "value": "dashed", + "variable": "var(--prose-a-border-style-static)", + "raw": "dashed" + }, + "hover": { + "value": "solid", + "variable": "var(--prose-a-border-style-hover)", + "raw": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-a-border-color-static)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-a-border-color-hover)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px", + "variable": "var(--prose-a-border-distance)", + "raw": "2px" + } + }, + "fontWeight": { + "value": "var(--typography-fontWeight-medium)", + "variable": "var(--prose-a-fontWeight)", + "raw": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none", + "variable": "var(--prose-a-hasCode-borderBottom)", + "raw": "none" + } + }, + "code": { + "border": { + "width": { + "value": "var(--prose-a-border-width)", + "variable": "var(--prose-a-code-border-width)", + "raw": "{prose.a.border.width}" + }, + "style": { + "value": "var(--prose-a-border-style-static)", + "variable": "var(--prose-a-code-border-style)", + "raw": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "var(--typography-color-secondary-400)", + "dark": "var(--typography-color-secondary-600)" + }, + "variable": "var(--prose-a-code-border-color-static)", + "raw": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "var(--typography-color-primary-500)", + "dark": "var(--typography-color-primary-600)" + }, + "variable": "var(--prose-a-code-border-color-hover)", + "raw": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-a-code-color-static)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-a-code-color-hover)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "var(--typography-color-primary-50)", + "dark": "var(--typography-color-primary-900)" + }, + "variable": "var(--prose-a-code-background-hover)", + "raw": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "blockquote": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-blockquote-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px", + "variable": "var(--prose-blockquote-paddingInlineStart)", + "raw": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'", + "variable": "var(--prose-blockquote-quotes)", + "raw": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-500)", + "dark": "var(--typography-color-secondary-400)" + }, + "variable": "var(--prose-blockquote-color)", + "raw": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px", + "variable": "var(--prose-blockquote-border-width)", + "raw": "4px" + }, + "style": { + "value": "solid", + "variable": "var(--prose-blockquote-border-style)", + "raw": "solid" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-700)" + }, + "variable": "var(--prose-blockquote-border-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "ul": { + "listStyleType": { + "value": "disc", + "variable": "var(--prose-ul-listStyleType)", + "raw": "disc" + }, + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-ul-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px", + "variable": "var(--prose-ul-paddingInlineStart)", + "raw": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-ul-li-markerColor)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "ol": { + "listStyleType": { + "value": "decimal", + "variable": "var(--prose-ol-listStyleType)", + "raw": "decimal" + }, + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-ol-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px", + "variable": "var(--prose-ol-paddingInlineStart)", + "raw": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + }, + "variable": "var(--prose-ol-li-markerColor)", + "raw": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "li": { + "margin": { + "value": "var(--typography-verticalMargin-sm) 0", + "variable": "var(--prose-li-margin)", + "raw": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside", + "variable": "var(--prose-li-listStylePosition)", + "raw": "outside" + } + }, + "hr": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-hr-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid", + "variable": "var(--prose-hr-style)", + "raw": "solid" + }, + "width": { + "value": "1px", + "variable": "var(--prose-hr-width)", + "raw": "1px" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-hr-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "table": { + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-table-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start", + "variable": "var(--prose-table-textAlign)", + "raw": "start" + }, + "fontSize": { + "value": "var(--typography-fontSize-sm)", + "variable": "var(--prose-table-fontSize)", + "raw": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "var(--typography-lead-6)", + "variable": "var(--prose-table-lineHeight)", + "raw": "{typography.lead.6}" + } + }, + "thead": { + "border": { + "width": { + "value": "0px", + "variable": "var(--prose-thead-border-width)", + "raw": "0px" + }, + "style": { + "value": "solid", + "variable": "var(--prose-thead-border-style)", + "raw": "solid" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-300)", + "dark": "var(--typography-color-secondary-600)" + }, + "variable": "var(--prose-thead-border-color)", + "raw": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px", + "variable": "var(--prose-thead-borderBottom-width)", + "raw": "1px" + }, + "style": { + "value": "solid", + "variable": "var(--prose-thead-borderBottom-style)", + "raw": "solid" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-thead-borderBottom-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "th": { + "color": { + "value": { + "initial": "var(--typography-color-secondary-600)", + "dark": "var(--typography-color-secondary-400)" + }, + "variable": "var(--prose-th-color)", + "raw": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)", + "variable": "var(--prose-th-padding)", + "raw": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-semibold)", + "variable": "var(--prose-th-fontWeight)", + "raw": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit", + "variable": "var(--prose-th-textAlign)", + "raw": "inherit" + } + }, + "tbody": { + "tr": { + "borderBottom": { + "width": { + "value": "1px", + "variable": "var(--prose-tbody-tr-borderBottom-width)", + "raw": "1px" + }, + "style": { + "value": "dashed", + "variable": "var(--prose-tbody-tr-borderBottom-style)", + "raw": "dashed" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-tbody-tr-borderBottom-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "var(--typography-verticalMargin-sm)", + "variable": "var(--prose-tbody-td-padding)", + "raw": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "var(--typography-fontSize-sm)", + "variable": "var(--prose-tbody-code-inline-fontSize)", + "raw": "{typography.fontSize.sm}" + } + } + } + }, + "code": { + "block": { + "fontSize": { + "value": "var(--typography-fontSize-sm)", + "variable": "var(--prose-code-block-fontSize)", + "raw": "{typography.fontSize.sm}" + }, + "margin": { + "value": "var(--typography-verticalMargin-base) 0", + "variable": "var(--prose-code-block-margin)", + "raw": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px", + "variable": "var(--prose-code-block-border-width)", + "raw": "1px" + }, + "style": { + "value": "solid", + "variable": "var(--prose-code-block-border-style)", + "raw": "solid" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-200)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-code-block-border-color)", + "raw": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-700)", + "dark": "var(--typography-color-secondary-200)" + }, + "variable": "var(--prose-code-block-color)", + "raw": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "var(--typography-color-secondary-100)", + "dark": "var(--typography-color-secondary-900)" + }, + "variable": "var(--prose-code-block-backgroundColor)", + "raw": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + }, + "variable": "var(--prose-code-block-backdropFilter)", + "raw": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "var(--typography-verticalMargin-sm)", + "variable": "var(--prose-code-block-pre-padding)", + "raw": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "var(--radii-xs)", + "variable": "var(--prose-code-inline-borderRadius)", + "raw": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem", + "variable": "var(--prose-code-inline-padding)", + "raw": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "var(--typography-fontSize-sm)", + "variable": "var(--prose-code-inline-fontSize)", + "raw": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "var(--typography-fontWeight-normal)", + "variable": "var(--prose-code-inline-fontWeight)", + "raw": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "var(--typography-color-secondary-700)", + "dark": "var(--typography-color-secondary-200)" + }, + "variable": "var(--prose-code-inline-color)", + "raw": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "var(--typography-color-secondary-100)", + "dark": "var(--typography-color-secondary-800)" + }, + "variable": "var(--prose-code-inline-backgroundColor)", + "raw": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "docus": { + "header": { + "height": { + "value": "64px", + "variable": "var(--docus-header-height)", + "raw": "64px" + } + }, + "footer": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + }, + "variable": "var(--docus-footer-height)", + "raw": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "var(--space-4) 0", + "variable": "var(--docus-footer-padding)", + "raw": "{space.4} 0" + } + }, + "readableLine": { + "value": "78ch", + "variable": "var(--docus-readableLine)", + "raw": "78ch" + }, + "loadingBar": { + "height": { + "value": "3px", + "variable": "var(--docus-loadingBar-height)", + "raw": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82", + "variable": "var(--docus-loadingBar-gradientColorStop1)", + "raw": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe", + "variable": "var(--docus-loadingBar-gradientColorStop2)", + "raw": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1", + "variable": "var(--docus-loadingBar-gradientColorStop3)", + "raw": "#0047e1" + } + } + } +} as const + +export type GeneratedPinceauTheme = typeof theme + +export type GeneratedPinceauPaths = "media.xs" | "media.sm" | "media.md" | "media.lg" | "media.xl" | "media.2xl" | "media.rm" | "media.landscape" | "media.portrait" | "color.white" | "color.black" | "color.gray.50" | "color.gray.100" | "color.gray.200" | "color.gray.300" | "color.gray.400" | "color.gray.500" | "color.gray.600" | "color.gray.700" | "color.gray.800" | "color.gray.900" | "color.green.50" | "color.green.100" | "color.green.200" | "color.green.300" | "color.green.400" | "color.green.500" | "color.green.600" | "color.green.700" | "color.green.800" | "color.green.900" | "color.yellow.50" | "color.yellow.100" | "color.yellow.200" | "color.yellow.300" | "color.yellow.400" | "color.yellow.500" | "color.yellow.600" | "color.yellow.700" | "color.yellow.800" | "color.yellow.900" | "color.orange.50" | "color.orange.100" | "color.orange.200" | "color.orange.300" | "color.orange.400" | "color.orange.500" | "color.orange.600" | "color.orange.700" | "color.orange.800" | "color.orange.900" | "color.red.50" | "color.red.100" | "color.red.200" | "color.red.300" | "color.red.400" | "color.red.500" | "color.red.600" | "color.red.700" | "color.red.800" | "color.red.900" | "color.pear.50" | "color.pear.100" | "color.pear.200" | "color.pear.300" | "color.pear.400" | "color.pear.500" | "color.pear.600" | "color.pear.700" | "color.pear.800" | "color.pear.900" | "color.teal.50" | "color.teal.100" | "color.teal.200" | "color.teal.300" | "color.teal.400" | "color.teal.500" | "color.teal.600" | "color.teal.700" | "color.teal.800" | "color.teal.900" | "color.lightblue.50" | "color.lightblue.100" | "color.lightblue.200" | "color.lightblue.300" | "color.lightblue.400" | "color.lightblue.500" | "color.lightblue.600" | "color.lightblue.700" | "color.lightblue.800" | "color.lightblue.900" | "color.blue.50" | "color.blue.100" | "color.blue.200" | "color.blue.300" | "color.blue.400" | "color.blue.500" | "color.blue.600" | "color.blue.700" | "color.blue.800" | "color.blue.900" | "color.indigoblue.50" | "color.indigoblue.100" | "color.indigoblue.200" | "color.indigoblue.300" | "color.indigoblue.400" | "color.indigoblue.500" | "color.indigoblue.600" | "color.indigoblue.700" | "color.indigoblue.800" | "color.indigoblue.900" | "color.royalblue.50" | "color.royalblue.100" | "color.royalblue.200" | "color.royalblue.300" | "color.royalblue.400" | "color.royalblue.500" | "color.royalblue.600" | "color.royalblue.700" | "color.royalblue.800" | "color.royalblue.900" | "color.purple.50" | "color.purple.100" | "color.purple.200" | "color.purple.300" | "color.purple.400" | "color.purple.500" | "color.purple.600" | "color.purple.700" | "color.purple.800" | "color.purple.900" | "color.pink.50" | "color.pink.100" | "color.pink.200" | "color.pink.300" | "color.pink.400" | "color.pink.500" | "color.pink.600" | "color.pink.700" | "color.pink.800" | "color.pink.900" | "color.ruby.50" | "color.ruby.100" | "color.ruby.200" | "color.ruby.300" | "color.ruby.400" | "color.ruby.500" | "color.ruby.600" | "color.ruby.700" | "color.ruby.800" | "color.ruby.900" | "color.primary.50" | "color.primary.100" | "color.primary.200" | "color.primary.300" | "color.primary.400" | "color.primary.500" | "color.primary.600" | "color.primary.700" | "color.primary.800" | "color.primary.900" | "color.secondary.50" | "color.secondary.100" | "color.secondary.200" | "color.secondary.300" | "color.secondary.400" | "color.secondary.500" | "color.secondary.600" | "color.secondary.700" | "color.secondary.800" | "color.secondary.900" | "width.screen" | "height.screen" | "shadow.xs" | "shadow.sm" | "shadow.md" | "shadow.lg" | "shadow.xl" | "shadow.2xl" | "shadow.none" | "radii.none" | "radii.2xs" | "radii.xs" | "radii.sm" | "radii.md" | "radii.lg" | "radii.xl" | "radii.2xl" | "radii.3xl" | "radii.full" | "size.0" | "size.2" | "size.4" | "size.6" | "size.8" | "size.12" | "size.16" | "size.20" | "size.24" | "size.32" | "size.40" | "size.48" | "size.56" | "size.64" | "size.80" | "size.104" | "size.200" | "size.xs" | "size.sm" | "size.md" | "size.lg" | "size.xl" | "size.2xl" | "size.3xl" | "size.4xl" | "size.5xl" | "size.6xl" | "size.7xl" | "size.full" | "space.0" | "space.1" | "space.2" | "space.3" | "space.4" | "space.5" | "space.6" | "space.7" | "space.8" | "space.9" | "space.10" | "space.11" | "space.12" | "space.14" | "space.16" | "space.20" | "space.24" | "space.28" | "space.32" | "space.36" | "space.40" | "space.44" | "space.48" | "space.52" | "space.56" | "space.60" | "space.64" | "space.72" | "space.80" | "space.96" | "space.128" | "space.px" | "space.rem.125" | "space.rem.375" | "space.rem.625" | "space.rem.875" | "borderWidth.noBorder" | "borderWidth.sm" | "borderWidth.md" | "borderWidth.lg" | "opacity.noOpacity" | "opacity.bright" | "opacity.light" | "opacity.soft" | "opacity.medium" | "opacity.high" | "opacity.total" | "font.sans" | "font.serif" | "font.mono" | "fontWeight.thin" | "fontWeight.extralight" | "fontWeight.light" | "fontWeight.normal" | "fontWeight.medium" | "fontWeight.semibold" | "fontWeight.bold" | "fontWeight.extrabold" | "fontWeight.black" | "fontSize.xs" | "fontSize.sm" | "fontSize.base" | "fontSize.lg" | "fontSize.xl" | "fontSize.2xl" | "fontSize.3xl" | "fontSize.4xl" | "fontSize.5xl" | "fontSize.6xl" | "fontSize.7xl" | "fontSize.8xl" | "fontSize.9xl" | "letterSpacing.tighter" | "letterSpacing.tight" | "letterSpacing.normal" | "letterSpacing.wide" | "letterSpacing.wider" | "letterSpacing.widest" | "lead.1" | "lead.2" | "lead.3" | "lead.4" | "lead.5" | "lead.6" | "lead.7" | "lead.8" | "lead.9" | "lead.10" | "lead.none" | "lead.tight" | "lead.snug" | "lead.normal" | "lead.relaxed" | "lead.loose" | "text.xs.fontSize" | "text.xs.lineHeight" | "text.sm.fontSize" | "text.sm.lineHeight" | "text.base.fontSize" | "text.base.lineHeight" | "text.lg.fontSize" | "text.lg.lineHeight" | "text.xl.fontSize" | "text.xl.lineHeight" | "text.2xl.fontSize" | "text.2xl.lineHeight" | "text.3xl.fontSize" | "text.3xl.lineHeight" | "text.4xl.fontSize" | "text.4xl.lineHeight" | "text.5xl.fontSize" | "text.5xl.lineHeight" | "text.6xl.fontSize" | "text.6xl.lineHeight" | "elements.text.primary.color.static" | "elements.text.secondary.color.static" | "elements.text.secondary.color.hover" | "elements.container.maxWidth" | "elements.container.padding.mobile" | "elements.container.padding.xs" | "elements.container.padding.sm" | "elements.container.padding.md" | "elements.backdrop.filter" | "elements.backdrop.background" | "elements.border.primary.static" | "elements.border.primary.hover" | "elements.border.secondary.static" | "elements.border.secondary.hover" | "elements.surface.background.base" | "elements.surface.primary.backgroundColor" | "elements.surface.secondary.backgroundColor" | "elements.state.primary.color.primary" | "elements.state.primary.color.secondary" | "elements.state.primary.backgroundColor.primary" | "elements.state.primary.backgroundColor.secondary" | "elements.state.primary.borderColor.primary" | "elements.state.primary.borderColor.secondary" | "elements.state.info.color.primary" | "elements.state.info.color.secondary" | "elements.state.info.backgroundColor.primary" | "elements.state.info.backgroundColor.secondary" | "elements.state.info.borderColor.primary" | "elements.state.info.borderColor.secondary" | "elements.state.success.color.primary" | "elements.state.success.color.secondary" | "elements.state.success.backgroundColor.primary" | "elements.state.success.backgroundColor.secondary" | "elements.state.success.borderColor.primary" | "elements.state.success.borderColor.secondary" | "elements.state.warning.color.primary" | "elements.state.warning.color.secondary" | "elements.state.warning.backgroundColor.primary" | "elements.state.warning.backgroundColor.secondary" | "elements.state.warning.borderColor.primary" | "elements.state.warning.borderColor.secondary" | "elements.state.danger.color.primary" | "elements.state.danger.color.secondary" | "elements.state.danger.backgroundColor.primary" | "elements.state.danger.backgroundColor.secondary" | "elements.state.danger.borderColor.primary" | "elements.state.danger.borderColor.secondary" | "typography.body.color" | "typography.body.backgroundColor" | "typography.verticalMargin.sm" | "typography.verticalMargin.base" | "typography.letterSpacing.tight" | "typography.letterSpacing.wide" | "typography.fontSize.xs" | "typography.fontSize.sm" | "typography.fontSize.base" | "typography.fontSize.lg" | "typography.fontSize.xl" | "typography.fontSize.2xl" | "typography.fontSize.3xl" | "typography.fontSize.4xl" | "typography.fontSize.5xl" | "typography.fontSize.6xl" | "typography.fontSize.7xl" | "typography.fontSize.8xl" | "typography.fontSize.9xl" | "typography.fontWeight.thin" | "typography.fontWeight.extralight" | "typography.fontWeight.light" | "typography.fontWeight.normal" | "typography.fontWeight.medium" | "typography.fontWeight.semibold" | "typography.fontWeight.bold" | "typography.fontWeight.extrabold" | "typography.fontWeight.black" | "typography.lead.1" | "typography.lead.2" | "typography.lead.3" | "typography.lead.4" | "typography.lead.5" | "typography.lead.6" | "typography.lead.7" | "typography.lead.8" | "typography.lead.9" | "typography.lead.10" | "typography.lead.none" | "typography.lead.tight" | "typography.lead.snug" | "typography.lead.normal" | "typography.lead.relaxed" | "typography.lead.loose" | "typography.font.display" | "typography.font.body" | "typography.font.code" | "typography.color.primary.50" | "typography.color.primary.100" | "typography.color.primary.200" | "typography.color.primary.300" | "typography.color.primary.400" | "typography.color.primary.500" | "typography.color.primary.600" | "typography.color.primary.700" | "typography.color.primary.800" | "typography.color.primary.900" | "typography.color.secondary.50" | "typography.color.secondary.100" | "typography.color.secondary.200" | "typography.color.secondary.300" | "typography.color.secondary.400" | "typography.color.secondary.500" | "typography.color.secondary.600" | "typography.color.secondary.700" | "typography.color.secondary.800" | "typography.color.secondary.900" | "prose.p.fontSize" | "prose.p.lineHeight" | "prose.p.margin" | "prose.p.br.margin" | "prose.h1.margin" | "prose.h1.fontSize" | "prose.h1.lineHeight" | "prose.h1.fontWeight" | "prose.h1.letterSpacing" | "prose.h1.iconSize" | "prose.h2.margin" | "prose.h2.fontSize" | "prose.h2.lineHeight" | "prose.h2.fontWeight" | "prose.h2.letterSpacing" | "prose.h2.iconSize" | "prose.h3.margin" | "prose.h3.fontSize" | "prose.h3.lineHeight" | "prose.h3.fontWeight" | "prose.h3.letterSpacing" | "prose.h3.iconSize" | "prose.h4.margin" | "prose.h4.fontSize" | "prose.h4.lineHeight" | "prose.h4.fontWeight" | "prose.h4.letterSpacing" | "prose.h4.iconSize" | "prose.h5.margin" | "prose.h5.fontSize" | "prose.h5.lineHeight" | "prose.h5.fontWeight" | "prose.h5.iconSize" | "prose.h6.margin" | "prose.h6.fontSize" | "prose.h6.lineHeight" | "prose.h6.fontWeight" | "prose.h6.iconSize" | "prose.strong.fontWeight" | "prose.img.margin" | "prose.a.textDecoration" | "prose.a.color.static" | "prose.a.color.hover" | "prose.a.border.width" | "prose.a.border.style.static" | "prose.a.border.style.hover" | "prose.a.border.color.static" | "prose.a.border.color.hover" | "prose.a.border.distance" | "prose.a.fontWeight" | "prose.a.hasCode.borderBottom" | "prose.a.code.border.width" | "prose.a.code.border.style" | "prose.a.code.border.color.static" | "prose.a.code.border.color.hover" | "prose.a.code.color.static" | "prose.a.code.color.hover" | "prose.a.code.background.hover" | "prose.blockquote.margin" | "prose.blockquote.paddingInlineStart" | "prose.blockquote.quotes" | "prose.blockquote.color" | "prose.blockquote.border.width" | "prose.blockquote.border.style" | "prose.blockquote.border.color" | "prose.ul.listStyleType" | "prose.ul.margin" | "prose.ul.paddingInlineStart" | "prose.ul.li.markerColor" | "prose.ol.listStyleType" | "prose.ol.margin" | "prose.ol.paddingInlineStart" | "prose.ol.li.markerColor" | "prose.li.margin" | "prose.li.listStylePosition" | "prose.hr.margin" | "prose.hr.style" | "prose.hr.width" | "prose.hr.color" | "prose.table.margin" | "prose.table.textAlign" | "prose.table.fontSize" | "prose.table.lineHeight" | "prose.thead.border.width" | "prose.thead.border.style" | "prose.thead.border.color" | "prose.thead.borderBottom.width" | "prose.thead.borderBottom.style" | "prose.thead.borderBottom.color" | "prose.th.color" | "prose.th.padding" | "prose.th.fontWeight" | "prose.th.textAlign" | "prose.tbody.tr.borderBottom.width" | "prose.tbody.tr.borderBottom.style" | "prose.tbody.tr.borderBottom.color" | "prose.tbody.td.padding" | "prose.tbody.code.inline.fontSize" | "prose.code.block.fontSize" | "prose.code.block.margin" | "prose.code.block.border.width" | "prose.code.block.border.style" | "prose.code.block.border.color" | "prose.code.block.color" | "prose.code.block.backgroundColor" | "prose.code.block.backdropFilter" | "prose.code.block.pre.padding" | "prose.code.inline.borderRadius" | "prose.code.inline.padding" | "prose.code.inline.fontSize" | "prose.code.inline.fontWeight" | "prose.code.inline.color" | "prose.code.inline.backgroundColor" | "docus.header.height" | "docus.footer.height" | "docus.footer.padding" | "docus.readableLine" | "docus.loadingBar.height" | "docus.loadingBar.gradientColorStop1" | "docus.loadingBar.gradientColorStop2" | "docus.loadingBar.gradientColorStop3"; + +export default theme \ No newline at end of file diff --git a/docs/.nuxt/pinceau/schema.ts b/docs/.nuxt/pinceau/schema.ts new file mode 100644 index 00000000..2a5b2a39 --- /dev/null +++ b/docs/.nuxt/pinceau/schema.ts @@ -0,0 +1,19501 @@ +export const schema = { + "properties": { + "id": "#tokensConfig", + "properties": { + "media": { + "title": "Your website media queries.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon material-symbols:screenshot-monitor-outline-rounded" + ], + "id": "#tokensConfig/media", + "properties": { + "xs": { + "id": "#tokensConfig/media/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/xs/value", + "default": "(min-width: 475px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 475px)" + } + }, + "sm": { + "id": "#tokensConfig/media/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/sm/value", + "default": "(min-width: 640px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 640px)" + } + }, + "md": { + "id": "#tokensConfig/media/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/md/value", + "default": "(min-width: 768px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 768px)" + } + }, + "lg": { + "id": "#tokensConfig/media/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/lg/value", + "default": "(min-width: 1024px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 1024px)" + } + }, + "xl": { + "id": "#tokensConfig/media/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/xl/value", + "default": "(min-width: 1280px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 1280px)" + } + }, + "2xl": { + "id": "#tokensConfig/media/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/2xl/value", + "default": "(min-width: 1536px)" + } + }, + "type": "object", + "default": { + "value": "(min-width: 1536px)" + } + }, + "rm": { + "id": "#tokensConfig/media/rm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/rm/value", + "default": "(prefers-reduced-motion: reduce)" + } + }, + "type": "object", + "default": { + "value": "(prefers-reduced-motion: reduce)" + } + }, + "landscape": { + "id": "#tokensConfig/media/landscape", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/landscape/value", + "default": "only screen and (orientation: landscape)" + } + }, + "type": "object", + "default": { + "value": "only screen and (orientation: landscape)" + } + }, + "portrait": { + "id": "#tokensConfig/media/portrait", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/media/portrait/value", + "default": "only screen and (orientation: portrait)" + } + }, + "type": "object", + "default": { + "value": "only screen and (orientation: portrait)" + } + } + }, + "type": "object", + "default": { + "xs": { + "value": "(min-width: 475px)" + }, + "sm": { + "value": "(min-width: 640px)" + }, + "md": { + "value": "(min-width: 768px)" + }, + "lg": { + "value": "(min-width: 1024px)" + }, + "xl": { + "value": "(min-width: 1280px)" + }, + "2xl": { + "value": "(min-width: 1536px)" + }, + "rm": { + "value": "(prefers-reduced-motion: reduce)" + }, + "landscape": { + "value": "only screen and (orientation: landscape)" + }, + "portrait": { + "value": "only screen and (orientation: portrait)" + } + } + }, + "color": { + "title": "Your website color palette.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon ph:palette" + ], + "id": "#tokensConfig/color", + "properties": { + "white": { + "id": "#tokensConfig/color/white", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/white/value", + "default": "#ffffff" + } + }, + "type": "object", + "default": { + "value": "#ffffff" + } + }, + "black": { + "id": "#tokensConfig/color/black", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/black/value", + "default": "#0B0A0A" + } + }, + "type": "object", + "default": { + "value": "#0B0A0A" + } + }, + "gray": { + "id": "#tokensConfig/color/gray", + "properties": { + "50": { + "id": "#tokensConfig/color/gray/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/50/value", + "default": "#FBFBFB" + } + }, + "type": "object", + "default": { + "value": "#FBFBFB" + } + }, + "100": { + "id": "#tokensConfig/color/gray/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/100/value", + "default": "#F6F5F4" + } + }, + "type": "object", + "default": { + "value": "#F6F5F4" + } + }, + "200": { + "id": "#tokensConfig/color/gray/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/200/value", + "default": "#ECEBE8" + } + }, + "type": "object", + "default": { + "value": "#ECEBE8" + } + }, + "300": { + "id": "#tokensConfig/color/gray/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/300/value", + "default": "#DBD9D3" + } + }, + "type": "object", + "default": { + "value": "#DBD9D3" + } + }, + "400": { + "id": "#tokensConfig/color/gray/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/400/value", + "default": "#ADA9A4" + } + }, + "type": "object", + "default": { + "value": "#ADA9A4" + } + }, + "500": { + "id": "#tokensConfig/color/gray/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/500/value", + "default": "#97948F" + } + }, + "type": "object", + "default": { + "value": "#97948F" + } + }, + "600": { + "id": "#tokensConfig/color/gray/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/600/value", + "default": "#67635D" + } + }, + "type": "object", + "default": { + "value": "#67635D" + } + }, + "700": { + "id": "#tokensConfig/color/gray/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/700/value", + "default": "#36332E" + } + }, + "type": "object", + "default": { + "value": "#36332E" + } + }, + "800": { + "id": "#tokensConfig/color/gray/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/800/value", + "default": "#201E1B" + } + }, + "type": "object", + "default": { + "value": "#201E1B" + } + }, + "900": { + "id": "#tokensConfig/color/gray/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/gray/900/value", + "default": "#121110" + } + }, + "type": "object", + "default": { + "value": "#121110" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4" + }, + "500": { + "value": "#97948F" + }, + "600": { + "value": "#67635D" + }, + "700": { + "value": "#36332E" + }, + "800": { + "value": "#201E1B" + }, + "900": { + "value": "#121110" + } + } + }, + "green": { + "id": "#tokensConfig/color/green", + "properties": { + "50": { + "id": "#tokensConfig/color/green/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/50/value", + "default": "#ECFFF7" + } + }, + "type": "object", + "default": { + "value": "#ECFFF7" + } + }, + "100": { + "id": "#tokensConfig/color/green/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/100/value", + "default": "#DEFFF1" + } + }, + "type": "object", + "default": { + "value": "#DEFFF1" + } + }, + "200": { + "id": "#tokensConfig/color/green/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/200/value", + "default": "#C3FFE6" + } + }, + "type": "object", + "default": { + "value": "#C3FFE6" + } + }, + "300": { + "id": "#tokensConfig/color/green/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/300/value", + "default": "#86FBCB" + } + }, + "type": "object", + "default": { + "value": "#86FBCB" + } + }, + "400": { + "id": "#tokensConfig/color/green/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/400/value", + "default": "#3CEEA5" + } + }, + "type": "object", + "default": { + "value": "#3CEEA5" + } + }, + "500": { + "id": "#tokensConfig/color/green/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/500/value", + "default": "#0DD885" + } + }, + "type": "object", + "default": { + "value": "#0DD885" + } + }, + "600": { + "id": "#tokensConfig/color/green/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/600/value", + "default": "#00B467" + } + }, + "type": "object", + "default": { + "value": "#00B467" + } + }, + "700": { + "id": "#tokensConfig/color/green/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/700/value", + "default": "#006037" + } + }, + "type": "object", + "default": { + "value": "#006037" + } + }, + "800": { + "id": "#tokensConfig/color/green/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/800/value", + "default": "#002817" + } + }, + "type": "object", + "default": { + "value": "#002817" + } + }, + "900": { + "id": "#tokensConfig/color/green/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/green/900/value", + "default": "#00190F" + } + }, + "type": "object", + "default": { + "value": "#00190F" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6" + }, + "300": { + "value": "#86FBCB" + }, + "400": { + "value": "#3CEEA5" + }, + "500": { + "value": "#0DD885" + }, + "600": { + "value": "#00B467" + }, + "700": { + "value": "#006037" + }, + "800": { + "value": "#002817" + }, + "900": { + "value": "#00190F" + } + } + }, + "yellow": { + "id": "#tokensConfig/color/yellow", + "properties": { + "50": { + "id": "#tokensConfig/color/yellow/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/50/value", + "default": "#FFFDEA" + } + }, + "type": "object", + "default": { + "value": "#FFFDEA" + } + }, + "100": { + "id": "#tokensConfig/color/yellow/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/100/value", + "default": "#FFF8CC" + } + }, + "type": "object", + "default": { + "value": "#FFF8CC" + } + }, + "200": { + "id": "#tokensConfig/color/yellow/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/200/value", + "default": "#FEF5A4" + } + }, + "type": "object", + "default": { + "value": "#FEF5A4" + } + }, + "300": { + "id": "#tokensConfig/color/yellow/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/300/value", + "default": "#FFEF8A" + } + }, + "type": "object", + "default": { + "value": "#FFEF8A" + } + }, + "400": { + "id": "#tokensConfig/color/yellow/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/400/value", + "default": "#FFE53C" + } + }, + "type": "object", + "default": { + "value": "#FFE53C" + } + }, + "500": { + "id": "#tokensConfig/color/yellow/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/500/value", + "default": "#EECF00" + } + }, + "type": "object", + "default": { + "value": "#EECF00" + } + }, + "600": { + "id": "#tokensConfig/color/yellow/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/600/value", + "default": "#C2A905" + } + }, + "type": "object", + "default": { + "value": "#C2A905" + } + }, + "700": { + "id": "#tokensConfig/color/yellow/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/700/value", + "default": "#6B5D02" + } + }, + "type": "object", + "default": { + "value": "#6B5D02" + } + }, + "800": { + "id": "#tokensConfig/color/yellow/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/800/value", + "default": "#282300" + } + }, + "type": "object", + "default": { + "value": "#282300" + } + }, + "900": { + "id": "#tokensConfig/color/yellow/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/yellow/900/value", + "default": "#1A1700" + } + }, + "type": "object", + "default": { + "value": "#1A1700" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#FFFDEA" + }, + "100": { + "value": "#FFF8CC" + }, + "200": { + "value": "#FEF5A4" + }, + "300": { + "value": "#FFEF8A" + }, + "400": { + "value": "#FFE53C" + }, + "500": { + "value": "#EECF00" + }, + "600": { + "value": "#C2A905" + }, + "700": { + "value": "#6B5D02" + }, + "800": { + "value": "#282300" + }, + "900": { + "value": "#1A1700" + } + } + }, + "orange": { + "id": "#tokensConfig/color/orange", + "properties": { + "50": { + "id": "#tokensConfig/color/orange/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/50/value", + "default": "#ffe9d9" + } + }, + "type": "object", + "default": { + "value": "#ffe9d9" + } + }, + "100": { + "id": "#tokensConfig/color/orange/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/100/value", + "default": "#ffd3b3" + } + }, + "type": "object", + "default": { + "value": "#ffd3b3" + } + }, + "200": { + "id": "#tokensConfig/color/orange/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/200/value", + "default": "#ffbd8d" + } + }, + "type": "object", + "default": { + "value": "#ffbd8d" + } + }, + "300": { + "id": "#tokensConfig/color/orange/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/300/value", + "default": "#ffa666" + } + }, + "type": "object", + "default": { + "value": "#ffa666" + } + }, + "400": { + "id": "#tokensConfig/color/orange/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/400/value", + "default": "#ff9040" + } + }, + "type": "object", + "default": { + "value": "#ff9040" + } + }, + "500": { + "id": "#tokensConfig/color/orange/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/500/value", + "default": "#ff7a1a" + } + }, + "type": "object", + "default": { + "value": "#ff7a1a" + } + }, + "600": { + "id": "#tokensConfig/color/orange/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/600/value", + "default": "#e15e00" + } + }, + "type": "object", + "default": { + "value": "#e15e00" + } + }, + "700": { + "id": "#tokensConfig/color/orange/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/700/value", + "default": "#a94700" + } + }, + "type": "object", + "default": { + "value": "#a94700" + } + }, + "800": { + "id": "#tokensConfig/color/orange/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/800/value", + "default": "#702f00" + } + }, + "type": "object", + "default": { + "value": "#702f00" + } + }, + "900": { + "id": "#tokensConfig/color/orange/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/orange/900/value", + "default": "#381800" + } + }, + "type": "object", + "default": { + "value": "#381800" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d" + }, + "300": { + "value": "#ffa666" + }, + "400": { + "value": "#ff9040" + }, + "500": { + "value": "#ff7a1a" + }, + "600": { + "value": "#e15e00" + }, + "700": { + "value": "#a94700" + }, + "800": { + "value": "#702f00" + }, + "900": { + "value": "#381800" + } + } + }, + "red": { + "id": "#tokensConfig/color/red", + "properties": { + "50": { + "id": "#tokensConfig/color/red/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/50/value", + "default": "#FFF9F8" + } + }, + "type": "object", + "default": { + "value": "#FFF9F8" + } + }, + "100": { + "id": "#tokensConfig/color/red/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/100/value", + "default": "#FFF3F0" + } + }, + "type": "object", + "default": { + "value": "#FFF3F0" + } + }, + "200": { + "id": "#tokensConfig/color/red/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/200/value", + "default": "#FFDED7" + } + }, + "type": "object", + "default": { + "value": "#FFDED7" + } + }, + "300": { + "id": "#tokensConfig/color/red/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/300/value", + "default": "#FFA692" + } + }, + "type": "object", + "default": { + "value": "#FFA692" + } + }, + "400": { + "id": "#tokensConfig/color/red/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/400/value", + "default": "#FF7353" + } + }, + "type": "object", + "default": { + "value": "#FF7353" + } + }, + "500": { + "id": "#tokensConfig/color/red/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/500/value", + "default": "#FF3B10" + } + }, + "type": "object", + "default": { + "value": "#FF3B10" + } + }, + "600": { + "id": "#tokensConfig/color/red/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/600/value", + "default": "#BB2402" + } + }, + "type": "object", + "default": { + "value": "#BB2402" + } + }, + "700": { + "id": "#tokensConfig/color/red/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/700/value", + "default": "#701704" + } + }, + "type": "object", + "default": { + "value": "#701704" + } + }, + "800": { + "id": "#tokensConfig/color/red/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/800/value", + "default": "#340A01" + } + }, + "type": "object", + "default": { + "value": "#340A01" + } + }, + "900": { + "id": "#tokensConfig/color/red/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/red/900/value", + "default": "#1C0301" + } + }, + "type": "object", + "default": { + "value": "#1C0301" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0" + }, + "200": { + "value": "#FFDED7" + }, + "300": { + "value": "#FFA692" + }, + "400": { + "value": "#FF7353" + }, + "500": { + "value": "#FF3B10" + }, + "600": { + "value": "#BB2402" + }, + "700": { + "value": "#701704" + }, + "800": { + "value": "#340A01" + }, + "900": { + "value": "#1C0301" + } + } + }, + "pear": { + "id": "#tokensConfig/color/pear", + "properties": { + "50": { + "id": "#tokensConfig/color/pear/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/50/value", + "default": "#f7f8dc" + } + }, + "type": "object", + "default": { + "value": "#f7f8dc" + } + }, + "100": { + "id": "#tokensConfig/color/pear/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/100/value", + "default": "#eff0ba" + } + }, + "type": "object", + "default": { + "value": "#eff0ba" + } + }, + "200": { + "id": "#tokensConfig/color/pear/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/200/value", + "default": "#e8e997" + } + }, + "type": "object", + "default": { + "value": "#e8e997" + } + }, + "300": { + "id": "#tokensConfig/color/pear/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/300/value", + "default": "#e0e274" + } + }, + "type": "object", + "default": { + "value": "#e0e274" + } + }, + "400": { + "id": "#tokensConfig/color/pear/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/400/value", + "default": "#d8da52" + } + }, + "type": "object", + "default": { + "value": "#d8da52" + } + }, + "500": { + "id": "#tokensConfig/color/pear/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/500/value", + "default": "#d0d32f" + } + }, + "type": "object", + "default": { + "value": "#d0d32f" + } + }, + "600": { + "id": "#tokensConfig/color/pear/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/600/value", + "default": "#a8aa24" + } + }, + "type": "object", + "default": { + "value": "#a8aa24" + } + }, + "700": { + "id": "#tokensConfig/color/pear/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/700/value", + "default": "#7e801b" + } + }, + "type": "object", + "default": { + "value": "#7e801b" + } + }, + "800": { + "id": "#tokensConfig/color/pear/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/800/value", + "default": "#545512" + } + }, + "type": "object", + "default": { + "value": "#545512" + } + }, + "900": { + "id": "#tokensConfig/color/pear/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pear/900/value", + "default": "#2a2b09" + } + }, + "type": "object", + "default": { + "value": "#2a2b09" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#f7f8dc" + }, + "100": { + "value": "#eff0ba" + }, + "200": { + "value": "#e8e997" + }, + "300": { + "value": "#e0e274" + }, + "400": { + "value": "#d8da52" + }, + "500": { + "value": "#d0d32f" + }, + "600": { + "value": "#a8aa24" + }, + "700": { + "value": "#7e801b" + }, + "800": { + "value": "#545512" + }, + "900": { + "value": "#2a2b09" + } + } + }, + "teal": { + "id": "#tokensConfig/color/teal", + "properties": { + "50": { + "id": "#tokensConfig/color/teal/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/50/value", + "default": "#d7faf8" + } + }, + "type": "object", + "default": { + "value": "#d7faf8" + } + }, + "100": { + "id": "#tokensConfig/color/teal/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/100/value", + "default": "#aff4f0" + } + }, + "type": "object", + "default": { + "value": "#aff4f0" + } + }, + "200": { + "id": "#tokensConfig/color/teal/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/200/value", + "default": "#87efe9" + } + }, + "type": "object", + "default": { + "value": "#87efe9" + } + }, + "300": { + "id": "#tokensConfig/color/teal/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/300/value", + "default": "#5fe9e1" + } + }, + "type": "object", + "default": { + "value": "#5fe9e1" + } + }, + "400": { + "id": "#tokensConfig/color/teal/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/400/value", + "default": "#36e4da" + } + }, + "type": "object", + "default": { + "value": "#36e4da" + } + }, + "500": { + "id": "#tokensConfig/color/teal/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/500/value", + "default": "#1cd1c6" + } + }, + "type": "object", + "default": { + "value": "#1cd1c6" + } + }, + "600": { + "id": "#tokensConfig/color/teal/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/600/value", + "default": "#16a79e" + } + }, + "type": "object", + "default": { + "value": "#16a79e" + } + }, + "700": { + "id": "#tokensConfig/color/teal/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/700/value", + "default": "#117d77" + } + }, + "type": "object", + "default": { + "value": "#117d77" + } + }, + "800": { + "id": "#tokensConfig/color/teal/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/800/value", + "default": "#0b544f" + } + }, + "type": "object", + "default": { + "value": "#0b544f" + } + }, + "900": { + "id": "#tokensConfig/color/teal/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/teal/900/value", + "default": "#062a28" + } + }, + "type": "object", + "default": { + "value": "#062a28" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#d7faf8" + }, + "100": { + "value": "#aff4f0" + }, + "200": { + "value": "#87efe9" + }, + "300": { + "value": "#5fe9e1" + }, + "400": { + "value": "#36e4da" + }, + "500": { + "value": "#1cd1c6" + }, + "600": { + "value": "#16a79e" + }, + "700": { + "value": "#117d77" + }, + "800": { + "value": "#0b544f" + }, + "900": { + "value": "#062a28" + } + } + }, + "lightblue": { + "id": "#tokensConfig/color/lightblue", + "properties": { + "50": { + "id": "#tokensConfig/color/lightblue/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/50/value", + "default": "#d9f8ff" + } + }, + "type": "object", + "default": { + "value": "#d9f8ff" + } + }, + "100": { + "id": "#tokensConfig/color/lightblue/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/100/value", + "default": "#b3f1ff" + } + }, + "type": "object", + "default": { + "value": "#b3f1ff" + } + }, + "200": { + "id": "#tokensConfig/color/lightblue/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/200/value", + "default": "#8deaff" + } + }, + "type": "object", + "default": { + "value": "#8deaff" + } + }, + "300": { + "id": "#tokensConfig/color/lightblue/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/300/value", + "default": "#66e4ff" + } + }, + "type": "object", + "default": { + "value": "#66e4ff" + } + }, + "400": { + "id": "#tokensConfig/color/lightblue/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/400/value", + "default": "#40ddff" + } + }, + "type": "object", + "default": { + "value": "#40ddff" + } + }, + "500": { + "id": "#tokensConfig/color/lightblue/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/500/value", + "default": "#1ad6ff" + } + }, + "type": "object", + "default": { + "value": "#1ad6ff" + } + }, + "600": { + "id": "#tokensConfig/color/lightblue/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/600/value", + "default": "#00b9e1" + } + }, + "type": "object", + "default": { + "value": "#00b9e1" + } + }, + "700": { + "id": "#tokensConfig/color/lightblue/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/700/value", + "default": "#008aa9" + } + }, + "type": "object", + "default": { + "value": "#008aa9" + } + }, + "800": { + "id": "#tokensConfig/color/lightblue/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/800/value", + "default": "#005c70" + } + }, + "type": "object", + "default": { + "value": "#005c70" + } + }, + "900": { + "id": "#tokensConfig/color/lightblue/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/lightblue/900/value", + "default": "#002e38" + } + }, + "type": "object", + "default": { + "value": "#002e38" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff" + }, + "200": { + "value": "#8deaff" + }, + "300": { + "value": "#66e4ff" + }, + "400": { + "value": "#40ddff" + }, + "500": { + "value": "#1ad6ff" + }, + "600": { + "value": "#00b9e1" + }, + "700": { + "value": "#008aa9" + }, + "800": { + "value": "#005c70" + }, + "900": { + "value": "#002e38" + } + } + }, + "blue": { + "id": "#tokensConfig/color/blue", + "properties": { + "50": { + "id": "#tokensConfig/color/blue/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/50/value", + "default": "#F2FAFF" + } + }, + "type": "object", + "default": { + "value": "#F2FAFF" + } + }, + "100": { + "id": "#tokensConfig/color/blue/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/100/value", + "default": "#DFF3FF" + } + }, + "type": "object", + "default": { + "value": "#DFF3FF" + } + }, + "200": { + "id": "#tokensConfig/color/blue/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/200/value", + "default": "#C6EAFF" + } + }, + "type": "object", + "default": { + "value": "#C6EAFF" + } + }, + "300": { + "id": "#tokensConfig/color/blue/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/300/value", + "default": "#A1DDFF" + } + }, + "type": "object", + "default": { + "value": "#A1DDFF" + } + }, + "400": { + "id": "#tokensConfig/color/blue/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/400/value", + "default": "#64C7FF" + } + }, + "type": "object", + "default": { + "value": "#64C7FF" + } + }, + "500": { + "id": "#tokensConfig/color/blue/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/500/value", + "default": "#1AADFF" + } + }, + "type": "object", + "default": { + "value": "#1AADFF" + } + }, + "600": { + "id": "#tokensConfig/color/blue/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/600/value", + "default": "#0069A6" + } + }, + "type": "object", + "default": { + "value": "#0069A6" + } + }, + "700": { + "id": "#tokensConfig/color/blue/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/700/value", + "default": "#003351" + } + }, + "type": "object", + "default": { + "value": "#003351" + } + }, + "800": { + "id": "#tokensConfig/color/blue/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/800/value", + "default": "#002235" + } + }, + "type": "object", + "default": { + "value": "#002235" + } + }, + "900": { + "id": "#tokensConfig/color/blue/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/blue/900/value", + "default": "#00131D" + } + }, + "type": "object", + "default": { + "value": "#00131D" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF" + }, + "400": { + "value": "#64C7FF" + }, + "500": { + "value": "#1AADFF" + }, + "600": { + "value": "#0069A6" + }, + "700": { + "value": "#003351" + }, + "800": { + "value": "#002235" + }, + "900": { + "value": "#00131D" + } + } + }, + "indigoblue": { + "id": "#tokensConfig/color/indigoblue", + "properties": { + "50": { + "id": "#tokensConfig/color/indigoblue/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/50/value", + "default": "#d9e5ff" + } + }, + "type": "object", + "default": { + "value": "#d9e5ff" + } + }, + "100": { + "id": "#tokensConfig/color/indigoblue/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/100/value", + "default": "#b3cbff" + } + }, + "type": "object", + "default": { + "value": "#b3cbff" + } + }, + "200": { + "id": "#tokensConfig/color/indigoblue/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/200/value", + "default": "#8db0ff" + } + }, + "type": "object", + "default": { + "value": "#8db0ff" + } + }, + "300": { + "id": "#tokensConfig/color/indigoblue/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/300/value", + "default": "#6696ff" + } + }, + "type": "object", + "default": { + "value": "#6696ff" + } + }, + "400": { + "id": "#tokensConfig/color/indigoblue/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/400/value", + "default": "#407cff" + } + }, + "type": "object", + "default": { + "value": "#407cff" + } + }, + "500": { + "id": "#tokensConfig/color/indigoblue/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/500/value", + "default": "#1a62ff" + } + }, + "type": "object", + "default": { + "value": "#1a62ff" + } + }, + "600": { + "id": "#tokensConfig/color/indigoblue/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/600/value", + "default": "#0047e1" + } + }, + "type": "object", + "default": { + "value": "#0047e1" + } + }, + "700": { + "id": "#tokensConfig/color/indigoblue/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/700/value", + "default": "#0035a9" + } + }, + "type": "object", + "default": { + "value": "#0035a9" + } + }, + "800": { + "id": "#tokensConfig/color/indigoblue/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/800/value", + "default": "#002370" + } + }, + "type": "object", + "default": { + "value": "#002370" + } + }, + "900": { + "id": "#tokensConfig/color/indigoblue/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/indigoblue/900/value", + "default": "#001238" + } + }, + "type": "object", + "default": { + "value": "#001238" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#d9e5ff" + }, + "100": { + "value": "#b3cbff" + }, + "200": { + "value": "#8db0ff" + }, + "300": { + "value": "#6696ff" + }, + "400": { + "value": "#407cff" + }, + "500": { + "value": "#1a62ff" + }, + "600": { + "value": "#0047e1" + }, + "700": { + "value": "#0035a9" + }, + "800": { + "value": "#002370" + }, + "900": { + "value": "#001238" + } + } + }, + "royalblue": { + "id": "#tokensConfig/color/royalblue", + "properties": { + "50": { + "id": "#tokensConfig/color/royalblue/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/50/value", + "default": "#dfdbfb" + } + }, + "type": "object", + "default": { + "value": "#dfdbfb" + } + }, + "100": { + "id": "#tokensConfig/color/royalblue/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/100/value", + "default": "#c0b7f7" + } + }, + "type": "object", + "default": { + "value": "#c0b7f7" + } + }, + "200": { + "id": "#tokensConfig/color/royalblue/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/200/value", + "default": "#a093f3" + } + }, + "type": "object", + "default": { + "value": "#a093f3" + } + }, + "300": { + "id": "#tokensConfig/color/royalblue/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/300/value", + "default": "#806ff0" + } + }, + "type": "object", + "default": { + "value": "#806ff0" + } + }, + "400": { + "id": "#tokensConfig/color/royalblue/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/400/value", + "default": "#614bec" + } + }, + "type": "object", + "default": { + "value": "#614bec" + } + }, + "500": { + "id": "#tokensConfig/color/royalblue/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/500/value", + "default": "#4127e8" + } + }, + "type": "object", + "default": { + "value": "#4127e8" + } + }, + "600": { + "id": "#tokensConfig/color/royalblue/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/600/value", + "default": "#2c15c4" + } + }, + "type": "object", + "default": { + "value": "#2c15c4" + } + }, + "700": { + "id": "#tokensConfig/color/royalblue/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/700/value", + "default": "#211093" + } + }, + "type": "object", + "default": { + "value": "#211093" + } + }, + "800": { + "id": "#tokensConfig/color/royalblue/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/800/value", + "default": "#160a62" + } + }, + "type": "object", + "default": { + "value": "#160a62" + } + }, + "900": { + "id": "#tokensConfig/color/royalblue/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/royalblue/900/value", + "default": "#0b0531" + } + }, + "type": "object", + "default": { + "value": "#0b0531" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7" + }, + "200": { + "value": "#a093f3" + }, + "300": { + "value": "#806ff0" + }, + "400": { + "value": "#614bec" + }, + "500": { + "value": "#4127e8" + }, + "600": { + "value": "#2c15c4" + }, + "700": { + "value": "#211093" + }, + "800": { + "value": "#160a62" + }, + "900": { + "value": "#0b0531" + } + } + }, + "purple": { + "id": "#tokensConfig/color/purple", + "properties": { + "50": { + "id": "#tokensConfig/color/purple/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/50/value", + "default": "#ead9ff" + } + }, + "type": "object", + "default": { + "value": "#ead9ff" + } + }, + "100": { + "id": "#tokensConfig/color/purple/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/100/value", + "default": "#d5b3ff" + } + }, + "type": "object", + "default": { + "value": "#d5b3ff" + } + }, + "200": { + "id": "#tokensConfig/color/purple/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/200/value", + "default": "#c08dff" + } + }, + "type": "object", + "default": { + "value": "#c08dff" + } + }, + "300": { + "id": "#tokensConfig/color/purple/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/300/value", + "default": "#ab66ff" + } + }, + "type": "object", + "default": { + "value": "#ab66ff" + } + }, + "400": { + "id": "#tokensConfig/color/purple/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/400/value", + "default": "#9640ff" + } + }, + "type": "object", + "default": { + "value": "#9640ff" + } + }, + "500": { + "id": "#tokensConfig/color/purple/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/500/value", + "default": "#811aff" + } + }, + "type": "object", + "default": { + "value": "#811aff" + } + }, + "600": { + "id": "#tokensConfig/color/purple/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/600/value", + "default": "#6500e1" + } + }, + "type": "object", + "default": { + "value": "#6500e1" + } + }, + "700": { + "id": "#tokensConfig/color/purple/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/700/value", + "default": "#4c00a9" + } + }, + "type": "object", + "default": { + "value": "#4c00a9" + } + }, + "800": { + "id": "#tokensConfig/color/purple/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/800/value", + "default": "#330070" + } + }, + "type": "object", + "default": { + "value": "#330070" + } + }, + "900": { + "id": "#tokensConfig/color/purple/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/purple/900/value", + "default": "#190038" + } + }, + "type": "object", + "default": { + "value": "#190038" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ead9ff" + }, + "100": { + "value": "#d5b3ff" + }, + "200": { + "value": "#c08dff" + }, + "300": { + "value": "#ab66ff" + }, + "400": { + "value": "#9640ff" + }, + "500": { + "value": "#811aff" + }, + "600": { + "value": "#6500e1" + }, + "700": { + "value": "#4c00a9" + }, + "800": { + "value": "#330070" + }, + "900": { + "value": "#190038" + } + } + }, + "pink": { + "id": "#tokensConfig/color/pink", + "properties": { + "50": { + "id": "#tokensConfig/color/pink/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/50/value", + "default": "#ffd9f2" + } + }, + "type": "object", + "default": { + "value": "#ffd9f2" + } + }, + "100": { + "id": "#tokensConfig/color/pink/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/100/value", + "default": "#ffb3e5" + } + }, + "type": "object", + "default": { + "value": "#ffb3e5" + } + }, + "200": { + "id": "#tokensConfig/color/pink/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/200/value", + "default": "#ff8dd8" + } + }, + "type": "object", + "default": { + "value": "#ff8dd8" + } + }, + "300": { + "id": "#tokensConfig/color/pink/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/300/value", + "default": "#ff66cc" + } + }, + "type": "object", + "default": { + "value": "#ff66cc" + } + }, + "400": { + "id": "#tokensConfig/color/pink/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/400/value", + "default": "#ff40bf" + } + }, + "type": "object", + "default": { + "value": "#ff40bf" + } + }, + "500": { + "id": "#tokensConfig/color/pink/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/500/value", + "default": "#ff1ab2" + } + }, + "type": "object", + "default": { + "value": "#ff1ab2" + } + }, + "600": { + "id": "#tokensConfig/color/pink/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/600/value", + "default": "#e10095" + } + }, + "type": "object", + "default": { + "value": "#e10095" + } + }, + "700": { + "id": "#tokensConfig/color/pink/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/700/value", + "default": "#a90070" + } + }, + "type": "object", + "default": { + "value": "#a90070" + } + }, + "800": { + "id": "#tokensConfig/color/pink/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/800/value", + "default": "#70004b" + } + }, + "type": "object", + "default": { + "value": "#70004b" + } + }, + "900": { + "id": "#tokensConfig/color/pink/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/pink/900/value", + "default": "#380025" + } + }, + "type": "object", + "default": { + "value": "#380025" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8" + }, + "300": { + "value": "#ff66cc" + }, + "400": { + "value": "#ff40bf" + }, + "500": { + "value": "#ff1ab2" + }, + "600": { + "value": "#e10095" + }, + "700": { + "value": "#a90070" + }, + "800": { + "value": "#70004b" + }, + "900": { + "value": "#380025" + } + } + }, + "ruby": { + "id": "#tokensConfig/color/ruby", + "properties": { + "50": { + "id": "#tokensConfig/color/ruby/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/50/value", + "default": "#ffd9e4" + } + }, + "type": "object", + "default": { + "value": "#ffd9e4" + } + }, + "100": { + "id": "#tokensConfig/color/ruby/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/100/value", + "default": "#ffb3c9" + } + }, + "type": "object", + "default": { + "value": "#ffb3c9" + } + }, + "200": { + "id": "#tokensConfig/color/ruby/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/200/value", + "default": "#ff8dae" + } + }, + "type": "object", + "default": { + "value": "#ff8dae" + } + }, + "300": { + "id": "#tokensConfig/color/ruby/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/300/value", + "default": "#ff6694" + } + }, + "type": "object", + "default": { + "value": "#ff6694" + } + }, + "400": { + "id": "#tokensConfig/color/ruby/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/400/value", + "default": "#ff4079" + } + }, + "type": "object", + "default": { + "value": "#ff4079" + } + }, + "500": { + "id": "#tokensConfig/color/ruby/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/500/value", + "default": "#ff1a5e" + } + }, + "type": "object", + "default": { + "value": "#ff1a5e" + } + }, + "600": { + "id": "#tokensConfig/color/ruby/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/600/value", + "default": "#e10043" + } + }, + "type": "object", + "default": { + "value": "#e10043" + } + }, + "700": { + "id": "#tokensConfig/color/ruby/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/700/value", + "default": "#a90032" + } + }, + "type": "object", + "default": { + "value": "#a90032" + } + }, + "800": { + "id": "#tokensConfig/color/ruby/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/800/value", + "default": "#700021" + } + }, + "type": "object", + "default": { + "value": "#700021" + } + }, + "900": { + "id": "#tokensConfig/color/ruby/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/ruby/900/value", + "default": "#380011" + } + }, + "type": "object", + "default": { + "value": "#380011" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9" + }, + "200": { + "value": "#ff8dae" + }, + "300": { + "value": "#ff6694" + }, + "400": { + "value": "#ff4079" + }, + "500": { + "value": "#ff1a5e" + }, + "600": { + "value": "#e10043" + }, + "700": { + "value": "#a90032" + }, + "800": { + "value": "#700021" + }, + "900": { + "value": "#380011" + } + } + }, + "primary": { + "id": "#tokensConfig/color/primary", + "properties": { + "50": { + "id": "#tokensConfig/color/primary/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/50/value", + "default": "#fff2cc" + } + }, + "type": "object", + "default": { + "value": "#fff2cc" + } + }, + "100": { + "id": "#tokensConfig/color/primary/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/100/value", + "default": "#ffe599" + } + }, + "type": "object", + "default": { + "value": "#ffe599" + } + }, + "200": { + "id": "#tokensConfig/color/primary/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/200/value", + "default": "#ffd966" + } + }, + "type": "object", + "default": { + "value": "#ffd966" + } + }, + "300": { + "id": "#tokensConfig/color/primary/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/300/value", + "default": "#f1c232" + } + }, + "type": "object", + "default": { + "value": "#f1c232" + } + }, + "400": { + "id": "#tokensConfig/color/primary/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/400/value", + "default": "#f1c232" + } + }, + "type": "object", + "default": { + "value": "#f1c232" + } + }, + "500": { + "id": "#tokensConfig/color/primary/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/500/value", + "default": "#f1c232" + } + }, + "type": "object", + "default": { + "value": "#f1c232" + } + }, + "600": { + "id": "#tokensConfig/color/primary/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/600/value", + "default": "#f1c232" + } + }, + "type": "object", + "default": { + "value": "#f1c232" + } + }, + "700": { + "id": "#tokensConfig/color/primary/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/700/value", + "default": "#f1c232" + } + }, + "type": "object", + "default": { + "value": "#f1c232" + } + }, + "800": { + "id": "#tokensConfig/color/primary/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/800/value", + "default": "#f1c232" + } + }, + "type": "object", + "default": { + "value": "#f1c232" + } + }, + "900": { + "id": "#tokensConfig/color/primary/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/primary/900/value", + "default": "#f1c232" + } + }, + "type": "object", + "default": { + "value": "#f1c232" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "#fff2cc" + }, + "100": { + "value": "#ffe599" + }, + "200": { + "value": "#ffd966" + }, + "300": { + "value": "#f1c232" + }, + "400": { + "value": "#f1c232" + }, + "500": { + "value": "#f1c232" + }, + "600": { + "value": "#f1c232" + }, + "700": { + "value": "#f1c232" + }, + "800": { + "value": "#f1c232" + }, + "900": { + "value": "#f1c232" + } + } + }, + "secondary": { + "id": "#tokensConfig/color/secondary", + "properties": { + "50": { + "id": "#tokensConfig/color/secondary/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/50/value", + "default": "{color.gray.50}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.50}" + } + }, + "100": { + "id": "#tokensConfig/color/secondary/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/100/value", + "default": "{color.gray.100}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.100}" + } + }, + "200": { + "id": "#tokensConfig/color/secondary/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/200/value", + "default": "{color.gray.200}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.200}" + } + }, + "300": { + "id": "#tokensConfig/color/secondary/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/300/value", + "default": "{color.gray.300}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.300}" + } + }, + "400": { + "id": "#tokensConfig/color/secondary/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/400/value", + "default": "{color.gray.400}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.400}" + } + }, + "500": { + "id": "#tokensConfig/color/secondary/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/500/value", + "default": "{color.gray.500}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.500}" + } + }, + "600": { + "id": "#tokensConfig/color/secondary/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/600/value", + "default": "{color.gray.600}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.600}" + } + }, + "700": { + "id": "#tokensConfig/color/secondary/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/700/value", + "default": "{color.gray.700}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.700}" + } + }, + "800": { + "id": "#tokensConfig/color/secondary/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/800/value", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.800}" + } + }, + "900": { + "id": "#tokensConfig/color/secondary/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/color/secondary/900/value", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + }, + "type": "object", + "default": { + "white": { + "value": "#ffffff" + }, + "black": { + "value": "#0B0A0A" + }, + "gray": { + "50": { + "value": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4" + }, + "500": { + "value": "#97948F" + }, + "600": { + "value": "#67635D" + }, + "700": { + "value": "#36332E" + }, + "800": { + "value": "#201E1B" + }, + "900": { + "value": "#121110" + } + }, + "green": { + "50": { + "value": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6" + }, + "300": { + "value": "#86FBCB" + }, + "400": { + "value": "#3CEEA5" + }, + "500": { + "value": "#0DD885" + }, + "600": { + "value": "#00B467" + }, + "700": { + "value": "#006037" + }, + "800": { + "value": "#002817" + }, + "900": { + "value": "#00190F" + } + }, + "yellow": { + "50": { + "value": "#FFFDEA" + }, + "100": { + "value": "#FFF8CC" + }, + "200": { + "value": "#FEF5A4" + }, + "300": { + "value": "#FFEF8A" + }, + "400": { + "value": "#FFE53C" + }, + "500": { + "value": "#EECF00" + }, + "600": { + "value": "#C2A905" + }, + "700": { + "value": "#6B5D02" + }, + "800": { + "value": "#282300" + }, + "900": { + "value": "#1A1700" + } + }, + "orange": { + "50": { + "value": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d" + }, + "300": { + "value": "#ffa666" + }, + "400": { + "value": "#ff9040" + }, + "500": { + "value": "#ff7a1a" + }, + "600": { + "value": "#e15e00" + }, + "700": { + "value": "#a94700" + }, + "800": { + "value": "#702f00" + }, + "900": { + "value": "#381800" + } + }, + "red": { + "50": { + "value": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0" + }, + "200": { + "value": "#FFDED7" + }, + "300": { + "value": "#FFA692" + }, + "400": { + "value": "#FF7353" + }, + "500": { + "value": "#FF3B10" + }, + "600": { + "value": "#BB2402" + }, + "700": { + "value": "#701704" + }, + "800": { + "value": "#340A01" + }, + "900": { + "value": "#1C0301" + } + }, + "pear": { + "50": { + "value": "#f7f8dc" + }, + "100": { + "value": "#eff0ba" + }, + "200": { + "value": "#e8e997" + }, + "300": { + "value": "#e0e274" + }, + "400": { + "value": "#d8da52" + }, + "500": { + "value": "#d0d32f" + }, + "600": { + "value": "#a8aa24" + }, + "700": { + "value": "#7e801b" + }, + "800": { + "value": "#545512" + }, + "900": { + "value": "#2a2b09" + } + }, + "teal": { + "50": { + "value": "#d7faf8" + }, + "100": { + "value": "#aff4f0" + }, + "200": { + "value": "#87efe9" + }, + "300": { + "value": "#5fe9e1" + }, + "400": { + "value": "#36e4da" + }, + "500": { + "value": "#1cd1c6" + }, + "600": { + "value": "#16a79e" + }, + "700": { + "value": "#117d77" + }, + "800": { + "value": "#0b544f" + }, + "900": { + "value": "#062a28" + } + }, + "lightblue": { + "50": { + "value": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff" + }, + "200": { + "value": "#8deaff" + }, + "300": { + "value": "#66e4ff" + }, + "400": { + "value": "#40ddff" + }, + "500": { + "value": "#1ad6ff" + }, + "600": { + "value": "#00b9e1" + }, + "700": { + "value": "#008aa9" + }, + "800": { + "value": "#005c70" + }, + "900": { + "value": "#002e38" + } + }, + "blue": { + "50": { + "value": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF" + }, + "400": { + "value": "#64C7FF" + }, + "500": { + "value": "#1AADFF" + }, + "600": { + "value": "#0069A6" + }, + "700": { + "value": "#003351" + }, + "800": { + "value": "#002235" + }, + "900": { + "value": "#00131D" + } + }, + "indigoblue": { + "50": { + "value": "#d9e5ff" + }, + "100": { + "value": "#b3cbff" + }, + "200": { + "value": "#8db0ff" + }, + "300": { + "value": "#6696ff" + }, + "400": { + "value": "#407cff" + }, + "500": { + "value": "#1a62ff" + }, + "600": { + "value": "#0047e1" + }, + "700": { + "value": "#0035a9" + }, + "800": { + "value": "#002370" + }, + "900": { + "value": "#001238" + } + }, + "royalblue": { + "50": { + "value": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7" + }, + "200": { + "value": "#a093f3" + }, + "300": { + "value": "#806ff0" + }, + "400": { + "value": "#614bec" + }, + "500": { + "value": "#4127e8" + }, + "600": { + "value": "#2c15c4" + }, + "700": { + "value": "#211093" + }, + "800": { + "value": "#160a62" + }, + "900": { + "value": "#0b0531" + } + }, + "purple": { + "50": { + "value": "#ead9ff" + }, + "100": { + "value": "#d5b3ff" + }, + "200": { + "value": "#c08dff" + }, + "300": { + "value": "#ab66ff" + }, + "400": { + "value": "#9640ff" + }, + "500": { + "value": "#811aff" + }, + "600": { + "value": "#6500e1" + }, + "700": { + "value": "#4c00a9" + }, + "800": { + "value": "#330070" + }, + "900": { + "value": "#190038" + } + }, + "pink": { + "50": { + "value": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8" + }, + "300": { + "value": "#ff66cc" + }, + "400": { + "value": "#ff40bf" + }, + "500": { + "value": "#ff1ab2" + }, + "600": { + "value": "#e10095" + }, + "700": { + "value": "#a90070" + }, + "800": { + "value": "#70004b" + }, + "900": { + "value": "#380025" + } + }, + "ruby": { + "50": { + "value": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9" + }, + "200": { + "value": "#ff8dae" + }, + "300": { + "value": "#ff6694" + }, + "400": { + "value": "#ff4079" + }, + "500": { + "value": "#ff1a5e" + }, + "600": { + "value": "#e10043" + }, + "700": { + "value": "#a90032" + }, + "800": { + "value": "#700021" + }, + "900": { + "value": "#380011" + } + }, + "primary": { + "50": { + "value": "#fff2cc" + }, + "100": { + "value": "#ffe599" + }, + "200": { + "value": "#ffd966" + }, + "300": { + "value": "#f1c232" + }, + "400": { + "value": "#f1c232" + }, + "500": { + "value": "#f1c232" + }, + "600": { + "value": "#f1c232" + }, + "700": { + "value": "#f1c232" + }, + "800": { + "value": "#f1c232" + }, + "900": { + "value": "#f1c232" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + }, + "width": { + "title": "Your website screen sizings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon ph:ruler" + ], + "id": "#tokensConfig/width", + "properties": { + "screen": { + "id": "#tokensConfig/width/screen", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/width/screen/value", + "default": "100vw" + } + }, + "type": "object", + "default": { + "value": "100vw" + } + } + }, + "type": "object", + "default": { + "screen": { + "value": "100vw" + } + } + }, + "height": { + "title": "Your website screen sizings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon ph:ruler" + ], + "id": "#tokensConfig/height", + "properties": { + "screen": { + "id": "#tokensConfig/height/screen", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/height/screen/value", + "default": "100vh" + } + }, + "type": "object", + "default": { + "value": "100vh" + } + } + }, + "type": "object", + "default": { + "screen": { + "value": "100vh" + } + } + }, + "shadow": { + "title": "Your website shadows.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType shadow", + "@studioIcon mdi:box-shadow" + ], + "id": "#tokensConfig/shadow", + "properties": { + "xs": { + "id": "#tokensConfig/shadow/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/xs/value", + "default": "0px 1px 2px 0px #000000" + } + }, + "type": "object", + "default": { + "value": "0px 1px 2px 0px #000000" + } + }, + "sm": { + "id": "#tokensConfig/shadow/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/sm/value", + "default": "0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000" + } + }, + "type": "object", + "default": { + "value": "0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000" + } + }, + "md": { + "id": "#tokensConfig/shadow/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/md/value", + "default": "0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000" + } + }, + "type": "object", + "default": { + "value": "0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000" + } + }, + "lg": { + "id": "#tokensConfig/shadow/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/lg/value", + "default": "0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000" + } + }, + "type": "object", + "default": { + "value": "0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000" + } + }, + "xl": { + "id": "#tokensConfig/shadow/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/xl/value", + "default": "0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000" + } + }, + "type": "object", + "default": { + "value": "0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000" + } + }, + "2xl": { + "id": "#tokensConfig/shadow/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/2xl/value", + "default": "0px 25px 50px -12px {color.gray.900}" + } + }, + "type": "object", + "default": { + "value": "0px 25px 50px -12px {color.gray.900}" + } + }, + "none": { + "id": "#tokensConfig/shadow/none", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/shadow/none/value", + "default": "0px 0px 0px 0px transparent" + } + }, + "type": "object", + "default": { + "value": "0px 0px 0px 0px transparent" + } + } + }, + "type": "object", + "default": { + "xs": { + "value": "0px 1px 2px 0px #000000" + }, + "sm": { + "value": "0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000" + }, + "md": { + "value": "0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000" + }, + "lg": { + "value": "0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000" + }, + "xl": { + "value": "0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000" + }, + "2xl": { + "value": "0px 25px 50px -12px {color.gray.900}" + }, + "none": { + "value": "0px 0px 0px 0px transparent" + } + } + }, + "radii": { + "title": "Your website border radiuses.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:rounded-corner", + "@studioInpuTokenType size" + ], + "id": "#tokensConfig/radii", + "properties": { + "none": { + "id": "#tokensConfig/radii/none", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/none/value", + "default": "0px" + } + }, + "type": "object", + "default": { + "value": "0px" + } + }, + "2xs": { + "id": "#tokensConfig/radii/2xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/2xs/value", + "default": "0.125rem" + } + }, + "type": "object", + "default": { + "value": "0.125rem" + } + }, + "xs": { + "id": "#tokensConfig/radii/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/xs/value", + "default": "0.25rem" + } + }, + "type": "object", + "default": { + "value": "0.25rem" + } + }, + "sm": { + "id": "#tokensConfig/radii/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/sm/value", + "default": "0.375rem" + } + }, + "type": "object", + "default": { + "value": "0.375rem" + } + }, + "md": { + "id": "#tokensConfig/radii/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/md/value", + "default": "0.5rem" + } + }, + "type": "object", + "default": { + "value": "0.5rem" + } + }, + "lg": { + "id": "#tokensConfig/radii/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/lg/value", + "default": "0.75rem" + } + }, + "type": "object", + "default": { + "value": "0.75rem" + } + }, + "xl": { + "id": "#tokensConfig/radii/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/xl/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "2xl": { + "id": "#tokensConfig/radii/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/2xl/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "3xl": { + "id": "#tokensConfig/radii/3xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/3xl/value", + "default": "1.75rem" + } + }, + "type": "object", + "default": { + "value": "1.75rem" + } + }, + "full": { + "id": "#tokensConfig/radii/full", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/radii/full/value", + "default": "9999px" + } + }, + "type": "object", + "default": { + "value": "9999px" + } + } + }, + "type": "object", + "default": { + "none": { + "value": "0px" + }, + "2xs": { + "value": "0.125rem" + }, + "xs": { + "value": "0.25rem" + }, + "sm": { + "value": "0.375rem" + }, + "md": { + "value": "0.5rem" + }, + "lg": { + "value": "0.75rem" + }, + "xl": { + "value": "1rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.75rem" + }, + "full": { + "value": "9999px" + } + } + }, + "size": { + "title": "Your website sizings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon ph:ruler" + ], + "id": "#tokensConfig/size", + "properties": { + "0": { + "id": "#tokensConfig/size/0", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/0/value", + "default": "0px" + } + }, + "type": "object", + "default": { + "value": "0px" + } + }, + "2": { + "id": "#tokensConfig/size/2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/2/value", + "default": "2px" + } + }, + "type": "object", + "default": { + "value": "2px" + } + }, + "4": { + "id": "#tokensConfig/size/4", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/4/value", + "default": "4px" + } + }, + "type": "object", + "default": { + "value": "4px" + } + }, + "6": { + "id": "#tokensConfig/size/6", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/6/value", + "default": "6px" + } + }, + "type": "object", + "default": { + "value": "6px" + } + }, + "8": { + "id": "#tokensConfig/size/8", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/8/value", + "default": "8px" + } + }, + "type": "object", + "default": { + "value": "8px" + } + }, + "12": { + "id": "#tokensConfig/size/12", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/12/value", + "default": "12px" + } + }, + "type": "object", + "default": { + "value": "12px" + } + }, + "16": { + "id": "#tokensConfig/size/16", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/16/value", + "default": "16px" + } + }, + "type": "object", + "default": { + "value": "16px" + } + }, + "20": { + "id": "#tokensConfig/size/20", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/20/value", + "default": "20px" + } + }, + "type": "object", + "default": { + "value": "20px" + } + }, + "24": { + "id": "#tokensConfig/size/24", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/24/value", + "default": "24px" + } + }, + "type": "object", + "default": { + "value": "24px" + } + }, + "32": { + "id": "#tokensConfig/size/32", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/32/value", + "default": "32px" + } + }, + "type": "object", + "default": { + "value": "32px" + } + }, + "40": { + "id": "#tokensConfig/size/40", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/40/value", + "default": "40px" + } + }, + "type": "object", + "default": { + "value": "40px" + } + }, + "48": { + "id": "#tokensConfig/size/48", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/48/value", + "default": "48px" + } + }, + "type": "object", + "default": { + "value": "48px" + } + }, + "56": { + "id": "#tokensConfig/size/56", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/56/value", + "default": "56px" + } + }, + "type": "object", + "default": { + "value": "56px" + } + }, + "64": { + "id": "#tokensConfig/size/64", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/64/value", + "default": "64px" + } + }, + "type": "object", + "default": { + "value": "64px" + } + }, + "80": { + "id": "#tokensConfig/size/80", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/80/value", + "default": "80px" + } + }, + "type": "object", + "default": { + "value": "80px" + } + }, + "104": { + "id": "#tokensConfig/size/104", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/104/value", + "default": "104px" + } + }, + "type": "object", + "default": { + "value": "104px" + } + }, + "200": { + "id": "#tokensConfig/size/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/200/value", + "default": "200px" + } + }, + "type": "object", + "default": { + "value": "200px" + } + }, + "xs": { + "id": "#tokensConfig/size/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/xs/value", + "default": "20rem" + } + }, + "type": "object", + "default": { + "value": "20rem" + } + }, + "sm": { + "id": "#tokensConfig/size/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/sm/value", + "default": "24rem" + } + }, + "type": "object", + "default": { + "value": "24rem" + } + }, + "md": { + "id": "#tokensConfig/size/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/md/value", + "default": "28rem" + } + }, + "type": "object", + "default": { + "value": "28rem" + } + }, + "lg": { + "id": "#tokensConfig/size/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/lg/value", + "default": "32rem" + } + }, + "type": "object", + "default": { + "value": "32rem" + } + }, + "xl": { + "id": "#tokensConfig/size/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/xl/value", + "default": "36rem" + } + }, + "type": "object", + "default": { + "value": "36rem" + } + }, + "2xl": { + "id": "#tokensConfig/size/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/2xl/value", + "default": "42rem" + } + }, + "type": "object", + "default": { + "value": "42rem" + } + }, + "3xl": { + "id": "#tokensConfig/size/3xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/3xl/value", + "default": "48rem" + } + }, + "type": "object", + "default": { + "value": "48rem" + } + }, + "4xl": { + "id": "#tokensConfig/size/4xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/4xl/value", + "default": "56rem" + } + }, + "type": "object", + "default": { + "value": "56rem" + } + }, + "5xl": { + "id": "#tokensConfig/size/5xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/5xl/value", + "default": "64rem" + } + }, + "type": "object", + "default": { + "value": "64rem" + } + }, + "6xl": { + "id": "#tokensConfig/size/6xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/6xl/value", + "default": "72rem" + } + }, + "type": "object", + "default": { + "value": "72rem" + } + }, + "7xl": { + "id": "#tokensConfig/size/7xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/7xl/value", + "default": "80rem" + } + }, + "type": "object", + "default": { + "value": "80rem" + } + }, + "full": { + "id": "#tokensConfig/size/full", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/size/full/value", + "default": "100%" + } + }, + "type": "object", + "default": { + "value": "100%" + } + } + }, + "type": "object", + "default": { + "0": { + "value": "0px" + }, + "2": { + "value": "2px" + }, + "4": { + "value": "4px" + }, + "6": { + "value": "6px" + }, + "8": { + "value": "8px" + }, + "12": { + "value": "12px" + }, + "16": { + "value": "16px" + }, + "20": { + "value": "20px" + }, + "24": { + "value": "24px" + }, + "32": { + "value": "32px" + }, + "40": { + "value": "40px" + }, + "48": { + "value": "48px" + }, + "56": { + "value": "56px" + }, + "64": { + "value": "64px" + }, + "80": { + "value": "80px" + }, + "104": { + "value": "104px" + }, + "200": { + "value": "200px" + }, + "xs": { + "value": "20rem" + }, + "sm": { + "value": "24rem" + }, + "md": { + "value": "28rem" + }, + "lg": { + "value": "32rem" + }, + "xl": { + "value": "36rem" + }, + "2xl": { + "value": "42rem" + }, + "3xl": { + "value": "48rem" + }, + "4xl": { + "value": "56rem" + }, + "5xl": { + "value": "64rem" + }, + "6xl": { + "value": "72rem" + }, + "7xl": { + "value": "80rem" + }, + "full": { + "value": "100%" + } + } + }, + "space": { + "title": "Your website spacings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon ph:ruler" + ], + "id": "#tokensConfig/space", + "properties": { + "0": { + "id": "#tokensConfig/space/0", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/0/value", + "default": "0px" + } + }, + "type": "object", + "default": { + "value": "0px" + } + }, + "1": { + "id": "#tokensConfig/space/1", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/1/value", + "default": "0.25rem" + } + }, + "type": "object", + "default": { + "value": "0.25rem" + } + }, + "2": { + "id": "#tokensConfig/space/2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/2/value", + "default": "0.5rem" + } + }, + "type": "object", + "default": { + "value": "0.5rem" + } + }, + "3": { + "id": "#tokensConfig/space/3", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/3/value", + "default": "0.75rem" + } + }, + "type": "object", + "default": { + "value": "0.75rem" + } + }, + "4": { + "id": "#tokensConfig/space/4", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/4/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "5": { + "id": "#tokensConfig/space/5", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/5/value", + "default": "1.25rem" + } + }, + "type": "object", + "default": { + "value": "1.25rem" + } + }, + "6": { + "id": "#tokensConfig/space/6", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/6/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "7": { + "id": "#tokensConfig/space/7", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/7/value", + "default": "1.75rem" + } + }, + "type": "object", + "default": { + "value": "1.75rem" + } + }, + "8": { + "id": "#tokensConfig/space/8", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/8/value", + "default": "2rem" + } + }, + "type": "object", + "default": { + "value": "2rem" + } + }, + "9": { + "id": "#tokensConfig/space/9", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/9/value", + "default": "2.25rem" + } + }, + "type": "object", + "default": { + "value": "2.25rem" + } + }, + "10": { + "id": "#tokensConfig/space/10", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/10/value", + "default": "2.5rem" + } + }, + "type": "object", + "default": { + "value": "2.5rem" + } + }, + "11": { + "id": "#tokensConfig/space/11", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/11/value", + "default": "2.75rem" + } + }, + "type": "object", + "default": { + "value": "2.75rem" + } + }, + "12": { + "id": "#tokensConfig/space/12", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/12/value", + "default": "3rem" + } + }, + "type": "object", + "default": { + "value": "3rem" + } + }, + "14": { + "id": "#tokensConfig/space/14", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/14/value", + "default": "3.5rem" + } + }, + "type": "object", + "default": { + "value": "3.5rem" + } + }, + "16": { + "id": "#tokensConfig/space/16", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/16/value", + "default": "4rem" + } + }, + "type": "object", + "default": { + "value": "4rem" + } + }, + "20": { + "id": "#tokensConfig/space/20", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/20/value", + "default": "5rem" + } + }, + "type": "object", + "default": { + "value": "5rem" + } + }, + "24": { + "id": "#tokensConfig/space/24", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/24/value", + "default": "6rem" + } + }, + "type": "object", + "default": { + "value": "6rem" + } + }, + "28": { + "id": "#tokensConfig/space/28", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/28/value", + "default": "7rem" + } + }, + "type": "object", + "default": { + "value": "7rem" + } + }, + "32": { + "id": "#tokensConfig/space/32", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/32/value", + "default": "8rem" + } + }, + "type": "object", + "default": { + "value": "8rem" + } + }, + "36": { + "id": "#tokensConfig/space/36", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/36/value", + "default": "9rem" + } + }, + "type": "object", + "default": { + "value": "9rem" + } + }, + "40": { + "id": "#tokensConfig/space/40", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/40/value", + "default": "10rem" + } + }, + "type": "object", + "default": { + "value": "10rem" + } + }, + "44": { + "id": "#tokensConfig/space/44", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/44/value", + "default": "11rem" + } + }, + "type": "object", + "default": { + "value": "11rem" + } + }, + "48": { + "id": "#tokensConfig/space/48", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/48/value", + "default": "12rem" + } + }, + "type": "object", + "default": { + "value": "12rem" + } + }, + "52": { + "id": "#tokensConfig/space/52", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/52/value", + "default": "13rem" + } + }, + "type": "object", + "default": { + "value": "13rem" + } + }, + "56": { + "id": "#tokensConfig/space/56", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/56/value", + "default": "14rem" + } + }, + "type": "object", + "default": { + "value": "14rem" + } + }, + "60": { + "id": "#tokensConfig/space/60", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/60/value", + "default": "15rem" + } + }, + "type": "object", + "default": { + "value": "15rem" + } + }, + "64": { + "id": "#tokensConfig/space/64", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/64/value", + "default": "16rem" + } + }, + "type": "object", + "default": { + "value": "16rem" + } + }, + "72": { + "id": "#tokensConfig/space/72", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/72/value", + "default": "18rem" + } + }, + "type": "object", + "default": { + "value": "18rem" + } + }, + "80": { + "id": "#tokensConfig/space/80", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/80/value", + "default": "20rem" + } + }, + "type": "object", + "default": { + "value": "20rem" + } + }, + "96": { + "id": "#tokensConfig/space/96", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/96/value", + "default": "24rem" + } + }, + "type": "object", + "default": { + "value": "24rem" + } + }, + "128": { + "id": "#tokensConfig/space/128", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/128/value", + "default": "32rem" + } + }, + "type": "object", + "default": { + "value": "32rem" + } + }, + "px": { + "id": "#tokensConfig/space/px", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/px/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "rem": { + "id": "#tokensConfig/space/rem", + "properties": { + "125": { + "id": "#tokensConfig/space/rem/125", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/rem/125/value", + "default": "0.125rem" + } + }, + "type": "object", + "default": { + "value": "0.125rem" + } + }, + "375": { + "id": "#tokensConfig/space/rem/375", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/rem/375/value", + "default": "0.375rem" + } + }, + "type": "object", + "default": { + "value": "0.375rem" + } + }, + "625": { + "id": "#tokensConfig/space/rem/625", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/rem/625/value", + "default": "0.625rem" + } + }, + "type": "object", + "default": { + "value": "0.625rem" + } + }, + "875": { + "id": "#tokensConfig/space/rem/875", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/space/rem/875/value", + "default": "0.875rem" + } + }, + "type": "object", + "default": { + "value": "0.875rem" + } + } + }, + "type": "object", + "default": { + "125": { + "value": "0.125rem" + }, + "375": { + "value": "0.375rem" + }, + "625": { + "value": "0.625rem" + }, + "875": { + "value": "0.875rem" + } + } + } + }, + "type": "object", + "default": { + "0": { + "value": "0px" + }, + "1": { + "value": "0.25rem" + }, + "2": { + "value": "0.5rem" + }, + "3": { + "value": "0.75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "11": { + "value": "2.75rem" + }, + "12": { + "value": "3rem" + }, + "14": { + "value": "3.5rem" + }, + "16": { + "value": "4rem" + }, + "20": { + "value": "5rem" + }, + "24": { + "value": "6rem" + }, + "28": { + "value": "7rem" + }, + "32": { + "value": "8rem" + }, + "36": { + "value": "9rem" + }, + "40": { + "value": "10rem" + }, + "44": { + "value": "11rem" + }, + "48": { + "value": "12rem" + }, + "52": { + "value": "13rem" + }, + "56": { + "value": "14rem" + }, + "60": { + "value": "15rem" + }, + "64": { + "value": "16rem" + }, + "72": { + "value": "18rem" + }, + "80": { + "value": "20rem" + }, + "96": { + "value": "24rem" + }, + "128": { + "value": "32rem" + }, + "px": { + "value": "1px" + }, + "rem": { + "125": { + "value": "0.125rem" + }, + "375": { + "value": "0.375rem" + }, + "625": { + "value": "0.625rem" + }, + "875": { + "value": "0.875rem" + } + } + } + }, + "borderWidth": { + "title": "Your website border widths.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:border-all-outline-rounded" + ], + "id": "#tokensConfig/borderWidth", + "properties": { + "noBorder": { + "id": "#tokensConfig/borderWidth/noBorder", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/borderWidth/noBorder/value", + "default": "0" + } + }, + "type": "object", + "default": { + "value": "0" + } + }, + "sm": { + "id": "#tokensConfig/borderWidth/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/borderWidth/sm/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "md": { + "id": "#tokensConfig/borderWidth/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/borderWidth/md/value", + "default": "2px" + } + }, + "type": "object", + "default": { + "value": "2px" + } + }, + "lg": { + "id": "#tokensConfig/borderWidth/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/borderWidth/lg/value", + "default": "3px" + } + }, + "type": "object", + "default": { + "value": "3px" + } + } + }, + "type": "object", + "default": { + "noBorder": { + "value": "0" + }, + "sm": { + "value": "1px" + }, + "md": { + "value": "2px" + }, + "lg": { + "value": "3px" + } + } + }, + "opacity": { + "title": "Your website opacities.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType opacity", + "@studioIcon material-symbols:opacity" + ], + "id": "#tokensConfig/opacity", + "properties": { + "noOpacity": { + "id": "#tokensConfig/opacity/noOpacity", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/noOpacity/value", + "default": "0" + } + }, + "type": "object", + "default": { + "value": "0" + } + }, + "bright": { + "id": "#tokensConfig/opacity/bright", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/bright/value", + "default": "0.1" + } + }, + "type": "object", + "default": { + "value": "0.1" + } + }, + "light": { + "id": "#tokensConfig/opacity/light", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/light/value", + "default": "0.15" + } + }, + "type": "object", + "default": { + "value": "0.15" + } + }, + "soft": { + "id": "#tokensConfig/opacity/soft", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/soft/value", + "default": "0.3" + } + }, + "type": "object", + "default": { + "value": "0.3" + } + }, + "medium": { + "id": "#tokensConfig/opacity/medium", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/medium/value", + "default": "0.5" + } + }, + "type": "object", + "default": { + "value": "0.5" + } + }, + "high": { + "id": "#tokensConfig/opacity/high", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/high/value", + "default": "0.8" + } + }, + "type": "object", + "default": { + "value": "0.8" + } + }, + "total": { + "id": "#tokensConfig/opacity/total", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/opacity/total/value", + "default": "1" + } + }, + "type": "object", + "default": { + "value": "1" + } + } + }, + "type": "object", + "default": { + "noOpacity": { + "value": "0" + }, + "bright": { + "value": "0.1" + }, + "light": { + "value": "0.15" + }, + "soft": { + "value": "0.3" + }, + "medium": { + "value": "0.5" + }, + "high": { + "value": "0.8" + }, + "total": { + "value": "1" + } + } + }, + "font": { + "title": "Your website fonts", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font", + "@studioIcon material-symbols:font-download-rounded" + ], + "id": "#tokensConfig/font", + "properties": { + "sans": { + "id": "#tokensConfig/font/sans", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/font/sans/value", + "default": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + } + }, + "type": "object", + "default": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + } + }, + "serif": { + "id": "#tokensConfig/font/serif", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/font/serif/value", + "default": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + } + }, + "type": "object", + "default": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + } + }, + "mono": { + "id": "#tokensConfig/font/mono", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/font/mono/value", + "default": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + }, + "type": "object", + "default": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + } + }, + "type": "object", + "default": { + "sans": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + }, + "serif": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + }, + "mono": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + } + }, + "fontWeight": { + "title": "Your website font weights.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-weight", + "@studioIcon radix-icons:font-style" + ], + "id": "#tokensConfig/fontWeight", + "properties": { + "thin": { + "id": "#tokensConfig/fontWeight/thin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/thin/value", + "default": "100" + } + }, + "type": "object", + "default": { + "value": "100" + } + }, + "extralight": { + "id": "#tokensConfig/fontWeight/extralight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/extralight/value", + "default": "200" + } + }, + "type": "object", + "default": { + "value": "200" + } + }, + "light": { + "id": "#tokensConfig/fontWeight/light", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/light/value", + "default": "300" + } + }, + "type": "object", + "default": { + "value": "300" + } + }, + "normal": { + "id": "#tokensConfig/fontWeight/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/normal/value", + "default": "400" + } + }, + "type": "object", + "default": { + "value": "400" + } + }, + "medium": { + "id": "#tokensConfig/fontWeight/medium", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/medium/value", + "default": "500" + } + }, + "type": "object", + "default": { + "value": "500" + } + }, + "semibold": { + "id": "#tokensConfig/fontWeight/semibold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/semibold/value", + "default": "600" + } + }, + "type": "object", + "default": { + "value": "600" + } + }, + "bold": { + "id": "#tokensConfig/fontWeight/bold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/bold/value", + "default": "700" + } + }, + "type": "object", + "default": { + "value": "700" + } + }, + "extrabold": { + "id": "#tokensConfig/fontWeight/extrabold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/extrabold/value", + "default": "800" + } + }, + "type": "object", + "default": { + "value": "800" + } + }, + "black": { + "id": "#tokensConfig/fontWeight/black", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontWeight/black/value", + "default": "900" + } + }, + "type": "object", + "default": { + "value": "900" + } + } + }, + "type": "object", + "default": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + } + }, + "fontSize": { + "title": "Your website font sizes.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon radix-icons:font-style" + ], + "id": "#tokensConfig/fontSize", + "properties": { + "xs": { + "id": "#tokensConfig/fontSize/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/xs/value", + "default": "0.75rem" + } + }, + "type": "object", + "default": { + "value": "0.75rem" + } + }, + "sm": { + "id": "#tokensConfig/fontSize/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/sm/value", + "default": "0.875rem" + } + }, + "type": "object", + "default": { + "value": "0.875rem" + } + }, + "base": { + "id": "#tokensConfig/fontSize/base", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/base/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "lg": { + "id": "#tokensConfig/fontSize/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/lg/value", + "default": "1.125rem" + } + }, + "type": "object", + "default": { + "value": "1.125rem" + } + }, + "xl": { + "id": "#tokensConfig/fontSize/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/xl/value", + "default": "1.25rem" + } + }, + "type": "object", + "default": { + "value": "1.25rem" + } + }, + "2xl": { + "id": "#tokensConfig/fontSize/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/2xl/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "3xl": { + "id": "#tokensConfig/fontSize/3xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/3xl/value", + "default": "1.875rem" + } + }, + "type": "object", + "default": { + "value": "1.875rem" + } + }, + "4xl": { + "id": "#tokensConfig/fontSize/4xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/4xl/value", + "default": "2.25rem" + } + }, + "type": "object", + "default": { + "value": "2.25rem" + } + }, + "5xl": { + "id": "#tokensConfig/fontSize/5xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/5xl/value", + "default": "3rem" + } + }, + "type": "object", + "default": { + "value": "3rem" + } + }, + "6xl": { + "id": "#tokensConfig/fontSize/6xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/6xl/value", + "default": "3.75rem" + } + }, + "type": "object", + "default": { + "value": "3.75rem" + } + }, + "7xl": { + "id": "#tokensConfig/fontSize/7xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/7xl/value", + "default": "4.5rem" + } + }, + "type": "object", + "default": { + "value": "4.5rem" + } + }, + "8xl": { + "id": "#tokensConfig/fontSize/8xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/8xl/value", + "default": "6rem" + } + }, + "type": "object", + "default": { + "value": "6rem" + } + }, + "9xl": { + "id": "#tokensConfig/fontSize/9xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/fontSize/9xl/value", + "default": "8rem" + } + }, + "type": "object", + "default": { + "value": "8rem" + } + } + }, + "type": "object", + "default": { + "xs": { + "value": "0.75rem" + }, + "sm": { + "value": "0.875rem" + }, + "base": { + "value": "1rem" + }, + "lg": { + "value": "1.125rem" + }, + "xl": { + "value": "1.25rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.875rem" + }, + "4xl": { + "value": "2.25rem" + }, + "5xl": { + "value": "3rem" + }, + "6xl": { + "value": "3.75rem" + }, + "7xl": { + "value": "4.5rem" + }, + "8xl": { + "value": "6rem" + }, + "9xl": { + "value": "8rem" + } + } + }, + "letterSpacing": { + "title": "Your website letter spacings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType letter-spacing", + "@studioIcon fluent:font-space-tracking-out-24-filled" + ], + "id": "#tokensConfig/letterSpacing", + "properties": { + "tighter": { + "id": "#tokensConfig/letterSpacing/tighter", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/tighter/value", + "default": "-0.05em" + } + }, + "type": "object", + "default": { + "value": "-0.05em" + } + }, + "tight": { + "id": "#tokensConfig/letterSpacing/tight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/tight/value", + "default": "-0.025em" + } + }, + "type": "object", + "default": { + "value": "-0.025em" + } + }, + "normal": { + "id": "#tokensConfig/letterSpacing/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/normal/value", + "default": "0em" + } + }, + "type": "object", + "default": { + "value": "0em" + } + }, + "wide": { + "id": "#tokensConfig/letterSpacing/wide", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/wide/value", + "default": "0.025em" + } + }, + "type": "object", + "default": { + "value": "0.025em" + } + }, + "wider": { + "id": "#tokensConfig/letterSpacing/wider", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/wider/value", + "default": "0.05em" + } + }, + "type": "object", + "default": { + "value": "0.05em" + } + }, + "widest": { + "id": "#tokensConfig/letterSpacing/widest", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/letterSpacing/widest/value", + "default": "0.1em" + } + }, + "type": "object", + "default": { + "value": "0.1em" + } + } + }, + "type": "object", + "default": { + "tighter": { + "value": "-0.05em" + }, + "tight": { + "value": "-0.025em" + }, + "normal": { + "value": "0em" + }, + "wide": { + "value": "0.025em" + }, + "wider": { + "value": "0.05em" + }, + "widest": { + "value": "0.1em" + } + } + }, + "lead": { + "title": "Your website line heights.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon icon-park-outline:auto-line-height" + ], + "id": "#tokensConfig/lead", + "properties": { + "1": { + "id": "#tokensConfig/lead/1", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/1/value", + "default": ".025rem" + } + }, + "type": "object", + "default": { + "value": ".025rem" + } + }, + "2": { + "id": "#tokensConfig/lead/2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/2/value", + "default": ".5rem" + } + }, + "type": "object", + "default": { + "value": ".5rem" + } + }, + "3": { + "id": "#tokensConfig/lead/3", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/3/value", + "default": ".75rem" + } + }, + "type": "object", + "default": { + "value": ".75rem" + } + }, + "4": { + "id": "#tokensConfig/lead/4", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/4/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "5": { + "id": "#tokensConfig/lead/5", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/5/value", + "default": "1.25rem" + } + }, + "type": "object", + "default": { + "value": "1.25rem" + } + }, + "6": { + "id": "#tokensConfig/lead/6", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/6/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "7": { + "id": "#tokensConfig/lead/7", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/7/value", + "default": "1.75rem" + } + }, + "type": "object", + "default": { + "value": "1.75rem" + } + }, + "8": { + "id": "#tokensConfig/lead/8", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/8/value", + "default": "2rem" + } + }, + "type": "object", + "default": { + "value": "2rem" + } + }, + "9": { + "id": "#tokensConfig/lead/9", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/9/value", + "default": "2.25rem" + } + }, + "type": "object", + "default": { + "value": "2.25rem" + } + }, + "10": { + "id": "#tokensConfig/lead/10", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/10/value", + "default": "2.5rem" + } + }, + "type": "object", + "default": { + "value": "2.5rem" + } + }, + "none": { + "id": "#tokensConfig/lead/none", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/none/value", + "default": "1" + } + }, + "type": "object", + "default": { + "value": "1" + } + }, + "tight": { + "id": "#tokensConfig/lead/tight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/tight/value", + "default": "1.25" + } + }, + "type": "object", + "default": { + "value": "1.25" + } + }, + "snug": { + "id": "#tokensConfig/lead/snug", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/snug/value", + "default": "1.375" + } + }, + "type": "object", + "default": { + "value": "1.375" + } + }, + "normal": { + "id": "#tokensConfig/lead/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/normal/value", + "default": "1.5" + } + }, + "type": "object", + "default": { + "value": "1.5" + } + }, + "relaxed": { + "id": "#tokensConfig/lead/relaxed", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/relaxed/value", + "default": "1.625" + } + }, + "type": "object", + "default": { + "value": "1.625" + } + }, + "loose": { + "id": "#tokensConfig/lead/loose", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/lead/loose/value", + "default": "2" + } + }, + "type": "object", + "default": { + "value": "2" + } + } + }, + "type": "object", + "default": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + } + }, + "text": { + "title": "Your website text scales.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:format-size-rounded" + ], + "id": "#tokensConfig/text", + "properties": { + "xs": { + "id": "#tokensConfig/text/xs", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/xs/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/xs/fontSize/value", + "default": "{fontSize.xs}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.xs}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/xs/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/xs/lineHeight/value", + "default": "{lead.4}" + } + }, + "type": "object", + "default": { + "value": "{lead.4}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.xs}" + }, + "lineHeight": { + "value": "{lead.4}" + } + } + }, + "sm": { + "id": "#tokensConfig/text/sm", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/sm/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/sm/fontSize/value", + "default": "{fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.sm}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/sm/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/sm/lineHeight/value", + "default": "{lead.5}" + } + }, + "type": "object", + "default": { + "value": "{lead.5}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.sm}" + }, + "lineHeight": { + "value": "{lead.5}" + } + } + }, + "base": { + "id": "#tokensConfig/text/base", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/base/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/base/fontSize/value", + "default": "{fontSize.base}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.base}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/base/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/base/lineHeight/value", + "default": "{lead.6}" + } + }, + "type": "object", + "default": { + "value": "{lead.6}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.base}" + }, + "lineHeight": { + "value": "{lead.6}" + } + } + }, + "lg": { + "id": "#tokensConfig/text/lg", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/lg/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/lg/fontSize/value", + "default": "{fontSize.lg}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.lg}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/lg/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/lg/lineHeight/value", + "default": "{lead.7}" + } + }, + "type": "object", + "default": { + "value": "{lead.7}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.lg}" + }, + "lineHeight": { + "value": "{lead.7}" + } + } + }, + "xl": { + "id": "#tokensConfig/text/xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/xl/fontSize/value", + "default": "{fontSize.xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/xl/lineHeight/value", + "default": "{lead.7}" + } + }, + "type": "object", + "default": { + "value": "{lead.7}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.xl}" + }, + "lineHeight": { + "value": "{lead.7}" + } + } + }, + "2xl": { + "id": "#tokensConfig/text/2xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/2xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/2xl/fontSize/value", + "default": "{fontSize.2xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.2xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/2xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/2xl/lineHeight/value", + "default": "{lead.8}" + } + }, + "type": "object", + "default": { + "value": "{lead.8}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "{lead.8}" + } + } + }, + "3xl": { + "id": "#tokensConfig/text/3xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/3xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/3xl/fontSize/value", + "default": "{fontSize.3xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.3xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/3xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/3xl/lineHeight/value", + "default": "{lead.9}" + } + }, + "type": "object", + "default": { + "value": "{lead.9}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "{lead.9}" + } + } + }, + "4xl": { + "id": "#tokensConfig/text/4xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/4xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/4xl/fontSize/value", + "default": "{fontSize.4xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.4xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/4xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/4xl/lineHeight/value", + "default": "{lead.10}" + } + }, + "type": "object", + "default": { + "value": "{lead.10}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "{lead.10}" + } + } + }, + "5xl": { + "id": "#tokensConfig/text/5xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/5xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/5xl/fontSize/value", + "default": "{fontSize.5xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.5xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/5xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/5xl/lineHeight/value", + "default": "{lead.none}" + } + }, + "type": "object", + "default": { + "value": "{lead.none}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + }, + "6xl": { + "id": "#tokensConfig/text/6xl", + "properties": { + "fontSize": { + "id": "#tokensConfig/text/6xl/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/6xl/fontSize/value", + "default": "{fontSize.6xl}" + } + }, + "type": "object", + "default": { + "value": "{fontSize.6xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/text/6xl/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/text/6xl/lineHeight/value", + "default": "{lead.none}" + } + }, + "type": "object", + "default": { + "value": "{lead.none}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + } + }, + "type": "object", + "default": { + "xs": { + "fontSize": { + "value": "{fontSize.xs}" + }, + "lineHeight": { + "value": "{lead.4}" + } + }, + "sm": { + "fontSize": { + "value": "{fontSize.sm}" + }, + "lineHeight": { + "value": "{lead.5}" + } + }, + "base": { + "fontSize": { + "value": "{fontSize.base}" + }, + "lineHeight": { + "value": "{lead.6}" + } + }, + "lg": { + "fontSize": { + "value": "{fontSize.lg}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "xl": { + "fontSize": { + "value": "{fontSize.xl}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "2xl": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "{lead.8}" + } + }, + "3xl": { + "fontSize": { + "value": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "{lead.9}" + } + }, + "4xl": { + "fontSize": { + "value": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "{lead.10}" + } + }, + "5xl": { + "fontSize": { + "value": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + }, + "6xl": { + "fontSize": { + "value": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + } + }, + "elements": { + "title": "All the configurable tokens for your Elements.", + "tags": [ + "@studioIcon uiw:component" + ], + "id": "#tokensConfig/elements", + "properties": { + "text": { + "id": "#tokensConfig/elements/text", + "properties": { + "primary": { + "id": "#tokensConfig/elements/text/primary", + "properties": { + "color": { + "id": "#tokensConfig/elements/text/primary/color", + "properties": { + "static": { + "id": "#tokensConfig/elements/text/primary/color/static", + "properties": { + "value": { + "id": "#tokensConfig/elements/text/primary/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/text/primary/color/static/value/initial", + "default": "{color.gray.900}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/text/primary/color/static/value/dark", + "default": "{color.gray.50}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + } + }, + "hover": { + "id": "#tokensConfig/elements/text/primary/color/hover", + "type": "any", + "default": {} + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + } + }, + "type": "object", + "default": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/text/secondary", + "properties": { + "color": { + "id": "#tokensConfig/elements/text/secondary/color", + "properties": { + "static": { + "id": "#tokensConfig/elements/text/secondary/color/static", + "properties": { + "value": { + "id": "#tokensConfig/elements/text/secondary/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/text/secondary/color/static/value/initial", + "default": "{color.gray.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/text/secondary/color/static/value/dark", + "default": "{color.gray.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + } + }, + "hover": { + "id": "#tokensConfig/elements/text/secondary/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/elements/text/secondary/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/text/secondary/color/hover/value/initial", + "default": "{color.gray.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/text/secondary/color/hover/value/dark", + "default": "{color.gray.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + } + }, + "type": "object", + "default": { + "primary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + } + }, + "container": { + "title": "Main container sizings.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:width-full-outline" + ], + "id": "#tokensConfig/elements/container", + "properties": { + "maxWidth": { + "id": "#tokensConfig/elements/container/maxWidth", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/maxWidth/value", + "default": "80rem" + } + }, + "type": "object", + "default": { + "value": "80rem" + } + }, + "padding": { + "id": "#tokensConfig/elements/container/padding", + "properties": { + "mobile": { + "id": "#tokensConfig/elements/container/padding/mobile", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/padding/mobile/value", + "default": "{space.4}" + } + }, + "type": "object", + "default": { + "value": "{space.4}" + } + }, + "xs": { + "id": "#tokensConfig/elements/container/padding/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/padding/xs/value", + "default": "{space.4}" + } + }, + "type": "object", + "default": { + "value": "{space.4}" + } + }, + "sm": { + "id": "#tokensConfig/elements/container/padding/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/padding/sm/value", + "default": "{space.6}" + } + }, + "type": "object", + "default": { + "value": "{space.6}" + } + }, + "md": { + "id": "#tokensConfig/elements/container/padding/md", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/container/padding/md/value", + "default": "{space.6}" + } + }, + "type": "object", + "default": { + "value": "{space.6}" + } + } + }, + "type": "object", + "default": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + } + }, + "type": "object", + "default": { + "maxWidth": { + "value": "80rem" + }, + "padding": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + } + }, + "backdrop": { + "title": "Backdrops used in Elements.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon material-symbols:blur-circular" + ], + "id": "#tokensConfig/elements/backdrop", + "properties": { + "filter": { + "id": "#tokensConfig/elements/backdrop/filter", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/elements/backdrop/filter/value", + "default": "saturate(200%) blur(20px)" + } + }, + "type": "object", + "default": { + "value": "saturate(200%) blur(20px)" + } + }, + "background": { + "id": "#tokensConfig/elements/backdrop/background", + "properties": { + "value": { + "id": "#tokensConfig/elements/backdrop/background/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/backdrop/background/value/initial", + "default": "#fffc" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/backdrop/background/value/dark", + "default": "#0c0d0ccc" + } + }, + "type": "object", + "default": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + } + }, + "type": "object", + "default": { + "filter": { + "value": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + } + }, + "border": { + "title": "Borders used in Elements.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon material-symbols:border-all-outline-rounded" + ], + "id": "#tokensConfig/elements/border", + "properties": { + "primary": { + "id": "#tokensConfig/elements/border/primary", + "properties": { + "static": { + "id": "#tokensConfig/elements/border/primary/static", + "properties": { + "value": { + "id": "#tokensConfig/elements/border/primary/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/border/primary/static/value/initial", + "default": "{color.gray.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/border/primary/static/value/dark", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "hover": { + "id": "#tokensConfig/elements/border/primary/hover", + "properties": { + "value": { + "id": "#tokensConfig/elements/border/primary/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/border/primary/hover/value/initial", + "default": "{color.gray.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/border/primary/hover/value/dark", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/border/secondary", + "properties": { + "static": { + "id": "#tokensConfig/elements/border/secondary/static", + "properties": { + "value": { + "id": "#tokensConfig/elements/border/secondary/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/border/secondary/static/value/initial", + "default": "{color.gray.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/border/secondary/static/value/dark", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "hover": { + "id": "#tokensConfig/elements/border/secondary/hover", + "properties": { + "value": { + "id": "#tokensConfig/elements/border/secondary/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/border/secondary/hover/value/initial", + "default": "" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/border/secondary/hover/value/dark", + "default": "" + } + }, + "type": "object", + "default": { + "initial": "", + "dark": "" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "", + "dark": "" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + } + }, + "type": "object", + "default": { + "primary": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + } + }, + "surface": { + "title": "Surfaces used in Elements.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon fluent:surface-hub-20-filled" + ], + "id": "#tokensConfig/elements/surface", + "properties": { + "background": { + "id": "#tokensConfig/elements/surface/background", + "properties": { + "base": { + "id": "#tokensConfig/elements/surface/background/base", + "properties": { + "value": { + "id": "#tokensConfig/elements/surface/background/base/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/surface/background/base/value/initial", + "default": "{color.gray.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/surface/background/base/value/dark", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + } + }, + "type": "object", + "default": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + } + }, + "primary": { + "id": "#tokensConfig/elements/surface/primary", + "properties": { + "backgroundColor": { + "id": "#tokensConfig/elements/surface/primary/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/elements/surface/primary/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/surface/primary/backgroundColor/value/initial", + "default": "{color.gray.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/surface/primary/backgroundColor/value/dark", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + } + }, + "type": "object", + "default": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/surface/secondary", + "properties": { + "backgroundColor": { + "id": "#tokensConfig/elements/surface/secondary/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/elements/surface/secondary/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/surface/secondary/backgroundColor/value/initial", + "default": "{color.gray.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/surface/secondary/backgroundColor/value/dark", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "type": "object", + "default": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + } + }, + "type": "object", + "default": { + "background": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + } + }, + "state": { + "title": "Color states used in Elements.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon mdi:palette-advanced" + ], + "id": "#tokensConfig/elements/state", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/primary", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/primary/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/primary/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/color/primary/value/initial", + "default": "{color.primary.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/color/primary/value/dark", + "default": "{color.primary.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/primary/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/color/secondary/value/initial", + "default": "{color.primary.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/color/secondary/value/dark", + "default": "{color.primary.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/primary/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/primary/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial", + "default": "{color.primary.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark", + "default": "{color.primary.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/primary/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial", + "default": "{color.primary.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark", + "default": "{color.primary.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/primary/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/primary/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/borderColor/primary/value/initial", + "default": "{color.primary.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/borderColor/primary/value/dark", + "default": "{color.primary.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/primary/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/primary/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/borderColor/secondary/value/initial", + "default": "{color.primary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/primary/borderColor/secondary/value/dark", + "default": "{color.primary.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + } + }, + "info": { + "id": "#tokensConfig/elements/state/info", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/info/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/info/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/color/primary/value/initial", + "default": "{color.blue.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/color/primary/value/dark", + "default": "{color.blue.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/info/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/color/secondary/value/initial", + "default": "{color.blue.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/color/secondary/value/dark", + "default": "{color.blue.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/info/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/info/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/backgroundColor/primary/value/initial", + "default": "{color.blue.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/backgroundColor/primary/value/dark", + "default": "{color.blue.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/info/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial", + "default": "{color.blue.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark", + "default": "{color.blue.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/info/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/info/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/borderColor/primary/value/initial", + "default": "{color.blue.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/borderColor/primary/value/dark", + "default": "{color.blue.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/info/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/info/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/info/borderColor/secondary/value/initial", + "default": "{color.blue.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/info/borderColor/secondary/value/dark", + "default": "{color.blue.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + } + }, + "success": { + "id": "#tokensConfig/elements/state/success", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/success/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/success/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/color/primary/value/initial", + "default": "{color.green.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/color/primary/value/dark", + "default": "{color.green.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/success/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/color/secondary/value/initial", + "default": "{color.green.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/color/secondary/value/dark", + "default": "{color.green.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/success/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/success/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/backgroundColor/primary/value/initial", + "default": "{color.green.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/backgroundColor/primary/value/dark", + "default": "{color.green.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/success/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial", + "default": "{color.green.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark", + "default": "{color.green.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/success/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/success/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/borderColor/primary/value/initial", + "default": "{color.green.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/borderColor/primary/value/dark", + "default": "{color.green.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/success/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/success/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/success/borderColor/secondary/value/initial", + "default": "{color.green.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/success/borderColor/secondary/value/dark", + "default": "{color.green.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + } + }, + "warning": { + "id": "#tokensConfig/elements/state/warning", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/warning/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/warning/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/color/primary/value/initial", + "default": "{color.yellow.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/color/primary/value/dark", + "default": "{color.yellow.400}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/warning/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/color/secondary/value/initial", + "default": "{color.yellow.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/color/secondary/value/dark", + "default": "{color.yellow.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/warning/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/warning/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial", + "default": "{color.yellow.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark", + "default": "{color.yellow.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/warning/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial", + "default": "{color.yellow.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark", + "default": "{color.yellow.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/warning/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/warning/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/borderColor/primary/value/initial", + "default": "{color.yellow.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/borderColor/primary/value/dark", + "default": "{color.yellow.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/warning/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/warning/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/borderColor/secondary/value/initial", + "default": "{color.yellow.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/warning/borderColor/secondary/value/dark", + "default": "{color.yellow.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + } + }, + "danger": { + "id": "#tokensConfig/elements/state/danger", + "properties": { + "color": { + "id": "#tokensConfig/elements/state/danger/color", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/danger/color/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/color/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/color/primary/value/initial", + "default": "{color.red.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/color/primary/value/dark", + "default": "{color.red.300}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/danger/color/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/color/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/color/secondary/value/initial", + "default": "{color.red.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/color/secondary/value/dark", + "default": "{color.red.200}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/elements/state/danger/backgroundColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/danger/backgroundColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/backgroundColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial", + "default": "{color.red.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark", + "default": "{color.red.900}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/danger/backgroundColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/backgroundColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial", + "default": "{color.red.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark", + "default": "{color.red.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + } + }, + "borderColor": { + "id": "#tokensConfig/elements/state/danger/borderColor", + "properties": { + "primary": { + "id": "#tokensConfig/elements/state/danger/borderColor/primary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/borderColor/primary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/borderColor/primary/value/initial", + "default": "{color.red.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/borderColor/primary/value/dark", + "default": "{color.red.800}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "secondary": { + "id": "#tokensConfig/elements/state/danger/borderColor/secondary", + "properties": { + "value": { + "id": "#tokensConfig/elements/state/danger/borderColor/secondary/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/borderColor/secondary/value/initial", + "default": "{color.red.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/elements/state/danger/borderColor/secondary/value/dark", + "default": "{color.red.700}" + } + }, + "type": "object", + "default": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + }, + "type": "object", + "default": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + }, + "type": "object", + "default": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + } + }, + "type": "object", + "default": { + "text": { + "primary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "container": { + "maxWidth": { + "value": "80rem" + }, + "padding": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + }, + "backdrop": { + "filter": { + "value": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "border": { + "primary": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + }, + "surface": { + "background": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "state": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + } + }, + "typography": { + "title": "All the configurable tokens for your Typography.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon material-symbols:article" + ], + "id": "#tokensConfig/typography", + "properties": { + "body": { + "id": "#tokensConfig/typography/body", + "properties": { + "color": { + "id": "#tokensConfig/typography/body/color", + "properties": { + "value": { + "id": "#tokensConfig/typography/body/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/typography/body/color/value/initial", + "default": "{color.black}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/typography/body/color/value/dark", + "default": "{color.white}" + } + }, + "type": "object", + "default": { + "initial": "{color.black}", + "dark": "{color.white}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/typography/body/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/typography/body/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/typography/body/backgroundColor/value/initial", + "default": "{color.white}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/typography/body/backgroundColor/value/dark", + "default": "{color.black}" + } + }, + "type": "object", + "default": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + } + }, + "type": "object", + "default": { + "color": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + } + }, + "verticalMargin": { + "title": "Vertical spacings between paragraphs.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon mingcute:line-height-line" + ], + "id": "#tokensConfig/typography/verticalMargin", + "properties": { + "sm": { + "id": "#tokensConfig/typography/verticalMargin/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/verticalMargin/sm/value", + "default": "16px" + } + }, + "type": "object", + "default": { + "value": "16px" + } + }, + "base": { + "id": "#tokensConfig/typography/verticalMargin/base", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/verticalMargin/base/value", + "default": "24px" + } + }, + "type": "object", + "default": { + "value": "24px" + } + } + }, + "type": "object", + "default": { + "sm": { + "value": "16px" + }, + "base": { + "value": "24px" + } + } + }, + "letterSpacing": { + "title": "Horizontal spacings between letters.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType size", + "@studioIcon mingcute:letter-spacing-line" + ], + "id": "#tokensConfig/typography/letterSpacing", + "properties": { + "tight": { + "id": "#tokensConfig/typography/letterSpacing/tight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/letterSpacing/tight/value", + "default": "-0.025em" + } + }, + "type": "object", + "default": { + "value": "-0.025em" + } + }, + "wide": { + "id": "#tokensConfig/typography/letterSpacing/wide", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/letterSpacing/wide/value", + "default": "0.025em" + } + }, + "type": "object", + "default": { + "value": "0.025em" + } + } + }, + "type": "object", + "default": { + "tight": { + "value": "-0.025em" + }, + "wide": { + "value": "0.025em" + } + } + }, + "fontSize": { + "title": "Horizontal spacings between letters.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon mingcute:font-size-fill" + ], + "id": "#tokensConfig/typography/fontSize", + "properties": { + "xs": { + "id": "#tokensConfig/typography/fontSize/xs", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/xs/value", + "default": "12px" + } + }, + "type": "object", + "default": { + "value": "12px" + } + }, + "sm": { + "id": "#tokensConfig/typography/fontSize/sm", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/sm/value", + "default": "14px" + } + }, + "type": "object", + "default": { + "value": "14px" + } + }, + "base": { + "id": "#tokensConfig/typography/fontSize/base", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/base/value", + "default": "16px" + } + }, + "type": "object", + "default": { + "value": "16px" + } + }, + "lg": { + "id": "#tokensConfig/typography/fontSize/lg", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/lg/value", + "default": "18px" + } + }, + "type": "object", + "default": { + "value": "18px" + } + }, + "xl": { + "id": "#tokensConfig/typography/fontSize/xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/xl/value", + "default": "20px" + } + }, + "type": "object", + "default": { + "value": "20px" + } + }, + "2xl": { + "id": "#tokensConfig/typography/fontSize/2xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/2xl/value", + "default": "24px" + } + }, + "type": "object", + "default": { + "value": "24px" + } + }, + "3xl": { + "id": "#tokensConfig/typography/fontSize/3xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/3xl/value", + "default": "30px" + } + }, + "type": "object", + "default": { + "value": "30px" + } + }, + "4xl": { + "id": "#tokensConfig/typography/fontSize/4xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/4xl/value", + "default": "36px" + } + }, + "type": "object", + "default": { + "value": "36px" + } + }, + "5xl": { + "id": "#tokensConfig/typography/fontSize/5xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/5xl/value", + "default": "48px" + } + }, + "type": "object", + "default": { + "value": "48px" + } + }, + "6xl": { + "id": "#tokensConfig/typography/fontSize/6xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/6xl/value", + "default": "60px" + } + }, + "type": "object", + "default": { + "value": "60px" + } + }, + "7xl": { + "id": "#tokensConfig/typography/fontSize/7xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/7xl/value", + "default": "72px" + } + }, + "type": "object", + "default": { + "value": "72px" + } + }, + "8xl": { + "id": "#tokensConfig/typography/fontSize/8xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/8xl/value", + "default": "96px" + } + }, + "type": "object", + "default": { + "value": "96px" + } + }, + "9xl": { + "id": "#tokensConfig/typography/fontSize/9xl", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontSize/9xl/value", + "default": "128px" + } + }, + "type": "object", + "default": { + "value": "128px" + } + } + }, + "type": "object", + "default": { + "xs": { + "value": "12px" + }, + "sm": { + "value": "14px" + }, + "base": { + "value": "16px" + }, + "lg": { + "value": "18px" + }, + "xl": { + "value": "20px" + }, + "2xl": { + "value": "24px" + }, + "3xl": { + "value": "30px" + }, + "4xl": { + "value": "36px" + }, + "5xl": { + "value": "48px" + }, + "6xl": { + "value": "60px" + }, + "7xl": { + "value": "72px" + }, + "8xl": { + "value": "96px" + }, + "9xl": { + "value": "128px" + } + } + }, + "fontWeight": { + "title": "Font weights used in typography.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon mingcute:bold-fill" + ], + "id": "#tokensConfig/typography/fontWeight", + "properties": { + "thin": { + "id": "#tokensConfig/typography/fontWeight/thin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/thin/value", + "default": "100" + } + }, + "type": "object", + "default": { + "value": "100" + } + }, + "extralight": { + "id": "#tokensConfig/typography/fontWeight/extralight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/extralight/value", + "default": "200" + } + }, + "type": "object", + "default": { + "value": "200" + } + }, + "light": { + "id": "#tokensConfig/typography/fontWeight/light", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/light/value", + "default": "300" + } + }, + "type": "object", + "default": { + "value": "300" + } + }, + "normal": { + "id": "#tokensConfig/typography/fontWeight/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/normal/value", + "default": "400" + } + }, + "type": "object", + "default": { + "value": "400" + } + }, + "medium": { + "id": "#tokensConfig/typography/fontWeight/medium", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/medium/value", + "default": "500" + } + }, + "type": "object", + "default": { + "value": "500" + } + }, + "semibold": { + "id": "#tokensConfig/typography/fontWeight/semibold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/semibold/value", + "default": "600" + } + }, + "type": "object", + "default": { + "value": "600" + } + }, + "bold": { + "id": "#tokensConfig/typography/fontWeight/bold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/bold/value", + "default": "700" + } + }, + "type": "object", + "default": { + "value": "700" + } + }, + "extrabold": { + "id": "#tokensConfig/typography/fontWeight/extrabold", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/extrabold/value", + "default": "800" + } + }, + "type": "object", + "default": { + "value": "800" + } + }, + "black": { + "id": "#tokensConfig/typography/fontWeight/black", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/fontWeight/black/value", + "default": "900" + } + }, + "type": "object", + "default": { + "value": "900" + } + } + }, + "type": "object", + "default": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + } + }, + "lead": { + "title": "Line heights used in your typography.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon material-symbols:height-rounded" + ], + "id": "#tokensConfig/typography/lead", + "properties": { + "1": { + "id": "#tokensConfig/typography/lead/1", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/1/value", + "default": ".025rem" + } + }, + "type": "object", + "default": { + "value": ".025rem" + } + }, + "2": { + "id": "#tokensConfig/typography/lead/2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/2/value", + "default": ".5rem" + } + }, + "type": "object", + "default": { + "value": ".5rem" + } + }, + "3": { + "id": "#tokensConfig/typography/lead/3", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/3/value", + "default": ".75rem" + } + }, + "type": "object", + "default": { + "value": ".75rem" + } + }, + "4": { + "id": "#tokensConfig/typography/lead/4", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/4/value", + "default": "1rem" + } + }, + "type": "object", + "default": { + "value": "1rem" + } + }, + "5": { + "id": "#tokensConfig/typography/lead/5", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/5/value", + "default": "1.25rem" + } + }, + "type": "object", + "default": { + "value": "1.25rem" + } + }, + "6": { + "id": "#tokensConfig/typography/lead/6", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/6/value", + "default": "1.5rem" + } + }, + "type": "object", + "default": { + "value": "1.5rem" + } + }, + "7": { + "id": "#tokensConfig/typography/lead/7", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/7/value", + "default": "1.75rem" + } + }, + "type": "object", + "default": { + "value": "1.75rem" + } + }, + "8": { + "id": "#tokensConfig/typography/lead/8", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/8/value", + "default": "2rem" + } + }, + "type": "object", + "default": { + "value": "2rem" + } + }, + "9": { + "id": "#tokensConfig/typography/lead/9", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/9/value", + "default": "2.25rem" + } + }, + "type": "object", + "default": { + "value": "2.25rem" + } + }, + "10": { + "id": "#tokensConfig/typography/lead/10", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/10/value", + "default": "2.5rem" + } + }, + "type": "object", + "default": { + "value": "2.5rem" + } + }, + "none": { + "id": "#tokensConfig/typography/lead/none", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/none/value", + "default": "1" + } + }, + "type": "object", + "default": { + "value": "1" + } + }, + "tight": { + "id": "#tokensConfig/typography/lead/tight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/tight/value", + "default": "1.25" + } + }, + "type": "object", + "default": { + "value": "1.25" + } + }, + "snug": { + "id": "#tokensConfig/typography/lead/snug", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/snug/value", + "default": "1.375" + } + }, + "type": "object", + "default": { + "value": "1.375" + } + }, + "normal": { + "id": "#tokensConfig/typography/lead/normal", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/normal/value", + "default": "1.5" + } + }, + "type": "object", + "default": { + "value": "1.5" + } + }, + "relaxed": { + "id": "#tokensConfig/typography/lead/relaxed", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/relaxed/value", + "default": "1.625" + } + }, + "type": "object", + "default": { + "value": "1.625" + } + }, + "loose": { + "id": "#tokensConfig/typography/lead/loose", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/lead/loose/value", + "default": "2" + } + }, + "type": "object", + "default": { + "value": "2" + } + } + }, + "type": "object", + "default": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + } + }, + "font": { + "title": "Your typography fonts", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font", + "@studioIcon material-symbols:font-download-rounded" + ], + "id": "#tokensConfig/typography/font", + "properties": { + "display": { + "id": "#tokensConfig/typography/font/display", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/font/display/value", + "default": "{font.sans}" + } + }, + "type": "object", + "default": { + "value": "{font.sans}" + } + }, + "body": { + "id": "#tokensConfig/typography/font/body", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/font/body/value", + "default": "{font.sans}" + } + }, + "type": "object", + "default": { + "value": "{font.sans}" + } + }, + "code": { + "id": "#tokensConfig/typography/font/code", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/font/code/value", + "default": "{font.mono}" + } + }, + "type": "object", + "default": { + "value": "{font.mono}" + } + } + }, + "type": "object", + "default": { + "display": { + "value": "{font.sans}" + }, + "body": { + "value": "{font.sans}" + }, + "code": { + "value": "{font.mono}" + } + } + }, + "color": { + "title": "Your typography color palette.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType color", + "@studioIcon ph:palette" + ], + "id": "#tokensConfig/typography/color", + "properties": { + "primary": { + "id": "#tokensConfig/typography/color/primary", + "properties": { + "50": { + "id": "#tokensConfig/typography/color/primary/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/50/value", + "default": "{color.primary.50}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.50}" + } + }, + "100": { + "id": "#tokensConfig/typography/color/primary/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/100/value", + "default": "{color.primary.100}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.100}" + } + }, + "200": { + "id": "#tokensConfig/typography/color/primary/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/200/value", + "default": "{color.primary.200}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.200}" + } + }, + "300": { + "id": "#tokensConfig/typography/color/primary/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/300/value", + "default": "{color.primary.300}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.300}" + } + }, + "400": { + "id": "#tokensConfig/typography/color/primary/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/400/value", + "default": "{color.primary.400}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.400}" + } + }, + "500": { + "id": "#tokensConfig/typography/color/primary/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/500/value", + "default": "{color.primary.500}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.500}" + } + }, + "600": { + "id": "#tokensConfig/typography/color/primary/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/600/value", + "default": "{color.primary.600}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.600}" + } + }, + "700": { + "id": "#tokensConfig/typography/color/primary/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/700/value", + "default": "{color.primary.700}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.700}" + } + }, + "800": { + "id": "#tokensConfig/typography/color/primary/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/800/value", + "default": "{color.primary.800}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.800}" + } + }, + "900": { + "id": "#tokensConfig/typography/color/primary/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/primary/900/value", + "default": "{color.primary.900}" + } + }, + "type": "object", + "default": { + "value": "{color.primary.900}" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + } + }, + "secondary": { + "id": "#tokensConfig/typography/color/secondary", + "properties": { + "50": { + "id": "#tokensConfig/typography/color/secondary/50", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/50/value", + "default": "{color.gray.50}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.50}" + } + }, + "100": { + "id": "#tokensConfig/typography/color/secondary/100", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/100/value", + "default": "{color.gray.100}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.100}" + } + }, + "200": { + "id": "#tokensConfig/typography/color/secondary/200", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/200/value", + "default": "{color.gray.200}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.200}" + } + }, + "300": { + "id": "#tokensConfig/typography/color/secondary/300", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/300/value", + "default": "{color.gray.300}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.300}" + } + }, + "400": { + "id": "#tokensConfig/typography/color/secondary/400", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/400/value", + "default": "{color.gray.400}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.400}" + } + }, + "500": { + "id": "#tokensConfig/typography/color/secondary/500", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/500/value", + "default": "{color.gray.500}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.500}" + } + }, + "600": { + "id": "#tokensConfig/typography/color/secondary/600", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/600/value", + "default": "{color.gray.600}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.600}" + } + }, + "700": { + "id": "#tokensConfig/typography/color/secondary/700", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/700/value", + "default": "{color.gray.700}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.700}" + } + }, + "800": { + "id": "#tokensConfig/typography/color/secondary/800", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/800/value", + "default": "{color.gray.800}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.800}" + } + }, + "900": { + "id": "#tokensConfig/typography/color/secondary/900", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/typography/color/secondary/900/value", + "default": "{color.gray.900}" + } + }, + "type": "object", + "default": { + "value": "{color.gray.900}" + } + } + }, + "type": "object", + "default": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + }, + "type": "object", + "default": { + "primary": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + } + }, + "type": "object", + "default": { + "body": { + "color": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "verticalMargin": { + "sm": { + "value": "16px" + }, + "base": { + "value": "24px" + } + }, + "letterSpacing": { + "tight": { + "value": "-0.025em" + }, + "wide": { + "value": "0.025em" + } + }, + "fontSize": { + "xs": { + "value": "12px" + }, + "sm": { + "value": "14px" + }, + "base": { + "value": "16px" + }, + "lg": { + "value": "18px" + }, + "xl": { + "value": "20px" + }, + "2xl": { + "value": "24px" + }, + "3xl": { + "value": "30px" + }, + "4xl": { + "value": "36px" + }, + "5xl": { + "value": "48px" + }, + "6xl": { + "value": "60px" + }, + "7xl": { + "value": "72px" + }, + "8xl": { + "value": "96px" + }, + "9xl": { + "value": "128px" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "font": { + "display": { + "value": "{font.sans}" + }, + "body": { + "value": "{font.sans}" + }, + "code": { + "value": "{font.mono}" + } + }, + "color": { + "primary": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + } + }, + "prose": { + "title": "All the configurable tokens for your Prose components.", + "tags": [ + "@studioInput design-token", + "@studioInputTokenType font-size", + "@studioIcon lucide:component" + ], + "id": "#tokensConfig/prose", + "properties": { + "p": { + "id": "#tokensConfig/prose/p", + "properties": { + "fontSize": { + "id": "#tokensConfig/prose/p/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/p/fontSize/value", + "default": "{typography.fontSize.base}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.base}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/p/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/p/lineHeight/value", + "default": "{typography.lead.normal}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.normal}" + } + }, + "margin": { + "id": "#tokensConfig/prose/p/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/p/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "br": { + "id": "#tokensConfig/prose/p/br", + "properties": { + "margin": { + "id": "#tokensConfig/prose/p/br/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/p/br/margin/value", + "default": "{typography.verticalMargin.base} 0 0 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + } + }, + "h1": { + "id": "#tokensConfig/prose/h1", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h1/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/margin/value", + "default": "0 0 2rem" + } + }, + "type": "object", + "default": { + "value": "0 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h1/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/fontSize/value", + "default": "{typography.fontSize.5xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.5xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h1/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/lineHeight/value", + "default": "{typography.lead.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.tight}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h1/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/fontWeight/value", + "default": "{typography.fontWeight.bold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.bold}" + } + }, + "letterSpacing": { + "id": "#tokensConfig/prose/h1/letterSpacing", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/letterSpacing/value", + "default": "{typography.letterSpacing.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.letterSpacing.tight}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h1/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h1/iconSize/value", + "default": "{typography.fontSize.3xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.3xl}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "0 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.3xl}" + } + } + }, + "h2": { + "id": "#tokensConfig/prose/h2", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h2/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h2/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/fontSize/value", + "default": "{typography.fontSize.4xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.4xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h2/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/lineHeight/value", + "default": "{typography.lead.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.tight}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h2/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "letterSpacing": { + "id": "#tokensConfig/prose/h2/letterSpacing", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/letterSpacing/value", + "default": "{typography.letterSpacing.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.letterSpacing.tight}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h2/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h2/iconSize/value", + "default": "{typography.fontSize.2xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.2xl}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.2xl}" + } + } + }, + "h3": { + "id": "#tokensConfig/prose/h3", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h3/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h3/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/fontSize/value", + "default": "{typography.fontSize.3xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.3xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h3/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/lineHeight/value", + "default": "{typography.lead.snug}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.snug}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h3/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "letterSpacing": { + "id": "#tokensConfig/prose/h3/letterSpacing", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/letterSpacing/value", + "default": "{typography.letterSpacing.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.letterSpacing.tight}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h3/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h3/iconSize/value", + "default": "{typography.fontSize.xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.xl}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.xl}" + } + } + }, + "h4": { + "id": "#tokensConfig/prose/h4", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h4/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h4/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/fontSize/value", + "default": "{typography.fontSize.2xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.2xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h4/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/lineHeight/value", + "default": "{typography.lead.snug}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.snug}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h4/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "letterSpacing": { + "id": "#tokensConfig/prose/h4/letterSpacing", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/letterSpacing/value", + "default": "{typography.letterSpacing.tight}" + } + }, + "type": "object", + "default": { + "value": "{typography.letterSpacing.tight}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h4/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h4/iconSize/value", + "default": "{typography.fontSize.lg}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.lg}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + } + }, + "h5": { + "id": "#tokensConfig/prose/h5", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h5/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h5/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/fontSize/value", + "default": "{typography.fontSize.xl}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.xl}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h5/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/lineHeight/value", + "default": "{typography.lead.snug}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.snug}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h5/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h5/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h5/iconSize/value", + "default": "{typography.fontSize.lg}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.lg}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + } + }, + "h6": { + "id": "#tokensConfig/prose/h6", + "properties": { + "margin": { + "id": "#tokensConfig/prose/h6/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/margin/value", + "default": "3rem 0 2rem" + } + }, + "type": "object", + "default": { + "value": "3rem 0 2rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/h6/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/fontSize/value", + "default": "{typography.fontSize.lg}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.lg}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/h6/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/lineHeight/value", + "default": "{typography.lead.normal}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.normal}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/h6/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "iconSize": { + "id": "#tokensConfig/prose/h6/iconSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/h6/iconSize/value", + "default": "{typography.fontSize.base}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.base}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.base}" + } + } + }, + "strong": { + "id": "#tokensConfig/prose/strong", + "properties": { + "fontWeight": { + "id": "#tokensConfig/prose/strong/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/strong/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + } + }, + "type": "object", + "default": { + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + } + } + }, + "img": { + "id": "#tokensConfig/prose/img", + "properties": { + "margin": { + "id": "#tokensConfig/prose/img/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/img/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + } + } + }, + "a": { + "id": "#tokensConfig/prose/a", + "properties": { + "textDecoration": { + "id": "#tokensConfig/prose/a/textDecoration", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/textDecoration/value", + "default": "none" + } + }, + "type": "object", + "default": { + "value": "none" + } + }, + "color": { + "id": "#tokensConfig/prose/a/color", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/color/static", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/color/static/value/initial", + "default": "inherit" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/color/static/value/dark", + "default": "inherit" + } + }, + "type": "object", + "default": { + "initial": "inherit", + "dark": "inherit" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + } + }, + "hover": { + "id": "#tokensConfig/prose/a/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/color/hover/value/initial", + "default": "{typography.color.primary.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/color/hover/value/dark", + "default": "{typography.color.primary.400}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + } + }, + "border": { + "id": "#tokensConfig/prose/a/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/a/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/border/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "style": { + "id": "#tokensConfig/prose/a/border/style", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/border/style/static", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/border/style/static/value", + "default": "dashed" + } + }, + "type": "object", + "default": { + "value": "dashed" + } + }, + "hover": { + "id": "#tokensConfig/prose/a/border/style/hover", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/border/style/hover/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + } + }, + "type": "object", + "default": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + } + }, + "color": { + "id": "#tokensConfig/prose/a/border/color", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/border/color/static", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/border/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/border/color/static/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/border/color/static/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "hover": { + "id": "#tokensConfig/prose/a/border/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/border/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/border/color/hover/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/border/color/hover/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "distance": { + "id": "#tokensConfig/prose/a/border/distance", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/border/distance/value", + "default": "2px" + } + }, + "type": "object", + "default": { + "value": "2px" + } + } + }, + "type": "object", + "default": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/a/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/fontWeight/value", + "default": "{typography.fontWeight.medium}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.medium}" + } + }, + "hasCode": { + "id": "#tokensConfig/prose/a/hasCode", + "properties": { + "borderBottom": { + "id": "#tokensConfig/prose/a/hasCode/borderBottom", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/hasCode/borderBottom/value", + "default": "none" + } + }, + "type": "object", + "default": { + "value": "none" + } + } + }, + "type": "object", + "default": { + "borderBottom": { + "value": "none" + } + } + }, + "code": { + "id": "#tokensConfig/prose/a/code", + "properties": { + "border": { + "id": "#tokensConfig/prose/a/code/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/a/code/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/width/value", + "default": "{prose.a.border.width}" + } + }, + "type": "object", + "default": { + "value": "{prose.a.border.width}" + } + }, + "style": { + "id": "#tokensConfig/prose/a/code/border/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/style/value", + "default": "{prose.a.border.style.static}" + } + }, + "type": "object", + "default": { + "value": "{prose.a.border.style.static}" + } + }, + "color": { + "id": "#tokensConfig/prose/a/code/border/color", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/code/border/color/static", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/border/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/color/static/value/initial", + "default": "{typography.color.secondary.400}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/color/static/value/dark", + "default": "{typography.color.secondary.600}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "hover": { + "id": "#tokensConfig/prose/a/code/border/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/border/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/color/hover/value/initial", + "default": "{typography.color.primary.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/border/color/hover/value/dark", + "default": "{typography.color.primary.600}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + } + }, + "color": { + "id": "#tokensConfig/prose/a/code/color", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/code/color/static", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/color/static/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/color/static/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/color/static/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "hover": { + "id": "#tokensConfig/prose/a/code/color/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/color/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/color/hover/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/color/hover/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "type": "object", + "default": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "background": { + "id": "#tokensConfig/prose/a/code/background", + "properties": { + "static": { + "id": "#tokensConfig/prose/a/code/background/static", + "type": "any", + "default": {} + }, + "hover": { + "id": "#tokensConfig/prose/a/code/background/hover", + "properties": { + "value": { + "id": "#tokensConfig/prose/a/code/background/hover/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/a/code/background/hover/value/initial", + "default": "{typography.color.primary.50}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/a/code/background/hover/value/dark", + "default": "{typography.color.primary.900}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + }, + "type": "object", + "default": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "type": "object", + "default": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + } + }, + "type": "object", + "default": { + "textDecoration": { + "value": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + }, + "fontWeight": { + "value": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none" + } + }, + "code": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + } + }, + "blockquote": { + "id": "#tokensConfig/prose/blockquote", + "properties": { + "margin": { + "id": "#tokensConfig/prose/blockquote/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "paddingInlineStart": { + "id": "#tokensConfig/prose/blockquote/paddingInlineStart", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/paddingInlineStart/value", + "default": "24px" + } + }, + "type": "object", + "default": { + "value": "24px" + } + }, + "quotes": { + "id": "#tokensConfig/prose/blockquote/quotes", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/quotes/value", + "default": "'201C' '201D' '2018' '2019'" + } + }, + "type": "object", + "default": { + "value": "'201C' '201D' '2018' '2019'" + } + }, + "color": { + "id": "#tokensConfig/prose/blockquote/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/blockquote/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/color/value/initial", + "default": "{typography.color.secondary.500}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/color/value/dark", + "default": "{typography.color.secondary.400}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + } + }, + "border": { + "id": "#tokensConfig/prose/blockquote/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/blockquote/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/border/width/value", + "default": "4px" + } + }, + "type": "object", + "default": { + "value": "4px" + } + }, + "style": { + "id": "#tokensConfig/prose/blockquote/border/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/border/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "color": { + "id": "#tokensConfig/prose/blockquote/border/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/blockquote/border/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/border/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/blockquote/border/color/value/dark", + "default": "{typography.color.secondary.700}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + } + }, + "ul": { + "id": "#tokensConfig/prose/ul", + "properties": { + "listStyleType": { + "id": "#tokensConfig/prose/ul/listStyleType", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ul/listStyleType/value", + "default": "disc" + } + }, + "type": "object", + "default": { + "value": "disc" + } + }, + "margin": { + "id": "#tokensConfig/prose/ul/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ul/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "paddingInlineStart": { + "id": "#tokensConfig/prose/ul/paddingInlineStart", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ul/paddingInlineStart/value", + "default": "21px" + } + }, + "type": "object", + "default": { + "value": "21px" + } + }, + "li": { + "id": "#tokensConfig/prose/ul/li", + "properties": { + "markerColor": { + "id": "#tokensConfig/prose/ul/li/markerColor", + "properties": { + "value": { + "id": "#tokensConfig/prose/ul/li/markerColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/ul/li/markerColor/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/ul/li/markerColor/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "type": "object", + "default": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + } + }, + "type": "object", + "default": { + "listStyleType": { + "value": "disc" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + } + }, + "ol": { + "id": "#tokensConfig/prose/ol", + "properties": { + "listStyleType": { + "id": "#tokensConfig/prose/ol/listStyleType", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ol/listStyleType/value", + "default": "decimal" + } + }, + "type": "object", + "default": { + "value": "decimal" + } + }, + "margin": { + "id": "#tokensConfig/prose/ol/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ol/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "paddingInlineStart": { + "id": "#tokensConfig/prose/ol/paddingInlineStart", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/ol/paddingInlineStart/value", + "default": "21px" + } + }, + "type": "object", + "default": { + "value": "21px" + } + }, + "li": { + "id": "#tokensConfig/prose/ol/li", + "properties": { + "markerColor": { + "id": "#tokensConfig/prose/ol/li/markerColor", + "properties": { + "value": { + "id": "#tokensConfig/prose/ol/li/markerColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/ol/li/markerColor/value/initial", + "default": "currentColor" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/ol/li/markerColor/value/dark", + "default": "currentColor" + } + }, + "type": "object", + "default": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "type": "object", + "default": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + } + }, + "type": "object", + "default": { + "listStyleType": { + "value": "decimal" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + } + }, + "li": { + "id": "#tokensConfig/prose/li", + "properties": { + "margin": { + "id": "#tokensConfig/prose/li/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/li/margin/value", + "default": "{typography.verticalMargin.sm} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.sm} 0" + } + }, + "listStylePosition": { + "id": "#tokensConfig/prose/li/listStylePosition", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/li/listStylePosition/value", + "default": "outside" + } + }, + "type": "object", + "default": { + "value": "outside" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside" + } + } + }, + "hr": { + "id": "#tokensConfig/prose/hr", + "properties": { + "margin": { + "id": "#tokensConfig/prose/hr/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/hr/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "style": { + "id": "#tokensConfig/prose/hr/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/hr/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "width": { + "id": "#tokensConfig/prose/hr/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/hr/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "color": { + "id": "#tokensConfig/prose/hr/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/hr/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/hr/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/hr/color/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid" + }, + "width": { + "value": "1px" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "table": { + "id": "#tokensConfig/prose/table", + "properties": { + "margin": { + "id": "#tokensConfig/prose/table/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/table/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "textAlign": { + "id": "#tokensConfig/prose/table/textAlign", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/table/textAlign/value", + "default": "start" + } + }, + "type": "object", + "default": { + "value": "start" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/table/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/table/fontSize/value", + "default": "{typography.fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.sm}" + } + }, + "lineHeight": { + "id": "#tokensConfig/prose/table/lineHeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/table/lineHeight/value", + "default": "{typography.lead.6}" + } + }, + "type": "object", + "default": { + "value": "{typography.lead.6}" + } + } + }, + "type": "object", + "default": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "{typography.lead.6}" + } + } + }, + "thead": { + "id": "#tokensConfig/prose/thead", + "properties": { + "border": { + "id": "#tokensConfig/prose/thead/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/thead/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/thead/border/width/value", + "default": "0px" + } + }, + "type": "object", + "default": { + "value": "0px" + } + }, + "style": { + "id": "#tokensConfig/prose/thead/border/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/thead/border/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "color": { + "id": "#tokensConfig/prose/thead/border/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/thead/border/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/thead/border/color/value/initial", + "default": "{typography.color.secondary.300}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/thead/border/color/value/dark", + "default": "{typography.color.secondary.600}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + } + }, + "borderBottom": { + "id": "#tokensConfig/prose/thead/borderBottom", + "properties": { + "width": { + "id": "#tokensConfig/prose/thead/borderBottom/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/thead/borderBottom/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "style": { + "id": "#tokensConfig/prose/thead/borderBottom/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/thead/borderBottom/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "color": { + "id": "#tokensConfig/prose/thead/borderBottom/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/thead/borderBottom/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/thead/borderBottom/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/thead/borderBottom/color/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "type": "object", + "default": { + "border": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "th": { + "id": "#tokensConfig/prose/th", + "properties": { + "color": { + "id": "#tokensConfig/prose/th/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/th/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/th/color/value/initial", + "default": "{typography.color.secondary.600}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/th/color/value/dark", + "default": "{typography.color.secondary.400}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + } + }, + "padding": { + "id": "#tokensConfig/prose/th/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/th/padding/value", + "default": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + } + }, + "type": "object", + "default": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/th/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/th/fontWeight/value", + "default": "{typography.fontWeight.semibold}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.semibold}" + } + }, + "textAlign": { + "id": "#tokensConfig/prose/th/textAlign", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/th/textAlign/value", + "default": "inherit" + } + }, + "type": "object", + "default": { + "value": "inherit" + } + } + }, + "type": "object", + "default": { + "color": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit" + } + } + }, + "tbody": { + "id": "#tokensConfig/prose/tbody", + "properties": { + "tr": { + "id": "#tokensConfig/prose/tbody/tr", + "properties": { + "borderBottom": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom", + "properties": { + "width": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/tbody/tr/borderBottom/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "style": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/tbody/tr/borderBottom/style/value", + "default": "dashed" + } + }, + "type": "object", + "default": { + "value": "dashed" + } + }, + "color": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/tbody/tr/borderBottom/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "type": "object", + "default": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "td": { + "id": "#tokensConfig/prose/tbody/td", + "properties": { + "padding": { + "id": "#tokensConfig/prose/tbody/td/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/tbody/td/padding/value", + "default": "{typography.verticalMargin.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "type": "object", + "default": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "code": { + "id": "#tokensConfig/prose/tbody/code", + "properties": { + "inline": { + "id": "#tokensConfig/prose/tbody/code/inline", + "properties": { + "fontSize": { + "id": "#tokensConfig/prose/tbody/code/inline/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/tbody/code/inline/fontSize/value", + "default": "{typography.fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.sm}" + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + }, + "type": "object", + "default": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + } + }, + "type": "object", + "default": { + "tr": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + } + }, + "code": { + "id": "#tokensConfig/prose/code", + "properties": { + "block": { + "id": "#tokensConfig/prose/code/block", + "properties": { + "fontSize": { + "id": "#tokensConfig/prose/code/block/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/fontSize/value", + "default": "{typography.fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.sm}" + } + }, + "margin": { + "id": "#tokensConfig/prose/code/block/margin", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/margin/value", + "default": "{typography.verticalMargin.base} 0" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "border": { + "id": "#tokensConfig/prose/code/block/border", + "properties": { + "width": { + "id": "#tokensConfig/prose/code/block/border/width", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/border/width/value", + "default": "1px" + } + }, + "type": "object", + "default": { + "value": "1px" + } + }, + "style": { + "id": "#tokensConfig/prose/code/block/border/style", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/border/style/value", + "default": "solid" + } + }, + "type": "object", + "default": { + "value": "solid" + } + }, + "color": { + "id": "#tokensConfig/prose/code/block/border/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/block/border/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/block/border/color/value/initial", + "default": "{typography.color.secondary.200}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/block/border/color/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "color": { + "id": "#tokensConfig/prose/code/block/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/block/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/block/color/value/initial", + "default": "{typography.color.secondary.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/block/color/value/dark", + "default": "{typography.color.secondary.200}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/prose/code/block/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/block/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/block/backgroundColor/value/initial", + "default": "{typography.color.secondary.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/block/backgroundColor/value/dark", + "default": "{typography.color.secondary.900}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + } + }, + "backdropFilter": { + "id": "#tokensConfig/prose/code/block/backdropFilter", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/block/backdropFilter/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/block/backdropFilter/value/initial", + "default": "contrast(1)" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/block/backdropFilter/value/dark", + "default": "contrast(1)" + } + }, + "type": "object", + "default": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + } + }, + "pre": { + "id": "#tokensConfig/prose/code/block/pre", + "properties": { + "padding": { + "id": "#tokensConfig/prose/code/block/pre/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/block/pre/padding/value", + "default": "{typography.verticalMargin.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "type": "object", + "default": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + } + }, + "type": "object", + "default": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + } + }, + "inline": { + "id": "#tokensConfig/prose/code/inline", + "properties": { + "borderRadius": { + "id": "#tokensConfig/prose/code/inline/borderRadius", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/borderRadius/value", + "default": "{radii.xs}" + } + }, + "type": "object", + "default": { + "value": "{radii.xs}" + } + }, + "padding": { + "id": "#tokensConfig/prose/code/inline/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/padding/value", + "default": "0.2rem 0.375rem 0.2rem 0.375rem" + } + }, + "type": "object", + "default": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + } + }, + "fontSize": { + "id": "#tokensConfig/prose/code/inline/fontSize", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/fontSize/value", + "default": "{typography.fontSize.sm}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontSize.sm}" + } + }, + "fontWeight": { + "id": "#tokensConfig/prose/code/inline/fontWeight", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/fontWeight/value", + "default": "{typography.fontWeight.normal}" + } + }, + "type": "object", + "default": { + "value": "{typography.fontWeight.normal}" + } + }, + "color": { + "id": "#tokensConfig/prose/code/inline/color", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/inline/color/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/color/value/initial", + "default": "{typography.color.secondary.700}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/color/value/dark", + "default": "{typography.color.secondary.200}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + } + }, + "backgroundColor": { + "id": "#tokensConfig/prose/code/inline/backgroundColor", + "properties": { + "value": { + "id": "#tokensConfig/prose/code/inline/backgroundColor/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/backgroundColor/value/initial", + "default": "{typography.color.secondary.100}" + }, + "dark": { + "type": "string", + "id": "#tokensConfig/prose/code/inline/backgroundColor/value/dark", + "default": "{typography.color.secondary.800}" + } + }, + "type": "object", + "default": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "type": "object", + "default": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "type": "object", + "default": { + "block": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + } + }, + "type": "object", + "default": { + "p": { + "fontSize": { + "value": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "h1": { + "margin": { + "value": "0 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.3xl}" + } + }, + "h2": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.2xl}" + } + }, + "h3": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.xl}" + } + }, + "h4": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h5": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h6": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.base}" + } + }, + "strong": { + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + } + }, + "img": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "a": { + "textDecoration": { + "value": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + }, + "fontWeight": { + "value": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none" + } + }, + "code": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "blockquote": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "ul": { + "listStyleType": { + "value": "disc" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "ol": { + "listStyleType": { + "value": "decimal" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "li": { + "margin": { + "value": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside" + } + }, + "hr": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid" + }, + "width": { + "value": "1px" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "table": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "{typography.lead.6}" + } + }, + "thead": { + "border": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "th": { + "color": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit" + } + }, + "tbody": { + "tr": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + }, + "code": { + "block": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + } + }, + "docus": { + "title": "All the configurable tokens from Docus.", + "tags": [ + "@studioIcon material-symbols:docs" + ], + "id": "#tokensConfig/docus", + "properties": { + "header": { + "id": "#tokensConfig/docus/header", + "properties": { + "height": { + "id": "#tokensConfig/docus/header/height", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/header/height/value", + "default": "64px" + } + }, + "type": "object", + "default": { + "value": "64px" + } + } + }, + "type": "object", + "default": { + "height": { + "value": "64px" + } + } + }, + "footer": { + "id": "#tokensConfig/docus/footer", + "properties": { + "height": { + "id": "#tokensConfig/docus/footer/height", + "properties": { + "value": { + "id": "#tokensConfig/docus/footer/height/value", + "properties": { + "initial": { + "type": "string", + "id": "#tokensConfig/docus/footer/height/value/initial", + "default": "145px" + }, + "sm": { + "type": "string", + "id": "#tokensConfig/docus/footer/height/value/sm", + "default": "100px" + } + }, + "type": "object", + "default": { + "initial": "145px", + "sm": "100px" + } + } + }, + "type": "object", + "default": { + "value": { + "initial": "145px", + "sm": "100px" + } + } + }, + "padding": { + "id": "#tokensConfig/docus/footer/padding", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/footer/padding/value", + "default": "{space.4} 0" + } + }, + "type": "object", + "default": { + "value": "{space.4} 0" + } + } + }, + "type": "object", + "default": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "{space.4} 0" + } + } + }, + "readableLine": { + "id": "#tokensConfig/docus/readableLine", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/readableLine/value", + "default": "78ch" + } + }, + "type": "object", + "default": { + "value": "78ch" + } + }, + "loadingBar": { + "id": "#tokensConfig/docus/loadingBar", + "properties": { + "height": { + "id": "#tokensConfig/docus/loadingBar/height", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/loadingBar/height/value", + "default": "3px" + } + }, + "type": "object", + "default": { + "value": "3px" + } + }, + "gradientColorStop1": { + "id": "#tokensConfig/docus/loadingBar/gradientColorStop1", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/loadingBar/gradientColorStop1/value", + "default": "#00dc82" + } + }, + "type": "object", + "default": { + "value": "#00dc82" + } + }, + "gradientColorStop2": { + "id": "#tokensConfig/docus/loadingBar/gradientColorStop2", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/loadingBar/gradientColorStop2/value", + "default": "#34cdfe" + } + }, + "type": "object", + "default": { + "value": "#34cdfe" + } + }, + "gradientColorStop3": { + "id": "#tokensConfig/docus/loadingBar/gradientColorStop3", + "properties": { + "value": { + "type": "string", + "id": "#tokensConfig/docus/loadingBar/gradientColorStop3/value", + "default": "#0047e1" + } + }, + "type": "object", + "default": { + "value": "#0047e1" + } + } + }, + "type": "object", + "default": { + "height": { + "value": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1" + } + } + } + }, + "type": "object", + "default": { + "header": { + "height": { + "value": "64px" + } + }, + "footer": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "{space.4} 0" + } + }, + "readableLine": { + "value": "78ch" + }, + "loadingBar": { + "height": { + "value": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1" + } + } + } + } + }, + "type": "object", + "default": { + "media": { + "xs": { + "value": "(min-width: 475px)" + }, + "sm": { + "value": "(min-width: 640px)" + }, + "md": { + "value": "(min-width: 768px)" + }, + "lg": { + "value": "(min-width: 1024px)" + }, + "xl": { + "value": "(min-width: 1280px)" + }, + "2xl": { + "value": "(min-width: 1536px)" + }, + "rm": { + "value": "(prefers-reduced-motion: reduce)" + }, + "landscape": { + "value": "only screen and (orientation: landscape)" + }, + "portrait": { + "value": "only screen and (orientation: portrait)" + } + }, + "color": { + "white": { + "value": "#ffffff" + }, + "black": { + "value": "#0B0A0A" + }, + "gray": { + "50": { + "value": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4" + }, + "500": { + "value": "#97948F" + }, + "600": { + "value": "#67635D" + }, + "700": { + "value": "#36332E" + }, + "800": { + "value": "#201E1B" + }, + "900": { + "value": "#121110" + } + }, + "green": { + "50": { + "value": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6" + }, + "300": { + "value": "#86FBCB" + }, + "400": { + "value": "#3CEEA5" + }, + "500": { + "value": "#0DD885" + }, + "600": { + "value": "#00B467" + }, + "700": { + "value": "#006037" + }, + "800": { + "value": "#002817" + }, + "900": { + "value": "#00190F" + } + }, + "yellow": { + "50": { + "value": "#FFFDEA" + }, + "100": { + "value": "#FFF8CC" + }, + "200": { + "value": "#FEF5A4" + }, + "300": { + "value": "#FFEF8A" + }, + "400": { + "value": "#FFE53C" + }, + "500": { + "value": "#EECF00" + }, + "600": { + "value": "#C2A905" + }, + "700": { + "value": "#6B5D02" + }, + "800": { + "value": "#282300" + }, + "900": { + "value": "#1A1700" + } + }, + "orange": { + "50": { + "value": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d" + }, + "300": { + "value": "#ffa666" + }, + "400": { + "value": "#ff9040" + }, + "500": { + "value": "#ff7a1a" + }, + "600": { + "value": "#e15e00" + }, + "700": { + "value": "#a94700" + }, + "800": { + "value": "#702f00" + }, + "900": { + "value": "#381800" + } + }, + "red": { + "50": { + "value": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0" + }, + "200": { + "value": "#FFDED7" + }, + "300": { + "value": "#FFA692" + }, + "400": { + "value": "#FF7353" + }, + "500": { + "value": "#FF3B10" + }, + "600": { + "value": "#BB2402" + }, + "700": { + "value": "#701704" + }, + "800": { + "value": "#340A01" + }, + "900": { + "value": "#1C0301" + } + }, + "pear": { + "50": { + "value": "#f7f8dc" + }, + "100": { + "value": "#eff0ba" + }, + "200": { + "value": "#e8e997" + }, + "300": { + "value": "#e0e274" + }, + "400": { + "value": "#d8da52" + }, + "500": { + "value": "#d0d32f" + }, + "600": { + "value": "#a8aa24" + }, + "700": { + "value": "#7e801b" + }, + "800": { + "value": "#545512" + }, + "900": { + "value": "#2a2b09" + } + }, + "teal": { + "50": { + "value": "#d7faf8" + }, + "100": { + "value": "#aff4f0" + }, + "200": { + "value": "#87efe9" + }, + "300": { + "value": "#5fe9e1" + }, + "400": { + "value": "#36e4da" + }, + "500": { + "value": "#1cd1c6" + }, + "600": { + "value": "#16a79e" + }, + "700": { + "value": "#117d77" + }, + "800": { + "value": "#0b544f" + }, + "900": { + "value": "#062a28" + } + }, + "lightblue": { + "50": { + "value": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff" + }, + "200": { + "value": "#8deaff" + }, + "300": { + "value": "#66e4ff" + }, + "400": { + "value": "#40ddff" + }, + "500": { + "value": "#1ad6ff" + }, + "600": { + "value": "#00b9e1" + }, + "700": { + "value": "#008aa9" + }, + "800": { + "value": "#005c70" + }, + "900": { + "value": "#002e38" + } + }, + "blue": { + "50": { + "value": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF" + }, + "400": { + "value": "#64C7FF" + }, + "500": { + "value": "#1AADFF" + }, + "600": { + "value": "#0069A6" + }, + "700": { + "value": "#003351" + }, + "800": { + "value": "#002235" + }, + "900": { + "value": "#00131D" + } + }, + "indigoblue": { + "50": { + "value": "#d9e5ff" + }, + "100": { + "value": "#b3cbff" + }, + "200": { + "value": "#8db0ff" + }, + "300": { + "value": "#6696ff" + }, + "400": { + "value": "#407cff" + }, + "500": { + "value": "#1a62ff" + }, + "600": { + "value": "#0047e1" + }, + "700": { + "value": "#0035a9" + }, + "800": { + "value": "#002370" + }, + "900": { + "value": "#001238" + } + }, + "royalblue": { + "50": { + "value": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7" + }, + "200": { + "value": "#a093f3" + }, + "300": { + "value": "#806ff0" + }, + "400": { + "value": "#614bec" + }, + "500": { + "value": "#4127e8" + }, + "600": { + "value": "#2c15c4" + }, + "700": { + "value": "#211093" + }, + "800": { + "value": "#160a62" + }, + "900": { + "value": "#0b0531" + } + }, + "purple": { + "50": { + "value": "#ead9ff" + }, + "100": { + "value": "#d5b3ff" + }, + "200": { + "value": "#c08dff" + }, + "300": { + "value": "#ab66ff" + }, + "400": { + "value": "#9640ff" + }, + "500": { + "value": "#811aff" + }, + "600": { + "value": "#6500e1" + }, + "700": { + "value": "#4c00a9" + }, + "800": { + "value": "#330070" + }, + "900": { + "value": "#190038" + } + }, + "pink": { + "50": { + "value": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8" + }, + "300": { + "value": "#ff66cc" + }, + "400": { + "value": "#ff40bf" + }, + "500": { + "value": "#ff1ab2" + }, + "600": { + "value": "#e10095" + }, + "700": { + "value": "#a90070" + }, + "800": { + "value": "#70004b" + }, + "900": { + "value": "#380025" + } + }, + "ruby": { + "50": { + "value": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9" + }, + "200": { + "value": "#ff8dae" + }, + "300": { + "value": "#ff6694" + }, + "400": { + "value": "#ff4079" + }, + "500": { + "value": "#ff1a5e" + }, + "600": { + "value": "#e10043" + }, + "700": { + "value": "#a90032" + }, + "800": { + "value": "#700021" + }, + "900": { + "value": "#380011" + } + }, + "primary": { + "50": { + "value": "#fff2cc" + }, + "100": { + "value": "#ffe599" + }, + "200": { + "value": "#ffd966" + }, + "300": { + "value": "#f1c232" + }, + "400": { + "value": "#f1c232" + }, + "500": { + "value": "#f1c232" + }, + "600": { + "value": "#f1c232" + }, + "700": { + "value": "#f1c232" + }, + "800": { + "value": "#f1c232" + }, + "900": { + "value": "#f1c232" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + }, + "width": { + "screen": { + "value": "100vw" + } + }, + "height": { + "screen": { + "value": "100vh" + } + }, + "shadow": { + "xs": { + "value": "0px 1px 2px 0px #000000" + }, + "sm": { + "value": "0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000" + }, + "md": { + "value": "0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000" + }, + "lg": { + "value": "0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000" + }, + "xl": { + "value": "0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000" + }, + "2xl": { + "value": "0px 25px 50px -12px {color.gray.900}" + }, + "none": { + "value": "0px 0px 0px 0px transparent" + } + }, + "radii": { + "none": { + "value": "0px" + }, + "2xs": { + "value": "0.125rem" + }, + "xs": { + "value": "0.25rem" + }, + "sm": { + "value": "0.375rem" + }, + "md": { + "value": "0.5rem" + }, + "lg": { + "value": "0.75rem" + }, + "xl": { + "value": "1rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.75rem" + }, + "full": { + "value": "9999px" + } + }, + "size": { + "0": { + "value": "0px" + }, + "2": { + "value": "2px" + }, + "4": { + "value": "4px" + }, + "6": { + "value": "6px" + }, + "8": { + "value": "8px" + }, + "12": { + "value": "12px" + }, + "16": { + "value": "16px" + }, + "20": { + "value": "20px" + }, + "24": { + "value": "24px" + }, + "32": { + "value": "32px" + }, + "40": { + "value": "40px" + }, + "48": { + "value": "48px" + }, + "56": { + "value": "56px" + }, + "64": { + "value": "64px" + }, + "80": { + "value": "80px" + }, + "104": { + "value": "104px" + }, + "200": { + "value": "200px" + }, + "xs": { + "value": "20rem" + }, + "sm": { + "value": "24rem" + }, + "md": { + "value": "28rem" + }, + "lg": { + "value": "32rem" + }, + "xl": { + "value": "36rem" + }, + "2xl": { + "value": "42rem" + }, + "3xl": { + "value": "48rem" + }, + "4xl": { + "value": "56rem" + }, + "5xl": { + "value": "64rem" + }, + "6xl": { + "value": "72rem" + }, + "7xl": { + "value": "80rem" + }, + "full": { + "value": "100%" + } + }, + "space": { + "0": { + "value": "0px" + }, + "1": { + "value": "0.25rem" + }, + "2": { + "value": "0.5rem" + }, + "3": { + "value": "0.75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "11": { + "value": "2.75rem" + }, + "12": { + "value": "3rem" + }, + "14": { + "value": "3.5rem" + }, + "16": { + "value": "4rem" + }, + "20": { + "value": "5rem" + }, + "24": { + "value": "6rem" + }, + "28": { + "value": "7rem" + }, + "32": { + "value": "8rem" + }, + "36": { + "value": "9rem" + }, + "40": { + "value": "10rem" + }, + "44": { + "value": "11rem" + }, + "48": { + "value": "12rem" + }, + "52": { + "value": "13rem" + }, + "56": { + "value": "14rem" + }, + "60": { + "value": "15rem" + }, + "64": { + "value": "16rem" + }, + "72": { + "value": "18rem" + }, + "80": { + "value": "20rem" + }, + "96": { + "value": "24rem" + }, + "128": { + "value": "32rem" + }, + "px": { + "value": "1px" + }, + "rem": { + "125": { + "value": "0.125rem" + }, + "375": { + "value": "0.375rem" + }, + "625": { + "value": "0.625rem" + }, + "875": { + "value": "0.875rem" + } + } + }, + "borderWidth": { + "noBorder": { + "value": "0" + }, + "sm": { + "value": "1px" + }, + "md": { + "value": "2px" + }, + "lg": { + "value": "3px" + } + }, + "opacity": { + "noOpacity": { + "value": "0" + }, + "bright": { + "value": "0.1" + }, + "light": { + "value": "0.15" + }, + "soft": { + "value": "0.3" + }, + "medium": { + "value": "0.5" + }, + "high": { + "value": "0.8" + }, + "total": { + "value": "1" + } + }, + "font": { + "sans": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + }, + "serif": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + }, + "mono": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "fontSize": { + "xs": { + "value": "0.75rem" + }, + "sm": { + "value": "0.875rem" + }, + "base": { + "value": "1rem" + }, + "lg": { + "value": "1.125rem" + }, + "xl": { + "value": "1.25rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.875rem" + }, + "4xl": { + "value": "2.25rem" + }, + "5xl": { + "value": "3rem" + }, + "6xl": { + "value": "3.75rem" + }, + "7xl": { + "value": "4.5rem" + }, + "8xl": { + "value": "6rem" + }, + "9xl": { + "value": "8rem" + } + }, + "letterSpacing": { + "tighter": { + "value": "-0.05em" + }, + "tight": { + "value": "-0.025em" + }, + "normal": { + "value": "0em" + }, + "wide": { + "value": "0.025em" + }, + "wider": { + "value": "0.05em" + }, + "widest": { + "value": "0.1em" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "text": { + "xs": { + "fontSize": { + "value": "{fontSize.xs}" + }, + "lineHeight": { + "value": "{lead.4}" + } + }, + "sm": { + "fontSize": { + "value": "{fontSize.sm}" + }, + "lineHeight": { + "value": "{lead.5}" + } + }, + "base": { + "fontSize": { + "value": "{fontSize.base}" + }, + "lineHeight": { + "value": "{lead.6}" + } + }, + "lg": { + "fontSize": { + "value": "{fontSize.lg}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "xl": { + "fontSize": { + "value": "{fontSize.xl}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "2xl": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "{lead.8}" + } + }, + "3xl": { + "fontSize": { + "value": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "{lead.9}" + } + }, + "4xl": { + "fontSize": { + "value": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "{lead.10}" + } + }, + "5xl": { + "fontSize": { + "value": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + }, + "6xl": { + "fontSize": { + "value": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + }, + "elements": { + "text": { + "primary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "container": { + "maxWidth": { + "value": "80rem" + }, + "padding": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + }, + "backdrop": { + "filter": { + "value": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "border": { + "primary": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + }, + "surface": { + "background": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "state": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + }, + "typography": { + "body": { + "color": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "verticalMargin": { + "sm": { + "value": "16px" + }, + "base": { + "value": "24px" + } + }, + "letterSpacing": { + "tight": { + "value": "-0.025em" + }, + "wide": { + "value": "0.025em" + } + }, + "fontSize": { + "xs": { + "value": "12px" + }, + "sm": { + "value": "14px" + }, + "base": { + "value": "16px" + }, + "lg": { + "value": "18px" + }, + "xl": { + "value": "20px" + }, + "2xl": { + "value": "24px" + }, + "3xl": { + "value": "30px" + }, + "4xl": { + "value": "36px" + }, + "5xl": { + "value": "48px" + }, + "6xl": { + "value": "60px" + }, + "7xl": { + "value": "72px" + }, + "8xl": { + "value": "96px" + }, + "9xl": { + "value": "128px" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "font": { + "display": { + "value": "{font.sans}" + }, + "body": { + "value": "{font.sans}" + }, + "code": { + "value": "{font.mono}" + } + }, + "color": { + "primary": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + }, + "prose": { + "p": { + "fontSize": { + "value": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "h1": { + "margin": { + "value": "0 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.3xl}" + } + }, + "h2": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.2xl}" + } + }, + "h3": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.xl}" + } + }, + "h4": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h5": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h6": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.base}" + } + }, + "strong": { + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + } + }, + "img": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "a": { + "textDecoration": { + "value": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + }, + "fontWeight": { + "value": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none" + } + }, + "code": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "blockquote": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "ul": { + "listStyleType": { + "value": "disc" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "ol": { + "listStyleType": { + "value": "decimal" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "li": { + "margin": { + "value": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside" + } + }, + "hr": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid" + }, + "width": { + "value": "1px" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "table": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "{typography.lead.6}" + } + }, + "thead": { + "border": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "th": { + "color": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit" + } + }, + "tbody": { + "tr": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + }, + "code": { + "block": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "docus": { + "header": { + "height": { + "value": "64px" + } + }, + "footer": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "{space.4} 0" + } + }, + "readableLine": { + "value": "78ch" + }, + "loadingBar": { + "height": { + "value": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1" + } + } + } + } + }, + "default": { + "media": { + "xs": { + "value": "(min-width: 475px)" + }, + "sm": { + "value": "(min-width: 640px)" + }, + "md": { + "value": "(min-width: 768px)" + }, + "lg": { + "value": "(min-width: 1024px)" + }, + "xl": { + "value": "(min-width: 1280px)" + }, + "2xl": { + "value": "(min-width: 1536px)" + }, + "rm": { + "value": "(prefers-reduced-motion: reduce)" + }, + "landscape": { + "value": "only screen and (orientation: landscape)" + }, + "portrait": { + "value": "only screen and (orientation: portrait)" + } + }, + "color": { + "white": { + "value": "#ffffff" + }, + "black": { + "value": "#0B0A0A" + }, + "gray": { + "50": { + "value": "#FBFBFB" + }, + "100": { + "value": "#F6F5F4" + }, + "200": { + "value": "#ECEBE8" + }, + "300": { + "value": "#DBD9D3" + }, + "400": { + "value": "#ADA9A4" + }, + "500": { + "value": "#97948F" + }, + "600": { + "value": "#67635D" + }, + "700": { + "value": "#36332E" + }, + "800": { + "value": "#201E1B" + }, + "900": { + "value": "#121110" + } + }, + "green": { + "50": { + "value": "#ECFFF7" + }, + "100": { + "value": "#DEFFF1" + }, + "200": { + "value": "#C3FFE6" + }, + "300": { + "value": "#86FBCB" + }, + "400": { + "value": "#3CEEA5" + }, + "500": { + "value": "#0DD885" + }, + "600": { + "value": "#00B467" + }, + "700": { + "value": "#006037" + }, + "800": { + "value": "#002817" + }, + "900": { + "value": "#00190F" + } + }, + "yellow": { + "50": { + "value": "#FFFDEA" + }, + "100": { + "value": "#FFF8CC" + }, + "200": { + "value": "#FEF5A4" + }, + "300": { + "value": "#FFEF8A" + }, + "400": { + "value": "#FFE53C" + }, + "500": { + "value": "#EECF00" + }, + "600": { + "value": "#C2A905" + }, + "700": { + "value": "#6B5D02" + }, + "800": { + "value": "#282300" + }, + "900": { + "value": "#1A1700" + } + }, + "orange": { + "50": { + "value": "#ffe9d9" + }, + "100": { + "value": "#ffd3b3" + }, + "200": { + "value": "#ffbd8d" + }, + "300": { + "value": "#ffa666" + }, + "400": { + "value": "#ff9040" + }, + "500": { + "value": "#ff7a1a" + }, + "600": { + "value": "#e15e00" + }, + "700": { + "value": "#a94700" + }, + "800": { + "value": "#702f00" + }, + "900": { + "value": "#381800" + } + }, + "red": { + "50": { + "value": "#FFF9F8" + }, + "100": { + "value": "#FFF3F0" + }, + "200": { + "value": "#FFDED7" + }, + "300": { + "value": "#FFA692" + }, + "400": { + "value": "#FF7353" + }, + "500": { + "value": "#FF3B10" + }, + "600": { + "value": "#BB2402" + }, + "700": { + "value": "#701704" + }, + "800": { + "value": "#340A01" + }, + "900": { + "value": "#1C0301" + } + }, + "pear": { + "50": { + "value": "#f7f8dc" + }, + "100": { + "value": "#eff0ba" + }, + "200": { + "value": "#e8e997" + }, + "300": { + "value": "#e0e274" + }, + "400": { + "value": "#d8da52" + }, + "500": { + "value": "#d0d32f" + }, + "600": { + "value": "#a8aa24" + }, + "700": { + "value": "#7e801b" + }, + "800": { + "value": "#545512" + }, + "900": { + "value": "#2a2b09" + } + }, + "teal": { + "50": { + "value": "#d7faf8" + }, + "100": { + "value": "#aff4f0" + }, + "200": { + "value": "#87efe9" + }, + "300": { + "value": "#5fe9e1" + }, + "400": { + "value": "#36e4da" + }, + "500": { + "value": "#1cd1c6" + }, + "600": { + "value": "#16a79e" + }, + "700": { + "value": "#117d77" + }, + "800": { + "value": "#0b544f" + }, + "900": { + "value": "#062a28" + } + }, + "lightblue": { + "50": { + "value": "#d9f8ff" + }, + "100": { + "value": "#b3f1ff" + }, + "200": { + "value": "#8deaff" + }, + "300": { + "value": "#66e4ff" + }, + "400": { + "value": "#40ddff" + }, + "500": { + "value": "#1ad6ff" + }, + "600": { + "value": "#00b9e1" + }, + "700": { + "value": "#008aa9" + }, + "800": { + "value": "#005c70" + }, + "900": { + "value": "#002e38" + } + }, + "blue": { + "50": { + "value": "#F2FAFF" + }, + "100": { + "value": "#DFF3FF" + }, + "200": { + "value": "#C6EAFF" + }, + "300": { + "value": "#A1DDFF" + }, + "400": { + "value": "#64C7FF" + }, + "500": { + "value": "#1AADFF" + }, + "600": { + "value": "#0069A6" + }, + "700": { + "value": "#003351" + }, + "800": { + "value": "#002235" + }, + "900": { + "value": "#00131D" + } + }, + "indigoblue": { + "50": { + "value": "#d9e5ff" + }, + "100": { + "value": "#b3cbff" + }, + "200": { + "value": "#8db0ff" + }, + "300": { + "value": "#6696ff" + }, + "400": { + "value": "#407cff" + }, + "500": { + "value": "#1a62ff" + }, + "600": { + "value": "#0047e1" + }, + "700": { + "value": "#0035a9" + }, + "800": { + "value": "#002370" + }, + "900": { + "value": "#001238" + } + }, + "royalblue": { + "50": { + "value": "#dfdbfb" + }, + "100": { + "value": "#c0b7f7" + }, + "200": { + "value": "#a093f3" + }, + "300": { + "value": "#806ff0" + }, + "400": { + "value": "#614bec" + }, + "500": { + "value": "#4127e8" + }, + "600": { + "value": "#2c15c4" + }, + "700": { + "value": "#211093" + }, + "800": { + "value": "#160a62" + }, + "900": { + "value": "#0b0531" + } + }, + "purple": { + "50": { + "value": "#ead9ff" + }, + "100": { + "value": "#d5b3ff" + }, + "200": { + "value": "#c08dff" + }, + "300": { + "value": "#ab66ff" + }, + "400": { + "value": "#9640ff" + }, + "500": { + "value": "#811aff" + }, + "600": { + "value": "#6500e1" + }, + "700": { + "value": "#4c00a9" + }, + "800": { + "value": "#330070" + }, + "900": { + "value": "#190038" + } + }, + "pink": { + "50": { + "value": "#ffd9f2" + }, + "100": { + "value": "#ffb3e5" + }, + "200": { + "value": "#ff8dd8" + }, + "300": { + "value": "#ff66cc" + }, + "400": { + "value": "#ff40bf" + }, + "500": { + "value": "#ff1ab2" + }, + "600": { + "value": "#e10095" + }, + "700": { + "value": "#a90070" + }, + "800": { + "value": "#70004b" + }, + "900": { + "value": "#380025" + } + }, + "ruby": { + "50": { + "value": "#ffd9e4" + }, + "100": { + "value": "#ffb3c9" + }, + "200": { + "value": "#ff8dae" + }, + "300": { + "value": "#ff6694" + }, + "400": { + "value": "#ff4079" + }, + "500": { + "value": "#ff1a5e" + }, + "600": { + "value": "#e10043" + }, + "700": { + "value": "#a90032" + }, + "800": { + "value": "#700021" + }, + "900": { + "value": "#380011" + } + }, + "primary": { + "50": { + "value": "#fff2cc" + }, + "100": { + "value": "#ffe599" + }, + "200": { + "value": "#ffd966" + }, + "300": { + "value": "#f1c232" + }, + "400": { + "value": "#f1c232" + }, + "500": { + "value": "#f1c232" + }, + "600": { + "value": "#f1c232" + }, + "700": { + "value": "#f1c232" + }, + "800": { + "value": "#f1c232" + }, + "900": { + "value": "#f1c232" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + }, + "width": { + "screen": { + "value": "100vw" + } + }, + "height": { + "screen": { + "value": "100vh" + } + }, + "shadow": { + "xs": { + "value": "0px 1px 2px 0px #000000" + }, + "sm": { + "value": "0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000" + }, + "md": { + "value": "0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000" + }, + "lg": { + "value": "0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000" + }, + "xl": { + "value": "0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000" + }, + "2xl": { + "value": "0px 25px 50px -12px {color.gray.900}" + }, + "none": { + "value": "0px 0px 0px 0px transparent" + } + }, + "radii": { + "none": { + "value": "0px" + }, + "2xs": { + "value": "0.125rem" + }, + "xs": { + "value": "0.25rem" + }, + "sm": { + "value": "0.375rem" + }, + "md": { + "value": "0.5rem" + }, + "lg": { + "value": "0.75rem" + }, + "xl": { + "value": "1rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.75rem" + }, + "full": { + "value": "9999px" + } + }, + "size": { + "0": { + "value": "0px" + }, + "2": { + "value": "2px" + }, + "4": { + "value": "4px" + }, + "6": { + "value": "6px" + }, + "8": { + "value": "8px" + }, + "12": { + "value": "12px" + }, + "16": { + "value": "16px" + }, + "20": { + "value": "20px" + }, + "24": { + "value": "24px" + }, + "32": { + "value": "32px" + }, + "40": { + "value": "40px" + }, + "48": { + "value": "48px" + }, + "56": { + "value": "56px" + }, + "64": { + "value": "64px" + }, + "80": { + "value": "80px" + }, + "104": { + "value": "104px" + }, + "200": { + "value": "200px" + }, + "xs": { + "value": "20rem" + }, + "sm": { + "value": "24rem" + }, + "md": { + "value": "28rem" + }, + "lg": { + "value": "32rem" + }, + "xl": { + "value": "36rem" + }, + "2xl": { + "value": "42rem" + }, + "3xl": { + "value": "48rem" + }, + "4xl": { + "value": "56rem" + }, + "5xl": { + "value": "64rem" + }, + "6xl": { + "value": "72rem" + }, + "7xl": { + "value": "80rem" + }, + "full": { + "value": "100%" + } + }, + "space": { + "0": { + "value": "0px" + }, + "1": { + "value": "0.25rem" + }, + "2": { + "value": "0.5rem" + }, + "3": { + "value": "0.75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "11": { + "value": "2.75rem" + }, + "12": { + "value": "3rem" + }, + "14": { + "value": "3.5rem" + }, + "16": { + "value": "4rem" + }, + "20": { + "value": "5rem" + }, + "24": { + "value": "6rem" + }, + "28": { + "value": "7rem" + }, + "32": { + "value": "8rem" + }, + "36": { + "value": "9rem" + }, + "40": { + "value": "10rem" + }, + "44": { + "value": "11rem" + }, + "48": { + "value": "12rem" + }, + "52": { + "value": "13rem" + }, + "56": { + "value": "14rem" + }, + "60": { + "value": "15rem" + }, + "64": { + "value": "16rem" + }, + "72": { + "value": "18rem" + }, + "80": { + "value": "20rem" + }, + "96": { + "value": "24rem" + }, + "128": { + "value": "32rem" + }, + "px": { + "value": "1px" + }, + "rem": { + "125": { + "value": "0.125rem" + }, + "375": { + "value": "0.375rem" + }, + "625": { + "value": "0.625rem" + }, + "875": { + "value": "0.875rem" + } + } + }, + "borderWidth": { + "noBorder": { + "value": "0" + }, + "sm": { + "value": "1px" + }, + "md": { + "value": "2px" + }, + "lg": { + "value": "3px" + } + }, + "opacity": { + "noOpacity": { + "value": "0" + }, + "bright": { + "value": "0.1" + }, + "light": { + "value": "0.15" + }, + "soft": { + "value": "0.3" + }, + "medium": { + "value": "0.5" + }, + "high": { + "value": "0.8" + }, + "total": { + "value": "1" + } + }, + "font": { + "sans": { + "value": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" + }, + "serif": { + "value": "ui-serif, Georgia, Cambria, Times New Roman, Times, serif" + }, + "mono": { + "value": "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "fontSize": { + "xs": { + "value": "0.75rem" + }, + "sm": { + "value": "0.875rem" + }, + "base": { + "value": "1rem" + }, + "lg": { + "value": "1.125rem" + }, + "xl": { + "value": "1.25rem" + }, + "2xl": { + "value": "1.5rem" + }, + "3xl": { + "value": "1.875rem" + }, + "4xl": { + "value": "2.25rem" + }, + "5xl": { + "value": "3rem" + }, + "6xl": { + "value": "3.75rem" + }, + "7xl": { + "value": "4.5rem" + }, + "8xl": { + "value": "6rem" + }, + "9xl": { + "value": "8rem" + } + }, + "letterSpacing": { + "tighter": { + "value": "-0.05em" + }, + "tight": { + "value": "-0.025em" + }, + "normal": { + "value": "0em" + }, + "wide": { + "value": "0.025em" + }, + "wider": { + "value": "0.05em" + }, + "widest": { + "value": "0.1em" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "text": { + "xs": { + "fontSize": { + "value": "{fontSize.xs}" + }, + "lineHeight": { + "value": "{lead.4}" + } + }, + "sm": { + "fontSize": { + "value": "{fontSize.sm}" + }, + "lineHeight": { + "value": "{lead.5}" + } + }, + "base": { + "fontSize": { + "value": "{fontSize.base}" + }, + "lineHeight": { + "value": "{lead.6}" + } + }, + "lg": { + "fontSize": { + "value": "{fontSize.lg}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "xl": { + "fontSize": { + "value": "{fontSize.xl}" + }, + "lineHeight": { + "value": "{lead.7}" + } + }, + "2xl": { + "fontSize": { + "value": "{fontSize.2xl}" + }, + "lineHeight": { + "value": "{lead.8}" + } + }, + "3xl": { + "fontSize": { + "value": "{fontSize.3xl}" + }, + "lineHeight": { + "value": "{lead.9}" + } + }, + "4xl": { + "fontSize": { + "value": "{fontSize.4xl}" + }, + "lineHeight": { + "value": "{lead.10}" + } + }, + "5xl": { + "fontSize": { + "value": "{fontSize.5xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + }, + "6xl": { + "fontSize": { + "value": "{fontSize.6xl}" + }, + "lineHeight": { + "value": "{lead.none}" + } + } + }, + "elements": { + "text": { + "primary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.900}", + "dark": "{color.gray.50}" + } + }, + "hover": {} + } + }, + "secondary": { + "color": { + "static": { + "value": { + "initial": "{color.gray.500}", + "dark": "{color.gray.400}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.700}", + "dark": "{color.gray.200}" + } + } + } + } + }, + "container": { + "maxWidth": { + "value": "80rem" + }, + "padding": { + "mobile": { + "value": "{space.4}" + }, + "xs": { + "value": "{space.4}" + }, + "sm": { + "value": "{space.6}" + }, + "md": { + "value": "{space.6}" + } + } + }, + "backdrop": { + "filter": { + "value": "saturate(200%) blur(20px)" + }, + "background": { + "value": { + "initial": "#fffc", + "dark": "#0c0d0ccc" + } + } + }, + "border": { + "primary": { + "static": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + }, + "hover": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + }, + "secondary": { + "static": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + }, + "hover": { + "value": { + "initial": "", + "dark": "" + } + } + } + }, + "surface": { + "background": { + "base": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "primary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.100}", + "dark": "{color.gray.900}" + } + } + }, + "secondary": { + "backgroundColor": { + "value": { + "initial": "{color.gray.200}", + "dark": "{color.gray.800}" + } + } + } + }, + "state": { + "primary": { + "color": { + "primary": { + "value": { + "initial": "{color.primary.600}", + "dark": "{color.primary.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.700}", + "dark": "{color.primary.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.primary.50}", + "dark": "{color.primary.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.primary.100}", + "dark": "{color.primary.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.primary.200}", + "dark": "{color.primary.700}" + } + } + } + }, + "info": { + "color": { + "primary": { + "value": { + "initial": "{color.blue.500}", + "dark": "{color.blue.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.600}", + "dark": "{color.blue.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.blue.50}", + "dark": "{color.blue.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.blue.100}", + "dark": "{color.blue.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.blue.200}", + "dark": "{color.blue.700}" + } + } + } + }, + "success": { + "color": { + "primary": { + "value": { + "initial": "{color.green.500}", + "dark": "{color.green.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.600}", + "dark": "{color.green.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.green.50}", + "dark": "{color.green.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.green.100}", + "dark": "{color.green.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.green.200}", + "dark": "{color.green.700}" + } + } + } + }, + "warning": { + "color": { + "primary": { + "value": { + "initial": "{color.yellow.600}", + "dark": "{color.yellow.400}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.700}", + "dark": "{color.yellow.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.yellow.50}", + "dark": "{color.yellow.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.yellow.100}", + "dark": "{color.yellow.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.yellow.200}", + "dark": "{color.yellow.700}" + } + } + } + }, + "danger": { + "color": { + "primary": { + "value": { + "initial": "{color.red.500}", + "dark": "{color.red.300}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.600}", + "dark": "{color.red.200}" + } + } + }, + "backgroundColor": { + "primary": { + "value": { + "initial": "{color.red.50}", + "dark": "{color.red.900}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + } + }, + "borderColor": { + "primary": { + "value": { + "initial": "{color.red.100}", + "dark": "{color.red.800}" + } + }, + "secondary": { + "value": { + "initial": "{color.red.200}", + "dark": "{color.red.700}" + } + } + } + } + } + }, + "typography": { + "body": { + "color": { + "value": { + "initial": "{color.black}", + "dark": "{color.white}" + } + }, + "backgroundColor": { + "value": { + "initial": "{color.white}", + "dark": "{color.black}" + } + } + }, + "verticalMargin": { + "sm": { + "value": "16px" + }, + "base": { + "value": "24px" + } + }, + "letterSpacing": { + "tight": { + "value": "-0.025em" + }, + "wide": { + "value": "0.025em" + } + }, + "fontSize": { + "xs": { + "value": "12px" + }, + "sm": { + "value": "14px" + }, + "base": { + "value": "16px" + }, + "lg": { + "value": "18px" + }, + "xl": { + "value": "20px" + }, + "2xl": { + "value": "24px" + }, + "3xl": { + "value": "30px" + }, + "4xl": { + "value": "36px" + }, + "5xl": { + "value": "48px" + }, + "6xl": { + "value": "60px" + }, + "7xl": { + "value": "72px" + }, + "8xl": { + "value": "96px" + }, + "9xl": { + "value": "128px" + } + }, + "fontWeight": { + "thin": { + "value": "100" + }, + "extralight": { + "value": "200" + }, + "light": { + "value": "300" + }, + "normal": { + "value": "400" + }, + "medium": { + "value": "500" + }, + "semibold": { + "value": "600" + }, + "bold": { + "value": "700" + }, + "extrabold": { + "value": "800" + }, + "black": { + "value": "900" + } + }, + "lead": { + "1": { + "value": ".025rem" + }, + "2": { + "value": ".5rem" + }, + "3": { + "value": ".75rem" + }, + "4": { + "value": "1rem" + }, + "5": { + "value": "1.25rem" + }, + "6": { + "value": "1.5rem" + }, + "7": { + "value": "1.75rem" + }, + "8": { + "value": "2rem" + }, + "9": { + "value": "2.25rem" + }, + "10": { + "value": "2.5rem" + }, + "none": { + "value": "1" + }, + "tight": { + "value": "1.25" + }, + "snug": { + "value": "1.375" + }, + "normal": { + "value": "1.5" + }, + "relaxed": { + "value": "1.625" + }, + "loose": { + "value": "2" + } + }, + "font": { + "display": { + "value": "{font.sans}" + }, + "body": { + "value": "{font.sans}" + }, + "code": { + "value": "{font.mono}" + } + }, + "color": { + "primary": { + "50": { + "value": "{color.primary.50}" + }, + "100": { + "value": "{color.primary.100}" + }, + "200": { + "value": "{color.primary.200}" + }, + "300": { + "value": "{color.primary.300}" + }, + "400": { + "value": "{color.primary.400}" + }, + "500": { + "value": "{color.primary.500}" + }, + "600": { + "value": "{color.primary.600}" + }, + "700": { + "value": "{color.primary.700}" + }, + "800": { + "value": "{color.primary.800}" + }, + "900": { + "value": "{color.primary.900}" + } + }, + "secondary": { + "50": { + "value": "{color.gray.50}" + }, + "100": { + "value": "{color.gray.100}" + }, + "200": { + "value": "{color.gray.200}" + }, + "300": { + "value": "{color.gray.300}" + }, + "400": { + "value": "{color.gray.400}" + }, + "500": { + "value": "{color.gray.500}" + }, + "600": { + "value": "{color.gray.600}" + }, + "700": { + "value": "{color.gray.700}" + }, + "800": { + "value": "{color.gray.800}" + }, + "900": { + "value": "{color.gray.900}" + } + } + } + }, + "prose": { + "p": { + "fontSize": { + "value": "{typography.fontSize.base}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "br": { + "margin": { + "value": "{typography.verticalMargin.base} 0 0 0" + } + } + }, + "h1": { + "margin": { + "value": "0 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.5xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.bold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.3xl}" + } + }, + "h2": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.4xl}" + }, + "lineHeight": { + "value": "{typography.lead.tight}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.2xl}" + } + }, + "h3": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.3xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.xl}" + } + }, + "h4": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.2xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "letterSpacing": { + "value": "{typography.letterSpacing.tight}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h5": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.xl}" + }, + "lineHeight": { + "value": "{typography.lead.snug}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.lg}" + } + }, + "h6": { + "margin": { + "value": "3rem 0 2rem" + }, + "fontSize": { + "value": "{typography.fontSize.lg}" + }, + "lineHeight": { + "value": "{typography.lead.normal}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "iconSize": { + "value": "{typography.fontSize.base}" + } + }, + "strong": { + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + } + }, + "img": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + } + }, + "a": { + "textDecoration": { + "value": "none" + }, + "color": { + "static": { + "value": { + "initial": "inherit", + "dark": "inherit" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.400}" + } + } + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "static": { + "value": "dashed" + }, + "hover": { + "value": "solid" + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "distance": { + "value": "2px" + } + }, + "fontWeight": { + "value": "{typography.fontWeight.medium}" + }, + "hasCode": { + "borderBottom": { + "value": "none" + } + }, + "code": { + "border": { + "width": { + "value": "{prose.a.border.width}" + }, + "style": { + "value": "{prose.a.border.style.static}" + }, + "color": { + "static": { + "value": { + "initial": "{typography.color.secondary.400}", + "dark": "{typography.color.secondary.600}" + } + }, + "hover": { + "value": { + "initial": "{typography.color.primary.500}", + "dark": "{typography.color.primary.600}" + } + } + } + }, + "color": { + "static": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + }, + "hover": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + }, + "background": { + "static": {}, + "hover": { + "value": { + "initial": "{typography.color.primary.50}", + "dark": "{typography.color.primary.900}" + } + } + } + } + }, + "blockquote": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "24px" + }, + "quotes": { + "value": "'201C' '201D' '2018' '2019'" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.500}", + "dark": "{typography.color.secondary.400}" + } + }, + "border": { + "width": { + "value": "4px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.700}" + } + } + } + }, + "ul": { + "listStyleType": { + "value": "disc" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "ol": { + "listStyleType": { + "value": "decimal" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "paddingInlineStart": { + "value": "21px" + }, + "li": { + "markerColor": { + "value": { + "initial": "currentColor", + "dark": "currentColor" + } + } + } + }, + "li": { + "margin": { + "value": "{typography.verticalMargin.sm} 0" + }, + "listStylePosition": { + "value": "outside" + } + }, + "hr": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "style": { + "value": "solid" + }, + "width": { + "value": "1px" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "table": { + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "textAlign": { + "value": "start" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "lineHeight": { + "value": "{typography.lead.6}" + } + }, + "thead": { + "border": { + "width": { + "value": "0px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.300}", + "dark": "{typography.color.secondary.600}" + } + } + }, + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "th": { + "color": { + "value": { + "initial": "{typography.color.secondary.600}", + "dark": "{typography.color.secondary.400}" + } + }, + "padding": { + "value": "0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.semibold}" + }, + "textAlign": { + "value": "inherit" + } + }, + "tbody": { + "tr": { + "borderBottom": { + "width": { + "value": "1px" + }, + "style": { + "value": "dashed" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + } + }, + "td": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + }, + "code": { + "inline": { + "fontSize": { + "value": "{typography.fontSize.sm}" + } + } + } + }, + "code": { + "block": { + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "margin": { + "value": "{typography.verticalMargin.base} 0" + }, + "border": { + "width": { + "value": "1px" + }, + "style": { + "value": "solid" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.200}", + "dark": "{typography.color.secondary.800}" + } + } + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.900}" + } + }, + "backdropFilter": { + "value": { + "initial": "contrast(1)", + "dark": "contrast(1)" + } + }, + "pre": { + "padding": { + "value": "{typography.verticalMargin.sm}" + } + } + }, + "inline": { + "borderRadius": { + "value": "{radii.xs}" + }, + "padding": { + "value": "0.2rem 0.375rem 0.2rem 0.375rem" + }, + "fontSize": { + "value": "{typography.fontSize.sm}" + }, + "fontWeight": { + "value": "{typography.fontWeight.normal}" + }, + "color": { + "value": { + "initial": "{typography.color.secondary.700}", + "dark": "{typography.color.secondary.200}" + } + }, + "backgroundColor": { + "value": { + "initial": "{typography.color.secondary.100}", + "dark": "{typography.color.secondary.800}" + } + } + } + } + }, + "docus": { + "header": { + "height": { + "value": "64px" + } + }, + "footer": { + "height": { + "value": { + "initial": "145px", + "sm": "100px" + } + }, + "padding": { + "value": "{space.4} 0" + } + }, + "readableLine": { + "value": "78ch" + }, + "loadingBar": { + "height": { + "value": "3px" + }, + "gradientColorStop1": { + "value": "#00dc82" + }, + "gradientColorStop2": { + "value": "#34cdfe" + }, + "gradientColorStop3": { + "value": "#0047e1" + } + } + } + } +} as const + +export const GeneratedPinceauThemeSchema = typeof schema + diff --git a/docs/.nuxt/pinceau/theme/index.css b/docs/.nuxt/pinceau/theme/index.css new file mode 100644 index 00000000..757fce70 --- /dev/null +++ b/docs/.nuxt/pinceau/theme/index.css @@ -0,0 +1 @@ +@media { :root {--pinceau-mq: initial; --docus-loadingBar-gradientColorStop3: #0047e1;--docus-loadingBar-gradientColorStop2: #34cdfe;--docus-loadingBar-gradientColorStop1: #00dc82;--docus-loadingBar-height: 3px;--docus-readableLine: 78ch;--docus-footer-height: 145px;--docus-header-height: 64px;--prose-code-inline-padding: 0.2rem 0.375rem 0.2rem 0.375rem;--prose-code-block-backdropFilter: contrast(1);--prose-code-block-border-style: solid;--prose-code-block-border-width: 1px;--prose-tbody-tr-borderBottom-style: dashed;--prose-tbody-tr-borderBottom-width: 1px;--prose-th-textAlign: inherit;--prose-thead-borderBottom-style: solid;--prose-thead-borderBottom-width: 1px;--prose-thead-border-style: solid;--prose-thead-border-width: 0px;--prose-table-textAlign: start;--prose-hr-width: 1px;--prose-hr-style: solid;--prose-li-listStylePosition: outside;--prose-ol-li-markerColor: currentColor;--prose-ol-paddingInlineStart: 21px;--prose-ol-listStyleType: decimal;--prose-ul-li-markerColor: currentColor;--prose-ul-paddingInlineStart: 21px;--prose-ul-listStyleType: disc;--prose-blockquote-border-style: solid;--prose-blockquote-border-width: 4px;--prose-blockquote-quotes: '201C' '201D' '2018' '2019';--prose-blockquote-paddingInlineStart: 24px;--prose-a-code-color-hover: currentColor;--prose-a-code-color-static: currentColor;--prose-a-hasCode-borderBottom: none;--prose-a-border-distance: 2px;--prose-a-border-color-hover: currentColor;--prose-a-border-color-static: currentColor;--prose-a-border-style-hover: solid;--prose-a-border-style-static: dashed;--prose-a-border-width: 1px;--prose-a-color-static: inherit;--prose-a-textDecoration: none;--prose-h6-margin: 3rem 0 2rem;--prose-h5-margin: 3rem 0 2rem;--prose-h4-margin: 3rem 0 2rem;--prose-h3-margin: 3rem 0 2rem;--prose-h2-margin: 3rem 0 2rem;--prose-h1-margin: 0 0 2rem;--typography-lead-loose: 2;--typography-lead-relaxed: 1.625;--typography-lead-normal: 1.5;--typography-lead-snug: 1.375;--typography-lead-tight: 1.25;--typography-lead-none: 1;--typography-lead-10: 2.5rem;--typography-lead-9: 2.25rem;--typography-lead-8: 2rem;--typography-lead-7: 1.75rem;--typography-lead-6: 1.5rem;--typography-lead-5: 1.25rem;--typography-lead-4: 1rem;--typography-lead-3: .75rem;--typography-lead-2: .5rem;--typography-lead-1: .025rem;--typography-fontWeight-black: 900;--typography-fontWeight-extrabold: 800;--typography-fontWeight-bold: 700;--typography-fontWeight-semibold: 600;--typography-fontWeight-medium: 500;--typography-fontWeight-normal: 400;--typography-fontWeight-light: 300;--typography-fontWeight-extralight: 200;--typography-fontWeight-thin: 100;--typography-fontSize-9xl: 128px;--typography-fontSize-8xl: 96px;--typography-fontSize-7xl: 72px;--typography-fontSize-6xl: 60px;--typography-fontSize-5xl: 48px;--typography-fontSize-4xl: 36px;--typography-fontSize-3xl: 30px;--typography-fontSize-2xl: 24px;--typography-fontSize-xl: 20px;--typography-fontSize-lg: 18px;--typography-fontSize-base: 16px;--typography-fontSize-sm: 14px;--typography-fontSize-xs: 12px;--typography-letterSpacing-wide: 0.025em;--typography-letterSpacing-tight: -0.025em;--typography-verticalMargin-base: 24px;--typography-verticalMargin-sm: 16px;--elements-border-secondary-hover: [object Object];--elements-backdrop-background: #fffc;--elements-backdrop-filter: saturate(200%) blur(20px);--elements-container-maxWidth: 80rem;--lead-loose: 2;--lead-relaxed: 1.625;--lead-normal: 1.5;--lead-snug: 1.375;--lead-tight: 1.25;--lead-none: 1;--lead-10: 2.5rem;--lead-9: 2.25rem;--lead-8: 2rem;--lead-7: 1.75rem;--lead-6: 1.5rem;--lead-5: 1.25rem;--lead-4: 1rem;--lead-3: .75rem;--lead-2: .5rem;--lead-1: .025rem;--letterSpacing-widest: 0.1em;--letterSpacing-wider: 0.05em;--letterSpacing-wide: 0.025em;--letterSpacing-normal: 0em;--letterSpacing-tight: -0.025em;--letterSpacing-tighter: -0.05em;--fontSize-9xl: 8rem;--fontSize-8xl: 6rem;--fontSize-7xl: 4.5rem;--fontSize-6xl: 3.75rem;--fontSize-5xl: 3rem;--fontSize-4xl: 2.25rem;--fontSize-3xl: 1.875rem;--fontSize-2xl: 1.5rem;--fontSize-xl: 1.25rem;--fontSize-lg: 1.125rem;--fontSize-base: 1rem;--fontSize-sm: 0.875rem;--fontSize-xs: 0.75rem;--fontWeight-black: 900;--fontWeight-extrabold: 800;--fontWeight-bold: 700;--fontWeight-semibold: 600;--fontWeight-medium: 500;--fontWeight-normal: 400;--fontWeight-light: 300;--fontWeight-extralight: 200;--fontWeight-thin: 100;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--font-serif: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--opacity-total: 1;--opacity-high: 0.8;--opacity-medium: 0.5;--opacity-soft: 0.3;--opacity-light: 0.15;--opacity-bright: 0.1;--opacity-noOpacity: 0;--borderWidth-lg: 3px;--borderWidth-md: 2px;--borderWidth-sm: 1px;--borderWidth-noBorder: 0;--space-rem-875: 0.875rem;--space-rem-625: 0.625rem;--space-rem-375: 0.375rem;--space-rem-125: 0.125rem;--space-px: 1px;--space-128: 32rem;--space-96: 24rem;--space-80: 20rem;--space-72: 18rem;--space-64: 16rem;--space-60: 15rem;--space-56: 14rem;--space-52: 13rem;--space-48: 12rem;--space-44: 11rem;--space-40: 10rem;--space-36: 9rem;--space-32: 8rem;--space-28: 7rem;--space-24: 6rem;--space-20: 5rem;--space-16: 4rem;--space-14: 3.5rem;--space-12: 3rem;--space-11: 2.75rem;--space-10: 2.5rem;--space-9: 2.25rem;--space-8: 2rem;--space-7: 1.75rem;--space-6: 1.5rem;--space-5: 1.25rem;--space-4: 1rem;--space-3: 0.75rem;--space-2: 0.5rem;--space-1: 0.25rem;--space-0: 0px;--size-full: 100%;--size-7xl: 80rem;--size-6xl: 72rem;--size-5xl: 64rem;--size-4xl: 56rem;--size-3xl: 48rem;--size-2xl: 42rem;--size-xl: 36rem;--size-lg: 32rem;--size-md: 28rem;--size-sm: 24rem;--size-xs: 20rem;--size-200: 200px;--size-104: 104px;--size-80: 80px;--size-64: 64px;--size-56: 56px;--size-48: 48px;--size-40: 40px;--size-32: 32px;--size-24: 24px;--size-20: 20px;--size-16: 16px;--size-12: 12px;--size-8: 8px;--size-6: 6px;--size-4: 4px;--size-2: 2px;--size-0: 0px;--radii-full: 9999px;--radii-3xl: 1.75rem;--radii-2xl: 1.5rem;--radii-xl: 1rem;--radii-lg: 0.75rem;--radii-md: 0.5rem;--radii-sm: 0.375rem;--radii-xs: 0.25rem;--radii-2xs: 0.125rem;--radii-none: 0px;--shadow-none: 0px 0px 0px 0px transparent;--shadow-lg: 0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000;--shadow-md: 0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000;--shadow-sm: 0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000;--shadow-xs: 0px 1px 2px 0px #000000;--height-screen: 100vh;--width-screen: 100vw;--color-primary-900: #f1c232;--color-primary-800: #f1c232;--color-primary-700: #f1c232;--color-primary-600: #f1c232;--color-primary-500: #f1c232;--color-primary-400: #f1c232;--color-primary-300: #f1c232;--color-primary-200: #ffd966;--color-primary-100: #ffe599;--color-primary-50: #fff2cc;--color-ruby-900: #380011;--color-ruby-800: #700021;--color-ruby-700: #a90032;--color-ruby-600: #e10043;--color-ruby-500: #ff1a5e;--color-ruby-400: #ff4079;--color-ruby-300: #ff6694;--color-ruby-200: #ff8dae;--color-ruby-100: #ffb3c9;--color-ruby-50: #ffd9e4;--color-pink-900: #380025;--color-pink-800: #70004b;--color-pink-700: #a90070;--color-pink-600: #e10095;--color-pink-500: #ff1ab2;--color-pink-400: #ff40bf;--color-pink-300: #ff66cc;--color-pink-200: #ff8dd8;--color-pink-100: #ffb3e5;--color-pink-50: #ffd9f2;--color-purple-900: #190038;--color-purple-800: #330070;--color-purple-700: #4c00a9;--color-purple-600: #6500e1;--color-purple-500: #811aff;--color-purple-400: #9640ff;--color-purple-300: #ab66ff;--color-purple-200: #c08dff;--color-purple-100: #d5b3ff;--color-purple-50: #ead9ff;--color-royalblue-900: #0b0531;--color-royalblue-800: #160a62;--color-royalblue-700: #211093;--color-royalblue-600: #2c15c4;--color-royalblue-500: #4127e8;--color-royalblue-400: #614bec;--color-royalblue-300: #806ff0;--color-royalblue-200: #a093f3;--color-royalblue-100: #c0b7f7;--color-royalblue-50: #dfdbfb;--color-indigoblue-900: #001238;--color-indigoblue-800: #002370;--color-indigoblue-700: #0035a9;--color-indigoblue-600: #0047e1;--color-indigoblue-500: #1a62ff;--color-indigoblue-400: #407cff;--color-indigoblue-300: #6696ff;--color-indigoblue-200: #8db0ff;--color-indigoblue-100: #b3cbff;--color-indigoblue-50: #d9e5ff;--color-blue-900: #00131D;--color-blue-800: #002235;--color-blue-700: #003351;--color-blue-600: #0069A6;--color-blue-500: #1AADFF;--color-blue-400: #64C7FF;--color-blue-300: #A1DDFF;--color-blue-200: #C6EAFF;--color-blue-100: #DFF3FF;--color-blue-50: #F2FAFF;--color-lightblue-900: #002e38;--color-lightblue-800: #005c70;--color-lightblue-700: #008aa9;--color-lightblue-600: #00b9e1;--color-lightblue-500: #1ad6ff;--color-lightblue-400: #40ddff;--color-lightblue-300: #66e4ff;--color-lightblue-200: #8deaff;--color-lightblue-100: #b3f1ff;--color-lightblue-50: #d9f8ff;--color-teal-900: #062a28;--color-teal-800: #0b544f;--color-teal-700: #117d77;--color-teal-600: #16a79e;--color-teal-500: #1cd1c6;--color-teal-400: #36e4da;--color-teal-300: #5fe9e1;--color-teal-200: #87efe9;--color-teal-100: #aff4f0;--color-teal-50: #d7faf8;--color-pear-900: #2a2b09;--color-pear-800: #545512;--color-pear-700: #7e801b;--color-pear-600: #a8aa24;--color-pear-500: #d0d32f;--color-pear-400: #d8da52;--color-pear-300: #e0e274;--color-pear-200: #e8e997;--color-pear-100: #eff0ba;--color-pear-50: #f7f8dc;--color-red-900: #1C0301;--color-red-800: #340A01;--color-red-700: #701704;--color-red-600: #BB2402;--color-red-500: #FF3B10;--color-red-400: #FF7353;--color-red-300: #FFA692;--color-red-200: #FFDED7;--color-red-100: #FFF3F0;--color-red-50: #FFF9F8;--color-orange-900: #381800;--color-orange-800: #702f00;--color-orange-700: #a94700;--color-orange-600: #e15e00;--color-orange-500: #ff7a1a;--color-orange-400: #ff9040;--color-orange-300: #ffa666;--color-orange-200: #ffbd8d;--color-orange-100: #ffd3b3;--color-orange-50: #ffe9d9;--color-yellow-900: #1A1700;--color-yellow-800: #282300;--color-yellow-700: #6B5D02;--color-yellow-600: #C2A905;--color-yellow-500: #EECF00;--color-yellow-400: #FFE53C;--color-yellow-300: #FFEF8A;--color-yellow-200: #FEF5A4;--color-yellow-100: #FFF8CC;--color-yellow-50: #FFFDEA;--color-green-900: #00190F;--color-green-800: #002817;--color-green-700: #006037;--color-green-600: #00B467;--color-green-500: #0DD885;--color-green-400: #3CEEA5;--color-green-300: #86FBCB;--color-green-200: #C3FFE6;--color-green-100: #DEFFF1;--color-green-50: #ECFFF7;--color-gray-900: #121110;--color-gray-800: #201E1B;--color-gray-700: #36332E;--color-gray-600: #67635D;--color-gray-500: #97948F;--color-gray-400: #ADA9A4;--color-gray-300: #DBD9D3;--color-gray-200: #ECEBE8;--color-gray-100: #F6F5F4;--color-gray-50: #FBFBFB;--color-black: #0B0A0A;--color-white: #ffffff;--media-portrait: only screen and (orientation: portrait);--media-landscape: only screen and (orientation: landscape);--media-rm: (prefers-reduced-motion: reduce);--media-2xl: (min-width: 1536px);--media-xl: (min-width: 1280px);--media-lg: (min-width: 1024px);--media-md: (min-width: 768px);--media-sm: (min-width: 640px);--media-xs: (min-width: 475px);--docus-footer-padding: var(--space-4) 0;--prose-code-inline-fontWeight: var(--typography-fontWeight-normal);--prose-code-inline-fontSize: var(--typography-fontSize-sm);--prose-code-inline-borderRadius: var(--radii-xs);--prose-code-block-pre-padding: var(--typography-verticalMargin-sm);--prose-code-block-margin: var(--typography-verticalMargin-base) 0;--prose-code-block-fontSize: var(--typography-fontSize-sm);--prose-tbody-code-inline-fontSize: var(--typography-fontSize-sm);--prose-tbody-td-padding: var(--typography-verticalMargin-sm);--prose-th-fontWeight: var(--typography-fontWeight-semibold);--prose-th-padding: 0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm);--prose-table-lineHeight: var(--typography-lead-6);--prose-table-fontSize: var(--typography-fontSize-sm);--prose-table-margin: var(--typography-verticalMargin-base) 0;--prose-hr-margin: var(--typography-verticalMargin-base) 0;--prose-li-margin: var(--typography-verticalMargin-sm) 0;--prose-ol-margin: var(--typography-verticalMargin-base) 0;--prose-ul-margin: var(--typography-verticalMargin-base) 0;--prose-blockquote-margin: var(--typography-verticalMargin-base) 0;--prose-a-code-border-style: var(--prose-a-border-style-static);--prose-a-code-border-width: var(--prose-a-border-width);--prose-a-fontWeight: var(--typography-fontWeight-medium);--prose-img-margin: var(--typography-verticalMargin-base) 0;--prose-strong-fontWeight: var(--typography-fontWeight-semibold);--prose-h6-iconSize: var(--typography-fontSize-base);--prose-h6-fontWeight: var(--typography-fontWeight-semibold);--prose-h6-lineHeight: var(--typography-lead-normal);--prose-h6-fontSize: var(--typography-fontSize-lg);--prose-h5-iconSize: var(--typography-fontSize-lg);--prose-h5-fontWeight: var(--typography-fontWeight-semibold);--prose-h5-lineHeight: var(--typography-lead-snug);--prose-h5-fontSize: var(--typography-fontSize-xl);--prose-h4-iconSize: var(--typography-fontSize-lg);--prose-h4-letterSpacing: var(--typography-letterSpacing-tight);--prose-h4-fontWeight: var(--typography-fontWeight-semibold);--prose-h4-lineHeight: var(--typography-lead-snug);--prose-h4-fontSize: var(--typography-fontSize-2xl);--prose-h3-iconSize: var(--typography-fontSize-xl);--prose-h3-letterSpacing: var(--typography-letterSpacing-tight);--prose-h3-fontWeight: var(--typography-fontWeight-semibold);--prose-h3-lineHeight: var(--typography-lead-snug);--prose-h3-fontSize: var(--typography-fontSize-3xl);--prose-h2-iconSize: var(--typography-fontSize-2xl);--prose-h2-letterSpacing: var(--typography-letterSpacing-tight);--prose-h2-fontWeight: var(--typography-fontWeight-semibold);--prose-h2-lineHeight: var(--typography-lead-tight);--prose-h2-fontSize: var(--typography-fontSize-4xl);--prose-h1-iconSize: var(--typography-fontSize-3xl);--prose-h1-letterSpacing: var(--typography-letterSpacing-tight);--prose-h1-fontWeight: var(--typography-fontWeight-bold);--prose-h1-lineHeight: var(--typography-lead-tight);--prose-h1-fontSize: var(--typography-fontSize-5xl);--prose-p-br-margin: var(--typography-verticalMargin-base) 0 0 0;--prose-p-margin: var(--typography-verticalMargin-base) 0;--prose-p-lineHeight: var(--typography-lead-normal);--prose-p-fontSize: var(--typography-fontSize-base);--typography-color-secondary-900: var(--color-gray-900);--typography-color-secondary-800: var(--color-gray-800);--typography-color-secondary-700: var(--color-gray-700);--typography-color-secondary-600: var(--color-gray-600);--typography-color-secondary-500: var(--color-gray-500);--typography-color-secondary-400: var(--color-gray-400);--typography-color-secondary-300: var(--color-gray-300);--typography-color-secondary-200: var(--color-gray-200);--typography-color-secondary-100: var(--color-gray-100);--typography-color-secondary-50: var(--color-gray-50);--typography-color-primary-900: var(--color-primary-900);--typography-color-primary-800: var(--color-primary-800);--typography-color-primary-700: var(--color-primary-700);--typography-color-primary-600: var(--color-primary-600);--typography-color-primary-500: var(--color-primary-500);--typography-color-primary-400: var(--color-primary-400);--typography-color-primary-300: var(--color-primary-300);--typography-color-primary-200: var(--color-primary-200);--typography-color-primary-100: var(--color-primary-100);--typography-color-primary-50: var(--color-primary-50);--typography-font-code: var(--font-mono);--typography-font-body: var(--font-sans);--typography-font-display: var(--font-sans);--typography-body-backgroundColor: var(--color-white);--typography-body-color: var(--color-black);--elements-state-danger-borderColor-secondary: var(--color-red-200);--elements-state-danger-borderColor-primary: var(--color-red-100);--elements-state-danger-backgroundColor-secondary: var(--color-red-100);--elements-state-danger-backgroundColor-primary: var(--color-red-50);--elements-state-danger-color-secondary: var(--color-red-600);--elements-state-danger-color-primary: var(--color-red-500);--elements-state-warning-borderColor-secondary: var(--color-yellow-200);--elements-state-warning-borderColor-primary: var(--color-yellow-100);--elements-state-warning-backgroundColor-secondary: var(--color-yellow-100);--elements-state-warning-backgroundColor-primary: var(--color-yellow-50);--elements-state-warning-color-secondary: var(--color-yellow-700);--elements-state-warning-color-primary: var(--color-yellow-600);--elements-state-success-borderColor-secondary: var(--color-green-200);--elements-state-success-borderColor-primary: var(--color-green-100);--elements-state-success-backgroundColor-secondary: var(--color-green-100);--elements-state-success-backgroundColor-primary: var(--color-green-50);--elements-state-success-color-secondary: var(--color-green-600);--elements-state-success-color-primary: var(--color-green-500);--elements-state-info-borderColor-secondary: var(--color-blue-200);--elements-state-info-borderColor-primary: var(--color-blue-100);--elements-state-info-backgroundColor-secondary: var(--color-blue-100);--elements-state-info-backgroundColor-primary: var(--color-blue-50);--elements-state-info-color-secondary: var(--color-blue-600);--elements-state-info-color-primary: var(--color-blue-500);--elements-state-primary-borderColor-secondary: var(--color-primary-200);--elements-state-primary-borderColor-primary: var(--color-primary-100);--elements-state-primary-backgroundColor-secondary: var(--color-primary-100);--elements-state-primary-backgroundColor-primary: var(--color-primary-50);--elements-state-primary-color-secondary: var(--color-primary-700);--elements-state-primary-color-primary: var(--color-primary-600);--elements-surface-secondary-backgroundColor: var(--color-gray-200);--elements-surface-primary-backgroundColor: var(--color-gray-100);--elements-surface-background-base: var(--color-gray-100);--elements-border-secondary-static: var(--color-gray-200);--elements-border-primary-hover: var(--color-gray-200);--elements-border-primary-static: var(--color-gray-100);--elements-container-padding-md: var(--space-6);--elements-container-padding-sm: var(--space-6);--elements-container-padding-xs: var(--space-4);--elements-container-padding-mobile: var(--space-4);--elements-text-secondary-color-hover: var(--color-gray-700);--elements-text-secondary-color-static: var(--color-gray-500);--elements-text-primary-color-static: var(--color-gray-900);--text-6xl-lineHeight: var(--lead-none);--text-6xl-fontSize: var(--fontSize-6xl);--text-5xl-lineHeight: var(--lead-none);--text-5xl-fontSize: var(--fontSize-5xl);--text-4xl-lineHeight: var(--lead-10);--text-4xl-fontSize: var(--fontSize-4xl);--text-3xl-lineHeight: var(--lead-9);--text-3xl-fontSize: var(--fontSize-3xl);--text-2xl-lineHeight: var(--lead-8);--text-2xl-fontSize: var(--fontSize-2xl);--text-xl-lineHeight: var(--lead-7);--text-xl-fontSize: var(--fontSize-xl);--text-lg-lineHeight: var(--lead-7);--text-lg-fontSize: var(--fontSize-lg);--text-base-lineHeight: var(--lead-6);--text-base-fontSize: var(--fontSize-base);--text-sm-lineHeight: var(--lead-5);--text-sm-fontSize: var(--fontSize-sm);--text-xs-lineHeight: var(--lead-4);--text-xs-fontSize: var(--fontSize-xs);--shadow-2xl: 0px 25px 50px -12px var(--color-gray-900);--shadow-xl: 0px 20px 25px -5px var(--color-gray-400), 0px 8px 10px -6px #000000;--color-secondary-900: var(--color-gray-900);--color-secondary-800: var(--color-gray-800);--color-secondary-700: var(--color-gray-700);--color-secondary-600: var(--color-gray-600);--color-secondary-500: var(--color-gray-500);--color-secondary-400: var(--color-gray-400);--color-secondary-300: var(--color-gray-300);--color-secondary-200: var(--color-gray-200);--color-secondary-100: var(--color-gray-100);--color-secondary-50: var(--color-gray-50);--prose-code-inline-backgroundColor: var(--typography-color-secondary-100);--prose-code-inline-color: var(--typography-color-secondary-700);--prose-code-block-backgroundColor: var(--typography-color-secondary-100);--prose-code-block-color: var(--typography-color-secondary-700);--prose-code-block-border-color: var(--typography-color-secondary-200);--prose-tbody-tr-borderBottom-color: var(--typography-color-secondary-200);--prose-th-color: var(--typography-color-secondary-600);--prose-thead-borderBottom-color: var(--typography-color-secondary-200);--prose-thead-border-color: var(--typography-color-secondary-300);--prose-hr-color: var(--typography-color-secondary-200);--prose-blockquote-border-color: var(--typography-color-secondary-200);--prose-blockquote-color: var(--typography-color-secondary-500);--prose-a-code-background-hover: var(--typography-color-primary-50);--prose-a-code-border-color-hover: var(--typography-color-primary-500);--prose-a-code-border-color-static: var(--typography-color-secondary-400);--prose-a-color-hover: var(--typography-color-primary-500); } }@media { :root.dark {--pinceau-mq: dark; --prose-code-block-backdropFilter: contrast(1);--prose-ol-li-markerColor: currentColor;--prose-ul-li-markerColor: currentColor;--prose-a-code-color-hover: currentColor;--prose-a-code-color-static: currentColor;--prose-a-border-color-hover: currentColor;--prose-a-border-color-static: currentColor;--prose-a-color-static: inherit;--elements-backdrop-background: #0c0d0ccc;--typography-body-backgroundColor: var(--color-black);--typography-body-color: var(--color-white);--elements-state-danger-borderColor-secondary: var(--color-red-700);--elements-state-danger-borderColor-primary: var(--color-red-800);--elements-state-danger-backgroundColor-secondary: var(--color-red-800);--elements-state-danger-backgroundColor-primary: var(--color-red-900);--elements-state-danger-color-secondary: var(--color-red-200);--elements-state-danger-color-primary: var(--color-red-300);--elements-state-warning-borderColor-secondary: var(--color-yellow-700);--elements-state-warning-borderColor-primary: var(--color-yellow-800);--elements-state-warning-backgroundColor-secondary: var(--color-yellow-800);--elements-state-warning-backgroundColor-primary: var(--color-yellow-900);--elements-state-warning-color-secondary: var(--color-yellow-200);--elements-state-warning-color-primary: var(--color-yellow-400);--elements-state-success-borderColor-secondary: var(--color-green-700);--elements-state-success-borderColor-primary: var(--color-green-800);--elements-state-success-backgroundColor-secondary: var(--color-green-800);--elements-state-success-backgroundColor-primary: var(--color-green-900);--elements-state-success-color-secondary: var(--color-green-200);--elements-state-success-color-primary: var(--color-green-400);--elements-state-info-borderColor-secondary: var(--color-blue-700);--elements-state-info-borderColor-primary: var(--color-blue-800);--elements-state-info-backgroundColor-secondary: var(--color-blue-800);--elements-state-info-backgroundColor-primary: var(--color-blue-900);--elements-state-info-color-secondary: var(--color-blue-200);--elements-state-info-color-primary: var(--color-blue-400);--elements-state-primary-borderColor-secondary: var(--color-primary-700);--elements-state-primary-borderColor-primary: var(--color-primary-800);--elements-state-primary-backgroundColor-secondary: var(--color-primary-800);--elements-state-primary-backgroundColor-primary: var(--color-primary-900);--elements-state-primary-color-secondary: var(--color-primary-200);--elements-state-primary-color-primary: var(--color-primary-400);--elements-surface-secondary-backgroundColor: var(--color-gray-800);--elements-surface-primary-backgroundColor: var(--color-gray-900);--elements-surface-background-base: var(--color-gray-900);--elements-border-secondary-static: var(--color-gray-800);--elements-border-primary-hover: var(--color-gray-800);--elements-border-primary-static: var(--color-gray-900);--elements-text-secondary-color-hover: var(--color-gray-200);--elements-text-secondary-color-static: var(--color-gray-400);--elements-text-primary-color-static: var(--color-gray-50);--prose-code-inline-backgroundColor: var(--typography-color-secondary-800);--prose-code-inline-color: var(--typography-color-secondary-200);--prose-code-block-backgroundColor: var(--typography-color-secondary-900);--prose-code-block-color: var(--typography-color-secondary-200);--prose-code-block-border-color: var(--typography-color-secondary-800);--prose-tbody-tr-borderBottom-color: var(--typography-color-secondary-800);--prose-th-color: var(--typography-color-secondary-400);--prose-thead-borderBottom-color: var(--typography-color-secondary-800);--prose-thead-border-color: var(--typography-color-secondary-600);--prose-hr-color: var(--typography-color-secondary-800);--prose-blockquote-border-color: var(--typography-color-secondary-700);--prose-blockquote-color: var(--typography-color-secondary-400);--prose-a-code-background-hover: var(--typography-color-primary-900);--prose-a-code-border-color-hover: var(--typography-color-primary-600);--prose-a-code-border-color-static: var(--typography-color-secondary-600);--prose-a-color-hover: var(--typography-color-primary-400); } }@media (min-width: 640px) { :root {--pinceau-mq: sm; --docus-footer-height: 100px; } } \ No newline at end of file diff --git a/docs/.nuxt/pinceau/utils.ts b/docs/.nuxt/pinceau/utils.ts new file mode 100644 index 00000000..b1bc3f39 --- /dev/null +++ b/docs/.nuxt/pinceau/utils.ts @@ -0,0 +1,87 @@ +import { PinceauTheme, PropertyValue } from 'pinceau' + +export const my = (value: PropertyValue<'margin'>) => { + return { + marginTop: value, + marginBottom: value, + } +} + +export const mx = (value: PropertyValue<'margin'>) => { + return { + marginLeft: value, + marginRight: value, + } +} + +export const py = (value: PropertyValue<'margin'>) => { + return { + paddingTop: value, + paddingBottom: value, + } +} + +export const px = (value: PropertyValue<'margin'>) => { + return { + paddingLeft: value, + paddingRight: value, + } +} + +export const truncate = { + overflow: 'hidden', + textOverflow: 'ellipsis', + whiteSpace: 'nowrap', +} as any + +export const lineClamp = (lines: number | string) => (({ + 'overflow': 'hidden', + 'display': '-webkit-box', + '-webkit-box-orient': 'vertical', + '-webkit-line-clamp': lines +}) as any) + +export const text = (size: keyof PinceauTheme['text']) => ({ + fontSize: `{text.${size}.fontSize}`, + lineHeight: `{text.${size}.lineHeight}`, +}) + +export const stateColors = (value: any) => { + return { + color: `{elements.state.${value}.color.primary} !important`, + backgroundColor: `{elements.state.${value}.backgroundColor.primary} !important`, + borderColor: `{elements.state.${value}.borderColor.primary} !important`, + ':deep(p code)': { + color: `{elements.state.${value}.color.secondary} !important`, + backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important` + }, + ':deep(code)': { + color: `{elements.state.${value}.color.primary} !important`, + backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important` + }, + ':deep(a code)': { + borderColor: `{elements.state.${value}.borderColor.primary} !important` + }, + ':deep(a)': { + borderColor: 'currentColor', + code: { + backgroundColor: `{elements.state.${value}.backgroundColor.primary} !important` + }, + '&:hover': { + color: `{elements.state.${value}.color.secondary} !important`, + borderColor: 'currentColor !important', + code: { + backgroundColor: `{elements.state.${value}.backgroundColor.secondary} !important`, + color: `{elements.state.${value}.color.secondary} !important`, + borderColor: `{elements.state.${value}.borderColor.secondary} !important` + } + } + } + } +} + +export const utils = { my, mx, py, px, truncate, lineClamp, text, stateColors } + +export type GeneratedPinceauUtils = typeof utils + +export default utils \ No newline at end of file diff --git a/docs/.nuxt/schema/nuxt.schema.d.ts b/docs/.nuxt/schema/nuxt.schema.d.ts new file mode 100644 index 00000000..a71efc11 --- /dev/null +++ b/docs/.nuxt/schema/nuxt.schema.d.ts @@ -0,0 +1,563 @@ +export interface NuxtCustomSchema { + appConfig?: { + /** + * Nuxt Icon + * + * Configure the defaults of Nuxt Icon + * + */ + nuxtIcon?: { + /** + * Icon Size + * + * Set the default icon size. Set to false to disable the sizing of icon in style. + * + * @default "1em" + * + * @studioIcon material-symbols:format-size-rounded + */ + size?: string | false, + + /** + * CSS Class + * + * Set the default CSS class + * + * @default "" + * + * @studioIcon material-symbols:css + */ + class?: string, + + /** + * Icon aliases + * + * Define Icon aliases to update them easily without code changes. + * + * + * @studioIcon material-symbols:star-rounded + * + * @studioInputObjectValueType icon + */ + aliases?: { [alias: string]: string }, + }, + + /** + * Prose configuration from Nuxt Typography + * + * + * @studioIcon material-symbols:short-text-rounded + * + * @studioInput icon + */ + prose?: { + /** + * Copy button (used in code blocks) + * + * + * @studioIcon material-symbols:content-copy + */ + copyButton?: { + /** + * Icon displayed to copy + * + * @default "ph:copy" + */ + iconCopy?: string, + + /** + * Icon displayed when copied + * + * @default "ph:check" + */ + iconCopied?: string, + }, + + /** + * Default configuration for all headings (h1, h2, h3, h4, h5 and h6) + * + * + * @studioIcon material-symbols:title + */ + headings?: { + /** + * Default icon for anchor link on hover + * + * @default "ph:link" + */ + icon?: string|false, + }, + + /** + * First heading configuration + * + * + * @studioIcon material-symbols:format-h1 + */ + h1?: { + /** + * Icon displayed for anchor link on hover + * + * @default "" + */ + icon?: string|false, + }, + + /** + * Second heading configuration + * + * + * @studioIcon material-symbols:format-h2 + */ + h2?: { + /** + * Icon displayed for anchor link on hover + * + * @default "" + */ + icon?: string|false, + }, + + /** + * Third heading configuration + * + * + * @studioIcon material-symbols:format-h3 + */ + h3?: { + /** + * Icon displayed for anchor link on hover + * + * @default "" + */ + icon?: string|false, + }, + + /** + * Fourth heading configuration + * + * + * @studioIcon material-symbols:format-h4 + */ + h4?: { + /** + * Icon displayed for anchor link on hover + * + * @default "" + */ + icon?: string|false, + }, + + /** + * Fifth heading configuration + * + * + * @studioIcon material-symbols:format-h5 + */ + h5?: { + /** + * Icon displayed for anchor link on hover + * + * @default "" + */ + icon?: string|false, + }, + + /** + * Sixth heading configuration + * + * + * @studioIcon material-symbols:format-h6 + */ + h6?: { + /** + * Icon displayed for anchor link on hover + * + * @default "" + */ + icon?: string|false, + }, + }, + + /** + * Docus theme configuration. + * + * + * @studioIcon material-symbols:docs + */ + docus?: { + /** + * Website title, used as header default title and meta title. + * + * @default "Docus" + * + * @studioIcon material-symbols:title + */ + title?: string, + + /** + * The website title template, to overwrite the default one. + * + * @default "%s · Docus" + */ + titleTemplate?: string, + + /** + * Website description, used for meta description. + * + * @default "The best place to start your documentation." + * + * @studioIcon material-symbols:description + */ + description?: string, + + /** + * Cover image. + * + * @default "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png" + * + * @example '/cover.jpg' + * + * @studioIcon dashicons:cover-image + * + * @studioInput file + */ + image?: string, + + /** + * Social links + * + * Will be used in AppSocialIcons component. + * + * + * @studioIcon material-symbols:share-outline + */ + socials?: { + /** + * Twitter social handle + * + * @default "" + * + * @example 'nuxt_js' + * + * @studioIcon simple-icons:twitter + */ + twitter?: string, + + /** + * GitHub org or repository + * + * @default "" + * + * @example 'nuxt/framework' + * + * @studioIcon simple-icons:github + */ + github?: string, + + /** + * Facebook page url + * + * @default "" + * + * @example https://www.facebook.com/groups/nuxtjs + * + * @studioIcon simple-icons:facebook + */ + facebook?: string, + + /** + * Instagram page url + * + * @default "" + * + * @example https://www.instagram.com/wearenuxt + * + * @studioIcon simple-icons:instagram + */ + instagram?: string, + + /** + * Instagram page url + * + * @default "" + * + * @example https://www.youtube.com/@NuxtLabs + * + * @studioIcon simple-icons:youtube + */ + youtube?: string, + + /** + * Medium page url + * + * @default "" + * + * @example https://medium.com/nuxt + * + * @studioIcon simple-icons:medium + */ + medium?: string, + }, + + /** + * Theme layout configuration. + * + * @default "default" + * + * @studioIcon tabler:arrow-autofit-width + */ + layout?: 'default'|'page', + + /** + * Aside navigation configuration. + * + * + * @studioIcon fluent:document-page-24-regular + */ + aside?: { + /** + * Aside navigation level + * + * Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation. + * + * @default 0 + */ + level?: number, + + /** + * Specify if default collapsibles state globally for aside navigation. + * + * @default false + */ + collapsed?: boolean, + + /** + * Paths to be excluded from aside navigation. + * + */ + exclude?: string[], + }, + + /** + * Header configuration. + * + * + * @studioIcon fluent:document-header-24-regular + */ + header?: { + /** + * Website title + * + * Title to be displayed in header or as aria-label if logo is defined. + * Default to docus.title + * + * @default "" + * + * @studioIcon material-symbols:title + */ + title?: string, + + /** + * Logo configuration + * + * Boolean to disable or use the `Logo.vue` component. + * String to be used as a name of a component. + * + * @default false + * + * @example 'MyLogo' + * + * @studioInput boolean + */ + logo?: boolean, + + /** + * Header links + * + * Toggle links icons in the header. + * + * @default false + */ + showLinkIcon?: boolean, + + /** + * Paths to be excluded from header links. + * + */ + exclude?: string[], + + /** + * Makes the content of the header fluid. + * + * @default false + */ + fluid?: boolean, + }, + + /** + * Main content configuration. + * + * + * @studioIcon fluent:document-header-footer-24-filled + */ + main?: { + /** + * Makes the content of the main container fluid. + * + * @default false + */ + fluid?: boolean, + + /** + * Makes the content of the main container padded. + * + * @default true + */ + padded?: boolean, + }, + + /** + * Footer configuration + * + * + * @studioIcon fluent:document-footer-24-regular + */ + footer?: { + /** + * Website credits configuration. + * + * + * @studioIcon material-symbols:copyright + */ + credits?: false|{icon: string, text: string, href: string}, + + /** + * Text links + * + * Will be added into center section of the footer. + * + * + * @studioIcon material-symbols:add-link + */ + textLinks?: Array<{ + /** + * URL when clicking the link + * + */ + href: string, + + /** + * Text of the link + * + */ + text: string, + + /** + * Target attribute of the link + * + */ + target?: string, + }>, + + /** + * Icon links + * + * Icons to be added to Social Icons in footer. + * + * + * @studioIcon material-symbols:add-link + */ + iconLinks?: Array<{ + /** + * Icon name + * + */ + icon: string, + + /** + * Link when clicking on the icon + * + */ + href: string, + + /** + * Label of the icon + * + */ + label?: string, + }>, + + /** + * Makes the content of the footer fluid. + * + * @default true + */ + fluid?: boolean, + }, + + /** + * GitHub integration + * + * Configure the Edit on Github integration. + * + * + * @studioIcon simple-icons:github + */ + github?: { + /** + * Directory + * + * Your GitHub repository root directory. + * + * @default "" + */ + dir?: string, + + /** + * Branch + * + * Your GitHub repository branch. + * + * @default "" + */ + branch?: string, + + /** + * Repository + * + * Your GitHub repository name. + * + * @default "" + */ + repo?: string, + + /** + * Owner + * + * Your GitHub repository owner. + * + * @default "" + */ + owner?: string, + + /** + * EditOnGithub + * + * Display EditOnGithub button. + * + * @default false + */ + edit?: boolean, + }, + }, + }, +} +export type CustomAppConfig = Exclude + +declare module '@nuxt/schema' { + interface NuxtConfig extends NuxtCustomSchema {} + interface NuxtOptions extends NuxtCustomSchema {} + interface AppConfigInput extends CustomAppConfig {} + interface AppConfig extends CustomAppConfig {} +} \ No newline at end of file diff --git a/docs/.nuxt/schema/nuxt.schema.json b/docs/.nuxt/schema/nuxt.schema.json new file mode 100644 index 00000000..9061774a --- /dev/null +++ b/docs/.nuxt/schema/nuxt.schema.json @@ -0,0 +1,968 @@ +{ + "id": "#", + "properties": { + "appConfig": { + "id": "#appConfig", + "properties": { + "nuxtIcon": { + "title": "Nuxt Icon", + "description": "Configure the defaults of Nuxt Icon", + "id": "#appConfig/nuxtIcon", + "properties": { + "size": { + "title": "Icon Size", + "description": "Set the default icon size. Set to false to disable the sizing of icon in style.", + "tags": [ + "@studioIcon material-symbols:format-size-rounded" + ], + "tsType": "string | false", + "id": "#appConfig/nuxtIcon/size", + "default": "1em", + "type": "string" + }, + "class": { + "title": "CSS Class", + "description": "Set the default CSS class", + "tags": [ + "@studioIcon material-symbols:css" + ], + "id": "#appConfig/nuxtIcon/class", + "default": "", + "type": "string" + }, + "aliases": { + "title": "Icon aliases", + "description": "Define Icon aliases to update them easily without code changes.", + "tags": [ + "@studioIcon material-symbols:star-rounded", + "@studioInputObjectValueType icon" + ], + "tsType": "{ [alias: string]: string }", + "id": "#appConfig/nuxtIcon/aliases", + "default": {}, + "type": "object" + } + }, + "type": "object", + "default": { + "size": "1em", + "class": "", + "aliases": {} + } + }, + "prose": { + "title": "Prose configuration from Nuxt Typography", + "description": "", + "tags": [ + "@studioIcon material-symbols:short-text-rounded", + "@studioInput icon" + ], + "id": "#appConfig/prose", + "properties": { + "copyButton": { + "title": "Copy button (used in code blocks)", + "description": "", + "tags": [ + "@studioIcon material-symbols:content-copy" + ], + "id": "#appConfig/prose/copyButton", + "properties": { + "iconCopy": { + "title": "Icon displayed to copy", + "description": "", + "tags": [], + "id": "#appConfig/prose/copyButton/iconCopy", + "default": "ph:copy", + "type": "string" + }, + "iconCopied": { + "title": "Icon displayed when copied", + "description": "", + "tags": [], + "id": "#appConfig/prose/copyButton/iconCopied", + "default": "ph:check", + "type": "string" + } + }, + "type": "object", + "default": { + "iconCopy": "ph:copy", + "iconCopied": "ph:check" + } + }, + "headings": { + "title": "Default configuration for all headings (h1, h2, h3, h4, h5 and h6)", + "description": "", + "tags": [ + "@studioIcon material-symbols:title" + ], + "id": "#appConfig/prose/headings", + "properties": { + "icon": { + "title": "Default icon for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/headings/icon", + "default": "ph:link", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "ph:link" + } + }, + "h1": { + "title": "First heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h1" + ], + "id": "#appConfig/prose/h1", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h1/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h2": { + "title": "Second heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h2" + ], + "id": "#appConfig/prose/h2", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h2/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h3": { + "title": "Third heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h3" + ], + "id": "#appConfig/prose/h3", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h3/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h4": { + "title": "Fourth heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h4" + ], + "id": "#appConfig/prose/h4", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h4/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h5": { + "title": "Fifth heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h5" + ], + "id": "#appConfig/prose/h5", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h5/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + }, + "h6": { + "title": "Sixth heading configuration", + "description": "", + "tags": [ + "@studioIcon material-symbols:format-h6" + ], + "id": "#appConfig/prose/h6", + "properties": { + "icon": { + "title": "Icon displayed for anchor link on hover", + "description": "", + "tags": [], + "tsType": "string|false", + "id": "#appConfig/prose/h6/icon", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "icon": "" + } + } + }, + "type": "object", + "default": { + "copyButton": { + "iconCopy": "ph:copy", + "iconCopied": "ph:check" + }, + "headings": { + "icon": "ph:link" + }, + "h1": { + "icon": "" + }, + "h2": { + "icon": "" + }, + "h3": { + "icon": "" + }, + "h4": { + "icon": "" + }, + "h5": { + "icon": "" + }, + "h6": { + "icon": "" + } + } + }, + "docus": { + "title": "Docus theme configuration.", + "description": "", + "tags": [ + "@studioIcon material-symbols:docs" + ], + "id": "#appConfig/docus", + "properties": { + "title": { + "title": "Website title, used as header default title and meta title.", + "description": "", + "tags": [ + "@studioIcon material-symbols:title" + ], + "id": "#appConfig/docus/title", + "default": "Docus", + "type": "string" + }, + "titleTemplate": { + "title": "The website title template, to overwrite the default one.", + "description": "", + "tags": [], + "id": "#appConfig/docus/titleTemplate", + "default": "%s · Docus", + "type": "string" + }, + "description": { + "title": "Website description, used for meta description.", + "description": "", + "tags": [ + "@studioIcon material-symbols:description" + ], + "id": "#appConfig/docus/description", + "default": "The best place to start your documentation.", + "type": "string" + }, + "image": { + "title": "Cover image.", + "description": "", + "tags": [ + "@example '/cover.jpg'", + "@studioIcon dashicons:cover-image", + "@studioInput file" + ], + "id": "#appConfig/docus/image", + "default": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + "type": "string" + }, + "socials": { + "title": "Social links", + "description": "Will be used in AppSocialIcons component.", + "tags": [ + "@studioIcon material-symbols:share-outline" + ], + "id": "#appConfig/docus/socials", + "properties": { + "twitter": { + "title": "Twitter social handle", + "description": "", + "tags": [ + "@example 'nuxt_js'", + "@studioIcon simple-icons:twitter" + ], + "id": "#appConfig/docus/socials/twitter", + "default": "", + "type": "string" + }, + "github": { + "title": "GitHub org or repository", + "description": "", + "tags": [ + "@example 'nuxt/framework'", + "@studioIcon simple-icons:github" + ], + "id": "#appConfig/docus/socials/github", + "default": "", + "type": "string" + }, + "facebook": { + "title": "Facebook page url", + "description": "", + "tags": [ + "@example https://www.facebook.com/groups/nuxtjs", + "@studioIcon simple-icons:facebook" + ], + "id": "#appConfig/docus/socials/facebook", + "default": "", + "type": "string" + }, + "instagram": { + "title": "Instagram page url", + "description": "", + "tags": [ + "@example https://www.instagram.com/wearenuxt", + "@studioIcon simple-icons:instagram" + ], + "id": "#appConfig/docus/socials/instagram", + "default": "", + "type": "string" + }, + "youtube": { + "title": "Instagram page url", + "description": "", + "tags": [ + "@example https://www.youtube.com/@NuxtLabs", + "@studioIcon simple-icons:youtube" + ], + "id": "#appConfig/docus/socials/youtube", + "default": "", + "type": "string" + }, + "medium": { + "title": "Medium page url", + "description": "", + "tags": [ + "@example https://medium.com/nuxt", + "@studioIcon simple-icons:medium" + ], + "id": "#appConfig/docus/socials/medium", + "default": "", + "type": "string" + } + }, + "type": "object", + "default": { + "twitter": "", + "github": "", + "facebook": "", + "instagram": "", + "youtube": "", + "medium": "" + } + }, + "layout": { + "title": "Theme layout configuration.", + "description": "", + "tags": [ + "@studioIcon tabler:arrow-autofit-width" + ], + "tsType": "'default'|'page'", + "id": "#appConfig/docus/layout", + "default": "default", + "type": "string" + }, + "aside": { + "title": "Aside navigation configuration.", + "description": "", + "tags": [ + "@studioIcon fluent:document-page-24-regular" + ], + "id": "#appConfig/docus/aside", + "properties": { + "level": { + "title": "Aside navigation level", + "description": "Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation.", + "tags": [], + "id": "#appConfig/docus/aside/level", + "default": 0, + "type": "number" + }, + "collapsed": { + "title": "Specify if default collapsibles state globally for aside navigation.", + "description": "", + "tags": [], + "id": "#appConfig/docus/aside/collapsed", + "default": false, + "type": "boolean" + }, + "exclude": { + "title": "Paths to be excluded from aside navigation.", + "description": "", + "tags": [], + "tsType": "string[]", + "id": "#appConfig/docus/aside/exclude", + "default": [], + "type": "array", + "items": { + "type": "any" + } + } + }, + "type": "object", + "default": { + "level": 0, + "collapsed": false, + "exclude": [] + } + }, + "header": { + "title": "Header configuration.", + "description": "", + "tags": [ + "@studioIcon fluent:document-header-24-regular" + ], + "id": "#appConfig/docus/header", + "properties": { + "title": { + "title": "Website title", + "description": "Title to be displayed in header or as aria-label if logo is defined.\nDefault to docus.title", + "tags": [ + "@studioIcon material-symbols:title" + ], + "id": "#appConfig/docus/header/title", + "default": "", + "type": "string" + }, + "logo": { + "title": "Logo configuration", + "description": "Boolean to disable or use the `Logo.vue` component.\nString to be used as a name of a component.", + "tags": [ + "@example 'MyLogo'", + "@studioInput boolean" + ], + "id": "#appConfig/docus/header/logo", + "default": false, + "type": "boolean" + }, + "showLinkIcon": { + "title": "Header links", + "description": "Toggle links icons in the header.", + "tags": [], + "id": "#appConfig/docus/header/showLinkIcon", + "default": false, + "type": "boolean" + }, + "exclude": { + "title": "Paths to be excluded from header links.", + "description": "", + "tags": [], + "tsType": "string[]", + "id": "#appConfig/docus/header/exclude", + "default": [], + "type": "array", + "items": { + "type": "any" + } + }, + "fluid": { + "title": "Makes the content of the header fluid.", + "description": "", + "tags": [], + "id": "#appConfig/docus/header/fluid", + "default": false, + "type": "boolean" + } + }, + "type": "object", + "default": { + "title": "", + "logo": false, + "showLinkIcon": false, + "exclude": [], + "fluid": false + } + }, + "main": { + "title": "Main content configuration.", + "description": "", + "tags": [ + "@studioIcon fluent:document-header-footer-24-filled" + ], + "id": "#appConfig/docus/main", + "properties": { + "fluid": { + "title": "Makes the content of the main container fluid.", + "description": "", + "tags": [], + "id": "#appConfig/docus/main/fluid", + "default": false, + "type": "boolean" + }, + "padded": { + "title": "Makes the content of the main container padded.", + "description": "", + "tags": [], + "id": "#appConfig/docus/main/padded", + "default": true, + "type": "boolean" + } + }, + "type": "object", + "default": { + "fluid": false, + "padded": true + } + }, + "footer": { + "title": "Footer configuration", + "description": "", + "tags": [ + "@studioIcon fluent:document-footer-24-regular" + ], + "id": "#appConfig/docus/footer", + "properties": { + "credits": { + "title": "Website credits configuration.", + "description": "", + "tags": [ + "@studioIcon material-symbols:copyright" + ], + "tsType": "false|{icon: string, text: string, href: string}", + "id": "#appConfig/docus/footer/credits", + "properties": { + "icon": { + "title": "Icon to show on credits", + "description": "", + "tags": [ + "@formtype Icon" + ], + "id": "#appConfig/docus/footer/credits/icon", + "default": "IconDocus", + "type": "string" + }, + "text": { + "type": "string", + "id": "#appConfig/docus/footer/credits/text", + "default": "Powered by Docus" + }, + "href": { + "type": "string", + "id": "#appConfig/docus/footer/credits/href", + "default": "https://docus.dev" + } + }, + "type": "object", + "default": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + } + }, + "textLinks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "text", + "href" + ], + "properties": { + "href": { + "type": "string", + "description": "URL when clicking the link" + }, + "text": { + "type": "string", + "description": "Text of the link" + }, + "target": { + "type": "string", + "description": "Target attribute of the link" + } + } + }, + "title": "Text links", + "description": "Will be added into center section of the footer.", + "tags": [ + "@studioIcon material-symbols:add-link" + ], + "id": "#appConfig/docus/footer/textLinks" + }, + "iconLinks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "icon", + "href" + ], + "properties": { + "icon": { + "type": "string", + "description": "Icon name" + }, + "href": { + "type": "string", + "description": "Link when clicking on the icon" + }, + "label": { + "type": "string", + "description": "Label of the icon" + } + } + }, + "title": "Icon links", + "description": "Icons to be added to Social Icons in footer.", + "tags": [ + "@studioIcon material-symbols:add-link" + ], + "id": "#appConfig/docus/footer/iconLinks" + }, + "fluid": { + "title": "Makes the content of the footer fluid.", + "description": "", + "tags": [], + "id": "#appConfig/docus/footer/fluid", + "default": true, + "type": "boolean" + } + }, + "type": "object", + "default": { + "credits": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + }, + "fluid": true + } + }, + "github": { + "title": "GitHub integration", + "description": "Configure the Edit on Github integration.", + "tags": [ + "@studioIcon simple-icons:github" + ], + "id": "#appConfig/docus/github", + "properties": { + "dir": { + "title": "Directory", + "description": "Your GitHub repository root directory.", + "tags": [], + "id": "#appConfig/docus/github/dir", + "default": "", + "type": "string" + }, + "branch": { + "title": "Branch", + "description": "Your GitHub repository branch.", + "tags": [], + "id": "#appConfig/docus/github/branch", + "default": "", + "type": "string" + }, + "repo": { + "title": "Repository", + "description": "Your GitHub repository name.", + "tags": [], + "id": "#appConfig/docus/github/repo", + "default": "", + "type": "string" + }, + "owner": { + "title": "Owner", + "description": "Your GitHub repository owner.", + "tags": [], + "id": "#appConfig/docus/github/owner", + "default": "", + "type": "string" + }, + "edit": { + "title": "EditOnGithub", + "description": "Display EditOnGithub button.", + "tags": [], + "id": "#appConfig/docus/github/edit", + "default": false, + "type": "boolean" + } + }, + "type": "object", + "default": { + "dir": "", + "branch": "", + "repo": "", + "owner": "", + "edit": false + } + } + }, + "type": "object", + "default": { + "title": "Docus", + "titleTemplate": "%s · Docus", + "description": "The best place to start your documentation.", + "image": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + "socials": { + "twitter": "", + "github": "", + "facebook": "", + "instagram": "", + "youtube": "", + "medium": "" + }, + "layout": "default", + "aside": { + "level": 0, + "collapsed": false, + "exclude": [] + }, + "header": { + "title": "", + "logo": false, + "showLinkIcon": false, + "exclude": [], + "fluid": false + }, + "main": { + "fluid": false, + "padded": true + }, + "footer": { + "credits": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + }, + "fluid": true + }, + "github": { + "dir": "", + "branch": "", + "repo": "", + "owner": "", + "edit": false + } + } + } + }, + "type": "object", + "default": { + "nuxtIcon": { + "size": "1em", + "class": "", + "aliases": {} + }, + "prose": { + "copyButton": { + "iconCopy": "ph:copy", + "iconCopied": "ph:check" + }, + "headings": { + "icon": "ph:link" + }, + "h1": { + "icon": "" + }, + "h2": { + "icon": "" + }, + "h3": { + "icon": "" + }, + "h4": { + "icon": "" + }, + "h5": { + "icon": "" + }, + "h6": { + "icon": "" + } + }, + "docus": { + "title": "Docus", + "titleTemplate": "%s · Docus", + "description": "The best place to start your documentation.", + "image": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + "socials": { + "twitter": "", + "github": "", + "facebook": "", + "instagram": "", + "youtube": "", + "medium": "" + }, + "layout": "default", + "aside": { + "level": 0, + "collapsed": false, + "exclude": [] + }, + "header": { + "title": "", + "logo": false, + "showLinkIcon": false, + "exclude": [], + "fluid": false + }, + "main": { + "fluid": false, + "padded": true + }, + "footer": { + "credits": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + }, + "fluid": true + }, + "github": { + "dir": "", + "branch": "", + "repo": "", + "owner": "", + "edit": false + } + } + } + } + }, + "type": "object", + "default": { + "appConfig": { + "nuxtIcon": { + "size": "1em", + "class": "", + "aliases": {} + }, + "prose": { + "copyButton": { + "iconCopy": "ph:copy", + "iconCopied": "ph:check" + }, + "headings": { + "icon": "ph:link" + }, + "h1": { + "icon": "" + }, + "h2": { + "icon": "" + }, + "h3": { + "icon": "" + }, + "h4": { + "icon": "" + }, + "h5": { + "icon": "" + }, + "h6": { + "icon": "" + } + }, + "docus": { + "title": "Docus", + "titleTemplate": "%s · Docus", + "description": "The best place to start your documentation.", + "image": "https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png", + "socials": { + "twitter": "", + "github": "", + "facebook": "", + "instagram": "", + "youtube": "", + "medium": "" + }, + "layout": "default", + "aside": { + "level": 0, + "collapsed": false, + "exclude": [] + }, + "header": { + "title": "", + "logo": false, + "showLinkIcon": false, + "exclude": [], + "fluid": false + }, + "main": { + "fluid": false, + "padded": true + }, + "footer": { + "credits": { + "icon": "IconDocus", + "text": "Powered by Docus", + "href": "https://docus.dev" + }, + "fluid": true + }, + "github": { + "dir": "", + "branch": "", + "repo": "", + "owner": "", + "edit": false + } + } + } + } +} \ No newline at end of file diff --git a/docs/.nuxt/schema/nuxt.schema.md b/docs/.nuxt/schema/nuxt.schema.md new file mode 100644 index 00000000..a9d1e0c2 --- /dev/null +++ b/docs/.nuxt/schema/nuxt.schema.md @@ -0,0 +1,376 @@ +# Nuxt Custom Config Schema + +# `appConfig` + +## `nuxtIcon` + +### `size` +- **Type**: `string | false` +- **Default**: `"1em"` + +> Icon Size + + +Set the default icon size. Set to false to disable the sizing of icon in style. + + +### `class` +- **Type**: `string` +- **Default**: `""` + +> CSS Class + + +Set the default CSS class + + +### `aliases` + +## `prose` + +### `copyButton` + +#### `iconCopy` +- **Type**: `string` +- **Default**: `"ph:copy"` + +> Icon displayed to copy + + +#### `iconCopied` +- **Type**: `string` +- **Default**: `"ph:check"` + +> Icon displayed when copied + + +### `headings` + +#### `icon` +- **Type**: `string|false` +- **Default**: `"ph:link"` + +> Default icon for anchor link on hover + + +### `h1` + +#### `icon` +- **Type**: `string|false` +- **Default**: `""` + +> Icon displayed for anchor link on hover + + +### `h2` + +#### `icon` +- **Type**: `string|false` +- **Default**: `""` + +> Icon displayed for anchor link on hover + + +### `h3` + +#### `icon` +- **Type**: `string|false` +- **Default**: `""` + +> Icon displayed for anchor link on hover + + +### `h4` + +#### `icon` +- **Type**: `string|false` +- **Default**: `""` + +> Icon displayed for anchor link on hover + + +### `h5` + +#### `icon` +- **Type**: `string|false` +- **Default**: `""` + +> Icon displayed for anchor link on hover + + +### `h6` + +#### `icon` +- **Type**: `string|false` +- **Default**: `""` + +> Icon displayed for anchor link on hover + + +## `docus` + +### `title` +- **Type**: `string` +- **Default**: `"Docus"` + +> Website title, used as header default title and meta title. + + +### `titleTemplate` +- **Type**: `string` +- **Default**: `"%s · Docus"` + +> The website title template, to overwrite the default one. + + +### `description` +- **Type**: `string` +- **Default**: `"The best place to start your documentation."` + +> Website description, used for meta description. + + +### `image` +- **Type**: `string` +- **Default**: `"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png"` + +> Cover image. + + +### `socials` + +#### `twitter` +- **Type**: `string` +- **Default**: `""` + +> Twitter social handle + + +#### `github` +- **Type**: `string` +- **Default**: `""` + +> GitHub org or repository + + +#### `facebook` +- **Type**: `string` +- **Default**: `""` + +> Facebook page url + + +#### `instagram` +- **Type**: `string` +- **Default**: `""` + +> Instagram page url + + +#### `youtube` +- **Type**: `string` +- **Default**: `""` + +> Instagram page url + + +#### `medium` +- **Type**: `string` +- **Default**: `""` + +> Medium page url + + +### `layout` +- **Type**: `'default'|'page'` +- **Default**: `"default"` + +> Theme layout configuration. + + +### `aside` + +#### `level` +- **Type**: `number` +- **Default**: `0` + +> Aside navigation level + + +Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation. + + +#### `collapsed` +- **Type**: `boolean` +- **Default**: `false` + +> Specify if default collapsibles state globally for aside navigation. + + +#### `exclude` +- **Type**: `string[]` +- **Default**: `[]` + +> Paths to be excluded from aside navigation. + + +### `header` + +#### `title` +- **Type**: `string` +- **Default**: `""` + +> Website title + + +Title to be displayed in header or as aria-label if logo is defined. +Default to docus.title + + +#### `logo` +- **Type**: `boolean` +- **Default**: `false` + +> Logo configuration + + +Boolean to disable or use the `Logo.vue` component. +String to be used as a name of a component. + + +#### `showLinkIcon` +- **Type**: `boolean` +- **Default**: `false` + +> Header links + + +Toggle links icons in the header. + + +#### `exclude` +- **Type**: `string[]` +- **Default**: `[]` + +> Paths to be excluded from header links. + + +#### `fluid` +- **Type**: `boolean` +- **Default**: `false` + +> Makes the content of the header fluid. + + +### `main` + +#### `fluid` +- **Type**: `boolean` +- **Default**: `false` + +> Makes the content of the main container fluid. + + +#### `padded` +- **Type**: `boolean` +- **Default**: `true` + +> Makes the content of the main container padded. + + +### `footer` + +#### `credits` + +##### `icon` +- **Type**: `string` +- **Default**: `"IconDocus"` + +> Icon to show on credits + + +##### `text` +- **Type**: `string` +- **Default**: `"Powered by Docus"` + + +##### `href` +- **Type**: `string` +- **Default**: `"https://docus.dev"` + + +#### `textLinks` +- **Type**: `array` + +> Text links + + +Will be added into center section of the footer. + + +#### `iconLinks` +- **Type**: `array` + +> Icon links + + +Icons to be added to Social Icons in footer. + + +#### `fluid` +- **Type**: `boolean` +- **Default**: `true` + +> Makes the content of the footer fluid. + + +### `github` + +#### `dir` +- **Type**: `string` +- **Default**: `""` + +> Directory + + +Your GitHub repository root directory. + + +#### `branch` +- **Type**: `string` +- **Default**: `""` + +> Branch + + +Your GitHub repository branch. + + +#### `repo` +- **Type**: `string` +- **Default**: `""` + +> Repository + + +Your GitHub repository name. + + +#### `owner` +- **Type**: `string` +- **Default**: `""` + +> Owner + + +Your GitHub repository owner. + + +#### `edit` +- **Type**: `boolean` +- **Default**: `false` + +> EditOnGithub + + +Display EditOnGithub button. diff --git a/docs/.nuxt/tsconfig.json b/docs/.nuxt/tsconfig.json new file mode 100644 index 00000000..b3b8ae19 --- /dev/null +++ b/docs/.nuxt/tsconfig.json @@ -0,0 +1,111 @@ +// Generated by nuxi +{ + "compilerOptions": { + "jsx": "preserve", + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Node", + "skipLibCheck": true, + "strict": true, + "allowJs": true, + "noEmit": true, + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "types": [ + "node" + ], + "baseUrl": "..", + "paths": { + "~~": [ + "." + ], + "~~/*": [ + "./*" + ], + "@@": [ + "." + ], + "@@/*": [ + "./*" + ], + "~": [ + "." + ], + "~/*": [ + "./*" + ], + "@": [ + "." + ], + "@/*": [ + "./*" + ], + "assets": [ + "assets" + ], + "public": [ + "public" + ], + "public/*": [ + "public/*" + ], + "#app": [ + "node_modules/nuxt/dist/app" + ], + "#app/*": [ + "node_modules/nuxt/dist/app/*" + ], + "vue-demi": [ + "node_modules/nuxt/dist/app/compat/vue-demi" + ], + "#color-mode-options": [ + ".nuxt/color-mode-options" + ], + "#head": [ + "node_modules/nuxt/dist/head/runtime" + ], + "#head/*": [ + "node_modules/nuxt/dist/head/runtime/*" + ], + "#imports": [ + ".nuxt/imports" + ], + "#build": [ + ".nuxt" + ], + "#build/*": [ + ".nuxt/*" + ], + "@nuxt-themes/tokens/config": [ + "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/tokens/dist/tokens.config.ts" + ], + "#pinceau/utils": [ + "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/.nuxt/pinceau/utils.ts" + ], + "#pinceau/theme": [ + "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/.nuxt/pinceau/index.ts" + ], + "#pinceau/schema": [ + "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/.nuxt/pinceau/schema.ts" + ], + "#pinceau/definitions": [ + "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/.nuxt/pinceau/definitions.ts" + ], + "#components": [ + ".nuxt/components" + ] + } + }, + "include": [ + "./nuxt.d.ts", + "../**/*" + ], + "exclude": [ + "../dist" + ], + "vueCompilerOptions": { + "plugins": [ + "pinceau/volar" + ] + } +} \ No newline at end of file diff --git a/docs/.nuxt/types/app.config.d.ts b/docs/.nuxt/types/app.config.d.ts new file mode 100644 index 00000000..856e7ed3 --- /dev/null +++ b/docs/.nuxt/types/app.config.d.ts @@ -0,0 +1,13 @@ + +import type { Defu } from 'defu' +import cfg0 from "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/app.config" +import cfg1 from "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/app.config" +import cfg2 from "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/typography/app.config" +import cfg3 from "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/elements/app.config" + +declare const inlineConfig = {} +type ResolvedAppConfig = Defu + +declare module '@nuxt/schema' { + interface AppConfig extends ResolvedAppConfig { } +} diff --git a/docs/.nuxt/types/content.d.ts b/docs/.nuxt/types/content.d.ts new file mode 100644 index 00000000..607a5028 --- /dev/null +++ b/docs/.nuxt/types/content.d.ts @@ -0,0 +1,4 @@ +declare module '#content/server' { + const serverQueryContent: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server').serverQueryContent + const parseContent: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt/content/dist/runtime/server').parseContent +} \ No newline at end of file diff --git a/docs/.nuxt/types/imports.d.ts b/docs/.nuxt/types/imports.d.ts new file mode 100644 index 00000000..84b36942 --- /dev/null +++ b/docs/.nuxt/types/imports.d.ts @@ -0,0 +1,656 @@ +// Generated by auto imports +export {} +declare global { + const abortNavigation: typeof import('../../node_modules/nuxt/dist/app')['abortNavigation'] + const addRouteMiddleware: typeof import('../../node_modules/nuxt/dist/app')['addRouteMiddleware'] + const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] + const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] + const clearError: typeof import('../../node_modules/nuxt/dist/app')['clearError'] + const clearNuxtData: typeof import('../../node_modules/nuxt/dist/app')['clearNuxtData'] + const computed: typeof import('vue')['computed'] + const computedAsync: typeof import('@vueuse/core')['computedAsync'] + const computedEager: typeof import('@vueuse/core')['computedEager'] + const computedInject: typeof import('@vueuse/core')['computedInject'] + const computedWithControl: typeof import('@vueuse/core')['computedWithControl'] + const controlledComputed: typeof import('@vueuse/core')['controlledComputed'] + const controlledRef: typeof import('@vueuse/core')['controlledRef'] + const createError: typeof import('../../node_modules/nuxt/dist/app')['createError'] + const createEventHook: typeof import('@vueuse/core')['createEventHook'] + const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] + const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] + const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] + const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] + const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] + const customRef: typeof import('vue')['customRef'] + const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] + const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] + const defineAppConfig: typeof import('../../node_modules/nuxt/dist/app')['defineAppConfig'] + const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] + const defineComponent: typeof import('vue')['defineComponent'] + const defineNuxtComponent: typeof import('../../node_modules/nuxt/dist/app')['defineNuxtComponent'] + const defineNuxtLink: typeof import('../../node_modules/nuxt/dist/app')['defineNuxtLink'] + const defineNuxtPlugin: typeof import('../../node_modules/nuxt/dist/app')['defineNuxtPlugin'] + const defineNuxtRouteMiddleware: typeof import('../../node_modules/nuxt/dist/app')['defineNuxtRouteMiddleware'] + const definePageMeta: typeof import('../../node_modules/nuxt/dist/pages/runtime/composables')['definePageMeta'] + const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] + const effect: typeof import('vue')['effect'] + const effectScope: typeof import('vue')['effectScope'] + const extendRef: typeof import('@vueuse/core')['extendRef'] + const fetchContentNavigation: typeof import('../../node_modules/@nuxt/content/dist/runtime/composables/navigation')['fetchContentNavigation'] + const getCurrentInstance: typeof import('vue')['getCurrentInstance'] + const getCurrentScope: typeof import('vue')['getCurrentScope'] + const h: typeof import('vue')['h'] + const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch'] + const inject: typeof import('vue')['inject'] + const isDefined: typeof import('@vueuse/core')['isDefined'] + const isNuxtError: typeof import('../../node_modules/nuxt/dist/app')['isNuxtError'] + const isPrerendered: typeof import('../../node_modules/nuxt/dist/app')['isPrerendered'] + const isProxy: typeof import('vue')['isProxy'] + const isReactive: typeof import('vue')['isReactive'] + const isReadonly: typeof import('vue')['isReadonly'] + const isRef: typeof import('vue')['isRef'] + const isShallow: typeof import('vue')['isShallow'] + const isVue2: typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi')['isVue2'] + const isVue3: typeof import('../../node_modules/nuxt/dist/app/compat/vue-demi')['isVue3'] + const loadPayload: typeof import('../../node_modules/nuxt/dist/app')['loadPayload'] + const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] + const markRaw: typeof import('vue')['markRaw'] + const navigateTo: typeof import('../../node_modules/nuxt/dist/app')['navigateTo'] + const nextTick: typeof import('vue')['nextTick'] + const onActivated: typeof import('vue')['onActivated'] + const onBeforeMount: typeof import('vue')['onBeforeMount'] + const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave'] + const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate'] + const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] + const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] + const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] + const onDeactivated: typeof import('vue')['onDeactivated'] + const onErrorCaptured: typeof import('vue')['onErrorCaptured'] + const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] + const onLongPress: typeof import('@vueuse/core')['onLongPress'] + const onMounted: typeof import('vue')['onMounted'] + const onNuxtReady: typeof import('../../node_modules/nuxt/dist/app')['onNuxtReady'] + const onRenderTracked: typeof import('vue')['onRenderTracked'] + const onRenderTriggered: typeof import('vue')['onRenderTriggered'] + const onScopeDispose: typeof import('vue')['onScopeDispose'] + const onServerPrefetch: typeof import('vue')['onServerPrefetch'] + const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] + const onUnmounted: typeof import('vue')['onUnmounted'] + const onUpdated: typeof import('vue')['onUpdated'] + const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] + const prefetchComponents: typeof import('../../node_modules/nuxt/dist/app')['prefetchComponents'] + const preloadComponents: typeof import('../../node_modules/nuxt/dist/app')['preloadComponents'] + const preloadPayload: typeof import('../../node_modules/nuxt/dist/app')['preloadPayload'] + const preloadRouteComponents: typeof import('../../node_modules/nuxt/dist/app')['preloadRouteComponents'] + const provide: typeof import('vue')['provide'] + const proxyRefs: typeof import('vue')['proxyRefs'] + const queryContent: typeof import('../../node_modules/@nuxt/content/dist/runtime/composables/query')['queryContent'] + const reactify: typeof import('@vueuse/core')['reactify'] + const reactifyObject: typeof import('@vueuse/core')['reactifyObject'] + const reactive: typeof import('vue')['reactive'] + const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed'] + const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit'] + const reactivePick: typeof import('@vueuse/core')['reactivePick'] + const readonly: typeof import('vue')['readonly'] + const ref: typeof import('vue')['ref'] + const refAutoReset: typeof import('@vueuse/core')['refAutoReset'] + const refDebounced: typeof import('@vueuse/core')['refDebounced'] + const refDefault: typeof import('@vueuse/core')['refDefault'] + const refThrottled: typeof import('@vueuse/core')['refThrottled'] + const refWithControl: typeof import('@vueuse/core')['refWithControl'] + const refreshNuxtData: typeof import('../../node_modules/nuxt/dist/app')['refreshNuxtData'] + const resolveComponent: typeof import('vue')['resolveComponent'] + const resolveRef: typeof import('@vueuse/core')['resolveRef'] + const resolveUnref: typeof import('@vueuse/core')['resolveUnref'] + const setPageLayout: typeof import('../../node_modules/nuxt/dist/app')['setPageLayout'] + const setResponseStatus: typeof import('../../node_modules/nuxt/dist/app')['setResponseStatus'] + const shallowReactive: typeof import('vue')['shallowReactive'] + const shallowReadonly: typeof import('vue')['shallowReadonly'] + const shallowRef: typeof import('vue')['shallowRef'] + const showError: typeof import('../../node_modules/nuxt/dist/app')['showError'] + const syncRef: typeof import('@vueuse/core')['syncRef'] + const syncRefs: typeof import('@vueuse/core')['syncRefs'] + const templateRef: typeof import('@vueuse/core')['templateRef'] + const throttledRef: typeof import('@vueuse/core')['throttledRef'] + const throttledWatch: typeof import('@vueuse/core')['throttledWatch'] + const toRaw: typeof import('vue')['toRaw'] + const toReactive: typeof import('@vueuse/core')['toReactive'] + const toRef: typeof import('vue')['toRef'] + const toRefs: typeof import('vue')['toRefs'] + const triggerRef: typeof import('vue')['triggerRef'] + const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] + const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] + const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted'] + const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose'] + const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted'] + const unref: typeof import('vue')['unref'] + const unrefElement: typeof import('@vueuse/core')['unrefElement'] + const until: typeof import('@vueuse/core')['until'] + const updateAppConfig: typeof import('../../node_modules/nuxt/dist/app')['updateAppConfig'] + const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] + const useAppConfig: typeof import('../../node_modules/nuxt/dist/app')['useAppConfig'] + const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery'] + const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter'] + const useArrayFind: typeof import('@vueuse/core')['useArrayFind'] + const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex'] + const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast'] + const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin'] + const useArrayMap: typeof import('@vueuse/core')['useArrayMap'] + const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce'] + const useArraySome: typeof import('@vueuse/core')['useArraySome'] + const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique'] + const useAsyncData: typeof import('../../node_modules/nuxt/dist/app')['useAsyncData'] + const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] + const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] + const useAttrs: typeof import('vue')['useAttrs'] + const useBase64: typeof import('@vueuse/core')['useBase64'] + const useBattery: typeof import('@vueuse/core')['useBattery'] + const useBluetooth: typeof import('@vueuse/core')['useBluetooth'] + const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints'] + const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] + const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] + const useCached: typeof import('@vueuse/core')['useCached'] + const useClipboard: typeof import('@vueuse/core')['useClipboard'] + const useCloned: typeof import('@vueuse/core')['useCloned'] + const useColorMode: typeof import('../../node_modules/@nuxtjs/color-mode/dist/runtime/composables')['useColorMode'] + const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] + const useContent: typeof import('../../node_modules/@nuxt/content/dist/runtime/composables/content')['useContent'] + const useContentHead: typeof import('../../node_modules/@nuxt/content/dist/runtime/composables/head')['useContentHead'] + const useContentHelpers: typeof import('../../node_modules/@nuxt/content/dist/runtime/composables/helpers')['useContentHelpers'] + const useContentState: typeof import('../../node_modules/@nuxt/content/dist/runtime/composables/content')['useContentState'] + const useCookie: typeof import('../../node_modules/nuxt/dist/app')['useCookie'] + const useCounter: typeof import('@vueuse/core')['useCounter'] + const useCssModule: typeof import('vue')['useCssModule'] + const useCssVar: typeof import('@vueuse/core')['useCssVar'] + const useCssVars: typeof import('vue')['useCssVars'] + const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement'] + const useCycleList: typeof import('@vueuse/core')['useCycleList'] + const useDark: typeof import('@vueuse/core')['useDark'] + const useDateFormat: typeof import('@vueuse/core')['useDateFormat'] + const useDebounce: typeof import('@vueuse/core')['useDebounce'] + const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn'] + const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory'] + const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion'] + const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation'] + const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio'] + const useDevicesList: typeof import('@vueuse/core')['useDevicesList'] + const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia'] + const useDocSearch: typeof import('../../node_modules/@nuxt-themes/docus/composables/useDocSearch')['useDocSearch'] + const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility'] + const useDocus: typeof import('../../node_modules/@nuxt-themes/docus/composables/useDocus')['useDocus'] + const useDraggable: typeof import('@vueuse/core')['useDraggable'] + const useDropZone: typeof import('@vueuse/core')['useDropZone'] + const useElementBounding: typeof import('@vueuse/core')['useElementBounding'] + const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint'] + const useElementHover: typeof import('@vueuse/core')['useElementHover'] + const useElementSize: typeof import('@vueuse/core')['useElementSize'] + const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility'] + const useError: typeof import('../../node_modules/nuxt/dist/app')['useError'] + const useEventBus: typeof import('@vueuse/core')['useEventBus'] + const useEventListener: typeof import('@vueuse/core')['useEventListener'] + const useEventSource: typeof import('@vueuse/core')['useEventSource'] + const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper'] + const useFavicon: typeof import('@vueuse/core')['useFavicon'] + const useFetch: typeof import('../../node_modules/nuxt/dist/app')['useFetch'] + const useFileDialog: typeof import('@vueuse/core')['useFileDialog'] + const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] + const useFocus: typeof import('@vueuse/core')['useFocus'] + const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] + const useFps: typeof import('@vueuse/core')['useFps'] + const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] + const useGamepad: typeof import('@vueuse/core')['useGamepad'] + const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] + const useGithub: typeof import('../../node_modules/@nuxtlabs/github-module/dist/runtime/composables/useGithub')['useGithub'] + const useHead: typeof import('../../node_modules/nuxt/dist/head/runtime')['useHead'] + const useIdle: typeof import('@vueuse/core')['useIdle'] + const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] + const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver'] + const useInterval: typeof import('@vueuse/core')['useInterval'] + const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn'] + const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier'] + const useLastChanged: typeof import('@vueuse/core')['useLastChanged'] + const useLazyAsyncData: typeof import('../../node_modules/nuxt/dist/app')['useLazyAsyncData'] + const useLazyFetch: typeof import('../../node_modules/nuxt/dist/app')['useLazyFetch'] + const useLink: typeof import('vue-router')['useLink'] + const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage'] + const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys'] + const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory'] + const useMediaControls: typeof import('@vueuse/core')['useMediaControls'] + const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] + const useMemoize: typeof import('@vueuse/core')['useMemoize'] + const useMemory: typeof import('@vueuse/core')['useMemory'] + const useMenu: typeof import('../../node_modules/@nuxt-themes/docus/composables/useMenu')['useMenu'] + const useMounted: typeof import('@vueuse/core')['useMounted'] + const useMouse: typeof import('@vueuse/core')['useMouse'] + const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] + const useMousePressed: typeof import('@vueuse/core')['useMousePressed'] + const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver'] + const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage'] + const useNetwork: typeof import('@vueuse/core')['useNetwork'] + const useNow: typeof import('@vueuse/core')['useNow'] + const useNuxtApp: typeof import('../../node_modules/nuxt/dist/app')['useNuxtApp'] + const useNuxtData: typeof import('../../node_modules/nuxt/dist/app')['useNuxtData'] + const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl'] + const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination'] + const useOnline: typeof import('@vueuse/core')['useOnline'] + const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] + const useParallax: typeof import('@vueuse/core')['useParallax'] + const usePermission: typeof import('@vueuse/core')['usePermission'] + const usePointer: typeof import('@vueuse/core')['usePointer'] + const usePointerLock: typeof import('@vueuse/core')['usePointerLock'] + const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] + const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] + const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast'] + const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] + const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] + const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion'] + const usePrevious: typeof import('@vueuse/core')['usePrevious'] + const useRafFn: typeof import('@vueuse/core')['useRafFn'] + const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] + const useRequestEvent: typeof import('../../node_modules/nuxt/dist/app')['useRequestEvent'] + const useRequestHeaders: typeof import('../../node_modules/nuxt/dist/app')['useRequestHeaders'] + const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] + const useRoute: typeof import('../../node_modules/nuxt/dist/app')['useRoute'] + const useRouter: typeof import('../../node_modules/nuxt/dist/app')['useRouter'] + const useRuntimeConfig: typeof import('../../node_modules/nuxt/dist/app')['useRuntimeConfig'] + const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] + const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] + const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] + const useScroll: typeof import('@vueuse/core')['useScroll'] + const useScrollLock: typeof import('@vueuse/core')['useScrollLock'] + const useScrollspy: typeof import('../../node_modules/@nuxt-themes/docus/composables/useScrollspy')['useScrollspy'] + const useSeoMeta: typeof import('../../node_modules/nuxt/dist/head/runtime')['useSeoMeta'] + const useServerSeoMeta: typeof import('../../node_modules/nuxt/dist/head/runtime')['useServerSeoMeta'] + const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] + const useShare: typeof import('@vueuse/core')['useShare'] + const useSlots: typeof import('vue')['useSlots'] + const useSorted: typeof import('@vueuse/core')['useSorted'] + const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] + const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] + const useState: typeof import('../../node_modules/nuxt/dist/app')['useState'] + const useStepper: typeof import('@vueuse/core')['useStepper'] + const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] + const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] + const useSupported: typeof import('@vueuse/core')['useSupported'] + const useSwipe: typeof import('@vueuse/core')['useSwipe'] + const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] + const useTextDirection: typeof import('@vueuse/core')['useTextDirection'] + const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] + const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize'] + const useThrottle: typeof import('@vueuse/core')['useThrottle'] + const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn'] + const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory'] + const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo'] + const useTimeout: typeof import('@vueuse/core')['useTimeout'] + const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn'] + const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] + const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] + const useToNumber: typeof import('@vueuse/core')['useToNumber'] + const useToString: typeof import('@vueuse/core')['useToString'] + const useToggle: typeof import('@vueuse/core')['useToggle'] + const useTransition: typeof import('@vueuse/core')['useTransition'] + const useTransitionState: typeof import('vue')['useTransitionState'] + const useUnwrap: typeof import('../../node_modules/@nuxt/content/dist/runtime/composables/utils')['useUnwrap'] + const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] + const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] + const useVModel: typeof import('@vueuse/core')['useVModel'] + const useVModels: typeof import('@vueuse/core')['useVModels'] + const useVibrate: typeof import('@vueuse/core')['useVibrate'] + const useVirtualList: typeof import('@vueuse/core')['useVirtualList'] + const useWakeLock: typeof import('@vueuse/core')['useWakeLock'] + const useWebNotification: typeof import('@vueuse/core')['useWebNotification'] + const useWebSocket: typeof import('@vueuse/core')['useWebSocket'] + const useWebWorker: typeof import('@vueuse/core')['useWebWorker'] + const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn'] + const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus'] + const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll'] + const useWindowSize: typeof import('@vueuse/core')['useWindowSize'] + const watch: typeof import('vue')['watch'] + const watchArray: typeof import('@vueuse/core')['watchArray'] + const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] + const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] + const watchEffect: typeof import('vue')['watchEffect'] + const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] + const watchOnce: typeof import('@vueuse/core')['watchOnce'] + const watchPausable: typeof import('@vueuse/core')['watchPausable'] + const watchThrottled: typeof import('@vueuse/core')['watchThrottled'] + const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable'] + const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter'] + const whenever: typeof import('@vueuse/core')['whenever'] + const withContentBase: typeof import('../../node_modules/@nuxt/content/dist/runtime/composables/utils')['withContentBase'] + const withCtx: typeof import('vue')['withCtx'] + const withDirectives: typeof import('vue')['withDirectives'] + const withKeys: typeof import('vue')['withKeys'] + const withMemo: typeof import('vue')['withMemo'] + const withModifiers: typeof import('vue')['withModifiers'] + const withScopeId: typeof import('vue')['withScopeId'] +} +// for vue template auto import +import { UnwrapRef } from 'vue' +declare module 'vue' { + interface ComponentCustomProperties { + readonly abortNavigation: UnwrapRef + readonly addRouteMiddleware: UnwrapRef + readonly asyncComputed: UnwrapRef + readonly autoResetRef: UnwrapRef + readonly clearError: UnwrapRef + readonly clearNuxtData: UnwrapRef + readonly computed: UnwrapRef + readonly computedAsync: UnwrapRef + readonly computedEager: UnwrapRef + readonly computedInject: UnwrapRef + readonly computedWithControl: UnwrapRef + readonly controlledComputed: UnwrapRef + readonly controlledRef: UnwrapRef + readonly createError: UnwrapRef + readonly createEventHook: UnwrapRef + readonly createGlobalState: UnwrapRef + readonly createInjectionState: UnwrapRef + readonly createReactiveFn: UnwrapRef + readonly createSharedComposable: UnwrapRef + readonly createUnrefFn: UnwrapRef + readonly customRef: UnwrapRef + readonly debouncedRef: UnwrapRef + readonly debouncedWatch: UnwrapRef + readonly defineAppConfig: UnwrapRef + readonly defineAsyncComponent: UnwrapRef + readonly defineComponent: UnwrapRef + readonly defineNuxtComponent: UnwrapRef + readonly defineNuxtLink: UnwrapRef + readonly defineNuxtPlugin: UnwrapRef + readonly defineNuxtRouteMiddleware: UnwrapRef + readonly definePageMeta: UnwrapRef + readonly eagerComputed: UnwrapRef + readonly effect: UnwrapRef + readonly effectScope: UnwrapRef + readonly extendRef: UnwrapRef + readonly fetchContentNavigation: UnwrapRef + readonly getCurrentInstance: UnwrapRef + readonly getCurrentScope: UnwrapRef + readonly h: UnwrapRef + readonly ignorableWatch: UnwrapRef + readonly inject: UnwrapRef + readonly isDefined: UnwrapRef + readonly isNuxtError: UnwrapRef + readonly isPrerendered: UnwrapRef + readonly isProxy: UnwrapRef + readonly isReactive: UnwrapRef + readonly isReadonly: UnwrapRef + readonly isRef: UnwrapRef + readonly isShallow: UnwrapRef + readonly isVue2: UnwrapRef + readonly isVue3: UnwrapRef + readonly loadPayload: UnwrapRef + readonly makeDestructurable: UnwrapRef + readonly markRaw: UnwrapRef + readonly navigateTo: UnwrapRef + readonly nextTick: UnwrapRef + readonly onActivated: UnwrapRef + readonly onBeforeMount: UnwrapRef + readonly onBeforeRouteLeave: UnwrapRef + readonly onBeforeRouteUpdate: UnwrapRef + readonly onBeforeUnmount: UnwrapRef + readonly onBeforeUpdate: UnwrapRef + readonly onClickOutside: UnwrapRef + readonly onDeactivated: UnwrapRef + readonly onErrorCaptured: UnwrapRef + readonly onKeyStroke: UnwrapRef + readonly onLongPress: UnwrapRef + readonly onMounted: UnwrapRef + readonly onNuxtReady: UnwrapRef + readonly onRenderTracked: UnwrapRef + readonly onRenderTriggered: UnwrapRef + readonly onScopeDispose: UnwrapRef + readonly onServerPrefetch: UnwrapRef + readonly onStartTyping: UnwrapRef + readonly onUnmounted: UnwrapRef + readonly onUpdated: UnwrapRef + readonly pausableWatch: UnwrapRef + readonly prefetchComponents: UnwrapRef + readonly preloadComponents: UnwrapRef + readonly preloadPayload: UnwrapRef + readonly preloadRouteComponents: UnwrapRef + readonly provide: UnwrapRef + readonly proxyRefs: UnwrapRef + readonly queryContent: UnwrapRef + readonly reactify: UnwrapRef + readonly reactifyObject: UnwrapRef + readonly reactive: UnwrapRef + readonly reactiveComputed: UnwrapRef + readonly reactiveOmit: UnwrapRef + readonly reactivePick: UnwrapRef + readonly readonly: UnwrapRef + readonly ref: UnwrapRef + readonly refAutoReset: UnwrapRef + readonly refDebounced: UnwrapRef + readonly refDefault: UnwrapRef + readonly refThrottled: UnwrapRef + readonly refWithControl: UnwrapRef + readonly refreshNuxtData: UnwrapRef + readonly resolveComponent: UnwrapRef + readonly resolveRef: UnwrapRef + readonly resolveUnref: UnwrapRef + readonly setPageLayout: UnwrapRef + readonly setResponseStatus: UnwrapRef + readonly shallowReactive: UnwrapRef + readonly shallowReadonly: UnwrapRef + readonly shallowRef: UnwrapRef + readonly showError: UnwrapRef + readonly syncRef: UnwrapRef + readonly syncRefs: UnwrapRef + readonly templateRef: UnwrapRef + readonly throttledRef: UnwrapRef + readonly throttledWatch: UnwrapRef + readonly toRaw: UnwrapRef + readonly toReactive: UnwrapRef + readonly toRef: UnwrapRef + readonly toRefs: UnwrapRef + readonly triggerRef: UnwrapRef + readonly tryOnBeforeMount: UnwrapRef + readonly tryOnBeforeUnmount: UnwrapRef + readonly tryOnMounted: UnwrapRef + readonly tryOnScopeDispose: UnwrapRef + readonly tryOnUnmounted: UnwrapRef + readonly unref: UnwrapRef + readonly unrefElement: UnwrapRef + readonly until: UnwrapRef + readonly updateAppConfig: UnwrapRef + readonly useActiveElement: UnwrapRef + readonly useAppConfig: UnwrapRef + readonly useArrayEvery: UnwrapRef + readonly useArrayFilter: UnwrapRef + readonly useArrayFind: UnwrapRef + readonly useArrayFindIndex: UnwrapRef + readonly useArrayFindLast: UnwrapRef + readonly useArrayJoin: UnwrapRef + readonly useArrayMap: UnwrapRef + readonly useArrayReduce: UnwrapRef + readonly useArraySome: UnwrapRef + readonly useArrayUnique: UnwrapRef + readonly useAsyncData: UnwrapRef + readonly useAsyncQueue: UnwrapRef + readonly useAsyncState: UnwrapRef + readonly useAttrs: UnwrapRef + readonly useBase64: UnwrapRef + readonly useBattery: UnwrapRef + readonly useBluetooth: UnwrapRef + readonly useBreakpoints: UnwrapRef + readonly useBroadcastChannel: UnwrapRef + readonly useBrowserLocation: UnwrapRef + readonly useCached: UnwrapRef + readonly useClipboard: UnwrapRef + readonly useCloned: UnwrapRef + readonly useColorMode: UnwrapRef + readonly useConfirmDialog: UnwrapRef + readonly useContent: UnwrapRef + readonly useContentHead: UnwrapRef + readonly useContentHelpers: UnwrapRef + readonly useContentState: UnwrapRef + readonly useCookie: UnwrapRef + readonly useCounter: UnwrapRef + readonly useCssModule: UnwrapRef + readonly useCssVar: UnwrapRef + readonly useCssVars: UnwrapRef + readonly useCurrentElement: UnwrapRef + readonly useCycleList: UnwrapRef + readonly useDark: UnwrapRef + readonly useDateFormat: UnwrapRef + readonly useDebounce: UnwrapRef + readonly useDebounceFn: UnwrapRef + readonly useDebouncedRefHistory: UnwrapRef + readonly useDeviceMotion: UnwrapRef + readonly useDeviceOrientation: UnwrapRef + readonly useDevicePixelRatio: UnwrapRef + readonly useDevicesList: UnwrapRef + readonly useDisplayMedia: UnwrapRef + readonly useDocSearch: UnwrapRef + readonly useDocumentVisibility: UnwrapRef + readonly useDocus: UnwrapRef + readonly useDraggable: UnwrapRef + readonly useDropZone: UnwrapRef + readonly useElementBounding: UnwrapRef + readonly useElementByPoint: UnwrapRef + readonly useElementHover: UnwrapRef + readonly useElementSize: UnwrapRef + readonly useElementVisibility: UnwrapRef + readonly useError: UnwrapRef + readonly useEventBus: UnwrapRef + readonly useEventListener: UnwrapRef + readonly useEventSource: UnwrapRef + readonly useEyeDropper: UnwrapRef + readonly useFavicon: UnwrapRef + readonly useFetch: UnwrapRef + readonly useFileDialog: UnwrapRef + readonly useFileSystemAccess: UnwrapRef + readonly useFocus: UnwrapRef + readonly useFocusWithin: UnwrapRef + readonly useFps: UnwrapRef + readonly useFullscreen: UnwrapRef + readonly useGamepad: UnwrapRef + readonly useGeolocation: UnwrapRef + readonly useGithub: UnwrapRef + readonly useHead: UnwrapRef + readonly useIdle: UnwrapRef + readonly useInfiniteScroll: UnwrapRef + readonly useIntersectionObserver: UnwrapRef + readonly useInterval: UnwrapRef + readonly useIntervalFn: UnwrapRef + readonly useKeyModifier: UnwrapRef + readonly useLastChanged: UnwrapRef + readonly useLazyAsyncData: UnwrapRef + readonly useLazyFetch: UnwrapRef + readonly useLink: UnwrapRef + readonly useLocalStorage: UnwrapRef + readonly useMagicKeys: UnwrapRef + readonly useManualRefHistory: UnwrapRef + readonly useMediaControls: UnwrapRef + readonly useMediaQuery: UnwrapRef + readonly useMemoize: UnwrapRef + readonly useMemory: UnwrapRef + readonly useMenu: UnwrapRef + readonly useMounted: UnwrapRef + readonly useMouse: UnwrapRef + readonly useMouseInElement: UnwrapRef + readonly useMousePressed: UnwrapRef + readonly useMutationObserver: UnwrapRef + readonly useNavigatorLanguage: UnwrapRef + readonly useNetwork: UnwrapRef + readonly useNow: UnwrapRef + readonly useNuxtApp: UnwrapRef + readonly useNuxtData: UnwrapRef + readonly useObjectUrl: UnwrapRef + readonly useOffsetPagination: UnwrapRef + readonly useOnline: UnwrapRef + readonly usePageLeave: UnwrapRef + readonly useParallax: UnwrapRef + readonly usePermission: UnwrapRef + readonly usePointer: UnwrapRef + readonly usePointerLock: UnwrapRef + readonly usePointerSwipe: UnwrapRef + readonly usePreferredColorScheme: UnwrapRef + readonly usePreferredContrast: UnwrapRef + readonly usePreferredDark: UnwrapRef + readonly usePreferredLanguages: UnwrapRef + readonly usePreferredReducedMotion: UnwrapRef + readonly usePrevious: UnwrapRef + readonly useRafFn: UnwrapRef + readonly useRefHistory: UnwrapRef + readonly useRequestEvent: UnwrapRef + readonly useRequestHeaders: UnwrapRef + readonly useResizeObserver: UnwrapRef + readonly useRoute: UnwrapRef + readonly useRouter: UnwrapRef + readonly useRuntimeConfig: UnwrapRef + readonly useScreenOrientation: UnwrapRef + readonly useScreenSafeArea: UnwrapRef + readonly useScriptTag: UnwrapRef + readonly useScroll: UnwrapRef + readonly useScrollLock: UnwrapRef + readonly useScrollspy: UnwrapRef + readonly useSeoMeta: UnwrapRef + readonly useServerSeoMeta: UnwrapRef + readonly useSessionStorage: UnwrapRef + readonly useShare: UnwrapRef + readonly useSlots: UnwrapRef + readonly useSorted: UnwrapRef + readonly useSpeechRecognition: UnwrapRef + readonly useSpeechSynthesis: UnwrapRef + readonly useState: UnwrapRef + readonly useStepper: UnwrapRef + readonly useStorageAsync: UnwrapRef + readonly useStyleTag: UnwrapRef + readonly useSupported: UnwrapRef + readonly useSwipe: UnwrapRef + readonly useTemplateRefsList: UnwrapRef + readonly useTextDirection: UnwrapRef + readonly useTextSelection: UnwrapRef + readonly useTextareaAutosize: UnwrapRef + readonly useThrottle: UnwrapRef + readonly useThrottleFn: UnwrapRef + readonly useThrottledRefHistory: UnwrapRef + readonly useTimeAgo: UnwrapRef + readonly useTimeout: UnwrapRef + readonly useTimeoutFn: UnwrapRef + readonly useTimeoutPoll: UnwrapRef + readonly useTimestamp: UnwrapRef + readonly useToNumber: UnwrapRef + readonly useToString: UnwrapRef + readonly useToggle: UnwrapRef + readonly useTransition: UnwrapRef + readonly useTransitionState: UnwrapRef + readonly useUnwrap: UnwrapRef + readonly useUrlSearchParams: UnwrapRef + readonly useUserMedia: UnwrapRef + readonly useVModel: UnwrapRef + readonly useVModels: UnwrapRef + readonly useVibrate: UnwrapRef + readonly useVirtualList: UnwrapRef + readonly useWakeLock: UnwrapRef + readonly useWebNotification: UnwrapRef + readonly useWebSocket: UnwrapRef + readonly useWebWorker: UnwrapRef + readonly useWebWorkerFn: UnwrapRef + readonly useWindowFocus: UnwrapRef + readonly useWindowScroll: UnwrapRef + readonly useWindowSize: UnwrapRef + readonly watch: UnwrapRef + readonly watchArray: UnwrapRef + readonly watchAtMost: UnwrapRef + readonly watchDebounced: UnwrapRef + readonly watchEffect: UnwrapRef + readonly watchIgnorable: UnwrapRef + readonly watchOnce: UnwrapRef + readonly watchPausable: UnwrapRef + readonly watchThrottled: UnwrapRef + readonly watchTriggerable: UnwrapRef + readonly watchWithFilter: UnwrapRef + readonly whenever: UnwrapRef + readonly withContentBase: UnwrapRef + readonly withCtx: UnwrapRef + readonly withDirectives: UnwrapRef + readonly withKeys: UnwrapRef + readonly withMemo: UnwrapRef + readonly withModifiers: UnwrapRef + readonly withScopeId: UnwrapRef + } +} diff --git a/docs/.nuxt/types/layouts.d.ts b/docs/.nuxt/types/layouts.d.ts new file mode 100644 index 00000000..ee9af454 --- /dev/null +++ b/docs/.nuxt/types/layouts.d.ts @@ -0,0 +1,7 @@ +import { ComputedRef, Ref } from 'vue' +export type LayoutKey = "docs-page" | "default" | "page" +declare module "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/pages/runtime/composables" { + interface PageMeta { + layout?: false | LayoutKey | Ref | ComputedRef + } +} \ No newline at end of file diff --git a/docs/.nuxt/types/middleware.d.ts b/docs/.nuxt/types/middleware.d.ts new file mode 100644 index 00000000..06be81bb --- /dev/null +++ b/docs/.nuxt/types/middleware.d.ts @@ -0,0 +1,7 @@ +import type { NavigationGuard } from 'vue-router' +export type MiddlewareKey = string +declare module "C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/pages/runtime/composables" { + interface PageMeta { + middleware?: MiddlewareKey | NavigationGuard | Array + } +} \ No newline at end of file diff --git a/docs/.nuxt/types/nitro-config.d.ts b/docs/.nuxt/types/nitro-config.d.ts new file mode 100644 index 00000000..29f79398 --- /dev/null +++ b/docs/.nuxt/types/nitro-config.d.ts @@ -0,0 +1,14 @@ +// Generated by nitro + +// App Config +import type { Defu } from 'defu' + + + +type UserAppConfig = Defu<{}, []> + +declare module 'nitropack' { + interface AppConfig extends UserAppConfig {} +} + +export {} \ No newline at end of file diff --git a/docs/.nuxt/types/nitro-imports.d.ts b/docs/.nuxt/types/nitro-imports.d.ts new file mode 100644 index 00000000..01a940d1 --- /dev/null +++ b/docs/.nuxt/types/nitro-imports.d.ts @@ -0,0 +1,98 @@ +declare global { + const __buildAssetsURL: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/core/runtime/nitro/paths')['buildAssetsURL'] + const __publicAssetsURL: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nuxt/dist/core/runtime/nitro/paths')['publicAssetsURL'] + const appendCorsHeaders: typeof import('h3')['appendCorsHeaders'] + const appendCorsPreflightHeaders: typeof import('h3')['appendCorsPreflightHeaders'] + const appendHeader: typeof import('h3')['appendHeader'] + const appendHeaders: typeof import('h3')['appendHeaders'] + const appendResponseHeader: typeof import('h3')['appendResponseHeader'] + const appendResponseHeaders: typeof import('h3')['appendResponseHeaders'] + const assertMethod: typeof import('h3')['assertMethod'] + const cachedEventHandler: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['cachedEventHandler'] + const cachedFunction: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['cachedFunction'] + const callNodeListener: typeof import('h3')['callNodeListener'] + const clearSession: typeof import('h3')['clearSession'] + const createApp: typeof import('h3')['createApp'] + const createAppEventHandler: typeof import('h3')['createAppEventHandler'] + const createError: typeof import('h3')['createError'] + const createEvent: typeof import('h3')['createEvent'] + const createRouter: typeof import('h3')['createRouter'] + const defaultContentType: typeof import('h3')['defaultContentType'] + const defineCachedEventHandler: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['defineCachedEventHandler'] + const defineCachedFunction: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['defineCachedFunction'] + const defineEventHandler: typeof import('h3')['defineEventHandler'] + const defineLazyEventHandler: typeof import('h3')['defineLazyEventHandler'] + const defineNitroPlugin: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['defineNitroPlugin'] + const defineNodeListener: typeof import('h3')['defineNodeListener'] + const defineNodeMiddleware: typeof import('h3')['defineNodeMiddleware'] + const defineRenderHandler: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['defineRenderHandler'] + const deleteCookie: typeof import('h3')['deleteCookie'] + const dynamicEventHandler: typeof import('h3')['dynamicEventHandler'] + const eventHandler: typeof import('h3')['eventHandler'] + const fetchWithEvent: typeof import('h3')['fetchWithEvent'] + const fromNodeMiddleware: typeof import('h3')['fromNodeMiddleware'] + const getCookie: typeof import('h3')['getCookie'] + const getHeader: typeof import('h3')['getHeader'] + const getHeaders: typeof import('h3')['getHeaders'] + const getMethod: typeof import('h3')['getMethod'] + const getProxyRequestHeaders: typeof import('h3')['getProxyRequestHeaders'] + const getQuery: typeof import('h3')['getQuery'] + const getRequestHeader: typeof import('h3')['getRequestHeader'] + const getRequestHeaders: typeof import('h3')['getRequestHeaders'] + const getRequestHost: typeof import('h3')['getRequestHost'] + const getRequestProtocol: typeof import('h3')['getRequestProtocol'] + const getRequestURL: typeof import('h3')['getRequestURL'] + const getResponseHeader: typeof import('h3')['getResponseHeader'] + const getResponseHeaders: typeof import('h3')['getResponseHeaders'] + const getResponseStatus: typeof import('h3')['getResponseStatus'] + const getResponseStatusText: typeof import('h3')['getResponseStatusText'] + const getRouteRules: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['getRouteRules'] + const getRouterParam: typeof import('h3')['getRouterParam'] + const getRouterParams: typeof import('h3')['getRouterParams'] + const getSession: typeof import('h3')['getSession'] + const handleCacheHeaders: typeof import('h3')['handleCacheHeaders'] + const handleCors: typeof import('h3')['handleCors'] + const isCorsOriginAllowed: typeof import('h3')['isCorsOriginAllowed'] + const isError: typeof import('h3')['isError'] + const isEvent: typeof import('h3')['isEvent'] + const isEventHandler: typeof import('h3')['isEventHandler'] + const isMethod: typeof import('h3')['isMethod'] + const isPreflightRequest: typeof import('h3')['isPreflightRequest'] + const isStream: typeof import('h3')['isStream'] + const lazyEventHandler: typeof import('h3')['lazyEventHandler'] + const nitroPlugin: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['nitroPlugin'] + const parseCookies: typeof import('h3')['parseCookies'] + const promisifyNodeListener: typeof import('h3')['promisifyNodeListener'] + const proxyRequest: typeof import('h3')['proxyRequest'] + const readBody: typeof import('h3')['readBody'] + const readMultipartFormData: typeof import('h3')['readMultipartFormData'] + const readRawBody: typeof import('h3')['readRawBody'] + const sanitizeStatusCode: typeof import('h3')['sanitizeStatusCode'] + const sanitizeStatusMessage: typeof import('h3')['sanitizeStatusMessage'] + const sealSession: typeof import('h3')['sealSession'] + const send: typeof import('h3')['send'] + const sendError: typeof import('h3')['sendError'] + const sendNoContent: typeof import('h3')['sendNoContent'] + const sendProxy: typeof import('h3')['sendProxy'] + const sendRedirect: typeof import('h3')['sendRedirect'] + const sendStream: typeof import('h3')['sendStream'] + const setCookie: typeof import('h3')['setCookie'] + const setHeader: typeof import('h3')['setHeader'] + const setHeaders: typeof import('h3')['setHeaders'] + const setResponseHeader: typeof import('h3')['setResponseHeader'] + const setResponseHeaders: typeof import('h3')['setResponseHeaders'] + const setResponseStatus: typeof import('h3')['setResponseStatus'] + const splitCookiesString: typeof import('h3')['splitCookiesString'] + const toEventHandler: typeof import('h3')['toEventHandler'] + const toNodeListener: typeof import('h3')['toNodeListener'] + const unsealSession: typeof import('h3')['unsealSession'] + const updateSession: typeof import('h3')['updateSession'] + const useAppConfig: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['useAppConfig'] + const useBase: typeof import('h3')['useBase'] + const useNitroApp: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['useNitroApp'] + const useRuntimeConfig: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['useRuntimeConfig'] + const useSession: typeof import('h3')['useSession'] + const useStorage: typeof import('C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/nitropack/dist/runtime')['useStorage'] + const writeEarlyHints: typeof import('h3')['writeEarlyHints'] +} +export {} \ No newline at end of file diff --git a/docs/.nuxt/types/nitro-routes.d.ts b/docs/.nuxt/types/nitro-routes.d.ts new file mode 100644 index 00000000..aea04b09 --- /dev/null +++ b/docs/.nuxt/types/nitro-routes.d.ts @@ -0,0 +1,68 @@ +// Generated by nitro +import type { Serialize, Simplify } from 'nitropack' +declare module 'nitropack' { + type Awaited = T extends PromiseLike ? Awaited : T + interface InternalApi { + '/__nuxt_error': { + 'default': Simplify>>> + } + '/api/_github/repository': { + 'default': Simplify>>> + } + '/api/_github/repository/:query': { + 'default': Simplify>>> + } + '/api/_github/readme': { + 'default': Simplify>>> + } + '/api/_github/readme/:query': { + 'default': Simplify>>> + } + '/api/_github/releases': { + 'default': Simplify>>> + } + '/api/_github/releases/:query': { + 'default': Simplify>>> + } + '/api/_github/contributors': { + 'default': Simplify>>> + } + '/api/_github/contributors/:query': { + 'default': Simplify>>> + } + '/api/_github/contributors/file': { + 'default': Simplify>>> + } + '/api/_github/contributors/file/:query': { + 'default': Simplify>>> + } + '/api/_github/commits': { + 'default': Simplify>>> + } + '/api/_github/commits/:query': { + 'default': Simplify>>> + } + '/api/_content/query/:qid/**:params': { + 'get': Simplify>>> + } + '/api/_content/query/:qid': { + 'get': Simplify>>> + } + '/api/_content/query': { + 'get': Simplify>>> + } + '/api/_content/cache.json': { + 'get': Simplify>>> + } + '/api/_content/navigation/:qid/**:params': { + 'get': Simplify>>> + } + '/api/_content/navigation/:qid': { + 'get': Simplify>>> + } + '/api/_content/navigation': { + 'get': Simplify>>> + } + } +} +export {} \ No newline at end of file diff --git a/docs/.nuxt/types/nitro.d.ts b/docs/.nuxt/types/nitro.d.ts new file mode 100644 index 00000000..bf09bd4d --- /dev/null +++ b/docs/.nuxt/types/nitro.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// \ No newline at end of file diff --git a/docs/.nuxt/types/plugins.d.ts b/docs/.nuxt/types/plugins.d.ts new file mode 100644 index 00000000..34036d1f --- /dev/null +++ b/docs/.nuxt/types/plugins.d.ts @@ -0,0 +1,32 @@ +// Generated by Nuxt' +import type { Plugin } from '#app' + +type Decorate> = { [K in keyof T as K extends string ? `$${K}` : never]: T[K] } + +type InjectionType = A extends Plugin ? Decorate : unknown + +type NuxtAppInjections = + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType + +declare module '#app' { + interface NuxtApp extends NuxtAppInjections { } +} + +declare module 'vue' { + interface ComponentCustomProperties extends NuxtAppInjections { } +} + +export { } diff --git a/docs/.nuxt/types/schema.d.ts b/docs/.nuxt/types/schema.d.ts new file mode 100644 index 00000000..96e89829 --- /dev/null +++ b/docs/.nuxt/types/schema.d.ts @@ -0,0 +1,1740 @@ +import { NuxtModule } from '@nuxt/schema' +declare module '@nuxt/schema' { + interface NuxtConfig { + ["github"]?: typeof import("@nuxtlabs/github-module").default extends NuxtModule ? Partial : Record + ["nuxt-config-schema-compat"]?: typeof import("nuxt-config-schema").default extends NuxtModule ? Partial : Record + ["studio"]?: typeof import("@nuxthq/studio").default extends NuxtModule ? Partial : Record + ["colorMode"]?: typeof import("@nuxtjs/color-mode").default extends NuxtModule ? Partial : Record + ["pinceau"]?: typeof import("pinceau/nuxt").default extends NuxtModule ? Partial : Record + ["tokens"]?: typeof import("@nuxt-themes/tokens").default extends NuxtModule ? Partial : Record + ["content"]?: typeof import("@nuxt/content").default extends NuxtModule ? Partial : Record + ["docus"]?: typeof import("C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/app/module").default extends NuxtModule ? Partial : Record + ["@nuxt-themes/docus"]?: typeof import("@nuxt-themes/docus").default extends NuxtModule ? Partial : Record + ["icon"]?: typeof import("nuxt-icon").default extends NuxtModule ? Partial : Record + ["nuxt-config-schema"]?: typeof import("nuxt-config-schema").default extends NuxtModule ? Partial : Record + ["telemetry"]?: typeof import("@nuxt/telemetry").default extends NuxtModule ? Partial : Record + modules?: (NuxtModule | string | [NuxtModule | string, Record] | ["@nuxtlabs/github-module", NuxtConfig["github"]] | ["nuxt-config-schema", NuxtConfig["nuxt-config-schema-compat"]] | ["@nuxthq/studio", NuxtConfig["studio"]] | ["@nuxtjs/color-mode", NuxtConfig["colorMode"]] | ["pinceau/nuxt", NuxtConfig["pinceau"]] | ["@nuxt-themes/tokens", NuxtConfig["tokens"]] | ["@nuxt/content", NuxtConfig["content"]] | ["C:/Users/AVidal/Documents/Projects/SEPA/frontier/docs/node_modules/@nuxt-themes/docus/app/module", NuxtConfig["docus"]] | ["@nuxt-themes/docus", NuxtConfig["@nuxt-themes/docus"]] | ["nuxt-icon", NuxtConfig["icon"]] | ["nuxt-config-schema", NuxtConfig["nuxt-config-schema"]] | ["@nuxt/telemetry", NuxtConfig["telemetry"]])[], + } + interface RuntimeConfig { + app: { + baseURL: string, + + buildAssetsDir: string, + + cdnURL: string, + }, + + content: { + cacheVersion: number, + + cacheIntegrity: string, + + transformers: Array, + + base: string, + + api: { + baseURL: string, + }, + + watch: { + ws: { + port: { + port: number, + + portRange: Array, + }, + + hostname: string, + + showURL: boolean, + }, + }, + + sources: any, + + ignores: Array, + + locales: Array, + + defaultLocale: any, + + highlight: { + theme: { + dark: string, + + default: string, + }, + + preload: Array, + }, + + markdown: { + tags: { + p: string, + + a: string, + + blockquote: string, + + "code-inline": string, + + code: string, + + em: string, + + h1: string, + + h2: string, + + h3: string, + + h4: string, + + h5: string, + + h6: string, + + hr: string, + + img: string, + + ul: string, + + ol: string, + + li: string, + + strong: string, + + table: string, + + thead: string, + + tbody: string, + + td: string, + + th: string, + + tr: string, + }, + + anchorLinks: { + depth: number, + + exclude: Array, + }, + + remarkPlugins: { + "remark-github": { + repository: string, + }, + }, + + rehypePlugins: any, + }, + + yaml: any, + + csv: { + delimeter: string, + + json: boolean, + }, + + navigation: { + fields: Array, + }, + + documentDriven: boolean, + + experimental: { + clientDB: boolean, + + stripQueryParameters: boolean, + }, + + host: string, + }, + + github: { + api: string, + + owner: string, + + branch: string, + + repo: string, + + token: any, + + disableCache: boolean, + + parseContents: boolean, + + maxContributors: number, + }, + + pinceau: { + studio: boolean, + + outputDir: string, + }, + + appConfigSchema: { + properties: { + id: string, + + properties: { + nuxtIcon: { + title: string, + + description: string, + + id: string, + + properties: { + size: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + + class: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + aliases: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: any, + + type: string, + }, + }, + + type: string, + + default: { + size: string, + + class: string, + + aliases: any, + }, + }, + + prose: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + copyButton: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + iconCopy: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + iconCopied: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + iconCopy: string, + + iconCopied: string, + }, + }, + + headings: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + icon: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + icon: string, + }, + }, + + h1: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + icon: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + icon: string, + }, + }, + + h2: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + icon: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + icon: string, + }, + }, + + h3: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + icon: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + icon: string, + }, + }, + + h4: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + icon: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + icon: string, + }, + }, + + h5: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + icon: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + icon: string, + }, + }, + + h6: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + icon: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + icon: string, + }, + }, + }, + + type: string, + + default: { + copyButton: { + iconCopy: string, + + iconCopied: string, + }, + + headings: { + icon: string, + }, + + h1: { + icon: string, + }, + + h2: { + icon: string, + }, + + h3: { + icon: string, + }, + + h4: { + icon: string, + }, + + h5: { + icon: string, + }, + + h6: { + icon: string, + }, + }, + }, + + docus: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + title: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + titleTemplate: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + description: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + image: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + socials: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + twitter: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + github: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + facebook: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + instagram: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + youtube: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + medium: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + }, + + type: string, + + default: { + twitter: string, + + github: string, + + facebook: string, + + instagram: string, + + youtube: string, + + medium: string, + }, + }, + + layout: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: string, + + type: string, + }, + + aside: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + level: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: number, + + type: string, + }, + + collapsed: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: boolean, + + type: string, + }, + + exclude: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: Array, + + type: string, + + items: { + type: string, + }, + }, + }, + + type: string, + + default: { + level: number, + + collapsed: boolean, + + exclude: Array, + }, + }, + + header: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + title: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + logo: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: boolean, + + type: string, + }, + + showLinkIcon: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: boolean, + + type: string, + }, + + exclude: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + default: Array, + + type: string, + + items: { + type: string, + }, + }, + + fluid: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: boolean, + + type: string, + }, + }, + + type: string, + + default: { + title: string, + + logo: boolean, + + showLinkIcon: boolean, + + exclude: Array, + + fluid: boolean, + }, + }, + + main: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + fluid: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: boolean, + + type: string, + }, + + padded: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: boolean, + + type: string, + }, + }, + + type: string, + + default: { + fluid: boolean, + + padded: boolean, + }, + }, + + footer: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + credits: { + title: string, + + description: string, + + tags: Array, + + tsType: string, + + id: string, + + properties: { + icon: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + text: { + type: string, + + id: string, + + default: string, + }, + + href: { + type: string, + + id: string, + + default: string, + }, + }, + + type: string, + + default: { + icon: string, + + text: string, + + href: string, + }, + }, + + textLinks: { + type: string, + + items: { + type: string, + + required: Array, + + properties: { + href: { + type: string, + + description: string, + }, + + text: { + type: string, + + description: string, + }, + + target: { + type: string, + + description: string, + }, + }, + }, + + title: string, + + description: string, + + tags: Array, + + id: string, + }, + + iconLinks: { + type: string, + + items: { + type: string, + + required: Array, + + properties: { + icon: { + type: string, + + description: string, + }, + + href: { + type: string, + + description: string, + }, + + label: { + type: string, + + description: string, + }, + }, + }, + + title: string, + + description: string, + + tags: Array, + + id: string, + }, + + fluid: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: boolean, + + type: string, + }, + }, + + type: string, + + default: { + credits: { + icon: string, + + text: string, + + href: string, + }, + + fluid: boolean, + }, + }, + + github: { + title: string, + + description: string, + + tags: Array, + + id: string, + + properties: { + dir: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + branch: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + repo: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + owner: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: string, + + type: string, + }, + + edit: { + title: string, + + description: string, + + tags: Array, + + id: string, + + default: boolean, + + type: string, + }, + }, + + type: string, + + default: { + dir: string, + + branch: string, + + repo: string, + + owner: string, + + edit: boolean, + }, + }, + }, + + type: string, + + default: { + title: string, + + titleTemplate: string, + + description: string, + + image: string, + + socials: { + twitter: string, + + github: string, + + facebook: string, + + instagram: string, + + youtube: string, + + medium: string, + }, + + layout: string, + + aside: { + level: number, + + collapsed: boolean, + + exclude: Array, + }, + + header: { + title: string, + + logo: boolean, + + showLinkIcon: boolean, + + exclude: Array, + + fluid: boolean, + }, + + main: { + fluid: boolean, + + padded: boolean, + }, + + footer: { + credits: { + icon: string, + + text: string, + + href: string, + }, + + fluid: boolean, + }, + + github: { + dir: string, + + branch: string, + + repo: string, + + owner: string, + + edit: boolean, + }, + }, + }, + }, + + type: string, + + default: { + nuxtIcon: { + size: string, + + class: string, + + aliases: any, + }, + + prose: { + copyButton: { + iconCopy: string, + + iconCopied: string, + }, + + headings: { + icon: string, + }, + + h1: { + icon: string, + }, + + h2: { + icon: string, + }, + + h3: { + icon: string, + }, + + h4: { + icon: string, + }, + + h5: { + icon: string, + }, + + h6: { + icon: string, + }, + }, + + docus: { + title: string, + + titleTemplate: string, + + description: string, + + image: string, + + socials: { + twitter: string, + + github: string, + + facebook: string, + + instagram: string, + + youtube: string, + + medium: string, + }, + + layout: string, + + aside: { + level: number, + + collapsed: boolean, + + exclude: Array, + }, + + header: { + title: string, + + logo: boolean, + + showLinkIcon: boolean, + + exclude: Array, + + fluid: boolean, + }, + + main: { + fluid: boolean, + + padded: boolean, + }, + + footer: { + credits: { + icon: string, + + text: string, + + href: string, + }, + + fluid: boolean, + }, + + github: { + dir: string, + + branch: string, + + repo: string, + + owner: string, + + edit: boolean, + }, + }, + }, + }, + + default: { + nuxtIcon: { + size: string, + + class: string, + + aliases: any, + }, + + prose: { + copyButton: { + iconCopy: string, + + iconCopied: string, + }, + + headings: { + icon: string, + }, + + h1: { + icon: string, + }, + + h2: { + icon: string, + }, + + h3: { + icon: string, + }, + + h4: { + icon: string, + }, + + h5: { + icon: string, + }, + + h6: { + icon: string, + }, + }, + + docus: { + title: string, + + titleTemplate: string, + + description: string, + + image: string, + + socials: { + twitter: string, + + github: string, + + facebook: string, + + instagram: string, + + youtube: string, + + medium: string, + }, + + layout: string, + + aside: { + level: number, + + collapsed: boolean, + + exclude: Array, + }, + + header: { + title: string, + + logo: boolean, + + showLinkIcon: boolean, + + exclude: Array, + + fluid: boolean, + }, + + main: { + fluid: boolean, + + padded: boolean, + }, + + footer: { + credits: { + icon: string, + + text: string, + + href: string, + }, + + fluid: boolean, + }, + + github: { + dir: string, + + branch: string, + + repo: string, + + owner: string, + + edit: boolean, + }, + }, + }, + }, + } + interface PublicRuntimeConfig { + algolia: { + applicationId: string, + + apiKey: string, + + langAttribute: string, + + docSearch: { + indexName: string, + }, + }, + + github: { + api: string, + + owner: string, + + branch: string, + + repo: string, + + token: any, + + disableCache: boolean, + + parseContents: boolean, + + maxContributors: number, + }, + + content: { + locales: Array, + + defaultLocale: any, + + integrity: any, + + experimental: { + stripQueryParameters: boolean, + + clientDB: boolean, + }, + + api: { + baseURL: string, + }, + + navigation: { + fields: Array, + }, + + tags: { + p: string, + + a: string, + + blockquote: string, + + "code-inline": string, + + code: string, + + em: string, + + h1: string, + + h2: string, + + h3: string, + + h4: string, + + h5: string, + + h6: string, + + hr: string, + + img: string, + + ul: string, + + ol: string, + + li: string, + + strong: string, + + table: string, + + thead: string, + + tbody: string, + + td: string, + + th: string, + + tr: string, + }, + + highlight: { + theme: { + dark: string, + + default: string, + }, + + preload: Array, + }, + + wsUrl: string, + + documentDriven: { + page: boolean, + + navigation: boolean, + + surround: boolean, + + globals: any, + + layoutFallbacks: Array, + + injectPage: boolean, + }, + + host: string, + + trailingSlash: boolean, + + anchorLinks: { + depth: number, + + exclude: Array, + }, + }, + } +} \ No newline at end of file diff --git a/docs/.nuxt/types/vue-shim.d.ts b/docs/.nuxt/types/vue-shim.d.ts new file mode 100644 index 00000000..3160e555 --- /dev/null +++ b/docs/.nuxt/types/vue-shim.d.ts @@ -0,0 +1,5 @@ +declare module '*.vue' { + import { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} \ No newline at end of file diff --git a/docs/.output/nitro.json b/docs/.output/nitro.json index 2d82f260..7036bd9a 100644 --- a/docs/.output/nitro.json +++ b/docs/.output/nitro.json @@ -1,5 +1,5 @@ { - "date": "2023-03-02T14:41:12.433Z", + "date": "2023-04-21T05:02:11.839Z", "preset": "nitro-prerender", "commands": { "preview": "npx serve ./public" diff --git a/docs/.output/public/200.html b/docs/.output/public/200.html index ecc80aa8..49c3be31 100644 --- a/docs/.output/public/200.html +++ b/docs/.output/public/200.html @@ -2,7 +2,7 @@ - -
+
\ No newline at end of file diff --git a/docs/.output/public/404.html b/docs/.output/public/404.html index ecc80aa8..49c3be31 100644 --- a/docs/.output/public/404.html +++ b/docs/.output/public/404.html @@ -2,7 +2,7 @@ - -
+
\ No newline at end of file diff --git a/docs/.output/public/__app_config.json/index.html b/docs/.output/public/__app_config.json/index.html index f11b570e..c5f089c8 100644 --- a/docs/.output/public/__app_config.json/index.html +++ b/docs/.output/public/__app_config.json/index.html @@ -13,12 +13,7 @@ "description": "Write pages in markdown, use Vue components and enjoy the power of Nuxt with a blazing fast developer experience.", "image": "https://content.nuxtjs.org/preview.png", "socials": { - "twitter": "", - "github": "realdecoy/frontier", - "facebook": "", - "instagram": "", - "youtube": "", - "medium": "" + "github": "realdecoy/frontier" }, "layout": { "fluid": true diff --git a/docs/.output/public/__studio.json b/docs/.output/public/__studio.json index 290b13e3..3641f32e 100644 --- a/docs/.output/public/__studio.json +++ b/docs/.output/public/__studio.json @@ -1 +1 @@ -{"version":"0.7.2","appConfigSchema":{"properties":{"id":"#appConfig","properties":{"nuxtIcon":{"title":"Nuxt Icon","description":"Configure the defaults of Nuxt Icon","id":"#appConfig/nuxtIcon","properties":{"size":{"title":"Icon Size","description":"Set the default icon size","tags":["@studioIcon material-symbols:format-size-rounded"],"id":"#appConfig/nuxtIcon/size","default":"","type":"string"},"class":{"title":"CSS Class","description":"Set the default CSS class","tags":["@studioIcon material-symbols:css"],"id":"#appConfig/nuxtIcon/class","default":"","type":"string"},"aliases":{"title":"Icon aliases","description":"Define Icon aliases to update them easily without code changes.","tags":["@studioIcon material-symbols:star-rounded","@studioInputObjectValueType icon"],"tsType":"{ [alias: string]: string }","id":"#appConfig/nuxtIcon/aliases","default":{},"type":"object"}},"type":"object","default":{"size":"","class":"","aliases":{}}},"prose":{"title":"Prose configuration from Nuxt Typography","description":"","tags":["@studioIcon material-symbols:short-text-rounded","@studioInput icon"],"id":"#appConfig/prose","properties":{"copyButton":{"title":"Copy button (used in code blocks)","description":"","tags":["@studioIcon material-symbols:content-copy"],"id":"#appConfig/prose/copyButton","properties":{"iconCopy":{"title":"Icon displayed to copy","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopy","default":"ph:copy","type":"string"},"iconCopied":{"title":"Icon displayed when copied","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopied","default":"ph:check","type":"string"}},"type":"object","default":{"iconCopy":"ph:copy","iconCopied":"ph:check"}},"headings":{"title":"Default configuration for all headings (h1, h2, h3, h4, h5 and h6)","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/prose/headings","properties":{"icon":{"title":"Default icon for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/headings/icon","default":"ph:link","type":"string"}},"type":"object","default":{"icon":"ph:link"}},"h1":{"title":"First heading configuration","description":"","tags":["@studioIcon material-symbols:format-h1"],"id":"#appConfig/prose/h1","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h1/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h2":{"title":"Second heading configuration","description":"","tags":["@studioIcon material-symbols:format-h2"],"id":"#appConfig/prose/h2","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h2/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h3":{"title":"Third heading configuration","description":"","tags":["@studioIcon material-symbols:format-h3"],"id":"#appConfig/prose/h3","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h3/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h4":{"title":"Fourth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h4"],"id":"#appConfig/prose/h4","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h4/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h5":{"title":"Fifth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h5"],"id":"#appConfig/prose/h5","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h5/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h6":{"title":"Sixth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h6"],"id":"#appConfig/prose/h6","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h6/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}}},"type":"object","default":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}}},"docus":{"title":"Docus theme configuration.","description":"","tags":["@studioIcon material-symbols:docs"],"id":"#appConfig/docus","properties":{"title":{"title":"Website title, used as header default title and meta title.","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/title","default":"Docus","type":"string"},"titleTemplate":{"title":"The website title template, to overwrite the default one.","description":"","tags":[],"id":"#appConfig/docus/titleTemplate","default":"%s · Docus","type":"string"},"description":{"title":"Website description, used for meta description.","description":"","tags":["@studioIcon material-symbols:description"],"id":"#appConfig/docus/description","default":"The best place to start your documentation.","type":"string"},"image":{"title":"Cover image.","description":"","tags":["@example '/cover.jpg'","@studioIcon dashicons:cover-image","@studioInput file"],"id":"#appConfig/docus/image","default":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","type":"string"},"socials":{"title":"Social links","description":"Will be used in AppSocialIcons component.","tags":["@studioIcon material-symbols:share-outline"],"id":"#appConfig/docus/socials","properties":{"twitter":{"title":"Twitter social handle","description":"","tags":["@example 'nuxt_js'","@studioIcon simple-icons:twitter"],"id":"#appConfig/docus/socials/twitter","default":"","type":"string"},"github":{"title":"GitHub org or repository","description":"","tags":["@example 'nuxt/framework'","@studioIcon simple-icons:github"],"id":"#appConfig/docus/socials/github","default":"","type":"string"},"facebook":{"title":"Facebook page url","description":"","tags":["@example https://www.facebook.com/groups/nuxtjs","@studioIcon simple-icons:facebook"],"id":"#appConfig/docus/socials/facebook","default":"","type":"string"},"instagram":{"title":"Instagram page url","description":"","tags":["@example https://www.instagram.com/wearenuxt","@studioIcon simple-icons:instagram"],"id":"#appConfig/docus/socials/instagram","default":"","type":"string"},"youtube":{"title":"Instagram page url","description":"","tags":["@example https://www.youtube.com/@NuxtLabs","@studioIcon simple-icons:youtube"],"id":"#appConfig/docus/socials/youtube","default":"","type":"string"},"medium":{"title":"Medium page url","description":"","tags":["@example https://medium.com/nuxt","@studioIcon simple-icons:medium"],"id":"#appConfig/docus/socials/medium","default":"","type":"string"}},"type":"object","default":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""}},"layout":{"title":"Theme layout configuration.","description":"","tags":["@studioIcon tabler:arrow-autofit-width"],"tsType":"'default'|'page'","id":"#appConfig/docus/layout","default":"default","type":"string"},"aside":{"title":"Aside navigation configuration.","description":"","tags":["@studioIcon fluent:document-page-24-regular"],"id":"#appConfig/docus/aside","properties":{"level":{"title":"Aside navigation level","description":"Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation.","tags":[],"id":"#appConfig/docus/aside/level","default":0,"type":"number"},"collapsed":{"title":"Specify if default collapsibles state globally for aside navigation.","description":"","tags":[],"id":"#appConfig/docus/aside/collapsed","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from aside navigation.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/aside/exclude","default":[],"type":"array","items":{"type":"any"}}},"type":"object","default":{"level":0,"collapsed":false,"exclude":[]}},"header":{"title":"Header configuration.","description":"","tags":["@studioIcon fluent:document-header-24-regular"],"id":"#appConfig/docus/header","properties":{"title":{"title":"Website title","description":"Title to be displayed in header or as aria-label if logo is defined.\nDefault to docus.title","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/header/title","default":"","type":"string"},"logo":{"title":"Logo configuration","description":"Boolean to disable or use the `Logo.vue` component.\nString to be used as a name of a component.","tags":["@example 'MyLogo'","@studioInput boolean"],"id":"#appConfig/docus/header/logo","default":false,"type":"boolean"},"showLinkIcon":{"title":"Header links","description":"Toggle links icons in the header.","tags":[],"id":"#appConfig/docus/header/showLinkIcon","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from header links.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/header/exclude","default":[],"type":"array","items":{"type":"any"}},"fluid":{"title":"Makes the content of the header fluid.","description":"","tags":[],"id":"#appConfig/docus/header/fluid","default":false,"type":"boolean"}},"type":"object","default":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false}},"main":{"title":"Main content configuration.","description":"","tags":["@studioIcon fluent:document-header-footer-24-filled"],"id":"#appConfig/docus/main","properties":{"fluid":{"title":"Makes the content of the main container fluid.","description":"","tags":[],"id":"#appConfig/docus/main/fluid","default":false,"type":"boolean"},"padded":{"title":"Makes the content of the main container padded.","description":"","tags":[],"id":"#appConfig/docus/main/padded","default":true,"type":"boolean"}},"type":"object","default":{"fluid":false,"padded":true}},"footer":{"title":"Footer configuration","description":"","tags":["@studioIcon fluent:document-footer-24-regular"],"id":"#appConfig/docus/footer","properties":{"credits":{"title":"Website credits configuration.","description":"","tags":["@studioIcon material-symbols:copyright"],"tsType":"false|{icon: string, text: string, href: string}","id":"#appConfig/docus/footer/credits","properties":{"icon":{"title":"Icon to show on credits","description":"","tags":["@formtype Icon"],"id":"#appConfig/docus/footer/credits/icon","default":"IconDocus","type":"string"},"text":{"type":"string","id":"#appConfig/docus/footer/credits/text","default":"Powered by Docus"},"href":{"type":"string","id":"#appConfig/docus/footer/credits/href","default":"https://docus.dev"}},"type":"object","default":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"}},"textLinks":{"type":"array","items":{"type":"object","required":["text","href"],"properties":{"href":{"type":"string","description":"URL when clicking the link"},"text":{"type":"string","description":"Text of the link"},"target":{"type":"string","description":"Target attribute of the link"}}},"title":"Text links","description":"Will be added into center section of the footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/textLinks"},"iconLinks":{"type":"array","items":{"type":"object","required":["icon","href"],"properties":{"icon":{"type":"string","description":"Icon name"},"href":{"type":"string","description":"Link when clicking on the icon"},"label":{"type":"string","description":"Label of the icon"}}},"title":"Icon links","description":"Icons to be added to Social Icons in footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/iconLinks"},"fluid":{"title":"Makes the content of the footer fluid.","description":"","tags":[],"id":"#appConfig/docus/footer/fluid","default":true,"type":"boolean"}},"type":"object","default":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true}},"github":{"title":"GitHub integration","description":"Configure the Edit on Github integration.","tags":["@studioIcon simple-icons:github"],"id":"#appConfig/docus/github","properties":{"dir":{"title":"Directory","description":"Your GitHub repository root directory.","tags":[],"id":"#appConfig/docus/github/dir","default":"","type":"string"},"branch":{"title":"Branch","description":"Your GitHub repository branch.","tags":[],"id":"#appConfig/docus/github/branch","default":"","type":"string"},"repo":{"title":"Repository","description":"Your GitHub repository name.","tags":[],"id":"#appConfig/docus/github/repo","default":"","type":"string"},"owner":{"title":"Owner","description":"Your GitHub repository owner.","tags":[],"id":"#appConfig/docus/github/owner","default":"","type":"string"},"edit":{"title":"EditOnGithub","description":"Display EditOnGithub button.","tags":[],"id":"#appConfig/docus/github/edit","default":false,"type":"boolean"}},"type":"object","default":{"dir":"","branch":"","repo":"","owner":"","edit":false}}},"type":"object","default":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}},"type":"object","default":{"nuxtIcon":{"size":"","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}},"default":{"nuxtIcon":{"size":"","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}},"appConfig":{"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"}},"docus":{"title":"Frontier","description":"Write pages in markdown, use Vue components and enjoy the power of Nuxt with a blazing fast developer experience.","image":"https://content.nuxtjs.org/preview.png","socials":{"twitter":"","github":"realdecoy/frontier","facebook":"","instagram":"","youtube":"","medium":""},"layout":{"fluid":true},"header":{"title":"","logo":"Logo","showLinkIcon":false,"fluid":false,"exclude":[]},"aside":{"level":1,"collapsed":false,"exclude":[]},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"textLinks":[],"iconLinks":[{"label":"Realdecoy","href":"https://realdecoy.com","icon":"IconNuxt"}],"fluid":false},"github":{"dir":"","branch":"main","repo":"frontier","owner":"realdecoy","edit":true,"root":"","releases":true},"url":"https://realdecoy.com","cover":{"src":"/cover.jpg","alt":"Tooling maded easy for developers"}},"github":{"owner":"realdecoy","repo":"frontier","branch":"main"}},"tokensConfigSchema":{"properties":{"id":"#tokensConfig","properties":{"color":{"title":"Your website color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/color","properties":{"primary":{"id":"#tokensConfig/color/primary","properties":{"50":{"id":"#tokensConfig/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/50/value","default":"#fff2cc"}},"type":"object","default":{"value":"#fff2cc"}},"100":{"id":"#tokensConfig/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/100/value","default":"#ffe599"}},"type":"object","default":{"value":"#ffe599"}},"200":{"id":"#tokensConfig/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/200/value","default":"#ffd966"}},"type":"object","default":{"value":"#ffd966"}},"300":{"id":"#tokensConfig/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/300/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"400":{"id":"#tokensConfig/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/400/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"500":{"id":"#tokensConfig/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/500/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"600":{"id":"#tokensConfig/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/600/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"700":{"id":"#tokensConfig/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/700/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"800":{"id":"#tokensConfig/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/800/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"900":{"id":"#tokensConfig/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/900/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}}},"type":"object","default":{"50":{"value":"#fff2cc"},"100":{"value":"#ffe599"},"200":{"value":"#ffd966"},"300":{"value":"#f1c232"},"400":{"value":"#f1c232"},"500":{"value":"#f1c232"},"600":{"value":"#f1c232"},"700":{"value":"#f1c232"},"800":{"value":"#f1c232"},"900":{"value":"#f1c232"}}},"white":{"id":"#tokensConfig/color/white","properties":{"value":{"type":"string","id":"#tokensConfig/color/white/value","default":"#ffffff"}},"type":"object","default":{"value":"#ffffff"}},"black":{"id":"#tokensConfig/color/black","properties":{"value":{"type":"string","id":"#tokensConfig/color/black/value","default":"#0c0c0d"}},"type":"object","default":{"value":"#0c0c0d"}},"secondary":{"id":"#tokensConfig/color/secondary","properties":{"50":{"id":"#tokensConfig/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}},"gray":{"id":"#tokensConfig/color/gray","properties":{"50":{"id":"#tokensConfig/color/gray/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/50/value","default":"#fafafa"}},"type":"object","default":{"value":"#fafafa"}},"100":{"id":"#tokensConfig/color/gray/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/100/value","default":"#f4f4f5"}},"type":"object","default":{"value":"#f4f4f5"}},"200":{"id":"#tokensConfig/color/gray/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/200/value","default":"#e4e4e7"}},"type":"object","default":{"value":"#e4e4e7"}},"300":{"id":"#tokensConfig/color/gray/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/300/value","default":"#D4d4d8"}},"type":"object","default":{"value":"#D4d4d8"}},"400":{"id":"#tokensConfig/color/gray/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/400/value","default":"#a1a1aa"}},"type":"object","default":{"value":"#a1a1aa"}},"500":{"id":"#tokensConfig/color/gray/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/500/value","default":"#71717A"}},"type":"object","default":{"value":"#71717A"}},"600":{"id":"#tokensConfig/color/gray/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/600/value","default":"#52525B"}},"type":"object","default":{"value":"#52525B"}},"700":{"id":"#tokensConfig/color/gray/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/700/value","default":"#3f3f46"}},"type":"object","default":{"value":"#3f3f46"}},"800":{"id":"#tokensConfig/color/gray/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/800/value","default":"#27272A"}},"type":"object","default":{"value":"#27272A"}},"900":{"id":"#tokensConfig/color/gray/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/900/value","default":"#18181B"}},"type":"object","default":{"value":"#18181B"}}},"type":"object","default":{"50":{"value":"#fafafa"},"100":{"value":"#f4f4f5"},"200":{"value":"#e4e4e7"},"300":{"value":"#D4d4d8"},"400":{"value":"#a1a1aa"},"500":{"value":"#71717A"},"600":{"value":"#52525B"},"700":{"value":"#3f3f46"},"800":{"value":"#27272A"},"900":{"value":"#18181B"}}},"green":{"id":"#tokensConfig/color/green","properties":{"50":{"id":"#tokensConfig/color/green/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/50/value","default":"#d6ffee"}},"type":"object","default":{"value":"#d6ffee"}},"100":{"id":"#tokensConfig/color/green/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/100/value","default":"#acffdd"}},"type":"object","default":{"value":"#acffdd"}},"200":{"id":"#tokensConfig/color/green/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/200/value","default":"#83ffcc"}},"type":"object","default":{"value":"#83ffcc"}},"300":{"id":"#tokensConfig/color/green/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/300/value","default":"#30ffaa"}},"type":"object","default":{"value":"#30ffaa"}},"400":{"id":"#tokensConfig/color/green/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/400/value","default":"#00dc82"}},"type":"object","default":{"value":"#00dc82"}},"500":{"id":"#tokensConfig/color/green/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/500/value","default":"#00bd6f"}},"type":"object","default":{"value":"#00bd6f"}},"600":{"id":"#tokensConfig/color/green/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/600/value","default":"#009d5d"}},"type":"object","default":{"value":"#009d5d"}},"700":{"id":"#tokensConfig/color/green/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/700/value","default":"#007e4a"}},"type":"object","default":{"value":"#007e4a"}},"800":{"id":"#tokensConfig/color/green/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/800/value","default":"#005e38"}},"type":"object","default":{"value":"#005e38"}},"900":{"id":"#tokensConfig/color/green/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/900/value","default":"#003f25"}},"type":"object","default":{"value":"#003f25"}}},"type":"object","default":{"50":{"value":"#d6ffee"},"100":{"value":"#acffdd"},"200":{"value":"#83ffcc"},"300":{"value":"#30ffaa"},"400":{"value":"#00dc82"},"500":{"value":"#00bd6f"},"600":{"value":"#009d5d"},"700":{"value":"#007e4a"},"800":{"value":"#005e38"},"900":{"value":"#003f25"}}},"yellow":{"id":"#tokensConfig/color/yellow","properties":{"50":{"id":"#tokensConfig/color/yellow/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/50/value","default":"#fdf6db"}},"type":"object","default":{"value":"#fdf6db"}},"100":{"id":"#tokensConfig/color/yellow/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/100/value","default":"#fcedb7"}},"type":"object","default":{"value":"#fcedb7"}},"200":{"id":"#tokensConfig/color/yellow/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/200/value","default":"#fae393"}},"type":"object","default":{"value":"#fae393"}},"300":{"id":"#tokensConfig/color/yellow/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/300/value","default":"#f8da70"}},"type":"object","default":{"value":"#f8da70"}},"400":{"id":"#tokensConfig/color/yellow/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/400/value","default":"#f7d14c"}},"type":"object","default":{"value":"#f7d14c"}},"500":{"id":"#tokensConfig/color/yellow/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/500/value","default":"#f5c828"}},"type":"object","default":{"value":"#f5c828"}},"600":{"id":"#tokensConfig/color/yellow/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/600/value","default":"#daac0a"}},"type":"object","default":{"value":"#daac0a"}},"700":{"id":"#tokensConfig/color/yellow/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/700/value","default":"#a38108"}},"type":"object","default":{"value":"#a38108"}},"800":{"id":"#tokensConfig/color/yellow/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/800/value","default":"#6d5605"}},"type":"object","default":{"value":"#6d5605"}},"900":{"id":"#tokensConfig/color/yellow/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/900/value","default":"#362b03"}},"type":"object","default":{"value":"#362b03"}}},"type":"object","default":{"50":{"value":"#fdf6db"},"100":{"value":"#fcedb7"},"200":{"value":"#fae393"},"300":{"value":"#f8da70"},"400":{"value":"#f7d14c"},"500":{"value":"#f5c828"},"600":{"value":"#daac0a"},"700":{"value":"#a38108"},"800":{"value":"#6d5605"},"900":{"value":"#362b03"}}},"orange":{"id":"#tokensConfig/color/orange","properties":{"50":{"id":"#tokensConfig/color/orange/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/50/value","default":"#ffe9d9"}},"type":"object","default":{"value":"#ffe9d9"}},"100":{"id":"#tokensConfig/color/orange/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/100/value","default":"#ffd3b3"}},"type":"object","default":{"value":"#ffd3b3"}},"200":{"id":"#tokensConfig/color/orange/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/200/value","default":"#ffbd8d"}},"type":"object","default":{"value":"#ffbd8d"}},"300":{"id":"#tokensConfig/color/orange/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/300/value","default":"#ffa666"}},"type":"object","default":{"value":"#ffa666"}},"400":{"id":"#tokensConfig/color/orange/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/400/value","default":"#ff9040"}},"type":"object","default":{"value":"#ff9040"}},"500":{"id":"#tokensConfig/color/orange/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/500/value","default":"#ff7a1a"}},"type":"object","default":{"value":"#ff7a1a"}},"600":{"id":"#tokensConfig/color/orange/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/600/value","default":"#e15e00"}},"type":"object","default":{"value":"#e15e00"}},"700":{"id":"#tokensConfig/color/orange/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/700/value","default":"#a94700"}},"type":"object","default":{"value":"#a94700"}},"800":{"id":"#tokensConfig/color/orange/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/800/value","default":"#702f00"}},"type":"object","default":{"value":"#702f00"}},"900":{"id":"#tokensConfig/color/orange/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/900/value","default":"#381800"}},"type":"object","default":{"value":"#381800"}}},"type":"object","default":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}}},"red":{"id":"#tokensConfig/color/red","properties":{"50":{"id":"#tokensConfig/color/red/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/50/value","default":"#ffdbd9"}},"type":"object","default":{"value":"#ffdbd9"}},"100":{"id":"#tokensConfig/color/red/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/100/value","default":"#ffb7b3"}},"type":"object","default":{"value":"#ffb7b3"}},"200":{"id":"#tokensConfig/color/red/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/200/value","default":"#ff948d"}},"type":"object","default":{"value":"#ff948d"}},"300":{"id":"#tokensConfig/color/red/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/300/value","default":"#ff7066"}},"type":"object","default":{"value":"#ff7066"}},"400":{"id":"#tokensConfig/color/red/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/400/value","default":"#ff4c40"}},"type":"object","default":{"value":"#ff4c40"}},"500":{"id":"#tokensConfig/color/red/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/500/value","default":"#ff281a"}},"type":"object","default":{"value":"#ff281a"}},"600":{"id":"#tokensConfig/color/red/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/600/value","default":"#e10e00"}},"type":"object","default":{"value":"#e10e00"}},"700":{"id":"#tokensConfig/color/red/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/700/value","default":"#a90a00"}},"type":"object","default":{"value":"#a90a00"}},"800":{"id":"#tokensConfig/color/red/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/800/value","default":"#700700"}},"type":"object","default":{"value":"#700700"}},"900":{"id":"#tokensConfig/color/red/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/900/value","default":"#380300"}},"type":"object","default":{"value":"#380300"}}},"type":"object","default":{"50":{"value":"#ffdbd9"},"100":{"value":"#ffb7b3"},"200":{"value":"#ff948d"},"300":{"value":"#ff7066"},"400":{"value":"#ff4c40"},"500":{"value":"#ff281a"},"600":{"value":"#e10e00"},"700":{"value":"#a90a00"},"800":{"value":"#700700"},"900":{"value":"#380300"}}},"pear":{"id":"#tokensConfig/color/pear","properties":{"50":{"id":"#tokensConfig/color/pear/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/50/value","default":"#f7f8dc"}},"type":"object","default":{"value":"#f7f8dc"}},"100":{"id":"#tokensConfig/color/pear/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/100/value","default":"#eff0ba"}},"type":"object","default":{"value":"#eff0ba"}},"200":{"id":"#tokensConfig/color/pear/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/200/value","default":"#e8e997"}},"type":"object","default":{"value":"#e8e997"}},"300":{"id":"#tokensConfig/color/pear/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/300/value","default":"#e0e274"}},"type":"object","default":{"value":"#e0e274"}},"400":{"id":"#tokensConfig/color/pear/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/400/value","default":"#d8da52"}},"type":"object","default":{"value":"#d8da52"}},"500":{"id":"#tokensConfig/color/pear/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/500/value","default":"#d0d32f"}},"type":"object","default":{"value":"#d0d32f"}},"600":{"id":"#tokensConfig/color/pear/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/600/value","default":"#a8aa24"}},"type":"object","default":{"value":"#a8aa24"}},"700":{"id":"#tokensConfig/color/pear/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/700/value","default":"#7e801b"}},"type":"object","default":{"value":"#7e801b"}},"800":{"id":"#tokensConfig/color/pear/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/800/value","default":"#545512"}},"type":"object","default":{"value":"#545512"}},"900":{"id":"#tokensConfig/color/pear/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/900/value","default":"#2a2b09"}},"type":"object","default":{"value":"#2a2b09"}}},"type":"object","default":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}}},"teal":{"id":"#tokensConfig/color/teal","properties":{"50":{"id":"#tokensConfig/color/teal/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/50/value","default":"#d7faf8"}},"type":"object","default":{"value":"#d7faf8"}},"100":{"id":"#tokensConfig/color/teal/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/100/value","default":"#aff4f0"}},"type":"object","default":{"value":"#aff4f0"}},"200":{"id":"#tokensConfig/color/teal/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/200/value","default":"#87efe9"}},"type":"object","default":{"value":"#87efe9"}},"300":{"id":"#tokensConfig/color/teal/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/300/value","default":"#5fe9e1"}},"type":"object","default":{"value":"#5fe9e1"}},"400":{"id":"#tokensConfig/color/teal/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/400/value","default":"#36e4da"}},"type":"object","default":{"value":"#36e4da"}},"500":{"id":"#tokensConfig/color/teal/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/500/value","default":"#1cd1c6"}},"type":"object","default":{"value":"#1cd1c6"}},"600":{"id":"#tokensConfig/color/teal/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/600/value","default":"#16a79e"}},"type":"object","default":{"value":"#16a79e"}},"700":{"id":"#tokensConfig/color/teal/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/700/value","default":"#117d77"}},"type":"object","default":{"value":"#117d77"}},"800":{"id":"#tokensConfig/color/teal/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/800/value","default":"#0b544f"}},"type":"object","default":{"value":"#0b544f"}},"900":{"id":"#tokensConfig/color/teal/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/900/value","default":"#062a28"}},"type":"object","default":{"value":"#062a28"}}},"type":"object","default":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}}},"lightblue":{"id":"#tokensConfig/color/lightblue","properties":{"50":{"id":"#tokensConfig/color/lightblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/50/value","default":"#d9f8ff"}},"type":"object","default":{"value":"#d9f8ff"}},"100":{"id":"#tokensConfig/color/lightblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/100/value","default":"#b3f1ff"}},"type":"object","default":{"value":"#b3f1ff"}},"200":{"id":"#tokensConfig/color/lightblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/200/value","default":"#8deaff"}},"type":"object","default":{"value":"#8deaff"}},"300":{"id":"#tokensConfig/color/lightblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/300/value","default":"#66e4ff"}},"type":"object","default":{"value":"#66e4ff"}},"400":{"id":"#tokensConfig/color/lightblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/400/value","default":"#40ddff"}},"type":"object","default":{"value":"#40ddff"}},"500":{"id":"#tokensConfig/color/lightblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/500/value","default":"#1ad6ff"}},"type":"object","default":{"value":"#1ad6ff"}},"600":{"id":"#tokensConfig/color/lightblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/600/value","default":"#00b9e1"}},"type":"object","default":{"value":"#00b9e1"}},"700":{"id":"#tokensConfig/color/lightblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/700/value","default":"#008aa9"}},"type":"object","default":{"value":"#008aa9"}},"800":{"id":"#tokensConfig/color/lightblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/800/value","default":"#005c70"}},"type":"object","default":{"value":"#005c70"}},"900":{"id":"#tokensConfig/color/lightblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/900/value","default":"#002e38"}},"type":"object","default":{"value":"#002e38"}}},"type":"object","default":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}}},"blue":{"id":"#tokensConfig/color/blue","properties":{"50":{"id":"#tokensConfig/color/blue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/50/value","default":"#d9f1ff"}},"type":"object","default":{"value":"#d9f1ff"}},"100":{"id":"#tokensConfig/color/blue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/100/value","default":"#b3e4ff"}},"type":"object","default":{"value":"#b3e4ff"}},"200":{"id":"#tokensConfig/color/blue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/200/value","default":"#8dd6ff"}},"type":"object","default":{"value":"#8dd6ff"}},"300":{"id":"#tokensConfig/color/blue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/300/value","default":"#66c8ff"}},"type":"object","default":{"value":"#66c8ff"}},"400":{"id":"#tokensConfig/color/blue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/400/value","default":"#40bbff"}},"type":"object","default":{"value":"#40bbff"}},"500":{"id":"#tokensConfig/color/blue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/500/value","default":"#1aadff"}},"type":"object","default":{"value":"#1aadff"}},"600":{"id":"#tokensConfig/color/blue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/600/value","default":"#0090e1"}},"type":"object","default":{"value":"#0090e1"}},"700":{"id":"#tokensConfig/color/blue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/700/value","default":"#006ca9"}},"type":"object","default":{"value":"#006ca9"}},"800":{"id":"#tokensConfig/color/blue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/800/value","default":"#004870"}},"type":"object","default":{"value":"#004870"}},"900":{"id":"#tokensConfig/color/blue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/900/value","default":"#002438"}},"type":"object","default":{"value":"#002438"}}},"type":"object","default":{"50":{"value":"#d9f1ff"},"100":{"value":"#b3e4ff"},"200":{"value":"#8dd6ff"},"300":{"value":"#66c8ff"},"400":{"value":"#40bbff"},"500":{"value":"#1aadff"},"600":{"value":"#0090e1"},"700":{"value":"#006ca9"},"800":{"value":"#004870"},"900":{"value":"#002438"}}},"indigoblue":{"id":"#tokensConfig/color/indigoblue","properties":{"50":{"id":"#tokensConfig/color/indigoblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/50/value","default":"#d9e5ff"}},"type":"object","default":{"value":"#d9e5ff"}},"100":{"id":"#tokensConfig/color/indigoblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/100/value","default":"#b3cbff"}},"type":"object","default":{"value":"#b3cbff"}},"200":{"id":"#tokensConfig/color/indigoblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/200/value","default":"#8db0ff"}},"type":"object","default":{"value":"#8db0ff"}},"300":{"id":"#tokensConfig/color/indigoblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/300/value","default":"#6696ff"}},"type":"object","default":{"value":"#6696ff"}},"400":{"id":"#tokensConfig/color/indigoblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/400/value","default":"#407cff"}},"type":"object","default":{"value":"#407cff"}},"500":{"id":"#tokensConfig/color/indigoblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/500/value","default":"#1a62ff"}},"type":"object","default":{"value":"#1a62ff"}},"600":{"id":"#tokensConfig/color/indigoblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/600/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}},"700":{"id":"#tokensConfig/color/indigoblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/700/value","default":"#0035a9"}},"type":"object","default":{"value":"#0035a9"}},"800":{"id":"#tokensConfig/color/indigoblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/800/value","default":"#002370"}},"type":"object","default":{"value":"#002370"}},"900":{"id":"#tokensConfig/color/indigoblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/900/value","default":"#001238"}},"type":"object","default":{"value":"#001238"}}},"type":"object","default":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}}},"royalblue":{"id":"#tokensConfig/color/royalblue","properties":{"50":{"id":"#tokensConfig/color/royalblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/50/value","default":"#dfdbfb"}},"type":"object","default":{"value":"#dfdbfb"}},"100":{"id":"#tokensConfig/color/royalblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/100/value","default":"#c0b7f7"}},"type":"object","default":{"value":"#c0b7f7"}},"200":{"id":"#tokensConfig/color/royalblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/200/value","default":"#a093f3"}},"type":"object","default":{"value":"#a093f3"}},"300":{"id":"#tokensConfig/color/royalblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/300/value","default":"#806ff0"}},"type":"object","default":{"value":"#806ff0"}},"400":{"id":"#tokensConfig/color/royalblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/400/value","default":"#614bec"}},"type":"object","default":{"value":"#614bec"}},"500":{"id":"#tokensConfig/color/royalblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/500/value","default":"#4127e8"}},"type":"object","default":{"value":"#4127e8"}},"600":{"id":"#tokensConfig/color/royalblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/600/value","default":"#2c15c4"}},"type":"object","default":{"value":"#2c15c4"}},"700":{"id":"#tokensConfig/color/royalblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/700/value","default":"#211093"}},"type":"object","default":{"value":"#211093"}},"800":{"id":"#tokensConfig/color/royalblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/800/value","default":"#160a62"}},"type":"object","default":{"value":"#160a62"}},"900":{"id":"#tokensConfig/color/royalblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/900/value","default":"#0b0531"}},"type":"object","default":{"value":"#0b0531"}}},"type":"object","default":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}}},"purple":{"id":"#tokensConfig/color/purple","properties":{"50":{"id":"#tokensConfig/color/purple/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/50/value","default":"#ead9ff"}},"type":"object","default":{"value":"#ead9ff"}},"100":{"id":"#tokensConfig/color/purple/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/100/value","default":"#d5b3ff"}},"type":"object","default":{"value":"#d5b3ff"}},"200":{"id":"#tokensConfig/color/purple/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/200/value","default":"#c08dff"}},"type":"object","default":{"value":"#c08dff"}},"300":{"id":"#tokensConfig/color/purple/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/300/value","default":"#ab66ff"}},"type":"object","default":{"value":"#ab66ff"}},"400":{"id":"#tokensConfig/color/purple/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/400/value","default":"#9640ff"}},"type":"object","default":{"value":"#9640ff"}},"500":{"id":"#tokensConfig/color/purple/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/500/value","default":"#811aff"}},"type":"object","default":{"value":"#811aff"}},"600":{"id":"#tokensConfig/color/purple/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/600/value","default":"#6500e1"}},"type":"object","default":{"value":"#6500e1"}},"700":{"id":"#tokensConfig/color/purple/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/700/value","default":"#4c00a9"}},"type":"object","default":{"value":"#4c00a9"}},"800":{"id":"#tokensConfig/color/purple/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/800/value","default":"#330070"}},"type":"object","default":{"value":"#330070"}},"900":{"id":"#tokensConfig/color/purple/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/900/value","default":"#190038"}},"type":"object","default":{"value":"#190038"}}},"type":"object","default":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}}},"pink":{"id":"#tokensConfig/color/pink","properties":{"50":{"id":"#tokensConfig/color/pink/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/50/value","default":"#ffd9f2"}},"type":"object","default":{"value":"#ffd9f2"}},"100":{"id":"#tokensConfig/color/pink/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/100/value","default":"#ffb3e5"}},"type":"object","default":{"value":"#ffb3e5"}},"200":{"id":"#tokensConfig/color/pink/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/200/value","default":"#ff8dd8"}},"type":"object","default":{"value":"#ff8dd8"}},"300":{"id":"#tokensConfig/color/pink/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/300/value","default":"#ff66cc"}},"type":"object","default":{"value":"#ff66cc"}},"400":{"id":"#tokensConfig/color/pink/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/400/value","default":"#ff40bf"}},"type":"object","default":{"value":"#ff40bf"}},"500":{"id":"#tokensConfig/color/pink/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/500/value","default":"#ff1ab2"}},"type":"object","default":{"value":"#ff1ab2"}},"600":{"id":"#tokensConfig/color/pink/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/600/value","default":"#e10095"}},"type":"object","default":{"value":"#e10095"}},"700":{"id":"#tokensConfig/color/pink/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/700/value","default":"#a90070"}},"type":"object","default":{"value":"#a90070"}},"800":{"id":"#tokensConfig/color/pink/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/800/value","default":"#70004b"}},"type":"object","default":{"value":"#70004b"}},"900":{"id":"#tokensConfig/color/pink/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/900/value","default":"#380025"}},"type":"object","default":{"value":"#380025"}}},"type":"object","default":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}}},"ruby":{"id":"#tokensConfig/color/ruby","properties":{"50":{"id":"#tokensConfig/color/ruby/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/50/value","default":"#ffd9e4"}},"type":"object","default":{"value":"#ffd9e4"}},"100":{"id":"#tokensConfig/color/ruby/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/100/value","default":"#ffb3c9"}},"type":"object","default":{"value":"#ffb3c9"}},"200":{"id":"#tokensConfig/color/ruby/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/200/value","default":"#ff8dae"}},"type":"object","default":{"value":"#ff8dae"}},"300":{"id":"#tokensConfig/color/ruby/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/300/value","default":"#ff6694"}},"type":"object","default":{"value":"#ff6694"}},"400":{"id":"#tokensConfig/color/ruby/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/400/value","default":"#ff4079"}},"type":"object","default":{"value":"#ff4079"}},"500":{"id":"#tokensConfig/color/ruby/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/500/value","default":"#ff1a5e"}},"type":"object","default":{"value":"#ff1a5e"}},"600":{"id":"#tokensConfig/color/ruby/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/600/value","default":"#e10043"}},"type":"object","default":{"value":"#e10043"}},"700":{"id":"#tokensConfig/color/ruby/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/700/value","default":"#a90032"}},"type":"object","default":{"value":"#a90032"}},"800":{"id":"#tokensConfig/color/ruby/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/800/value","default":"#700021"}},"type":"object","default":{"value":"#700021"}},"900":{"id":"#tokensConfig/color/ruby/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/900/value","default":"#380011"}},"type":"object","default":{"value":"#380011"}}},"type":"object","default":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}}},"type":"object","default":{"primary":{"50":{"value":"#fff2cc"},"100":{"value":"#ffe599"},"200":{"value":"#ffd966"},"300":{"value":"#f1c232"},"400":{"value":"#f1c232"},"500":{"value":"#f1c232"},"600":{"value":"#f1c232"},"700":{"value":"#f1c232"},"800":{"value":"#f1c232"},"900":{"value":"#f1c232"}},"white":{"value":"#ffffff"},"black":{"value":"#0c0c0d"},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"gray":{"50":{"value":"#fafafa"},"100":{"value":"#f4f4f5"},"200":{"value":"#e4e4e7"},"300":{"value":"#D4d4d8"},"400":{"value":"#a1a1aa"},"500":{"value":"#71717A"},"600":{"value":"#52525B"},"700":{"value":"#3f3f46"},"800":{"value":"#27272A"},"900":{"value":"#18181B"}},"green":{"50":{"value":"#d6ffee"},"100":{"value":"#acffdd"},"200":{"value":"#83ffcc"},"300":{"value":"#30ffaa"},"400":{"value":"#00dc82"},"500":{"value":"#00bd6f"},"600":{"value":"#009d5d"},"700":{"value":"#007e4a"},"800":{"value":"#005e38"},"900":{"value":"#003f25"}},"yellow":{"50":{"value":"#fdf6db"},"100":{"value":"#fcedb7"},"200":{"value":"#fae393"},"300":{"value":"#f8da70"},"400":{"value":"#f7d14c"},"500":{"value":"#f5c828"},"600":{"value":"#daac0a"},"700":{"value":"#a38108"},"800":{"value":"#6d5605"},"900":{"value":"#362b03"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#ffdbd9"},"100":{"value":"#ffb7b3"},"200":{"value":"#ff948d"},"300":{"value":"#ff7066"},"400":{"value":"#ff4c40"},"500":{"value":"#ff281a"},"600":{"value":"#e10e00"},"700":{"value":"#a90a00"},"800":{"value":"#700700"},"900":{"value":"#380300"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#d9f1ff"},"100":{"value":"#b3e4ff"},"200":{"value":"#8dd6ff"},"300":{"value":"#66c8ff"},"400":{"value":"#40bbff"},"500":{"value":"#1aadff"},"600":{"value":"#0090e1"},"700":{"value":"#006ca9"},"800":{"value":"#004870"},"900":{"value":"#002438"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}}},"elements":{"title":"All the configurable tokens for your Elements.","tags":["@studioIcon uiw:component"],"id":"#tokensConfig/elements","properties":{"text":{"id":"#tokensConfig/elements/text","properties":{"primary":{"id":"#tokensConfig/elements/text/primary","properties":{"color":{"id":"#tokensConfig/elements/text/primary/color","properties":{"static":{"id":"#tokensConfig/elements/text/primary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/primary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/dark","default":"{color.gray.50}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"hover":{"id":"#tokensConfig/elements/text/primary/color/hover","type":"any","default":{}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"secondary":{"id":"#tokensConfig/elements/text/secondary","properties":{"color":{"id":"#tokensConfig/elements/text/secondary/color","properties":{"static":{"id":"#tokensConfig/elements/text/secondary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/initial","default":"{color.gray.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/dark","default":"{color.gray.400}"}},"type":"object","default":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"type":"object","default":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"hover":{"id":"#tokensConfig/elements/text/secondary/color/hover","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/initial","default":"{color.gray.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"type":"object","default":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"container":{"title":"Main container sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:width-full-outline"],"id":"#tokensConfig/elements/container","properties":{"maxWidth":{"id":"#tokensConfig/elements/container/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/maxWidth/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"padding":{"id":"#tokensConfig/elements/container/padding","properties":{"mobile":{"id":"#tokensConfig/elements/container/padding/mobile","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/mobile/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"xs":{"id":"#tokensConfig/elements/container/padding/xs","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/xs/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"sm":{"id":"#tokensConfig/elements/container/padding/sm","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/sm/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}},"md":{"id":"#tokensConfig/elements/container/padding/md","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/md/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}}},"type":"object","default":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"type":"object","default":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"backdrop":{"title":"Backdrops used in Elements.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:blur-circular"],"id":"#tokensConfig/elements/backdrop","properties":{"filter":{"id":"#tokensConfig/elements/backdrop/filter","properties":{"value":{"type":"string","id":"#tokensConfig/elements/backdrop/filter/value","default":"saturate(200%) blur(20px)"}},"type":"object","default":{"value":"saturate(200%) blur(20px)"}},"background":{"id":"#tokensConfig/elements/backdrop/background","properties":{"value":{"id":"#tokensConfig/elements/backdrop/background/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/initial","default":"#fffc"},"dark":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/dark","default":"#0c0d0ccc"}},"type":"object","default":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"type":"object","default":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"type":"object","default":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"border":{"title":"Borders used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/elements/border","properties":{"primary":{"id":"#tokensConfig/elements/border/primary","properties":{"static":{"id":"#tokensConfig/elements/border/primary/static","properties":{"value":{"id":"#tokensConfig/elements/border/primary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"hover":{"id":"#tokensConfig/elements/border/primary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/primary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"secondary":{"id":"#tokensConfig/elements/border/secondary","properties":{"static":{"id":"#tokensConfig/elements/border/secondary/static","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"hover":{"id":"#tokensConfig/elements/border/secondary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/initial","default":""},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/dark","default":""}},"type":"object","default":{"initial":"","dark":""}}},"type":"object","default":{"value":{"initial":"","dark":""}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"type":"object","default":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"surface":{"title":"Surfaces used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon fluent:surface-hub-20-filled"],"id":"#tokensConfig/elements/surface","properties":{"background":{"id":"#tokensConfig/elements/surface/background","properties":{"base":{"id":"#tokensConfig/elements/surface/background/base","properties":{"value":{"id":"#tokensConfig/elements/surface/background/base/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}}},"type":"object","default":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}}},"state":{"title":"Color states used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon mdi:palette-advanced"],"id":"#tokensConfig/elements/state","properties":{"primary":{"id":"#tokensConfig/elements/state/primary","properties":{"color":{"id":"#tokensConfig/elements/state/primary/color","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/initial","default":"{color.primary.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/dark","default":"{color.primary.400}"}},"type":"object","default":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/initial","default":"{color.primary.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/dark","default":"{color.primary.200}"}},"type":"object","default":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"type":"object","default":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/primary/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial","default":"{color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark","default":"{color.primary.900}"}},"type":"object","default":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/primary/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/initial","default":"{color.primary.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/dark","default":"{color.primary.700}"}},"type":"object","default":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}},"type":"object","default":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"info":{"id":"#tokensConfig/elements/state/info","properties":{"color":{"id":"#tokensConfig/elements/state/info/color","properties":{"primary":{"id":"#tokensConfig/elements/state/info/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/initial","default":"{color.blue.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/dark","default":"{color.blue.400}"}},"type":"object","default":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"type":"object","default":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/initial","default":"{color.blue.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/dark","default":"{color.blue.200}"}},"type":"object","default":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"type":"object","default":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/info/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/initial","default":"{color.blue.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/dark","default":"{color.blue.900}"}},"type":"object","default":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"type":"object","default":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/info/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/initial","default":"{color.blue.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/dark","default":"{color.blue.700}"}},"type":"object","default":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}},"type":"object","default":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"success":{"id":"#tokensConfig/elements/state/success","properties":{"color":{"id":"#tokensConfig/elements/state/success/color","properties":{"primary":{"id":"#tokensConfig/elements/state/success/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/initial","default":"{color.green.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/dark","default":"{color.green.400}"}},"type":"object","default":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"type":"object","default":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/initial","default":"{color.green.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/dark","default":"{color.green.200}"}},"type":"object","default":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"type":"object","default":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/success/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/initial","default":"{color.green.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/dark","default":"{color.green.900}"}},"type":"object","default":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"type":"object","default":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/success/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/initial","default":"{color.green.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/dark","default":"{color.green.700}"}},"type":"object","default":{"initial":"{color.green.200}","dark":"{color.green.700}"}}},"type":"object","default":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"warning":{"id":"#tokensConfig/elements/state/warning","properties":{"color":{"id":"#tokensConfig/elements/state/warning/color","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/initial","default":"{color.yellow.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/dark","default":"{color.yellow.400}"}},"type":"object","default":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/initial","default":"{color.yellow.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/dark","default":"{color.yellow.200}"}},"type":"object","default":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/warning/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial","default":"{color.yellow.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark","default":"{color.yellow.900}"}},"type":"object","default":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/warning/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/initial","default":"{color.yellow.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/dark","default":"{color.yellow.700}"}},"type":"object","default":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"danger":{"id":"#tokensConfig/elements/state/danger","properties":{"color":{"id":"#tokensConfig/elements/state/danger/color","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/initial","default":"{color.red.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/dark","default":"{color.red.300}"}},"type":"object","default":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"type":"object","default":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/initial","default":"{color.red.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/dark","default":"{color.red.200}"}},"type":"object","default":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"type":"object","default":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/danger/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial","default":"{color.red.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark","default":"{color.red.900}"}},"type":"object","default":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"type":"object","default":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/danger/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/initial","default":"{color.red.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/dark","default":"{color.red.700}"}},"type":"object","default":{"initial":"{color.red.200}","dark":"{color.red.700}"}}},"type":"object","default":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"type":"object","default":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"type":"object","default":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"typography":{"title":"All the configurable tokens for your Typography.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:article"],"id":"#tokensConfig/typography","properties":{"verticalMargin":{"title":"Vertical spacings between paragraphs.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:line-height-line"],"id":"#tokensConfig/typography/verticalMargin","properties":{"sm":{"id":"#tokensConfig/typography/verticalMargin/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/sm/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"base":{"id":"#tokensConfig/typography/verticalMargin/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/base/value","default":"32px"}},"type":"object","default":{"value":"32px"}}},"type":"object","default":{"sm":{"value":"16px"},"base":{"value":"32px"}}},"letterSpacing":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:letter-spacing-line"],"id":"#tokensConfig/typography/letterSpacing","properties":{"tight":{"id":"#tokensConfig/typography/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"wide":{"id":"#tokensConfig/typography/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}}},"type":"object","default":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}}},"fontSize":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:font-size-fill"],"id":"#tokensConfig/typography/fontSize","properties":{"xs":{"id":"#tokensConfig/typography/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xs/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"sm":{"id":"#tokensConfig/typography/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/sm/value","default":"14px"}},"type":"object","default":{"value":"14px"}},"base":{"id":"#tokensConfig/typography/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/base/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"lg":{"id":"#tokensConfig/typography/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/lg/value","default":"18px"}},"type":"object","default":{"value":"18px"}},"xl":{"id":"#tokensConfig/typography/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xl/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"2xl":{"id":"#tokensConfig/typography/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/2xl/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"3xl":{"id":"#tokensConfig/typography/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/3xl/value","default":"30px"}},"type":"object","default":{"value":"30px"}},"4xl":{"id":"#tokensConfig/typography/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/4xl/value","default":"36px"}},"type":"object","default":{"value":"36px"}},"5xl":{"id":"#tokensConfig/typography/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/5xl/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"6xl":{"id":"#tokensConfig/typography/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/6xl/value","default":"60px"}},"type":"object","default":{"value":"60px"}},"7xl":{"id":"#tokensConfig/typography/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/7xl/value","default":"72px"}},"type":"object","default":{"value":"72px"}},"8xl":{"id":"#tokensConfig/typography/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/8xl/value","default":"96px"}},"type":"object","default":{"value":"96px"}},"9xl":{"id":"#tokensConfig/typography/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/9xl/value","default":"128px"}},"type":"object","default":{"value":"128px"}}},"type":"object","default":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}}},"fontWeight":{"title":"Font weights used in typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:bold-fill"],"id":"#tokensConfig/typography/fontWeight","properties":{"thin":{"id":"#tokensConfig/typography/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/typography/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/typography/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/typography/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/typography/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/typography/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/typography/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/typography/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/typography/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"lead":{"title":"Line heights used in your typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon material-symbols:height-rounded"],"id":"#tokensConfig/typography/lead","properties":{"none":{"id":"#tokensConfig/typography/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/typography/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/typography/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/typography/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/typography/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/typography/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"font":{"title":"Your typography fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/typography/font","properties":{"display":{"id":"#tokensConfig/typography/font/display","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/display/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"body":{"id":"#tokensConfig/typography/font/body","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/body/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"code":{"id":"#tokensConfig/typography/font/code","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/code/value","default":"{font.mono}"}},"type":"object","default":{"value":"{font.mono}"}}},"type":"object","default":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}}},"color":{"title":"Your typography color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/typography/color","properties":{"primary":{"id":"#tokensConfig/typography/color/primary","properties":{"50":{"id":"#tokensConfig/typography/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/50/value","default":"{color.primary.50}"}},"type":"object","default":{"value":"{color.primary.50}"}},"100":{"id":"#tokensConfig/typography/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/100/value","default":"{color.primary.100}"}},"type":"object","default":{"value":"{color.primary.100}"}},"200":{"id":"#tokensConfig/typography/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/200/value","default":"{color.primary.200}"}},"type":"object","default":{"value":"{color.primary.200}"}},"300":{"id":"#tokensConfig/typography/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/300/value","default":"{color.primary.300}"}},"type":"object","default":{"value":"{color.primary.300}"}},"400":{"id":"#tokensConfig/typography/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/400/value","default":"{color.primary.400}"}},"type":"object","default":{"value":"{color.primary.400}"}},"500":{"id":"#tokensConfig/typography/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/500/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}},"600":{"id":"#tokensConfig/typography/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/600/value","default":"{color.primary.600}"}},"type":"object","default":{"value":"{color.primary.600}"}},"700":{"id":"#tokensConfig/typography/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/700/value","default":"{color.primary.700}"}},"type":"object","default":{"value":"{color.primary.700}"}},"800":{"id":"#tokensConfig/typography/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/800/value","default":"{color.primary.800}"}},"type":"object","default":{"value":"{color.primary.800}"}},"900":{"id":"#tokensConfig/typography/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/900/value","default":"{color.primary.900}"}},"type":"object","default":{"value":"{color.primary.900}"}}},"type":"object","default":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/typography/color/secondary","properties":{"50":{"id":"#tokensConfig/typography/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/typography/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/typography/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/typography/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/typography/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/typography/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/typography/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/typography/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/typography/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/typography/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"type":"object","default":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"type":"object","default":{"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"32px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"prose":{"title":"All the configurable tokens for your Prose components.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon lucide:component"],"id":"#tokensConfig/prose","properties":{"p":{"id":"#tokensConfig/prose/p","properties":{"fontSize":{"id":"#tokensConfig/prose/p/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/fontSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/prose/p/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"margin":{"id":"#tokensConfig/prose/p/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"br":{"id":"#tokensConfig/prose/p/br","properties":{"margin":{"id":"#tokensConfig/prose/p/br/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/br/margin/value","default":"{typography.verticalMargin.base} 0 0 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"h1":{"id":"#tokensConfig/prose/h1","properties":{"margin":{"id":"#tokensConfig/prose/h1/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/margin/value","default":"0 0 2rem"}},"type":"object","default":{"value":"0 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h1/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontSize/value","default":"{typography.fontSize.5xl}"}},"type":"object","default":{"value":"{typography.fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h1/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h1/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontWeight/value","default":"{typography.fontWeight.bold}"}},"type":"object","default":{"value":"{typography.fontWeight.bold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h1/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h1/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/iconSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}}},"type":"object","default":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}}},"h2":{"id":"#tokensConfig/prose/h2","properties":{"margin":{"id":"#tokensConfig/prose/h2/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h2/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontSize/value","default":"{typography.fontSize.4xl}"}},"type":"object","default":{"value":"{typography.fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h2/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h2/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h2/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h2/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/iconSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}}},"h3":{"id":"#tokensConfig/prose/h3","properties":{"margin":{"id":"#tokensConfig/prose/h3/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h3/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h3/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h3/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h3/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h3/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/iconSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}}},"h4":{"id":"#tokensConfig/prose/h4","properties":{"margin":{"id":"#tokensConfig/prose/h4/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h4/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h4/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h4/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h4/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h4/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h5":{"id":"#tokensConfig/prose/h5","properties":{"margin":{"id":"#tokensConfig/prose/h5/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h5/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h5/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h5/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h5/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h6":{"id":"#tokensConfig/prose/h6","properties":{"margin":{"id":"#tokensConfig/prose/h6/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h6/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/prose/h6/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"fontWeight":{"id":"#tokensConfig/prose/h6/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h6/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/iconSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}}},"strong":{"id":"#tokensConfig/prose/strong","properties":{"fontWeight":{"id":"#tokensConfig/prose/strong/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/strong/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}}},"type":"object","default":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}}},"img":{"id":"#tokensConfig/prose/img","properties":{"margin":{"id":"#tokensConfig/prose/img/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/img/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"}}},"a":{"id":"#tokensConfig/prose/a","properties":{"textDecoration":{"id":"#tokensConfig/prose/a/textDecoration","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/textDecoration/value","default":"none"}},"type":"object","default":{"value":"none"}},"color":{"id":"#tokensConfig/prose/a/color","properties":{"static":{"id":"#tokensConfig/prose/a/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/initial","default":"inherit"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/dark","default":"inherit"}},"type":"object","default":{"initial":"inherit","dark":"inherit"}}},"type":"object","default":{"value":{"initial":"inherit","dark":"inherit"}}},"hover":{"id":"#tokensConfig/prose/a/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/dark","default":"{typography.color.primary.400}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"type":"object","default":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"border":{"id":"#tokensConfig/prose/a/border","properties":{"width":{"id":"#tokensConfig/prose/a/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/a/border/style","properties":{"static":{"id":"#tokensConfig/prose/a/border/style/static","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/static/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"hover":{"id":"#tokensConfig/prose/a/border/style/hover","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/hover/value","default":"solid"}},"type":"object","default":{"value":"solid"}}},"type":"object","default":{"static":{"value":"dashed"},"hover":{"value":"solid"}}},"color":{"id":"#tokensConfig/prose/a/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"distance":{"id":"#tokensConfig/prose/a/border/distance","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/distance/value","default":"2px"}},"type":"object","default":{"value":"2px"}}},"type":"object","default":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}}},"fontWeight":{"id":"#tokensConfig/prose/a/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/fontWeight/value","default":"{typography.fontWeight.medium}"}},"type":"object","default":{"value":"{typography.fontWeight.medium}"}},"hasCode":{"id":"#tokensConfig/prose/a/hasCode","properties":{"borderBottom":{"id":"#tokensConfig/prose/a/hasCode/borderBottom","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/hasCode/borderBottom/value","default":"none"}},"type":"object","default":{"value":"none"}}},"type":"object","default":{"borderBottom":{"value":"none"}}},"code":{"id":"#tokensConfig/prose/a/code","properties":{"border":{"id":"#tokensConfig/prose/a/code/border","properties":{"width":{"id":"#tokensConfig/prose/a/code/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/width/value","default":"{prose.a.border.width}"}},"type":"object","default":{"value":"{prose.a.border.width}"}},"style":{"id":"#tokensConfig/prose/a/code/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/style/value","default":"{prose.a.border.style.static}"}},"type":"object","default":{"value":"{prose.a.border.style.static}"}},"color":{"id":"#tokensConfig/prose/a/code/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/initial","default":"{typography.color.secondary.400}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"hover":{"id":"#tokensConfig/prose/a/code/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/dark","default":"{typography.color.primary.600}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"type":"object","default":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"type":"object","default":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"color":{"id":"#tokensConfig/prose/a/code/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/code/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"background":{"id":"#tokensConfig/prose/a/code/background","properties":{"static":{"id":"#tokensConfig/prose/a/code/background/static","type":"any","default":{}},"hover":{"id":"#tokensConfig/prose/a/code/background/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/background/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/initial","default":"{typography.color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/dark","default":"{typography.color.primary.900}"}},"type":"object","default":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}},"type":"object","default":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"type":"object","default":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"type":"object","default":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"blockquote":{"id":"#tokensConfig/prose/blockquote","properties":{"margin":{"id":"#tokensConfig/prose/blockquote/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"padding":{"id":"#tokensConfig/prose/blockquote/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/padding/value","default":"0 0 0 24px"}},"type":"object","default":{"value":"0 0 0 24px"}},"quotes":{"id":"#tokensConfig/prose/blockquote/quotes","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/quotes/value","default":"'201C' '201D' '2018' '2019'"}},"type":"object","default":{"value":"'201C' '201D' '2018' '2019'"}},"color":{"id":"#tokensConfig/prose/blockquote/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/initial","default":"{typography.color.secondary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"border":{"id":"#tokensConfig/prose/blockquote/border","properties":{"width":{"id":"#tokensConfig/prose/blockquote/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/width/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"style":{"id":"#tokensConfig/prose/blockquote/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/blockquote/border/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/dark","default":"{typography.color.secondary.700}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"type":"object","default":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"ul":{"id":"#tokensConfig/prose/ul","properties":{"listStyleType":{"id":"#tokensConfig/prose/ul/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/listStyleType/value","default":"disc"}},"type":"object","default":{"value":"disc"}},"margin":{"id":"#tokensConfig/prose/ul/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"padding":{"id":"#tokensConfig/prose/ul/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/padding/value","default":"0 0 0 21px"}},"type":"object","default":{"value":"0 0 0 21px"}},"li":{"id":"#tokensConfig/prose/ul/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ul/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ul/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/initial","default":"{typography.color.secondary.400}"},"dark":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/dark","default":"{typography.color.secondary.500}"}},"type":"object","default":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.500}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.500}"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.500}"}}}}},"type":"object","default":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.500}"}}}}},"ol":{"id":"#tokensConfig/prose/ol","properties":{"listStyleType":{"id":"#tokensConfig/prose/ol/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/listStyleType/value","default":"decimal"}},"type":"object","default":{"value":"decimal"}},"margin":{"id":"#tokensConfig/prose/ol/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"padding":{"id":"#tokensConfig/prose/ol/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/padding/value","default":"0 0 0 21px"}},"type":"object","default":{"value":"0 0 0 21px"}},"li":{"id":"#tokensConfig/prose/ol/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ol/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ol/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/initial","default":"{typography.color.secondary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/dark","default":"{typography.color.secondary.500}"}},"type":"object","default":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.500}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.500}"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.500}"}}}}},"type":"object","default":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.500}"}}}}},"li":{"id":"#tokensConfig/prose/li","properties":{"margin":{"id":"#tokensConfig/prose/li/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/margin/value","default":"{typography.verticalMargin.sm} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.sm} 0"}},"listStylePosition":{"id":"#tokensConfig/prose/li/listStylePosition","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/listStylePosition/value","default":"outside"}},"type":"object","default":{"value":"outside"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}}},"hr":{"id":"#tokensConfig/prose/hr","properties":{"margin":{"id":"#tokensConfig/prose/hr/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"style":{"id":"#tokensConfig/prose/hr/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"width":{"id":"#tokensConfig/prose/hr/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"color":{"id":"#tokensConfig/prose/hr/color","properties":{"value":{"id":"#tokensConfig/prose/hr/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/hr/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/hr/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"table":{"id":"#tokensConfig/prose/table","properties":{"margin":{"id":"#tokensConfig/prose/table/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"textAlign":{"id":"#tokensConfig/prose/table/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/textAlign/value","default":"left"}},"type":"object","default":{"value":"left"}},"fontSize":{"id":"#tokensConfig/prose/table/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/prose/table/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/lineHeight/value","default":"inherit"}},"type":"object","default":{"value":"inherit"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"left"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"inherit"}}},"thead":{"id":"#tokensConfig/prose/thead","properties":{"border":{"id":"#tokensConfig/prose/thead/border","properties":{"width":{"id":"#tokensConfig/prose/thead/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/width/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"style":{"id":"#tokensConfig/prose/thead/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/border/color","properties":{"value":{"id":"#tokensConfig/prose/thead/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"type":"object","default":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"borderBottom":{"id":"#tokensConfig/prose/thead/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/thead/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/thead/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/thead/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}}},"type":"object","default":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}}},"th":{"id":"#tokensConfig/prose/th","properties":{"color":{"id":"#tokensConfig/prose/th/color","properties":{"value":{"id":"#tokensConfig/prose/th/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/th/color/value/initial","default":"{typography.color.secondary.600}"},"dark":{"type":"string","id":"#tokensConfig/prose/th/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"padding":{"id":"#tokensConfig/prose/th/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/padding/value","default":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"type":"object","default":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/th/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}}},"type":"object","default":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"}}},"tbody":{"id":"#tokensConfig/prose/tbody","properties":{"tr":{"id":"#tokensConfig/prose/tbody/tr","properties":{"borderBottom":{"id":"#tokensConfig/prose/tbody/tr/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/style/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"color":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark","default":"{typography.color.secondary.700}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}}}},"type":"object","default":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}}}},"td":{"id":"#tokensConfig/prose/tbody/td","properties":{"padding":{"id":"#tokensConfig/prose/tbody/td/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/td/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"code":{"id":"#tokensConfig/prose/tbody/code","properties":{"inline":{"id":"#tokensConfig/prose/tbody/code/inline","properties":{"fontSize":{"id":"#tokensConfig/prose/tbody/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"type":"object","default":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"type":"object","default":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"code":{"id":"#tokensConfig/prose/code","properties":{"block":{"id":"#tokensConfig/prose/code/block","properties":{"fontSize":{"id":"#tokensConfig/prose/code/block/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"margin":{"id":"#tokensConfig/prose/code/block/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"border":{"id":"#tokensConfig/prose/code/block/border","properties":{"width":{"id":"#tokensConfig/prose/code/block/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/code/block/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/code/block/border/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"color":{"id":"#tokensConfig/prose/code/block/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/block/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/block/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/dark","default":"{typography.color.secondary.900}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"pre":{"id":"#tokensConfig/prose/code/block/pre","properties":{"padding":{"id":"#tokensConfig/prose/code/block/pre/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/pre/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"inline":{"id":"#tokensConfig/prose/code/inline","properties":{"borderRadius":{"id":"#tokensConfig/prose/code/inline/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/borderRadius/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"padding":{"id":"#tokensConfig/prose/code/inline/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/padding/value","default":"0.25rem 0.375rem 0.25rem 0.375rem"}},"type":"object","default":{"value":"0.25rem 0.375rem 0.25rem 0.375rem"}},"fontSize":{"id":"#tokensConfig/prose/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/code/inline/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontWeight/value","default":"{typography.fontWeight.normal}"}},"type":"object","default":{"value":"{typography.fontWeight.normal}"}},"color":{"id":"#tokensConfig/prose/code/inline/color","properties":{"value":{"id":"#tokensConfig/prose/code/inline/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/inline/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/inline/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/dark","default":"{typography.color.secondary.900}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}}},"type":"object","default":{"borderRadius":{"value":"0.375rem"},"padding":{"value":"0.25rem 0.375rem 0.25rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}}}},"type":"object","default":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"0.375rem"},"padding":{"value":"0.25rem 0.375rem 0.25rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}}}}},"type":"object","default":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.500}"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.500}"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"left"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"inherit"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"0.375rem"},"padding":{"value":"0.25rem 0.375rem 0.25rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}}}}},"radii":{"title":"Your website border radiuses.","tags":["@studioInput design-token","@studioInpuTokenType size","@studioIcon material-symbols:rounded-corner","@studioInputTokenType size"],"id":"#tokensConfig/radii","properties":{"sm":{"id":"#tokensConfig/radii/sm","properties":{"value":{"type":"string","id":"#tokensConfig/radii/sm/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"md":{"id":"#tokensConfig/radii/md","properties":{"value":{"type":"string","id":"#tokensConfig/radii/md/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"lg":{"id":"#tokensConfig/radii/lg","properties":{"value":{"type":"string","id":"#tokensConfig/radii/lg/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"none":{"id":"#tokensConfig/radii/none","properties":{"value":{"type":"string","id":"#tokensConfig/radii/none/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2xs":{"id":"#tokensConfig/radii/2xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xs/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"xs":{"id":"#tokensConfig/radii/xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xs/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"xl":{"id":"#tokensConfig/radii/xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xl/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"2xl":{"id":"#tokensConfig/radii/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/radii/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/3xl/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"full":{"id":"#tokensConfig/radii/full","properties":{"value":{"type":"string","id":"#tokensConfig/radii/full/value","default":"9999px"}},"type":"object","default":{"value":"9999px"}}},"type":"object","default":{"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}}},"fontSize":{"title":"Your website font sizes.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontSize","properties":{"xs":{"id":"#tokensConfig/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xs/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"sm":{"id":"#tokensConfig/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/sm/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}},"base":{"id":"#tokensConfig/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/base/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"lg":{"id":"#tokensConfig/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/lg/value","default":"1.125rem"}},"type":"object","default":{"value":"1.125rem"}},"xl":{"id":"#tokensConfig/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xl/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"2xl":{"id":"#tokensConfig/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/3xl/value","default":"1.875rem"}},"type":"object","default":{"value":"1.875rem"}},"4xl":{"id":"#tokensConfig/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/4xl/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"5xl":{"id":"#tokensConfig/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/5xl/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"6xl":{"id":"#tokensConfig/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/6xl/value","default":"3.75rem"}},"type":"object","default":{"value":"3.75rem"}},"7xl":{"id":"#tokensConfig/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/7xl/value","default":"4.5rem"}},"type":"object","default":{"value":"4.5rem"}},"8xl":{"id":"#tokensConfig/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/8xl/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"9xl":{"id":"#tokensConfig/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/9xl/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}}},"type":"object","default":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}}},"lead":{"title":"Your website line heights.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon icon-park-outline:auto-line-height"],"id":"#tokensConfig/lead","properties":{"1":{"id":"#tokensConfig/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"font":{"title":"Your website fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/font","properties":{"sans":{"id":"#tokensConfig/font/sans","properties":{"value":{"type":"string","id":"#tokensConfig/font/sans/value","default":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"type":"object","default":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"serif":{"id":"#tokensConfig/font/serif","properties":{"value":{"type":"string","id":"#tokensConfig/font/serif/value","default":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"type":"object","default":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"mono":{"id":"#tokensConfig/font/mono","properties":{"value":{"type":"string","id":"#tokensConfig/font/mono/value","default":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"type":"object","default":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"type":"object","default":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"docus":{"title":"All the configurable tokens from Docus.","tags":["@studioIcon material-symbols:docs"],"id":"#tokensConfig/docus","properties":{"header":{"id":"#tokensConfig/docus/header","properties":{"height":{"id":"#tokensConfig/docus/header/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/height/value","default":"64px"}},"type":"object","default":{"value":"64px"}}},"type":"object","default":{"height":{"value":"64px"}}},"footer":{"id":"#tokensConfig/docus/footer","properties":{"padding":{"id":"#tokensConfig/docus/footer/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/footer/padding/value","default":"{space.4} 0"}},"type":"object","default":{"value":"{space.4} 0"}}},"type":"object","default":{"padding":{"value":"{space.4} 0"}}},"readableLine":{"id":"#tokensConfig/docus/readableLine","properties":{"value":{"type":"string","id":"#tokensConfig/docus/readableLine/value","default":"78ch"}},"type":"object","default":{"value":"78ch"}},"loadingBar":{"id":"#tokensConfig/docus/loadingBar","properties":{"height":{"id":"#tokensConfig/docus/loadingBar/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/height/value","default":"3px"}},"type":"object","default":{"value":"3px"}},"gradientColorStop1":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop1","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop1/value","default":"#00dc82"}},"type":"object","default":{"value":"#00dc82"}},"gradientColorStop2":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop2","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop2/value","default":"#34cdfe"}},"type":"object","default":{"value":"#34cdfe"}},"gradientColorStop3":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop3","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop3/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}}},"type":"object","default":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}}},"type":"object","default":{"header":{"height":{"value":"64px"}},"footer":{"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}}},"media":{"title":"Your website media queries.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:screenshot-monitor-outline-rounded"],"id":"#tokensConfig/media","properties":{"xs":{"id":"#tokensConfig/media/xs","properties":{"value":{"type":"string","id":"#tokensConfig/media/xs/value","default":"(min-width: 475px)"}},"type":"object","default":{"value":"(min-width: 475px)"}},"sm":{"id":"#tokensConfig/media/sm","properties":{"value":{"type":"string","id":"#tokensConfig/media/sm/value","default":"(min-width: 640px)"}},"type":"object","default":{"value":"(min-width: 640px)"}},"md":{"id":"#tokensConfig/media/md","properties":{"value":{"type":"string","id":"#tokensConfig/media/md/value","default":"(min-width: 768px)"}},"type":"object","default":{"value":"(min-width: 768px)"}},"lg":{"id":"#tokensConfig/media/lg","properties":{"value":{"type":"string","id":"#tokensConfig/media/lg/value","default":"(min-width: 1024px)"}},"type":"object","default":{"value":"(min-width: 1024px)"}},"xl":{"id":"#tokensConfig/media/xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/xl/value","default":"(min-width: 1280px)"}},"type":"object","default":{"value":"(min-width: 1280px)"}},"2xl":{"id":"#tokensConfig/media/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/2xl/value","default":"(min-width: 1536px)"}},"type":"object","default":{"value":"(min-width: 1536px)"}},"rm":{"id":"#tokensConfig/media/rm","properties":{"value":{"type":"string","id":"#tokensConfig/media/rm/value","default":"(prefers-reduced-motion: reduce)"}},"type":"object","default":{"value":"(prefers-reduced-motion: reduce)"}},"landscape":{"id":"#tokensConfig/media/landscape","properties":{"value":{"type":"string","id":"#tokensConfig/media/landscape/value","default":"only screen and (orientation: landscape)"}},"type":"object","default":{"value":"only screen and (orientation: landscape)"}},"portrait":{"id":"#tokensConfig/media/portrait","properties":{"value":{"type":"string","id":"#tokensConfig/media/portrait/value","default":"only screen and (orientation: portrait)"}},"type":"object","default":{"value":"only screen and (orientation: portrait)"}}},"type":"object","default":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}}},"width":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/width","properties":{"screen":{"id":"#tokensConfig/width/screen","properties":{"value":{"type":"string","id":"#tokensConfig/width/screen/value","default":"100vw"}},"type":"object","default":{"value":"100vw"}}},"type":"object","default":{"screen":{"value":"100vw"}}},"height":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/height","properties":{"screen":{"id":"#tokensConfig/height/screen","properties":{"value":{"type":"string","id":"#tokensConfig/height/screen/value","default":"100vh"}},"type":"object","default":{"value":"100vh"}}},"type":"object","default":{"screen":{"value":"100vh"}}},"shadow":{"title":"Your website shadows.","tags":["@studioInput design-token","@studioInputTokenType shadow","@studioIcon mdi:box-shadow"],"id":"#tokensConfig/shadow","properties":{"xs":{"id":"#tokensConfig/shadow/xs","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xs/value","default":"0px 1px 2px 0px #000000"}},"type":"object","default":{"value":"0px 1px 2px 0px #000000"}},"sm":{"id":"#tokensConfig/shadow/sm","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/sm/value","default":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"}},"type":"object","default":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"}},"md":{"id":"#tokensConfig/shadow/md","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/md/value","default":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"}},"type":"object","default":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"}},"lg":{"id":"#tokensConfig/shadow/lg","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/lg/value","default":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"}},"type":"object","default":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"}},"xl":{"id":"#tokensConfig/shadow/xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xl/value","default":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"}},"type":"object","default":{"value":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"}},"2xl":{"id":"#tokensConfig/shadow/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/2xl/value","default":"0px 25px 50px -12px {color.gray.900}"}},"type":"object","default":{"value":"0px 25px 50px -12px {color.gray.900}"}},"none":{"id":"#tokensConfig/shadow/none","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/none/value","default":"0px 0px 0px 0px transparent"}},"type":"object","default":{"value":"0px 0px 0px 0px transparent"}}},"type":"object","default":{"xs":{"value":"0px 1px 2px 0px #000000"},"sm":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"},"md":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"},"lg":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"},"xl":{"value":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"},"2xl":{"value":"0px 25px 50px -12px {color.gray.900}"},"none":{"value":"0px 0px 0px 0px transparent"}}},"size":{"title":"Your website sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/size","properties":{"0":{"id":"#tokensConfig/size/0","properties":{"value":{"type":"string","id":"#tokensConfig/size/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2":{"id":"#tokensConfig/size/2","properties":{"value":{"type":"string","id":"#tokensConfig/size/2/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"4":{"id":"#tokensConfig/size/4","properties":{"value":{"type":"string","id":"#tokensConfig/size/4/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"6":{"id":"#tokensConfig/size/6","properties":{"value":{"type":"string","id":"#tokensConfig/size/6/value","default":"6px"}},"type":"object","default":{"value":"6px"}},"8":{"id":"#tokensConfig/size/8","properties":{"value":{"type":"string","id":"#tokensConfig/size/8/value","default":"8px"}},"type":"object","default":{"value":"8px"}},"12":{"id":"#tokensConfig/size/12","properties":{"value":{"type":"string","id":"#tokensConfig/size/12/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"16":{"id":"#tokensConfig/size/16","properties":{"value":{"type":"string","id":"#tokensConfig/size/16/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"20":{"id":"#tokensConfig/size/20","properties":{"value":{"type":"string","id":"#tokensConfig/size/20/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"24":{"id":"#tokensConfig/size/24","properties":{"value":{"type":"string","id":"#tokensConfig/size/24/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"32":{"id":"#tokensConfig/size/32","properties":{"value":{"type":"string","id":"#tokensConfig/size/32/value","default":"32px"}},"type":"object","default":{"value":"32px"}},"40":{"id":"#tokensConfig/size/40","properties":{"value":{"type":"string","id":"#tokensConfig/size/40/value","default":"40px"}},"type":"object","default":{"value":"40px"}},"48":{"id":"#tokensConfig/size/48","properties":{"value":{"type":"string","id":"#tokensConfig/size/48/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"56":{"id":"#tokensConfig/size/56","properties":{"value":{"type":"string","id":"#tokensConfig/size/56/value","default":"56px"}},"type":"object","default":{"value":"56px"}},"64":{"id":"#tokensConfig/size/64","properties":{"value":{"type":"string","id":"#tokensConfig/size/64/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"80":{"id":"#tokensConfig/size/80","properties":{"value":{"type":"string","id":"#tokensConfig/size/80/value","default":"80px"}},"type":"object","default":{"value":"80px"}},"104":{"id":"#tokensConfig/size/104","properties":{"value":{"type":"string","id":"#tokensConfig/size/104/value","default":"104px"}},"type":"object","default":{"value":"104px"}},"200":{"id":"#tokensConfig/size/200","properties":{"value":{"type":"string","id":"#tokensConfig/size/200/value","default":"200px"}},"type":"object","default":{"value":"200px"}},"xs":{"id":"#tokensConfig/size/xs","properties":{"value":{"type":"string","id":"#tokensConfig/size/xs/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"sm":{"id":"#tokensConfig/size/sm","properties":{"value":{"type":"string","id":"#tokensConfig/size/sm/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"md":{"id":"#tokensConfig/size/md","properties":{"value":{"type":"string","id":"#tokensConfig/size/md/value","default":"28rem"}},"type":"object","default":{"value":"28rem"}},"lg":{"id":"#tokensConfig/size/lg","properties":{"value":{"type":"string","id":"#tokensConfig/size/lg/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"xl":{"id":"#tokensConfig/size/xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/xl/value","default":"36rem"}},"type":"object","default":{"value":"36rem"}},"2xl":{"id":"#tokensConfig/size/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/2xl/value","default":"42rem"}},"type":"object","default":{"value":"42rem"}},"3xl":{"id":"#tokensConfig/size/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/3xl/value","default":"48rem"}},"type":"object","default":{"value":"48rem"}},"4xl":{"id":"#tokensConfig/size/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/4xl/value","default":"56rem"}},"type":"object","default":{"value":"56rem"}},"5xl":{"id":"#tokensConfig/size/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/5xl/value","default":"64rem"}},"type":"object","default":{"value":"64rem"}},"6xl":{"id":"#tokensConfig/size/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/6xl/value","default":"72rem"}},"type":"object","default":{"value":"72rem"}},"7xl":{"id":"#tokensConfig/size/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/7xl/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"full":{"id":"#tokensConfig/size/full","properties":{"value":{"type":"string","id":"#tokensConfig/size/full/value","default":"100%"}},"type":"object","default":{"value":"100%"}}},"type":"object","default":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}}},"space":{"title":"Your website spacings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/space","properties":{"0":{"id":"#tokensConfig/space/0","properties":{"value":{"type":"string","id":"#tokensConfig/space/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"1":{"id":"#tokensConfig/space/1","properties":{"value":{"type":"string","id":"#tokensConfig/space/1/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"2":{"id":"#tokensConfig/space/2","properties":{"value":{"type":"string","id":"#tokensConfig/space/2/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"3":{"id":"#tokensConfig/space/3","properties":{"value":{"type":"string","id":"#tokensConfig/space/3/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"4":{"id":"#tokensConfig/space/4","properties":{"value":{"type":"string","id":"#tokensConfig/space/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/space/5","properties":{"value":{"type":"string","id":"#tokensConfig/space/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/space/6","properties":{"value":{"type":"string","id":"#tokensConfig/space/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/space/7","properties":{"value":{"type":"string","id":"#tokensConfig/space/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/space/8","properties":{"value":{"type":"string","id":"#tokensConfig/space/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/space/9","properties":{"value":{"type":"string","id":"#tokensConfig/space/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/space/10","properties":{"value":{"type":"string","id":"#tokensConfig/space/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"11":{"id":"#tokensConfig/space/11","properties":{"value":{"type":"string","id":"#tokensConfig/space/11/value","default":"2.75rem"}},"type":"object","default":{"value":"2.75rem"}},"12":{"id":"#tokensConfig/space/12","properties":{"value":{"type":"string","id":"#tokensConfig/space/12/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"14":{"id":"#tokensConfig/space/14","properties":{"value":{"type":"string","id":"#tokensConfig/space/14/value","default":"3.5rem"}},"type":"object","default":{"value":"3.5rem"}},"16":{"id":"#tokensConfig/space/16","properties":{"value":{"type":"string","id":"#tokensConfig/space/16/value","default":"4rem"}},"type":"object","default":{"value":"4rem"}},"20":{"id":"#tokensConfig/space/20","properties":{"value":{"type":"string","id":"#tokensConfig/space/20/value","default":"5rem"}},"type":"object","default":{"value":"5rem"}},"24":{"id":"#tokensConfig/space/24","properties":{"value":{"type":"string","id":"#tokensConfig/space/24/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"28":{"id":"#tokensConfig/space/28","properties":{"value":{"type":"string","id":"#tokensConfig/space/28/value","default":"7rem"}},"type":"object","default":{"value":"7rem"}},"32":{"id":"#tokensConfig/space/32","properties":{"value":{"type":"string","id":"#tokensConfig/space/32/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}},"36":{"id":"#tokensConfig/space/36","properties":{"value":{"type":"string","id":"#tokensConfig/space/36/value","default":"9rem"}},"type":"object","default":{"value":"9rem"}},"40":{"id":"#tokensConfig/space/40","properties":{"value":{"type":"string","id":"#tokensConfig/space/40/value","default":"10rem"}},"type":"object","default":{"value":"10rem"}},"44":{"id":"#tokensConfig/space/44","properties":{"value":{"type":"string","id":"#tokensConfig/space/44/value","default":"11rem"}},"type":"object","default":{"value":"11rem"}},"48":{"id":"#tokensConfig/space/48","properties":{"value":{"type":"string","id":"#tokensConfig/space/48/value","default":"12rem"}},"type":"object","default":{"value":"12rem"}},"52":{"id":"#tokensConfig/space/52","properties":{"value":{"type":"string","id":"#tokensConfig/space/52/value","default":"13rem"}},"type":"object","default":{"value":"13rem"}},"56":{"id":"#tokensConfig/space/56","properties":{"value":{"type":"string","id":"#tokensConfig/space/56/value","default":"14rem"}},"type":"object","default":{"value":"14rem"}},"60":{"id":"#tokensConfig/space/60","properties":{"value":{"type":"string","id":"#tokensConfig/space/60/value","default":"15rem"}},"type":"object","default":{"value":"15rem"}},"64":{"id":"#tokensConfig/space/64","properties":{"value":{"type":"string","id":"#tokensConfig/space/64/value","default":"16rem"}},"type":"object","default":{"value":"16rem"}},"72":{"id":"#tokensConfig/space/72","properties":{"value":{"type":"string","id":"#tokensConfig/space/72/value","default":"18rem"}},"type":"object","default":{"value":"18rem"}},"80":{"id":"#tokensConfig/space/80","properties":{"value":{"type":"string","id":"#tokensConfig/space/80/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"96":{"id":"#tokensConfig/space/96","properties":{"value":{"type":"string","id":"#tokensConfig/space/96/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"px":{"id":"#tokensConfig/space/px","properties":{"value":{"type":"string","id":"#tokensConfig/space/px/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"rem":{"id":"#tokensConfig/space/rem","properties":{"125":{"id":"#tokensConfig/space/rem/125","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/125/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"375":{"id":"#tokensConfig/space/rem/375","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/375/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"625":{"id":"#tokensConfig/space/rem/625","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/625/value","default":"0.625rem"}},"type":"object","default":{"value":"0.625rem"}},"875":{"id":"#tokensConfig/space/rem/875","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/875/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}}},"type":"object","default":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"type":"object","default":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"borderWidth":{"title":"Your website border widths.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/borderWidth","properties":{"noBorder":{"id":"#tokensConfig/borderWidth/noBorder","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/noBorder/value","default":"0"}},"type":"object","default":{"value":"0"}},"sm":{"id":"#tokensConfig/borderWidth/sm","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/sm/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"md":{"id":"#tokensConfig/borderWidth/md","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/md/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"lg":{"id":"#tokensConfig/borderWidth/lg","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/lg/value","default":"3px"}},"type":"object","default":{"value":"3px"}}},"type":"object","default":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}}},"opacity":{"title":"Your website opacities.","tags":["@studioInput design-token","@studioInputTokenType opacity","@studioIcon material-symbols:opacity"],"id":"#tokensConfig/opacity","properties":{"noOpacity":{"id":"#tokensConfig/opacity/noOpacity","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/noOpacity/value","default":"0"}},"type":"object","default":{"value":"0"}},"bright":{"id":"#tokensConfig/opacity/bright","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/bright/value","default":"0.1"}},"type":"object","default":{"value":"0.1"}},"light":{"id":"#tokensConfig/opacity/light","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/light/value","default":"0.15"}},"type":"object","default":{"value":"0.15"}},"soft":{"id":"#tokensConfig/opacity/soft","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/soft/value","default":"0.3"}},"type":"object","default":{"value":"0.3"}},"medium":{"id":"#tokensConfig/opacity/medium","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/medium/value","default":"0.5"}},"type":"object","default":{"value":"0.5"}},"high":{"id":"#tokensConfig/opacity/high","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/high/value","default":"0.8"}},"type":"object","default":{"value":"0.8"}},"total":{"id":"#tokensConfig/opacity/total","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/total/value","default":"1"}},"type":"object","default":{"value":"1"}}},"type":"object","default":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}}},"fontWeight":{"title":"Your website font weights.","tags":["@studioInput design-token","@studioInputTokenType font-weight","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontWeight","properties":{"thin":{"id":"#tokensConfig/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"letterSpacing":{"title":"Your website letter spacings.","tags":["@studioInput design-token","@studioInputTokenType letter-spacing","@studioIcon fluent:font-space-tracking-out-24-filled"],"id":"#tokensConfig/letterSpacing","properties":{"tighter":{"id":"#tokensConfig/letterSpacing/tighter","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tighter/value","default":"-0.05em"}},"type":"object","default":{"value":"-0.05em"}},"tight":{"id":"#tokensConfig/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"normal":{"id":"#tokensConfig/letterSpacing/normal","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/normal/value","default":"0em"}},"type":"object","default":{"value":"0em"}},"wide":{"id":"#tokensConfig/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}},"wider":{"id":"#tokensConfig/letterSpacing/wider","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wider/value","default":"0.05em"}},"type":"object","default":{"value":"0.05em"}},"widest":{"id":"#tokensConfig/letterSpacing/widest","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/widest/value","default":"0.1em"}},"type":"object","default":{"value":"0.1em"}}},"type":"object","default":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}}},"text":{"title":"Your website text scales.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:format-size-rounded"],"id":"#tokensConfig/text","properties":{"xs":{"id":"#tokensConfig/text/xs","properties":{"fontSize":{"id":"#tokensConfig/text/xs/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/fontSize/value","default":"{fontSize.xs}"}},"type":"object","default":{"value":"{fontSize.xs}"}},"lineHeight":{"id":"#tokensConfig/text/xs/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/lineHeight/value","default":"{lead.4}"}},"type":"object","default":{"value":"{lead.4}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}}},"sm":{"id":"#tokensConfig/text/sm","properties":{"fontSize":{"id":"#tokensConfig/text/sm/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/text/sm/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/lineHeight/value","default":"{lead.5}"}},"type":"object","default":{"value":"{lead.5}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}}},"base":{"id":"#tokensConfig/text/base","properties":{"fontSize":{"id":"#tokensConfig/text/base/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/fontSize/value","default":"{fontSize.base}"}},"type":"object","default":{"value":"{fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/text/base/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/lineHeight/value","default":"{lead.6}"}},"type":"object","default":{"value":"{lead.6}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}}},"lg":{"id":"#tokensConfig/text/lg","properties":{"fontSize":{"id":"#tokensConfig/text/lg/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/fontSize/value","default":"{fontSize.lg}"}},"type":"object","default":{"value":"{fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/text/lg/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}}},"xl":{"id":"#tokensConfig/text/xl","properties":{"fontSize":{"id":"#tokensConfig/text/xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/fontSize/value","default":"{fontSize.xl}"}},"type":"object","default":{"value":"{fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/text/xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}}},"2xl":{"id":"#tokensConfig/text/2xl","properties":{"fontSize":{"id":"#tokensConfig/text/2xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/text/2xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/lineHeight/value","default":"{lead.8}"}},"type":"object","default":{"value":"{lead.8}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}}},"3xl":{"id":"#tokensConfig/text/3xl","properties":{"fontSize":{"id":"#tokensConfig/text/3xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/fontSize/value","default":"{fontSize.3xl}"}},"type":"object","default":{"value":"{fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/text/3xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/lineHeight/value","default":"{lead.9}"}},"type":"object","default":{"value":"{lead.9}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}}},"4xl":{"id":"#tokensConfig/text/4xl","properties":{"fontSize":{"id":"#tokensConfig/text/4xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/fontSize/value","default":"{fontSize.4xl}"}},"type":"object","default":{"value":"{fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/text/4xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/lineHeight/value","default":"{lead.10}"}},"type":"object","default":{"value":"{lead.10}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}}},"5xl":{"id":"#tokensConfig/text/5xl","properties":{"fontSize":{"id":"#tokensConfig/text/5xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/fontSize/value","default":"{fontSize.5xl}"}},"type":"object","default":{"value":"{fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/text/5xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}}},"6xl":{"id":"#tokensConfig/text/6xl","properties":{"fontSize":{"id":"#tokensConfig/text/6xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/fontSize/value","default":"{fontSize.6xl}"}},"type":"object","default":{"value":"{fontSize.6xl}"}},"lineHeight":{"id":"#tokensConfig/text/6xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"type":"object","default":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}}},"type":"object","default":{"color":{"primary":{"50":{"value":"#fff2cc"},"100":{"value":"#ffe599"},"200":{"value":"#ffd966"},"300":{"value":"#f1c232"},"400":{"value":"#f1c232"},"500":{"value":"#f1c232"},"600":{"value":"#f1c232"},"700":{"value":"#f1c232"},"800":{"value":"#f1c232"},"900":{"value":"#f1c232"}},"white":{"value":"#ffffff"},"black":{"value":"#0c0c0d"},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"gray":{"50":{"value":"#fafafa"},"100":{"value":"#f4f4f5"},"200":{"value":"#e4e4e7"},"300":{"value":"#D4d4d8"},"400":{"value":"#a1a1aa"},"500":{"value":"#71717A"},"600":{"value":"#52525B"},"700":{"value":"#3f3f46"},"800":{"value":"#27272A"},"900":{"value":"#18181B"}},"green":{"50":{"value":"#d6ffee"},"100":{"value":"#acffdd"},"200":{"value":"#83ffcc"},"300":{"value":"#30ffaa"},"400":{"value":"#00dc82"},"500":{"value":"#00bd6f"},"600":{"value":"#009d5d"},"700":{"value":"#007e4a"},"800":{"value":"#005e38"},"900":{"value":"#003f25"}},"yellow":{"50":{"value":"#fdf6db"},"100":{"value":"#fcedb7"},"200":{"value":"#fae393"},"300":{"value":"#f8da70"},"400":{"value":"#f7d14c"},"500":{"value":"#f5c828"},"600":{"value":"#daac0a"},"700":{"value":"#a38108"},"800":{"value":"#6d5605"},"900":{"value":"#362b03"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#ffdbd9"},"100":{"value":"#ffb7b3"},"200":{"value":"#ff948d"},"300":{"value":"#ff7066"},"400":{"value":"#ff4c40"},"500":{"value":"#ff281a"},"600":{"value":"#e10e00"},"700":{"value":"#a90a00"},"800":{"value":"#700700"},"900":{"value":"#380300"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#d9f1ff"},"100":{"value":"#b3e4ff"},"200":{"value":"#8dd6ff"},"300":{"value":"#66c8ff"},"400":{"value":"#40bbff"},"500":{"value":"#1aadff"},"600":{"value":"#0090e1"},"700":{"value":"#006ca9"},"800":{"value":"#004870"},"900":{"value":"#002438"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"32px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.500}"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.500}"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"left"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"inherit"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"0.375rem"},"padding":{"value":"0.25rem 0.375rem 0.25rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}}}},"radii":{"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"docus":{"header":{"height":{"value":"64px"}},"footer":{"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}},"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px #000000"},"sm":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"},"md":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"},"lg":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"},"xl":{"value":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"},"2xl":{"value":"0px 25px 50px -12px {color.gray.900}"},"none":{"value":"0px 0px 0px 0px transparent"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}}},"default":{"color":{"primary":{"50":{"value":"#fff2cc"},"100":{"value":"#ffe599"},"200":{"value":"#ffd966"},"300":{"value":"#f1c232"},"400":{"value":"#f1c232"},"500":{"value":"#f1c232"},"600":{"value":"#f1c232"},"700":{"value":"#f1c232"},"800":{"value":"#f1c232"},"900":{"value":"#f1c232"}},"white":{"value":"#ffffff"},"black":{"value":"#0c0c0d"},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}},"gray":{"50":{"value":"#fafafa"},"100":{"value":"#f4f4f5"},"200":{"value":"#e4e4e7"},"300":{"value":"#D4d4d8"},"400":{"value":"#a1a1aa"},"500":{"value":"#71717A"},"600":{"value":"#52525B"},"700":{"value":"#3f3f46"},"800":{"value":"#27272A"},"900":{"value":"#18181B"}},"green":{"50":{"value":"#d6ffee"},"100":{"value":"#acffdd"},"200":{"value":"#83ffcc"},"300":{"value":"#30ffaa"},"400":{"value":"#00dc82"},"500":{"value":"#00bd6f"},"600":{"value":"#009d5d"},"700":{"value":"#007e4a"},"800":{"value":"#005e38"},"900":{"value":"#003f25"}},"yellow":{"50":{"value":"#fdf6db"},"100":{"value":"#fcedb7"},"200":{"value":"#fae393"},"300":{"value":"#f8da70"},"400":{"value":"#f7d14c"},"500":{"value":"#f5c828"},"600":{"value":"#daac0a"},"700":{"value":"#a38108"},"800":{"value":"#6d5605"},"900":{"value":"#362b03"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#ffdbd9"},"100":{"value":"#ffb7b3"},"200":{"value":"#ff948d"},"300":{"value":"#ff7066"},"400":{"value":"#ff4c40"},"500":{"value":"#ff281a"},"600":{"value":"#e10e00"},"700":{"value":"#a90a00"},"800":{"value":"#700700"},"900":{"value":"#380300"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#d9f1ff"},"100":{"value":"#b3e4ff"},"200":{"value":"#8dd6ff"},"300":{"value":"#66c8ff"},"400":{"value":"#40bbff"},"500":{"value":"#1aadff"},"600":{"value":"#0090e1"},"700":{"value":"#006ca9"},"800":{"value":"#004870"},"900":{"value":"#002438"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"32px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.500}"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.500}"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"left"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"inherit"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"0.375rem"},"padding":{"value":"0.25rem 0.375rem 0.25rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}}}},"radii":{"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"docus":{"header":{"height":{"value":"64px"}},"footer":{"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}},"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px #000000"},"sm":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"},"md":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"},"lg":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"},"xl":{"value":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"},"2xl":{"value":"0px 25px 50px -12px {color.gray.900}"},"none":{"value":"0px 0px 0px 0px transparent"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}}},"tokensConfig":{"color":{"primary":{"50":{"value":"#fff2cc","variable":"var(--color-primary-50)","original":"#fff2cc"},"100":{"value":"#ffe599","variable":"var(--color-primary-100)","original":"#ffe599"},"200":{"value":"#ffd966","variable":"var(--color-primary-200)","original":"#ffd966"},"300":{"value":"#f1c232","variable":"var(--color-primary-300)","original":"#f1c232"},"400":{"value":"#f1c232","variable":"var(--color-primary-400)","original":"#f1c232"},"500":{"value":"#f1c232","variable":"var(--color-primary-500)","original":"#f1c232"},"600":{"value":"#f1c232","variable":"var(--color-primary-600)","original":"#f1c232"},"700":{"value":"#f1c232","variable":"var(--color-primary-700)","original":"#f1c232"},"800":{"value":"#f1c232","variable":"var(--color-primary-800)","original":"#f1c232"},"900":{"value":"#f1c232","variable":"var(--color-primary-900)","original":"#f1c232"}},"white":{"value":"#ffffff","variable":"var(--color-white)","original":"#ffffff"},"black":{"value":"#0c0c0d","variable":"var(--color-black)","original":"#0c0c0d"},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--color-secondary-50)","original":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--color-secondary-100)","original":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--color-secondary-200)","original":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--color-secondary-300)","original":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--color-secondary-400)","original":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--color-secondary-500)","original":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--color-secondary-600)","original":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--color-secondary-700)","original":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--color-secondary-800)","original":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--color-secondary-900)","original":"{color.gray.900}"}},"gray":{"50":{"value":"#fafafa","variable":"var(--color-gray-50)","original":"#fafafa"},"100":{"value":"#f4f4f5","variable":"var(--color-gray-100)","original":"#f4f4f5"},"200":{"value":"#e4e4e7","variable":"var(--color-gray-200)","original":"#e4e4e7"},"300":{"value":"#D4d4d8","variable":"var(--color-gray-300)","original":"#D4d4d8"},"400":{"value":"#a1a1aa","variable":"var(--color-gray-400)","original":"#a1a1aa"},"500":{"value":"#71717A","variable":"var(--color-gray-500)","original":"#71717A"},"600":{"value":"#52525B","variable":"var(--color-gray-600)","original":"#52525B"},"700":{"value":"#3f3f46","variable":"var(--color-gray-700)","original":"#3f3f46"},"800":{"value":"#27272A","variable":"var(--color-gray-800)","original":"#27272A"},"900":{"value":"#18181B","variable":"var(--color-gray-900)","original":"#18181B"}},"green":{"50":{"value":"#d6ffee","variable":"var(--color-green-50)","original":"#d6ffee"},"100":{"value":"#acffdd","variable":"var(--color-green-100)","original":"#acffdd"},"200":{"value":"#83ffcc","variable":"var(--color-green-200)","original":"#83ffcc"},"300":{"value":"#30ffaa","variable":"var(--color-green-300)","original":"#30ffaa"},"400":{"value":"#00dc82","variable":"var(--color-green-400)","original":"#00dc82"},"500":{"value":"#00bd6f","variable":"var(--color-green-500)","original":"#00bd6f"},"600":{"value":"#009d5d","variable":"var(--color-green-600)","original":"#009d5d"},"700":{"value":"#007e4a","variable":"var(--color-green-700)","original":"#007e4a"},"800":{"value":"#005e38","variable":"var(--color-green-800)","original":"#005e38"},"900":{"value":"#003f25","variable":"var(--color-green-900)","original":"#003f25"}},"yellow":{"50":{"value":"#fdf6db","variable":"var(--color-yellow-50)","original":"#fdf6db"},"100":{"value":"#fcedb7","variable":"var(--color-yellow-100)","original":"#fcedb7"},"200":{"value":"#fae393","variable":"var(--color-yellow-200)","original":"#fae393"},"300":{"value":"#f8da70","variable":"var(--color-yellow-300)","original":"#f8da70"},"400":{"value":"#f7d14c","variable":"var(--color-yellow-400)","original":"#f7d14c"},"500":{"value":"#f5c828","variable":"var(--color-yellow-500)","original":"#f5c828"},"600":{"value":"#daac0a","variable":"var(--color-yellow-600)","original":"#daac0a"},"700":{"value":"#a38108","variable":"var(--color-yellow-700)","original":"#a38108"},"800":{"value":"#6d5605","variable":"var(--color-yellow-800)","original":"#6d5605"},"900":{"value":"#362b03","variable":"var(--color-yellow-900)","original":"#362b03"}},"orange":{"50":{"value":"#ffe9d9","variable":"var(--color-orange-50)","original":"#ffe9d9"},"100":{"value":"#ffd3b3","variable":"var(--color-orange-100)","original":"#ffd3b3"},"200":{"value":"#ffbd8d","variable":"var(--color-orange-200)","original":"#ffbd8d"},"300":{"value":"#ffa666","variable":"var(--color-orange-300)","original":"#ffa666"},"400":{"value":"#ff9040","variable":"var(--color-orange-400)","original":"#ff9040"},"500":{"value":"#ff7a1a","variable":"var(--color-orange-500)","original":"#ff7a1a"},"600":{"value":"#e15e00","variable":"var(--color-orange-600)","original":"#e15e00"},"700":{"value":"#a94700","variable":"var(--color-orange-700)","original":"#a94700"},"800":{"value":"#702f00","variable":"var(--color-orange-800)","original":"#702f00"},"900":{"value":"#381800","variable":"var(--color-orange-900)","original":"#381800"}},"red":{"50":{"value":"#ffdbd9","variable":"var(--color-red-50)","original":"#ffdbd9"},"100":{"value":"#ffb7b3","variable":"var(--color-red-100)","original":"#ffb7b3"},"200":{"value":"#ff948d","variable":"var(--color-red-200)","original":"#ff948d"},"300":{"value":"#ff7066","variable":"var(--color-red-300)","original":"#ff7066"},"400":{"value":"#ff4c40","variable":"var(--color-red-400)","original":"#ff4c40"},"500":{"value":"#ff281a","variable":"var(--color-red-500)","original":"#ff281a"},"600":{"value":"#e10e00","variable":"var(--color-red-600)","original":"#e10e00"},"700":{"value":"#a90a00","variable":"var(--color-red-700)","original":"#a90a00"},"800":{"value":"#700700","variable":"var(--color-red-800)","original":"#700700"},"900":{"value":"#380300","variable":"var(--color-red-900)","original":"#380300"}},"pear":{"50":{"value":"#f7f8dc","variable":"var(--color-pear-50)","original":"#f7f8dc"},"100":{"value":"#eff0ba","variable":"var(--color-pear-100)","original":"#eff0ba"},"200":{"value":"#e8e997","variable":"var(--color-pear-200)","original":"#e8e997"},"300":{"value":"#e0e274","variable":"var(--color-pear-300)","original":"#e0e274"},"400":{"value":"#d8da52","variable":"var(--color-pear-400)","original":"#d8da52"},"500":{"value":"#d0d32f","variable":"var(--color-pear-500)","original":"#d0d32f"},"600":{"value":"#a8aa24","variable":"var(--color-pear-600)","original":"#a8aa24"},"700":{"value":"#7e801b","variable":"var(--color-pear-700)","original":"#7e801b"},"800":{"value":"#545512","variable":"var(--color-pear-800)","original":"#545512"},"900":{"value":"#2a2b09","variable":"var(--color-pear-900)","original":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8","variable":"var(--color-teal-50)","original":"#d7faf8"},"100":{"value":"#aff4f0","variable":"var(--color-teal-100)","original":"#aff4f0"},"200":{"value":"#87efe9","variable":"var(--color-teal-200)","original":"#87efe9"},"300":{"value":"#5fe9e1","variable":"var(--color-teal-300)","original":"#5fe9e1"},"400":{"value":"#36e4da","variable":"var(--color-teal-400)","original":"#36e4da"},"500":{"value":"#1cd1c6","variable":"var(--color-teal-500)","original":"#1cd1c6"},"600":{"value":"#16a79e","variable":"var(--color-teal-600)","original":"#16a79e"},"700":{"value":"#117d77","variable":"var(--color-teal-700)","original":"#117d77"},"800":{"value":"#0b544f","variable":"var(--color-teal-800)","original":"#0b544f"},"900":{"value":"#062a28","variable":"var(--color-teal-900)","original":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff","variable":"var(--color-lightblue-50)","original":"#d9f8ff"},"100":{"value":"#b3f1ff","variable":"var(--color-lightblue-100)","original":"#b3f1ff"},"200":{"value":"#8deaff","variable":"var(--color-lightblue-200)","original":"#8deaff"},"300":{"value":"#66e4ff","variable":"var(--color-lightblue-300)","original":"#66e4ff"},"400":{"value":"#40ddff","variable":"var(--color-lightblue-400)","original":"#40ddff"},"500":{"value":"#1ad6ff","variable":"var(--color-lightblue-500)","original":"#1ad6ff"},"600":{"value":"#00b9e1","variable":"var(--color-lightblue-600)","original":"#00b9e1"},"700":{"value":"#008aa9","variable":"var(--color-lightblue-700)","original":"#008aa9"},"800":{"value":"#005c70","variable":"var(--color-lightblue-800)","original":"#005c70"},"900":{"value":"#002e38","variable":"var(--color-lightblue-900)","original":"#002e38"}},"blue":{"50":{"value":"#d9f1ff","variable":"var(--color-blue-50)","original":"#d9f1ff"},"100":{"value":"#b3e4ff","variable":"var(--color-blue-100)","original":"#b3e4ff"},"200":{"value":"#8dd6ff","variable":"var(--color-blue-200)","original":"#8dd6ff"},"300":{"value":"#66c8ff","variable":"var(--color-blue-300)","original":"#66c8ff"},"400":{"value":"#40bbff","variable":"var(--color-blue-400)","original":"#40bbff"},"500":{"value":"#1aadff","variable":"var(--color-blue-500)","original":"#1aadff"},"600":{"value":"#0090e1","variable":"var(--color-blue-600)","original":"#0090e1"},"700":{"value":"#006ca9","variable":"var(--color-blue-700)","original":"#006ca9"},"800":{"value":"#004870","variable":"var(--color-blue-800)","original":"#004870"},"900":{"value":"#002438","variable":"var(--color-blue-900)","original":"#002438"}},"indigoblue":{"50":{"value":"#d9e5ff","variable":"var(--color-indigoblue-50)","original":"#d9e5ff"},"100":{"value":"#b3cbff","variable":"var(--color-indigoblue-100)","original":"#b3cbff"},"200":{"value":"#8db0ff","variable":"var(--color-indigoblue-200)","original":"#8db0ff"},"300":{"value":"#6696ff","variable":"var(--color-indigoblue-300)","original":"#6696ff"},"400":{"value":"#407cff","variable":"var(--color-indigoblue-400)","original":"#407cff"},"500":{"value":"#1a62ff","variable":"var(--color-indigoblue-500)","original":"#1a62ff"},"600":{"value":"#0047e1","variable":"var(--color-indigoblue-600)","original":"#0047e1"},"700":{"value":"#0035a9","variable":"var(--color-indigoblue-700)","original":"#0035a9"},"800":{"value":"#002370","variable":"var(--color-indigoblue-800)","original":"#002370"},"900":{"value":"#001238","variable":"var(--color-indigoblue-900)","original":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb","variable":"var(--color-royalblue-50)","original":"#dfdbfb"},"100":{"value":"#c0b7f7","variable":"var(--color-royalblue-100)","original":"#c0b7f7"},"200":{"value":"#a093f3","variable":"var(--color-royalblue-200)","original":"#a093f3"},"300":{"value":"#806ff0","variable":"var(--color-royalblue-300)","original":"#806ff0"},"400":{"value":"#614bec","variable":"var(--color-royalblue-400)","original":"#614bec"},"500":{"value":"#4127e8","variable":"var(--color-royalblue-500)","original":"#4127e8"},"600":{"value":"#2c15c4","variable":"var(--color-royalblue-600)","original":"#2c15c4"},"700":{"value":"#211093","variable":"var(--color-royalblue-700)","original":"#211093"},"800":{"value":"#160a62","variable":"var(--color-royalblue-800)","original":"#160a62"},"900":{"value":"#0b0531","variable":"var(--color-royalblue-900)","original":"#0b0531"}},"purple":{"50":{"value":"#ead9ff","variable":"var(--color-purple-50)","original":"#ead9ff"},"100":{"value":"#d5b3ff","variable":"var(--color-purple-100)","original":"#d5b3ff"},"200":{"value":"#c08dff","variable":"var(--color-purple-200)","original":"#c08dff"},"300":{"value":"#ab66ff","variable":"var(--color-purple-300)","original":"#ab66ff"},"400":{"value":"#9640ff","variable":"var(--color-purple-400)","original":"#9640ff"},"500":{"value":"#811aff","variable":"var(--color-purple-500)","original":"#811aff"},"600":{"value":"#6500e1","variable":"var(--color-purple-600)","original":"#6500e1"},"700":{"value":"#4c00a9","variable":"var(--color-purple-700)","original":"#4c00a9"},"800":{"value":"#330070","variable":"var(--color-purple-800)","original":"#330070"},"900":{"value":"#190038","variable":"var(--color-purple-900)","original":"#190038"}},"pink":{"50":{"value":"#ffd9f2","variable":"var(--color-pink-50)","original":"#ffd9f2"},"100":{"value":"#ffb3e5","variable":"var(--color-pink-100)","original":"#ffb3e5"},"200":{"value":"#ff8dd8","variable":"var(--color-pink-200)","original":"#ff8dd8"},"300":{"value":"#ff66cc","variable":"var(--color-pink-300)","original":"#ff66cc"},"400":{"value":"#ff40bf","variable":"var(--color-pink-400)","original":"#ff40bf"},"500":{"value":"#ff1ab2","variable":"var(--color-pink-500)","original":"#ff1ab2"},"600":{"value":"#e10095","variable":"var(--color-pink-600)","original":"#e10095"},"700":{"value":"#a90070","variable":"var(--color-pink-700)","original":"#a90070"},"800":{"value":"#70004b","variable":"var(--color-pink-800)","original":"#70004b"},"900":{"value":"#380025","variable":"var(--color-pink-900)","original":"#380025"}},"ruby":{"50":{"value":"#ffd9e4","variable":"var(--color-ruby-50)","original":"#ffd9e4"},"100":{"value":"#ffb3c9","variable":"var(--color-ruby-100)","original":"#ffb3c9"},"200":{"value":"#ff8dae","variable":"var(--color-ruby-200)","original":"#ff8dae"},"300":{"value":"#ff6694","variable":"var(--color-ruby-300)","original":"#ff6694"},"400":{"value":"#ff4079","variable":"var(--color-ruby-400)","original":"#ff4079"},"500":{"value":"#ff1a5e","variable":"var(--color-ruby-500)","original":"#ff1a5e"},"600":{"value":"#e10043","variable":"var(--color-ruby-600)","original":"#e10043"},"700":{"value":"#a90032","variable":"var(--color-ruby-700)","original":"#a90032"},"800":{"value":"#700021","variable":"var(--color-ruby-800)","original":"#700021"},"900":{"value":"#380011","variable":"var(--color-ruby-900)","original":"#380011"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-50)"},"variable":"var(--elements-text-primary-color-static)","original":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"var(--color-gray-500)","dark":"var(--color-gray-400)"},"variable":"var(--elements-text-secondary-color-static)","original":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"var(--color-gray-700)","dark":"var(--color-gray-200)"},"variable":"var(--elements-text-secondary-color-hover)","original":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem","variable":"var(--elements-container-maxWidth)","original":"80rem"},"padding":{"mobile":{"value":"var(--space-4)","variable":"var(--elements-container-padding-mobile)","original":"{space.4}"},"xs":{"value":"var(--space-4)","variable":"var(--elements-container-padding-xs)","original":"{space.4}"},"sm":{"value":"var(--space-6)","variable":"var(--elements-container-padding-sm)","original":"{space.6}"},"md":{"value":"var(--space-6)","variable":"var(--elements-container-padding-md)","original":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)","variable":"var(--elements-backdrop-filter)","original":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"},"variable":"var(--elements-backdrop-background)","original":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-border-primary-static)","original":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-primary-hover)","original":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-secondary-static)","original":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""},"variable":"var(--elements-border-secondary-hover)","original":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-background-base)","original":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"var(--color-primary-600)","dark":"var(--color-primary-400)"},"variable":"var(--elements-state-primary-color-primary)","original":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"var(--color-primary-700)","dark":"var(--color-primary-200)"},"variable":"var(--elements-state-primary-color-secondary)","original":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-primary-50)","dark":"var(--color-primary-900)"},"variable":"var(--elements-state-primary-backgroundColor-primary)","original":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-backgroundColor-secondary)","original":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-borderColor-primary)","original":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"var(--color-primary-200)","dark":"var(--color-primary-700)"},"variable":"var(--elements-state-primary-borderColor-secondary)","original":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"var(--color-blue-500)","dark":"var(--color-blue-400)"},"variable":"var(--elements-state-info-color-primary)","original":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"var(--color-blue-600)","dark":"var(--color-blue-200)"},"variable":"var(--elements-state-info-color-secondary)","original":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-blue-50)","dark":"var(--color-blue-900)"},"variable":"var(--elements-state-info-backgroundColor-primary)","original":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-backgroundColor-secondary)","original":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-borderColor-primary)","original":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"var(--color-blue-200)","dark":"var(--color-blue-700)"},"variable":"var(--elements-state-info-borderColor-secondary)","original":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"var(--color-green-500)","dark":"var(--color-green-400)"},"variable":"var(--elements-state-success-color-primary)","original":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"var(--color-green-600)","dark":"var(--color-green-200)"},"variable":"var(--elements-state-success-color-secondary)","original":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-green-50)","dark":"var(--color-green-900)"},"variable":"var(--elements-state-success-backgroundColor-primary)","original":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-backgroundColor-secondary)","original":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-borderColor-primary)","original":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"var(--color-green-200)","dark":"var(--color-green-700)"},"variable":"var(--elements-state-success-borderColor-secondary)","original":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"var(--color-yellow-600)","dark":"var(--color-yellow-400)"},"variable":"var(--elements-state-warning-color-primary)","original":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"var(--color-yellow-700)","dark":"var(--color-yellow-200)"},"variable":"var(--elements-state-warning-color-secondary)","original":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-yellow-50)","dark":"var(--color-yellow-900)"},"variable":"var(--elements-state-warning-backgroundColor-primary)","original":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-backgroundColor-secondary)","original":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-borderColor-primary)","original":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"var(--color-yellow-200)","dark":"var(--color-yellow-700)"},"variable":"var(--elements-state-warning-borderColor-secondary)","original":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"var(--color-red-500)","dark":"var(--color-red-300)"},"variable":"var(--elements-state-danger-color-primary)","original":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"var(--color-red-600)","dark":"var(--color-red-200)"},"variable":"var(--elements-state-danger-color-secondary)","original":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-red-50)","dark":"var(--color-red-900)"},"variable":"var(--elements-state-danger-backgroundColor-primary)","original":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-backgroundColor-secondary)","original":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-borderColor-primary)","original":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"var(--color-red-200)","dark":"var(--color-red-700)"},"variable":"var(--elements-state-danger-borderColor-secondary)","original":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"verticalMargin":{"sm":{"value":"16px","variable":"var(--typography-verticalMargin-sm)","original":"16px"},"base":{"value":"32px","variable":"var(--typography-verticalMargin-base)","original":"32px"}},"letterSpacing":{"tight":{"value":"-0.025em","variable":"var(--typography-letterSpacing-tight)","original":"-0.025em"},"wide":{"value":"0.025em","variable":"var(--typography-letterSpacing-wide)","original":"0.025em"}},"fontSize":{"xs":{"value":"12px","variable":"var(--typography-fontSize-xs)","original":"12px"},"sm":{"value":"14px","variable":"var(--typography-fontSize-sm)","original":"14px"},"base":{"value":"16px","variable":"var(--typography-fontSize-base)","original":"16px"},"lg":{"value":"18px","variable":"var(--typography-fontSize-lg)","original":"18px"},"xl":{"value":"20px","variable":"var(--typography-fontSize-xl)","original":"20px"},"2xl":{"value":"24px","variable":"var(--typography-fontSize-2xl)","original":"24px"},"3xl":{"value":"30px","variable":"var(--typography-fontSize-3xl)","original":"30px"},"4xl":{"value":"36px","variable":"var(--typography-fontSize-4xl)","original":"36px"},"5xl":{"value":"48px","variable":"var(--typography-fontSize-5xl)","original":"48px"},"6xl":{"value":"60px","variable":"var(--typography-fontSize-6xl)","original":"60px"},"7xl":{"value":"72px","variable":"var(--typography-fontSize-7xl)","original":"72px"},"8xl":{"value":"96px","variable":"var(--typography-fontSize-8xl)","original":"96px"},"9xl":{"value":"128px","variable":"var(--typography-fontSize-9xl)","original":"128px"}},"fontWeight":{"thin":{"value":"100","variable":"var(--typography-fontWeight-thin)","original":"100"},"extralight":{"value":"200","variable":"var(--typography-fontWeight-extralight)","original":"200"},"light":{"value":"300","variable":"var(--typography-fontWeight-light)","original":"300"},"normal":{"value":"400","variable":"var(--typography-fontWeight-normal)","original":"400"},"medium":{"value":"500","variable":"var(--typography-fontWeight-medium)","original":"500"},"semibold":{"value":"600","variable":"var(--typography-fontWeight-semibold)","original":"600"},"bold":{"value":"700","variable":"var(--typography-fontWeight-bold)","original":"700"},"extrabold":{"value":"800","variable":"var(--typography-fontWeight-extrabold)","original":"800"},"black":{"value":"900","variable":"var(--typography-fontWeight-black)","original":"900"}},"lead":{"none":{"value":"1","variable":"var(--typography-lead-none)","original":"1"},"tight":{"value":"1.25","variable":"var(--typography-lead-tight)","original":"1.25"},"snug":{"value":"1.375","variable":"var(--typography-lead-snug)","original":"1.375"},"normal":{"value":"1.5","variable":"var(--typography-lead-normal)","original":"1.5"},"relaxed":{"value":"1.625","variable":"var(--typography-lead-relaxed)","original":"1.625"},"loose":{"value":"2","variable":"var(--typography-lead-loose)","original":"2"}},"font":{"display":{"value":"var(--font-sans)","variable":"var(--typography-font-display)","original":"{font.sans}"},"body":{"value":"var(--font-sans)","variable":"var(--typography-font-body)","original":"{font.sans}"},"code":{"value":"var(--font-mono)","variable":"var(--typography-font-code)","original":"{font.mono}"}},"color":{"primary":{"50":{"value":"var(--color-primary-50)","variable":"var(--typography-color-primary-50)","original":"{color.primary.50}"},"100":{"value":"var(--color-primary-100)","variable":"var(--typography-color-primary-100)","original":"{color.primary.100}"},"200":{"value":"var(--color-primary-200)","variable":"var(--typography-color-primary-200)","original":"{color.primary.200}"},"300":{"value":"var(--color-primary-300)","variable":"var(--typography-color-primary-300)","original":"{color.primary.300}"},"400":{"value":"var(--color-primary-400)","variable":"var(--typography-color-primary-400)","original":"{color.primary.400}"},"500":{"value":"var(--color-primary-500)","variable":"var(--typography-color-primary-500)","original":"{color.primary.500}"},"600":{"value":"var(--color-primary-600)","variable":"var(--typography-color-primary-600)","original":"{color.primary.600}"},"700":{"value":"var(--color-primary-700)","variable":"var(--typography-color-primary-700)","original":"{color.primary.700}"},"800":{"value":"var(--color-primary-800)","variable":"var(--typography-color-primary-800)","original":"{color.primary.800}"},"900":{"value":"var(--color-primary-900)","variable":"var(--typography-color-primary-900)","original":"{color.primary.900}"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--typography-color-secondary-50)","original":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--typography-color-secondary-100)","original":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--typography-color-secondary-200)","original":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--typography-color-secondary-300)","original":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--typography-color-secondary-400)","original":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--typography-color-secondary-500)","original":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--typography-color-secondary-600)","original":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--typography-color-secondary-700)","original":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--typography-color-secondary-800)","original":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--typography-color-secondary-900)","original":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-p-fontSize)","original":"{typography.fontSize.base}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-p-lineHeight)","original":"{typography.lead.normal}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-p-margin)","original":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"var(--typography-verticalMargin-base) 0 0 0","variable":"var(--prose-p-br-margin)","original":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem","variable":"var(--prose-h1-margin)","original":"0 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-5xl)","variable":"var(--prose-h1-fontSize)","original":"{typography.fontSize.5xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h1-lineHeight)","original":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-bold)","variable":"var(--prose-h1-fontWeight)","original":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h1-letterSpacing)","original":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h1-iconSize)","original":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h2-margin)","original":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-4xl)","variable":"var(--prose-h2-fontSize)","original":"{typography.fontSize.4xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h2-lineHeight)","original":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h2-fontWeight)","original":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h2-letterSpacing)","original":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h2-iconSize)","original":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h3-margin)","original":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h3-fontSize)","original":"{typography.fontSize.3xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h3-lineHeight)","original":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h3-fontWeight)","original":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h3-letterSpacing)","original":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h3-iconSize)","original":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h4-margin)","original":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h4-fontSize)","original":"{typography.fontSize.2xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h4-lineHeight)","original":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h4-fontWeight)","original":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h4-letterSpacing)","original":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h4-iconSize)","original":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h5-margin)","original":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h5-fontSize)","original":"{typography.fontSize.xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h5-lineHeight)","original":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h5-fontWeight)","original":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h5-iconSize)","original":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h6-margin)","original":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h6-fontSize)","original":"{typography.fontSize.lg}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-h6-lineHeight)","original":"{typography.lead.normal}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h6-fontWeight)","original":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-h6-iconSize)","original":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-strong-fontWeight)","original":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-img-margin)","original":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none","variable":"var(--prose-a-textDecoration)","original":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"},"variable":"var(--prose-a-color-static)","original":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-400)"},"variable":"var(--prose-a-color-hover)","original":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px","variable":"var(--prose-a-border-width)","original":"1px"},"style":{"static":{"value":"dashed","variable":"var(--prose-a-border-style-static)","original":"dashed"},"hover":{"value":"solid","variable":"var(--prose-a-border-style-hover)","original":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-static)","original":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-hover)","original":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px","variable":"var(--prose-a-border-distance)","original":"2px"}},"fontWeight":{"value":"var(--typography-fontWeight-medium)","variable":"var(--prose-a-fontWeight)","original":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none","variable":"var(--prose-a-hasCode-borderBottom)","original":"none"}},"code":{"border":{"width":{"value":"var(--prose-a-border-width)","variable":"var(--prose-a-code-border-width)","original":"{prose.a.border.width}"},"style":{"value":"var(--prose-a-border-style-static)","variable":"var(--prose-a-code-border-style)","original":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"var(--typography-color-secondary-400)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-a-code-border-color-static)","original":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-600)"},"variable":"var(--prose-a-code-border-color-hover)","original":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-static)","original":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-hover)","original":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"var(--typography-color-primary-50)","dark":"var(--typography-color-primary-900)"},"variable":"var(--prose-a-code-background-hover)","original":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-blockquote-margin)","original":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 24px","variable":"var(--prose-blockquote-padding)","original":"0 0 0 24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'","variable":"var(--prose-blockquote-quotes)","original":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"var(--typography-color-secondary-500)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-blockquote-color)","original":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px","variable":"var(--prose-blockquote-border-width)","original":"4px"},"style":{"value":"solid","variable":"var(--prose-blockquote-border-style)","original":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-700)"},"variable":"var(--prose-blockquote-border-color)","original":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc","variable":"var(--prose-ul-listStyleType)","original":"disc"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ul-margin)","original":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px","variable":"var(--prose-ul-padding)","original":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"var(--typography-color-secondary-400)","dark":"var(--typography-color-secondary-500)"},"variable":"var(--prose-ul-li-markerColor)","original":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.500}"}}}},"ol":{"listStyleType":{"value":"decimal","variable":"var(--prose-ol-listStyleType)","original":"decimal"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ol-margin)","original":"{typography.verticalMargin.base} 0"},"padding":{"value":"0 0 0 21px","variable":"var(--prose-ol-padding)","original":"0 0 0 21px"},"li":{"markerColor":{"value":{"initial":"var(--typography-color-secondary-500)","dark":"var(--typography-color-secondary-500)"},"variable":"var(--prose-ol-li-markerColor)","original":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.500}"}}}},"li":{"margin":{"value":"var(--typography-verticalMargin-sm) 0","variable":"var(--prose-li-margin)","original":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside","variable":"var(--prose-li-listStylePosition)","original":"outside"}},"hr":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-hr-margin)","original":"{typography.verticalMargin.base} 0"},"style":{"value":"solid","variable":"var(--prose-hr-style)","original":"solid"},"width":{"value":"1px","variable":"var(--prose-hr-width)","original":"1px"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-hr-color)","original":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-table-margin)","original":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"left","variable":"var(--prose-table-textAlign)","original":"left"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-table-fontSize)","original":"{typography.fontSize.sm}"},"lineHeight":{"value":"inherit","variable":"var(--prose-table-lineHeight)","original":"inherit"}},"thead":{"border":{"width":{"value":"0px","variable":"var(--prose-thead-border-width)","original":"0px"},"style":{"value":"solid","variable":"var(--prose-thead-border-style)","original":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-thead-border-color)","original":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px","variable":"var(--prose-thead-borderBottom-width)","original":"1px"},"style":{"value":"solid","variable":"var(--prose-thead-borderBottom-style)","original":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-thead-borderBottom-color)","original":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"th":{"color":{"value":{"initial":"var(--typography-color-secondary-600)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-th-color)","original":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)","variable":"var(--prose-th-padding)","original":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-th-fontWeight)","original":"{typography.fontWeight.semibold}"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px","variable":"var(--prose-tbody-tr-borderBottom-width)","original":"1px"},"style":{"value":"dashed","variable":"var(--prose-tbody-tr-borderBottom-style)","original":"dashed"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-700)"},"variable":"var(--prose-tbody-tr-borderBottom-color)","original":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.700}"}}}},"td":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-tbody-td-padding)","original":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-tbody-code-inline-fontSize)","original":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-block-fontSize)","original":"{typography.fontSize.sm}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-code-block-margin)","original":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px","variable":"var(--prose-code-block-border-width)","original":"1px"},"style":{"value":"solid","variable":"var(--prose-code-block-border-style)","original":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-block-border-color)","original":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-block-color)","original":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-900)"},"variable":"var(--prose-code-block-backgroundColor)","original":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"pre":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-code-block-pre-padding)","original":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"0.375rem","variable":"var(--prose-code-inline-borderRadius)","original":"0.375rem"},"padding":{"value":"0.25rem 0.375rem 0.25rem 0.375rem","variable":"var(--prose-code-inline-padding)","original":"0.25rem 0.375rem 0.25rem 0.375rem"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-inline-fontSize)","original":"{typography.fontSize.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-normal)","variable":"var(--prose-code-inline-fontWeight)","original":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-inline-color)","original":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-900)"},"variable":"var(--prose-code-inline-backgroundColor)","original":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}}}},"radii":{"sm":{"value":"0.375rem","variable":"var(--radii-sm)","original":"0.375rem"},"md":{"value":"0.5rem","variable":"var(--radii-md)","original":"0.5rem"},"lg":{"value":"0.75rem","variable":"var(--radii-lg)","original":"0.75rem"},"none":{"value":"0px","variable":"var(--radii-none)","original":"0px"},"2xs":{"value":"0.125rem","variable":"var(--radii-2xs)","original":"0.125rem"},"xs":{"value":"0.25rem","variable":"var(--radii-xs)","original":"0.25rem"},"xl":{"value":"1rem","variable":"var(--radii-xl)","original":"1rem"},"2xl":{"value":"1.5rem","variable":"var(--radii-2xl)","original":"1.5rem"},"3xl":{"value":"1.75rem","variable":"var(--radii-3xl)","original":"1.75rem"},"full":{"value":"9999px","variable":"var(--radii-full)","original":"9999px"}},"fontSize":{"xs":{"value":"0.75rem","variable":"var(--fontSize-xs)","original":"0.75rem"},"sm":{"value":"0.875rem","variable":"var(--fontSize-sm)","original":"0.875rem"},"base":{"value":"1rem","variable":"var(--fontSize-base)","original":"1rem"},"lg":{"value":"1.125rem","variable":"var(--fontSize-lg)","original":"1.125rem"},"xl":{"value":"1.25rem","variable":"var(--fontSize-xl)","original":"1.25rem"},"2xl":{"value":"1.5rem","variable":"var(--fontSize-2xl)","original":"1.5rem"},"3xl":{"value":"1.875rem","variable":"var(--fontSize-3xl)","original":"1.875rem"},"4xl":{"value":"2.25rem","variable":"var(--fontSize-4xl)","original":"2.25rem"},"5xl":{"value":"3rem","variable":"var(--fontSize-5xl)","original":"3rem"},"6xl":{"value":"3.75rem","variable":"var(--fontSize-6xl)","original":"3.75rem"},"7xl":{"value":"4.5rem","variable":"var(--fontSize-7xl)","original":"4.5rem"},"8xl":{"value":"6rem","variable":"var(--fontSize-8xl)","original":"6rem"},"9xl":{"value":"8rem","variable":"var(--fontSize-9xl)","original":"8rem"}},"lead":{"1":{"value":".025rem","variable":"var(--lead-1)","original":".025rem"},"2":{"value":".5rem","variable":"var(--lead-2)","original":".5rem"},"3":{"value":".75rem","variable":"var(--lead-3)","original":".75rem"},"4":{"value":"1rem","variable":"var(--lead-4)","original":"1rem"},"5":{"value":"1.25rem","variable":"var(--lead-5)","original":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--lead-6)","original":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--lead-7)","original":"1.75rem"},"8":{"value":"2rem","variable":"var(--lead-8)","original":"2rem"},"9":{"value":"2.25rem","variable":"var(--lead-9)","original":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--lead-10)","original":"2.5rem"},"none":{"value":"1","variable":"var(--lead-none)","original":"1"},"tight":{"value":"1.25","variable":"var(--lead-tight)","original":"1.25"},"snug":{"value":"1.375","variable":"var(--lead-snug)","original":"1.375"},"normal":{"value":"1.5","variable":"var(--lead-normal)","original":"1.5"},"relaxed":{"value":"1.625","variable":"var(--lead-relaxed)","original":"1.625"},"loose":{"value":"2","variable":"var(--lead-loose)","original":"2"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji","variable":"var(--font-sans)","original":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif","variable":"var(--font-serif)","original":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace","variable":"var(--font-mono)","original":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"docus":{"header":{"height":{"value":"64px","variable":"var(--docus-header-height)","original":"64px"}},"footer":{"padding":{"value":"var(--space-4) 0","variable":"var(--docus-footer-padding)","original":"{space.4} 0"}},"readableLine":{"value":"78ch","variable":"var(--docus-readableLine)","original":"78ch"},"loadingBar":{"height":{"value":"3px","variable":"var(--docus-loadingBar-height)","original":"3px"},"gradientColorStop1":{"value":"#00dc82","variable":"var(--docus-loadingBar-gradientColorStop1)","original":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe","variable":"var(--docus-loadingBar-gradientColorStop2)","original":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1","variable":"var(--docus-loadingBar-gradientColorStop3)","original":"#0047e1"}}},"media":{"xs":{"value":"(min-width: 475px)","variable":"var(--media-xs)","original":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)","variable":"var(--media-sm)","original":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)","variable":"var(--media-md)","original":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)","variable":"var(--media-lg)","original":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)","variable":"var(--media-xl)","original":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)","variable":"var(--media-2xl)","original":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)","variable":"var(--media-rm)","original":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)","variable":"var(--media-landscape)","original":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)","variable":"var(--media-portrait)","original":"only screen and (orientation: portrait)"}},"width":{"screen":{"value":"100vw","variable":"var(--width-screen)","original":"100vw"}},"height":{"screen":{"value":"100vh","variable":"var(--height-screen)","original":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px #000000","variable":"var(--shadow-xs)","original":"0px 1px 2px 0px #000000"},"sm":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000","variable":"var(--shadow-sm)","original":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"},"md":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000","variable":"var(--shadow-md)","original":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"},"lg":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000","variable":"var(--shadow-lg)","original":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"},"xl":{"value":"0px 20px 25px -5px var(--color-gray-400), 0px 8px 10px -6px #000000","variable":"var(--shadow-xl)","original":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"},"2xl":{"value":"0px 25px 50px -12px var(--color-gray-900)","variable":"var(--shadow-2xl)","original":"0px 25px 50px -12px {color.gray.900}"},"none":{"value":"0px 0px 0px 0px transparent","variable":"var(--shadow-none)","original":"0px 0px 0px 0px transparent"}},"size":{"0":{"value":"0px","variable":"var(--size-0)","original":"0px"},"2":{"value":"2px","variable":"var(--size-2)","original":"2px"},"4":{"value":"4px","variable":"var(--size-4)","original":"4px"},"6":{"value":"6px","variable":"var(--size-6)","original":"6px"},"8":{"value":"8px","variable":"var(--size-8)","original":"8px"},"12":{"value":"12px","variable":"var(--size-12)","original":"12px"},"16":{"value":"16px","variable":"var(--size-16)","original":"16px"},"20":{"value":"20px","variable":"var(--size-20)","original":"20px"},"24":{"value":"24px","variable":"var(--size-24)","original":"24px"},"32":{"value":"32px","variable":"var(--size-32)","original":"32px"},"40":{"value":"40px","variable":"var(--size-40)","original":"40px"},"48":{"value":"48px","variable":"var(--size-48)","original":"48px"},"56":{"value":"56px","variable":"var(--size-56)","original":"56px"},"64":{"value":"64px","variable":"var(--size-64)","original":"64px"},"80":{"value":"80px","variable":"var(--size-80)","original":"80px"},"104":{"value":"104px","variable":"var(--size-104)","original":"104px"},"200":{"value":"200px","variable":"var(--size-200)","original":"200px"},"xs":{"value":"20rem","variable":"var(--size-xs)","original":"20rem"},"sm":{"value":"24rem","variable":"var(--size-sm)","original":"24rem"},"md":{"value":"28rem","variable":"var(--size-md)","original":"28rem"},"lg":{"value":"32rem","variable":"var(--size-lg)","original":"32rem"},"xl":{"value":"36rem","variable":"var(--size-xl)","original":"36rem"},"2xl":{"value":"42rem","variable":"var(--size-2xl)","original":"42rem"},"3xl":{"value":"48rem","variable":"var(--size-3xl)","original":"48rem"},"4xl":{"value":"56rem","variable":"var(--size-4xl)","original":"56rem"},"5xl":{"value":"64rem","variable":"var(--size-5xl)","original":"64rem"},"6xl":{"value":"72rem","variable":"var(--size-6xl)","original":"72rem"},"7xl":{"value":"80rem","variable":"var(--size-7xl)","original":"80rem"},"full":{"value":"100%","variable":"var(--size-full)","original":"100%"}},"space":{"0":{"value":"0px","variable":"var(--space-0)","original":"0px"},"1":{"value":"0.25rem","variable":"var(--space-1)","original":"0.25rem"},"2":{"value":"0.5rem","variable":"var(--space-2)","original":"0.5rem"},"3":{"value":"0.75rem","variable":"var(--space-3)","original":"0.75rem"},"4":{"value":"1rem","variable":"var(--space-4)","original":"1rem"},"5":{"value":"1.25rem","variable":"var(--space-5)","original":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--space-6)","original":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--space-7)","original":"1.75rem"},"8":{"value":"2rem","variable":"var(--space-8)","original":"2rem"},"9":{"value":"2.25rem","variable":"var(--space-9)","original":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--space-10)","original":"2.5rem"},"11":{"value":"2.75rem","variable":"var(--space-11)","original":"2.75rem"},"12":{"value":"3rem","variable":"var(--space-12)","original":"3rem"},"14":{"value":"3.5rem","variable":"var(--space-14)","original":"3.5rem"},"16":{"value":"4rem","variable":"var(--space-16)","original":"4rem"},"20":{"value":"5rem","variable":"var(--space-20)","original":"5rem"},"24":{"value":"6rem","variable":"var(--space-24)","original":"6rem"},"28":{"value":"7rem","variable":"var(--space-28)","original":"7rem"},"32":{"value":"8rem","variable":"var(--space-32)","original":"8rem"},"36":{"value":"9rem","variable":"var(--space-36)","original":"9rem"},"40":{"value":"10rem","variable":"var(--space-40)","original":"10rem"},"44":{"value":"11rem","variable":"var(--space-44)","original":"11rem"},"48":{"value":"12rem","variable":"var(--space-48)","original":"12rem"},"52":{"value":"13rem","variable":"var(--space-52)","original":"13rem"},"56":{"value":"14rem","variable":"var(--space-56)","original":"14rem"},"60":{"value":"15rem","variable":"var(--space-60)","original":"15rem"},"64":{"value":"16rem","variable":"var(--space-64)","original":"16rem"},"72":{"value":"18rem","variable":"var(--space-72)","original":"18rem"},"80":{"value":"20rem","variable":"var(--space-80)","original":"20rem"},"96":{"value":"24rem","variable":"var(--space-96)","original":"24rem"},"px":{"value":"1px","variable":"var(--space-px)","original":"1px"},"rem":{"125":{"value":"0.125rem","variable":"var(--space-rem-125)","original":"0.125rem"},"375":{"value":"0.375rem","variable":"var(--space-rem-375)","original":"0.375rem"},"625":{"value":"0.625rem","variable":"var(--space-rem-625)","original":"0.625rem"},"875":{"value":"0.875rem","variable":"var(--space-rem-875)","original":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0","variable":"var(--borderWidth-noBorder)","original":"0"},"sm":{"value":"1px","variable":"var(--borderWidth-sm)","original":"1px"},"md":{"value":"2px","variable":"var(--borderWidth-md)","original":"2px"},"lg":{"value":"3px","variable":"var(--borderWidth-lg)","original":"3px"}},"opacity":{"noOpacity":{"value":"0","variable":"var(--opacity-noOpacity)","original":"0"},"bright":{"value":"0.1","variable":"var(--opacity-bright)","original":"0.1"},"light":{"value":"0.15","variable":"var(--opacity-light)","original":"0.15"},"soft":{"value":"0.3","variable":"var(--opacity-soft)","original":"0.3"},"medium":{"value":"0.5","variable":"var(--opacity-medium)","original":"0.5"},"high":{"value":"0.8","variable":"var(--opacity-high)","original":"0.8"},"total":{"value":"1","variable":"var(--opacity-total)","original":"1"}},"fontWeight":{"thin":{"value":"100","variable":"var(--fontWeight-thin)","original":"100"},"extralight":{"value":"200","variable":"var(--fontWeight-extralight)","original":"200"},"light":{"value":"300","variable":"var(--fontWeight-light)","original":"300"},"normal":{"value":"400","variable":"var(--fontWeight-normal)","original":"400"},"medium":{"value":"500","variable":"var(--fontWeight-medium)","original":"500"},"semibold":{"value":"600","variable":"var(--fontWeight-semibold)","original":"600"},"bold":{"value":"700","variable":"var(--fontWeight-bold)","original":"700"},"extrabold":{"value":"800","variable":"var(--fontWeight-extrabold)","original":"800"},"black":{"value":"900","variable":"var(--fontWeight-black)","original":"900"}},"letterSpacing":{"tighter":{"value":"-0.05em","variable":"var(--letterSpacing-tighter)","original":"-0.05em"},"tight":{"value":"-0.025em","variable":"var(--letterSpacing-tight)","original":"-0.025em"},"normal":{"value":"0em","variable":"var(--letterSpacing-normal)","original":"0em"},"wide":{"value":"0.025em","variable":"var(--letterSpacing-wide)","original":"0.025em"},"wider":{"value":"0.05em","variable":"var(--letterSpacing-wider)","original":"0.05em"},"widest":{"value":"0.1em","variable":"var(--letterSpacing-widest)","original":"0.1em"}},"text":{"xs":{"fontSize":{"value":"var(--fontSize-xs)","variable":"var(--text-xs-fontSize)","original":"{fontSize.xs}"},"lineHeight":{"value":"var(--lead-4)","variable":"var(--text-xs-lineHeight)","original":"{lead.4}"}},"sm":{"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--text-sm-fontSize)","original":"{fontSize.sm}"},"lineHeight":{"value":"var(--lead-5)","variable":"var(--text-sm-lineHeight)","original":"{lead.5}"}},"base":{"fontSize":{"value":"var(--fontSize-base)","variable":"var(--text-base-fontSize)","original":"{fontSize.base}"},"lineHeight":{"value":"var(--lead-6)","variable":"var(--text-base-lineHeight)","original":"{lead.6}"}},"lg":{"fontSize":{"value":"var(--fontSize-lg)","variable":"var(--text-lg-fontSize)","original":"{fontSize.lg}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-lg-lineHeight)","original":"{lead.7}"}},"xl":{"fontSize":{"value":"var(--fontSize-xl)","variable":"var(--text-xl-fontSize)","original":"{fontSize.xl}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-xl-lineHeight)","original":"{lead.7}"}},"2xl":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--text-2xl-fontSize)","original":"{fontSize.2xl}"},"lineHeight":{"value":"var(--lead-8)","variable":"var(--text-2xl-lineHeight)","original":"{lead.8}"}},"3xl":{"fontSize":{"value":"var(--fontSize-3xl)","variable":"var(--text-3xl-fontSize)","original":"{fontSize.3xl}"},"lineHeight":{"value":"var(--lead-9)","variable":"var(--text-3xl-lineHeight)","original":"{lead.9}"}},"4xl":{"fontSize":{"value":"var(--fontSize-4xl)","variable":"var(--text-4xl-fontSize)","original":"{fontSize.4xl}"},"lineHeight":{"value":"var(--lead-10)","variable":"var(--text-4xl-lineHeight)","original":"{lead.10}"}},"5xl":{"fontSize":{"value":"var(--fontSize-5xl)","variable":"var(--text-5xl-fontSize)","original":"{fontSize.5xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-5xl-lineHeight)","original":"{lead.none}"}},"6xl":{"fontSize":{"value":"var(--fontSize-6xl)","variable":"var(--text-6xl-fontSize)","original":"{fontSize.6xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-6xl-lineHeight)","original":"{lead.none}"}}}},"content":{"sources":{},"ignores":["\\.","-"],"locales":[],"highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"documentDriven":true},"components":[{"name":"ExampleCard","path":"/components/content/Example/ExampleCard.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ExampleHero","path":"/components/content/Example/ExampleHero.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"description","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ExampleIconCard","path":"/components/content/Example/ExampleIconCard.vue","meta":{"props":[{"name":"description","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"Default description\""},{"name":"title","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"Default title\""},{"name":"icon","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"IconMarkdown\""}],"slots":[],"events":[]}},{"name":"ExampleMultiselect","path":"/components/content/Example/ExampleMultiselect.vue","meta":{"props":[{"name":"options","global":false,"description":"","tags":[],"required":false,"type":"string | unknown[] | undefined","schema":{"kind":"enum","type":"string | unknown[] | undefined","schema":["undefined","string",{"kind":"array","type":"unknown[]","schema":["unknown"]}]},"default":"[]"}],"slots":[],"events":[]}},{"name":"ExampleTheTitle","path":"/components/content/Example/ExampleTheTitle.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"HeroAnnouncement","path":"/components/content/HeroAnnouncement.vue","meta":{"props":[{"name":"to","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"label","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""}],"slots":[],"events":[]}},{"name":"IconMarkdown","path":"/components/content/IconMarkdown.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Logo","path":"/components/content/Logo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"MyButton","path":"/components/content/MyButton.vue","meta":{"props":[{"name":"type","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"info\""}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"PropInspector","path":"/components/content/PropInspector.vue","meta":{"props":[{"name":"prop","global":false,"description":"","tags":[],"required":false,"type":"any","schema":"any"}],"slots":[],"events":[]}},{"name":"ReadMore","path":"/components/content/ReadMore.vue","meta":{"props":[{"name":"link","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"},{"name":"title","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"undefined"}],"slots":[],"events":[]}},{"name":"AppFooter","path":"/node_modules/@nuxt-themes/docus/components/app/AppFooter.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeader","path":"/node_modules/@nuxt-themes/docus/components/app/AppHeader.vue","meta":{"props":[{"name":"length","global":false,"description":"Gets the length of the array. This is a number one higher than the highest element defined in an array.","tags":[],"required":true,"type":"number | Prop | null | undefined","schema":{"kind":"enum","type":"number | Prop | null | undefined","schema":["undefined","null","number","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]}]}},{"name":"concat","global":false,"description":"Combines two or more arrays.","tags":[{"name":"param","text":"items Additional items to add to the end of array1."},{"name":"param","text":"items Additional items to add to the end of array1."}],"required":true,"type":"Prop | { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } | { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray<...>)[]): string[]; } | { ...; } | null | undefined","schema":{"kind":"enum","type":"Prop | { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; } | { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray<...>)[]): string[]; } | { ...; } | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},"{ (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; }","{ (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; }","{ (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; }"]}},{"name":"join","global":false,"description":"Adds all the elements of an array separated by the specified separator string.","tags":[{"name":"param","text":"separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma."}],"required":true,"type":"Prop | ((separator?: string | undefined) => string) | ((separator?: string | undefined) => string) | ((separator?: string | undefined) => string) | null | undefined","schema":{"kind":"enum","type":"Prop | ((separator?: string | undefined) => string) | ((separator?: string | undefined) => string) | ((separator?: string | undefined) => string) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(separator?: string | undefined): string","schema":[]},{"kind":"event","type":"(separator?: string | undefined): string","schema":[]},{"kind":"event","type":"(separator?: string | undefined): string","schema":[]}]}},{"name":"slice","global":false,"description":"Returns a section of an array.","tags":[{"name":"param","text":"start The beginning of the specified portion of the array."},{"name":"param","text":"end The end of the specified portion of the array. This is exclusive of the element at the index 'end'."}],"required":true,"type":"Prop | ((start?: number | undefined, end?: number | undefined) => string[]) | ((start?: number | undefined, end?: number | undefined) => string[]) | ((start?: number | undefined, end?: number | undefined) => string[]) | null | undefined","schema":{"kind":"enum","type":"Prop | ((start?: number | undefined, end?: number | undefined) => string[]) | ((start?: number | undefined, end?: number | undefined) => string[]) | ((start?: number | undefined, end?: number | undefined) => string[]) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(start?: number | undefined, end?: number | undefined): string[]","schema":[]},{"kind":"event","type":"(start?: number | undefined, end?: number | undefined): string[]","schema":[]},{"kind":"event","type":"(start?: number | undefined, end?: number | undefined): string[]","schema":[]}]}},{"name":"indexOf","global":false,"description":"Returns the index of the first occurrence of a value in an array.","tags":[{"name":"param","text":"searchElement The value to locate in the array."},{"name":"param","text":"fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0."}],"required":true,"type":"Prop | ((searchElement: string, fromIndex?: number | undefined) => number) | ((searchElement: string, fromIndex?: number | undefined) => number) | ((searchElement: string, fromIndex?: number | undefined) => number) | null | undefined","schema":{"kind":"enum","type":"Prop | ((searchElement: string, fromIndex?: number | undefined) => number) | ((searchElement: string, fromIndex?: number | undefined) => number) | ((searchElement: string, fromIndex?: number | undefined) => number) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): number","schema":[]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): number","schema":[]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): number","schema":[]}]}},{"name":"lastIndexOf","global":false,"description":"Returns the index of the last occurrence of a specified value in an array.","tags":[{"name":"param","text":"searchElement The value to locate in the array."},{"name":"param","text":"fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array."}],"required":true,"type":"Prop | ((searchElement: string, fromIndex?: number | undefined) => number) | ((searchElement: string, fromIndex?: number | undefined) => number) | ((searchElement: string, fromIndex?: number | undefined) => number) | null | undefined","schema":{"kind":"enum","type":"Prop | ((searchElement: string, fromIndex?: number | undefined) => number) | ((searchElement: string, fromIndex?: number | undefined) => number) | ((searchElement: string, fromIndex?: number | undefined) => number) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): number","schema":[]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): number","schema":[]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): number","schema":[]}]}},{"name":"every","global":false,"description":"Determines whether all the members of an array satisfy the specified test.","tags":[{"name":"param","text":"predicate A function that accepts up to three arguments. The every method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value false, or until the end of the array."},{"name":"param","text":"thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."},{"name":"param","text":"predicate A function that accepts up to three arguments. The every method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value false, or until the end of the array."},{"name":"param","text":"thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."}],"required":true,"type":"Prop | { (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean; } | { ...; } | { ...; } | null | undefined","schema":{"kind":"enum","type":"Prop | { (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean; } | { ...; } | { ...; } | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},"{ (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean; }","{ (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean; }","{ (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): this is readonly S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean; }"]}},{"name":"some","global":false,"description":"Determines whether the specified callback function returns true for any element of an array.","tags":[{"name":"param","text":"predicate A function that accepts up to three arguments. The some method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value true, or until the end of the array."},{"name":"param","text":"thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."}],"required":true,"type":"Prop | ((predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any) => boolean) | ((predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any) => boolean) | ((predicate: (value: string, index: number, array: readonly string[]) ...","schema":{"kind":"enum","type":"Prop | ((predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any) => boolean) | ((predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any) => boolean) | ((predicate: (value: string, index: number, array: readonly string[]) ...","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean","schema":[]},{"kind":"event","type":"(predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean","schema":[]},{"kind":"event","type":"(predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): boolean","schema":[]}]}},{"name":"forEach","global":false,"description":"Performs the specified action for each element in an array.","tags":[{"name":"param","text":"callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array."},{"name":"param","text":"thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value."}],"required":true,"type":"Prop | ((callbackfn: (value: string, index: number, array: readonly string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: string, index: number, array: readonly string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: string, index: number, array: readonly string[]) => void, ...","schema":{"kind":"enum","type":"Prop | ((callbackfn: (value: string, index: number, array: readonly string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: string, index: number, array: readonly string[]) => void, thisArg?: any) => void) | ((callbackfn: (value: string, index: number, array: readonly string[]) => void, ...","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(callbackfn: (value: string, index: number, array: readonly string[]) => void, thisArg?: any): void","schema":[]},{"kind":"event","type":"(callbackfn: (value: string, index: number, array: readonly string[]) => void, thisArg?: any): void","schema":[]},{"kind":"event","type":"(callbackfn: (value: string, index: number, array: readonly string[]) => void, thisArg?: any): void","schema":[]}]}},{"name":"map","global":false,"description":"Calls a defined callback function on each element of an array, and returns an array that contains the results.","tags":[{"name":"param","text":"callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array."},{"name":"param","text":"thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value."}],"required":true,"type":"Prop | ((callbackfn: (value: string, index: number, array: readonly string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: readonly string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: readonly string[]) => U, th...","schema":{"kind":"enum","type":"Prop | ((callbackfn: (value: string, index: number, array: readonly string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: readonly string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: readonly string[]) => U, th...","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(callbackfn: (value: string, index: number, array: readonly string[]) => U, thisArg?: any): U[]","schema":[]},{"kind":"event","type":"(callbackfn: (value: string, index: number, array: readonly string[]) => U, thisArg?: any): U[]","schema":[]},{"kind":"event","type":"(callbackfn: (value: string, index: number, array: readonly string[]) => U, thisArg?: any): U[]","schema":[]}]}},{"name":"filter","global":false,"description":"Returns the elements of an array that meet the condition specified in a callback function.","tags":[{"name":"param","text":"predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array."},{"name":"param","text":"thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value."},{"name":"param","text":"predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array."},{"name":"param","text":"thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value."}],"required":true,"type":"Prop | { (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): string[]; } | { ...; } | { ...; } | null | undefined","schema":{"kind":"enum","type":"Prop | { (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): string[]; } | { ...; } | { ...; } | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},"{ (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): string[]; }","{ (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): string[]; }","{ (predicate: (value: string, index: number, array: readonly string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: readonly string[]) => unknown, thisArg?: any): string[]; }"]}},{"name":"reduce","global":false,"description":"Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.","tags":[{"name":"param","text":"callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array."},{"name":"param","text":"initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value."},{"name":"param","text":"callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array."},{"name":"param","text":"initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value."}],"required":true,"type":"Prop | { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn...","schema":{"kind":"enum","type":"Prop | { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn...","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},"{ (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, curr...","{ (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, curr...","{ (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, curr..."]}},{"name":"reduceRight","global":false,"description":"Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.","tags":[{"name":"param","text":"callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array."},{"name":"param","text":"initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value."},{"name":"param","text":"callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array."},{"name":"param","text":"initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value."}],"required":true,"type":"Prop | { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn...","schema":{"kind":"enum","type":"Prop | { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn...","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},"{ (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, curr...","{ (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, curr...","{ (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: readonly string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, curr..."]}},{"name":"find","global":false,"description":"Returns the value of the first element in the array where predicate is true, and undefined\r\notherwise.","tags":[{"name":"param","text":"predicate find calls predicate once for each element of the array, in ascending\r\norder, until it finds one where predicate returns true. If such an element is found, find\r\nimmediately returns that element value. Otherwise, find returns undefined."},{"name":"param","text":"thisArg If provided, it will be used as the this value for each invocation of\r\npredicate. If it is not provided, undefined is used instead."}],"required":true,"type":"Prop | { (predicate: (this: void, value: string, index: number, obj: readonly string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): string | undefined; } | { ...; } | { ...; } | null |...","schema":{"kind":"enum","type":"Prop | { (predicate: (this: void, value: string, index: number, obj: readonly string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): string | undefined; } | { ...; } | { ...; } | null |...","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},"{ (predicate: (this: void, value: string, index: number, obj: readonly string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): string | undefined; }","{ (predicate: (this: void, value: string, index: number, obj: readonly string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): string | undefined; }","{ (predicate: (this: void, value: string, index: number, obj: readonly string[]) => value is S, thisArg?: any): S | undefined; (predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): string | undefined; }"]}},{"name":"findIndex","global":false,"description":"Returns the index of the first element in the array where predicate is true, and -1\r\notherwise.","tags":[{"name":"param","text":"predicate find calls predicate once for each element of the array, in ascending\r\norder, until it finds one where predicate returns true. If such an element is found,\r\nfindIndex immediately returns that element index. Otherwise, findIndex returns -1."},{"name":"param","text":"thisArg If provided, it will be used as the this value for each invocation of\r\npredicate. If it is not provided, undefined is used instead."}],"required":true,"type":"Prop | ((predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any) => number) | ((predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any) => number) | ((predicate: (value: string, index: number, obj: readonly string[]) => unkno...","schema":{"kind":"enum","type":"Prop | ((predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any) => number) | ((predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any) => number) | ((predicate: (value: string, index: number, obj: readonly string[]) => unkno...","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): number","schema":[]},{"kind":"event","type":"(predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): number","schema":[]},{"kind":"event","type":"(predicate: (value: string, index: number, obj: readonly string[]) => unknown, thisArg?: any): number","schema":[]}]}},{"name":"entries","global":false,"description":"Returns an iterable of key, value pairs for every entry in the array","tags":[],"required":true,"type":"Prop | (() => IterableIterator<[number, string]>) | (() => IterableIterator<[number, string]>) | (() => IterableIterator<[number, string]>) | null | undefined","schema":{"kind":"enum","type":"Prop | (() => IterableIterator<[number, string]>) | (() => IterableIterator<[number, string]>) | (() => IterableIterator<[number, string]>) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(): IterableIterator<[number, string]>"},{"kind":"event","type":"(): IterableIterator<[number, string]>"},{"kind":"event","type":"(): IterableIterator<[number, string]>"}]}},{"name":"keys","global":false,"description":"Returns an iterable of keys in the array","tags":[],"required":true,"type":"Prop | (() => IterableIterator) | (() => IterableIterator) | (() => IterableIterator) | null | undefined","schema":{"kind":"enum","type":"Prop | (() => IterableIterator) | (() => IterableIterator) | (() => IterableIterator) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(): IterableIterator"},{"kind":"event","type":"(): IterableIterator"},{"kind":"event","type":"(): IterableIterator"}]}},{"name":"values","global":false,"description":"Returns an iterable of values in the array","tags":[],"required":true,"type":"Prop | (() => IterableIterator) | (() => IterableIterator) | (() => IterableIterator) | null | undefined","schema":{"kind":"enum","type":"Prop | (() => IterableIterator) | (() => IterableIterator) | (() => IterableIterator) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(): IterableIterator"},{"kind":"event","type":"(): IterableIterator"},{"kind":"event","type":"(): IterableIterator"}]}},{"name":"includes","global":false,"description":"Determines whether an array includes a certain element, returning true or false as appropriate.","tags":[{"name":"param","text":"searchElement The element to search for."},{"name":"param","text":"fromIndex The position in this array at which to begin searching for searchElement."}],"required":true,"type":"Prop | ((searchElement: string, fromIndex?: number | undefined) => boolean) | ((searchElement: string, fromIndex?: number | undefined) => boolean) | ((searchElement: string, fromIndex?: number | undefined) => boolean) | null | undefined","schema":{"kind":"enum","type":"Prop | ((searchElement: string, fromIndex?: number | undefined) => boolean) | ((searchElement: string, fromIndex?: number | undefined) => boolean) | ((searchElement: string, fromIndex?: number | undefined) => boolean) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): boolean","schema":[]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): boolean","schema":[]},{"kind":"event","type":"(searchElement: string, fromIndex?: number | undefined): boolean","schema":[]}]}},{"name":"flatMap","global":false,"description":"Calls a defined callback function on each element of an array. Then, flattens the result into\r\na new array.\r\nThis is identical to a map followed by flat with depth 1.","tags":[{"name":"param","text":"callback A function that accepts up to three arguments. The flatMap method calls the\r\ncallback function one time for each element in the array."},{"name":"param","text":"thisArg An object to which the this keyword can refer in the callback function. If\r\nthisArg is omitted, undefined is used as the this value."}],"required":true,"type":"Prop | ((callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined) => U[]) | ((callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined...","schema":{"kind":"enum","type":"Prop | ((callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined) => U[]) | ((callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined...","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined): U[]","schema":[]},{"kind":"event","type":"(callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined): U[]","schema":[]},{"kind":"event","type":"(callback: (this: This, value: string, index: number, array: string[]) => U | readonly U[], thisArg?: This | undefined): U[]","schema":[]}]}},{"name":"flat","global":false,"description":"Returns a new array with all sub-array elements concatenated into it recursively up to the\r\nspecified depth.","tags":[{"name":"param","text":"depth The maximum recursion depth"}],"required":true,"type":"Prop | ((this: A, depth?: D | undefined) => FlatArray[]) | ((this: A, depth?: D | undefined) => FlatArray[]) | ((this: A, depth?: D | undefined) => FlatArray<...>[]) | null | undefined","schema":{"kind":"enum","type":"Prop | ((this: A, depth?: D | undefined) => FlatArray[]) | ((this: A, depth?: D | undefined) => FlatArray[]) | ((this: A, depth?: D | undefined) => FlatArray<...>[]) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(this: A, depth?: D | undefined): FlatArray[]","schema":[]},{"kind":"event","type":"(this: A, depth?: D | undefined): FlatArray[]","schema":[]},{"kind":"event","type":"(this: A, depth?: D | undefined): FlatArray[]","schema":[]}]}},{"name":"at","global":false,"description":"Returns the item located at the specified index.","tags":[{"name":"param","text":"index The zero-based index of the desired code unit. A negative index will count back from the last item."}],"required":true,"type":"Prop | ((index: number) => string | undefined) | ((index: number) => string | undefined) | ((index: number) => string | undefined) | null | undefined","schema":{"kind":"enum","type":"Prop | ((index: number) => string | undefined) | ((index: number) => string | undefined) | ((index: number) => string | undefined) | null | undefined","schema":["undefined","null","PropOptions",{"kind":"object","type":"new (...args: any[]) => {}","schema":{}},{"kind":"event","type":"(): unknown"},{"kind":"array","type":"PropConstructor[]","schema":[{"kind":"enum","type":"PropConstructor","schema":["new (...args: any[]) => {}","() => unknown"]}]},{"kind":"event","type":"(index: number): string | undefined","schema":[]},{"kind":"event","type":"(index: number): string | undefined","schema":[]},{"kind":"event","type":"(index: number): string | undefined","schema":[]}]}},{"name":"toString","global":false,"description":"Returns a string representation of an object.\nReturns a string representation of an array.","tags":[],"required":true,"type":"(() => string) | ((() => string) & (() => string)) | ((() => string) & (() => string)) | ((() => string) & (() => string))","schema":{"kind":"enum","type":"(() => string) | ((() => string) & (() => string)) | ((() => string) & (() => string)) | ((() => string) & (() => string))","schema":[{"kind":"event","type":"(): string"},{"kind":"event","type":"(): string"},{"kind":"event","type":"(): string"},{"kind":"event","type":"(): string"}]}},{"name":"toLocaleString","global":false,"description":"Returns a date converted to a string using the current locale.\nReturns a string representation of an array. The elements are converted to string using their toLocaleString methods.","tags":[],"required":true,"type":"(() => string) | ((() => string) & (() => string)) | ((() => string) & (() => string)) | ((() => string) & (() => string))","schema":{"kind":"enum","type":"(() => string) | ((() => string) & (() => string)) | ((() => string) & (() => string)) | ((() => string) & (() => string))","schema":[{"kind":"event","type":"(): string"},{"kind":"event","type":"(): string"},{"kind":"event","type":"(): string"},{"kind":"event","type":"(): string"}]}}],"slots":[],"events":[]}},{"name":"AppHeaderDialog","path":"/node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderLogo","path":"/node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderNavigation","path":"/node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLayout","path":"/node_modules/@nuxt-themes/docus/components/app/AppLayout.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"AppLoadingBar","path":"/node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue","meta":{"props":[{"name":"throttle","global":false,"description":"","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"default":"200"},{"name":"duration","global":false,"description":"","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"default":"2000"}],"slots":[],"events":[]}},{"name":"AppSearch","path":"/node_modules/@nuxt-themes/docus/components/app/AppSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSocialIcons","path":"/node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ThemeSelect","path":"/node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAside","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAsideTree","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue","meta":{"props":[{"name":"links","global":false,"description":"","tags":[],"required":false,"type":"any","schema":"any","default":"[]"},{"name":"level","global":false,"description":"","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"default":"0"},{"name":"max","global":false,"description":"","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"default":"null"},{"name":"parent","global":false,"description":"","tags":[],"required":false,"type":"any","schema":"any","default":"null"}],"slots":[],"events":[]}},{"name":"DocsPageBottom","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageLayout","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"DocsPrevNext","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsToc","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue","meta":{"props":[],"slots":[],"events":[{"name":"move","type":"any[]","signature":"(event: \"move\", ...args: any[]): void","schema":["any"]}]}},{"name":"DocsTocLinks","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue","meta":{"props":[{"name":"links","global":false,"description":"","tags":[],"required":false,"type":"TocLink[] | undefined","schema":{"kind":"enum","type":"TocLink[] | undefined","schema":["undefined",{"kind":"array","type":"TocLink[]","schema":[{"kind":"object","type":"TocLink","schema":{"id":{"name":"id","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"},"text":{"name":"text","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"},"depth":{"name":"depth","global":false,"description":"","tags":[],"required":true,"type":"number","schema":"number"},"children":{"name":"children","global":false,"description":"","tags":[],"required":false,"type":"TocLink[] | undefined","schema":"TocLink[] | undefined"}}}]}]},"default":"[]"}],"slots":[],"events":[{"name":"move","type":"any[]","signature":"(event: \"move\", ...args: any[]): void","schema":["any"]}]}},{"name":"EditOnLink","path":"/node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue","meta":{"props":[{"name":"owner","global":false,"description":"Repository owner.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.owner"},{"name":"repo","global":false,"description":"Repository name.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.repo"},{"name":"branch","global":false,"description":"The branch to use for the edit link.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.branch"},{"name":"dir","global":false,"description":"A base directory to append to the source path.\n\nWon't be used if `page` is set.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.dir"},{"name":"source","global":false,"description":"Source file path.\n\nWon't be used if `page` is set.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"undefined"},{"name":"page","global":false,"description":"Use page from @nuxt/content.","tags":[],"required":false,"type":"any","schema":"any","default":"undefined"},{"name":"contentDir","global":false,"description":"Content directory (to be used with `page`)","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.dir || \"content\""},{"name":"edit","global":false,"description":"Send to an edit page or not.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"useAppConfig()?.docus?.github?.edit"}],"slots":[],"events":[]}},{"name":"Alert","path":"/node_modules/@nuxt-themes/elements/components/globals/Alert.vue","meta":{"props":[{"name":"type","global":false,"description":"","tags":[{"name":"values","text":"info, success, warning, danger"}],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"info\""}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Badge","path":"/node_modules/@nuxt-themes/elements/components/globals/Badge.vue","meta":{"props":[{"name":"type","global":false,"description":"","tags":[{"name":"values","text":"info, success, warning, danger"}],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"info\""}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ButtonLink","path":"/node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue","meta":{"props":[{"name":"href","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"icon","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"blank","global":false,"description":"","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"false"},{"name":"color","global":false,"description":"","tags":[],"required":false,"type":"ComputedStyleProp<\"ruby\" | \"primary\" | \"white\" | \"black\" | \"secondary\" | \"gray\" | \"green\" | \"yellow\" | \"orange\" | \"red\" | \"pear\" | \"teal\" | \"lightblue\" | \"blue\" | \"indigoblue\" | \"royalblue\" | \"purple\" | \"pink\"> | undefined","schema":{"kind":"enum","type":"ComputedStyleProp<\"ruby\" | \"primary\" | \"white\" | \"black\" | \"secondary\" | \"gray\" | \"green\" | \"yellow\" | \"orange\" | \"red\" | \"pear\" | \"teal\" | \"lightblue\" | \"blue\" | \"indigoblue\" | \"royalblue\" | \"purple\" | \"pink\"> | undefined","schema":["undefined","\"ruby\"","\"primary\"","\"white\"","\"black\"","\"secondary\"","\"gray\"","\"green\"","\"yellow\"","\"orange\"","\"red\"","\"pear\"","\"teal\"","\"lightblue\"","\"blue\"","\"indigoblue\"","\"royalblue\"","\"purple\"","\"pink\"","{ md?: \"ruby\" | \"primary\" | \"white\" | \"black\" | \"secondary\" | \"gray\" | \"green\" | \"yellow\" | \"orange\" | \"red\" | \"pear\" | \"teal\" | \"lightblue\" | \"blue\" | \"indigoblue\" | \"royalblue\" | \"purple\" | \"pink\" | undefined; ... 10 more ...; portrait?: \"ruby\" | ... 17 more ... | undefined; }"]}},{"name":"size","global":false,"description":"","tags":[],"required":false,"type":"\"small\" | \"medium\" | \"large\" | \"giant\" | { md?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; dark?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; light?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; ... 8 more ...; portrait?: \"small\" | ... 3 more ... | undefined; } | undefined","schema":{"kind":"enum","type":"\"small\" | \"medium\" | \"large\" | \"giant\" | { md?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; dark?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; light?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; ... 8 more ...; portrait?: \"small\" | ... 3 more ... | undefined; } | undefined","schema":["undefined","\"small\"","\"medium\"","\"large\"","\"giant\"","{ md?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; dark?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; light?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; initial?: \"small\" | ... 3 more ... | undefined; ... 7 more ...; portrait?: \"small\" | ... 3 more ... | undefined; }"]}},{"name":"transparent","global":false,"description":"","tags":[],"required":false,"type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":{"kind":"enum","type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":["undefined","false","true","{ md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; }"]}}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Callout","path":"/node_modules/@nuxt-themes/elements/components/globals/Callout.vue","meta":{"props":[{"name":"type","global":false,"description":"","tags":[{"name":"values","text":"info, success, warning, danger"}],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"info\""},{"name":"modelValue","global":false,"description":"","tags":[],"required":false,"type":"any","schema":"any","default":"ref(false)"}],"slots":[{"name":"summary","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"content","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[{"name":"update:modelValue","type":"any[]","signature":"(event: \"update:modelValue\", ...args: any[]): void","schema":["any"]}]}},{"name":"CodeBlock","path":"/node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue","meta":{"props":[{"name":"label","global":false,"description":"Label to display for the tab","tags":[],"required":true,"type":"string","schema":"string"},{"name":"active","global":false,"description":"Select which tab should be active","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"false"},{"name":"preview","global":false,"description":"Preiew block are bordered and have small padding.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"false"}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"CodeGroup","path":"/node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Container","path":"/node_modules/@nuxt-themes/elements/components/globals/Container.vue","meta":{"props":[{"name":"as","global":false,"description":"","tags":[],"required":false,"type":"keyof HTMLElementTagNameMap | undefined","schema":{"kind":"enum","type":"keyof HTMLElementTagNameMap | undefined","schema":["undefined","\"object\"","\"style\"","\"map\"","\"label\"","\"data\"","\"template\"","\"link\"","\"small\"","\"sub\"","\"sup\"","\"title\"","\"html\"","\"ruby\"","\"code\"","\"source\"","\"main\"","\"a\"","\"abbr\"","\"address\"","\"area\"","\"article\"","\"aside\"","\"audio\"","\"b\"","\"base\"","\"bdi\"","\"bdo\"","\"blockquote\"","\"body\"","\"br\"","\"button\"","\"canvas\"","\"caption\"","\"cite\"","\"col\"","\"colgroup\"","\"datalist\"","\"dd\"","\"del\"","\"details\"","\"dfn\"","\"dialog\"","\"div\"","\"dl\"","\"dt\"","\"em\"","\"embed\"","\"fieldset\"","\"figcaption\"","\"figure\"","\"footer\"","\"form\"","\"h1\"","\"h2\"","\"h3\"","\"h4\"","\"h5\"","\"h6\"","\"head\"","\"header\"","\"hgroup\"","\"hr\"","\"i\"","\"iframe\"","\"img\"","\"input\"","\"ins\"","\"kbd\"","\"legend\"","\"li\"","\"mark\"","\"menu\"","\"meta\"","\"meter\"","\"nav\"","\"noscript\"","\"ol\"","\"optgroup\"","\"option\"","\"output\"","\"p\"","\"picture\"","\"pre\"","\"progress\"","\"q\"","\"rp\"","\"rt\"","\"s\"","\"samp\"","\"script\"","\"section\"","\"select\"","\"slot\"","\"span\"","\"strong\"","\"summary\"","\"table\"","\"tbody\"","\"td\"","\"textarea\"","\"tfoot\"","\"th\"","\"thead\"","\"time\"","\"tr\"","\"track\"","\"u\"","\"ul\"","\"var\"","\"video\"","\"wbr\""]},"default":"\"div\""},{"name":"padded","global":false,"description":"","tags":[],"required":false,"type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":{"kind":"enum","type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":["undefined","false","true","{ md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; }"]}},{"name":"fluid","global":false,"description":"","tags":[],"required":false,"type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":{"kind":"enum","type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":["undefined","false","true","{ md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; }"]}}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"CopyButton","path":"/node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue","meta":{"props":[{"name":"content","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""}],"slots":[],"events":[]}},{"name":"Ellipsis","path":"/node_modules/@nuxt-themes/elements/components/globals/Ellipsis.vue","meta":{"props":[{"name":"width","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"10rem\""},{"name":"height","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"10rem\""},{"name":"left","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"auto\""},{"name":"zIndex","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"10\""},{"name":"top","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"0\""},{"name":"right","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"auto\""},{"name":"blur","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"50px\""},{"name":"colors","global":false,"description":"","tags":[],"required":false,"type":"string[] | undefined","schema":{"kind":"enum","type":"string[] | undefined","schema":["undefined",{"kind":"array","type":"string[]","schema":["string"]}]},"default":"[\"rgba(0, 71, 225, 0.22)\", \"rgba(26, 214, 255, 0.22)\", \"rgba(0, 220, 130, 0.22)\"]"}],"slots":[],"events":[]}},{"name":"List","path":"/node_modules/@nuxt-themes/elements/components/globals/List.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"NuxtImg","path":"/node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Props","path":"/node_modules/@nuxt-themes/elements/components/globals/Props.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Sandbox","path":"/node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue","meta":{"props":[{"name":"src","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"repo","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"branch","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"dir","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"file","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"app.vue\""}],"slots":[],"events":[]}},{"name":"SourceLink","path":"/node_modules/@nuxt-themes/elements/components/globals/SourceLink.vue","meta":{"props":[{"name":"source","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"}],"slots":[],"events":[]}},{"name":"TabsHeader","path":"/node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue","meta":{"props":[{"name":"tabs","global":false,"description":"","tags":[],"required":true,"type":"{ label: string; }[]","schema":{"kind":"array","type":"{ label: string; }[]","schema":[{"kind":"object","type":"{ label: string; }","schema":{"label":{"name":"label","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"}}}]}},{"name":"activeTabIndex","global":false,"description":"","tags":[],"required":true,"type":"number","schema":"number"}],"slots":[{"name":"footer","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[{"name":"update:activeTabIndex","type":"any[]","signature":"(event: \"update:activeTabIndex\", ...args: any[]): void","schema":["any"]}]}},{"name":"Terminal","path":"/node_modules/@nuxt-themes/elements/components/globals/Terminal.vue","meta":{"props":[{"name":"content","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"}],"slots":[],"events":[]}},{"name":"VideoPlayer","path":"/node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue","meta":{"props":[{"name":"src","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"poster","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"sources","global":false,"description":"","tags":[],"required":false,"type":"any[] | undefined","schema":{"kind":"enum","type":"any[] | undefined","schema":["undefined",{"kind":"array","type":"any[]","schema":["any"]}]},"default":"[]"},{"name":"autoplay","global":false,"description":"","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"false"}],"slots":[],"events":[]}},{"name":"IconCodeSandBox","path":"/node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconDocus","path":"/node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxt","path":"/node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtContent","path":"/node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtLabs","path":"/node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtStudio","path":"/node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconStackBlitz","path":"/node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconVueTelescope","path":"/node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"BlockHero","path":"/node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue","meta":{"props":[{"name":"secondary","global":false,"description":"","tags":[],"required":false,"type":"string[] | undefined","schema":{"kind":"enum","type":"string[] | undefined","schema":["undefined",{"kind":"array","type":"string[]","schema":["string"]}]}},{"name":"video","global":false,"description":"","tags":[],"required":false,"type":"string[] | undefined","schema":{"kind":"enum","type":"string[] | undefined","schema":["undefined",{"kind":"array","type":"string[]","schema":["string"]}]}},{"name":"cta","global":false,"description":"","tags":[],"required":false,"type":"string[] | undefined","schema":{"kind":"enum","type":"string[] | undefined","schema":["undefined",{"kind":"array","type":"string[]","schema":["string"]}]}},{"name":"snippet","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]}}],"slots":[{"name":"announce","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"title","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"description","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"extra","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"actions","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"support","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Card","path":"/node_modules/@nuxt-themes/elements/components/landing/Card.vue","meta":{"props":[{"name":"icon","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"iconClass","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"blurry","global":false,"description":"","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"true"}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"CardGrid","path":"/node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue","meta":{"props":[{"name":"title","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"Features\""}],"slots":[{"name":"root","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"title","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"VoltaBoard","path":"/node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue","meta":{"props":[{"name":"token","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"}],"slots":[],"events":[]}},{"name":"ComponentPlayground","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundData","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue","meta":{"props":[{"name":"modelValue","global":false,"description":"","tags":[],"required":false,"type":"Record | undefined","schema":{"kind":"enum","type":"Record | undefined","schema":["undefined","Record"]},"default":"{}"},{"name":"componentData","global":false,"description":"","tags":[],"required":false,"type":"Record | undefined","schema":{"kind":"enum","type":"Record | undefined","schema":["undefined","Record"]},"default":"{}"}],"slots":[],"events":[{"name":"update:modelValue","type":"any[]","signature":"(event: \"update:modelValue\", ...args: any[]): void","schema":["any"]}]}},{"name":"ComponentPlaygroundProps","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue","meta":{"props":[{"name":"modelValue","global":false,"description":"","tags":[],"required":true,"type":"Record","schema":"Record"},{"name":"componentData","global":false,"description":"","tags":[],"required":true,"type":"Record","schema":"Record"}],"slots":[],"events":[{"name":"update:modelValue","type":"any[]","signature":"(event: \"update:modelValue\", ...args: any[]): void","schema":["any"]}]}},{"name":"ComponentPlaygroundSlots","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue","meta":{"props":[{"name":"componentData","global":false,"description":"","tags":[],"required":true,"type":"Record","schema":"Record"}],"slots":[],"events":[]}},{"name":"ComponentPlaygroundTokens","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue","meta":{"props":[{"name":"componentData","global":false,"description":"","tags":[],"required":true,"type":"Record","schema":"Record"}],"slots":[],"events":[]}},{"name":"TokensPlayground","path":"/node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubRepository","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRepository.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubLink","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLink.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubReadme","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReadme.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubReleases","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReleases.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubLastRelease","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLastRelease.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubRelease","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRelease.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubContributors","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubContributors.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubFileContributors","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubFileContributors.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubCommits","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubCommits.mjs","meta":{"props":[],"slots":[],"events":[]}}]} \ No newline at end of file +{"version":"0.7.8","appConfigSchema":{"properties":{"id":"#appConfig","properties":{"nuxtIcon":{"title":"Nuxt Icon","description":"Configure the defaults of Nuxt Icon","id":"#appConfig/nuxtIcon","properties":{"size":{"title":"Icon Size","description":"Set the default icon size. Set to false to disable the sizing of icon in style.","tags":["@studioIcon material-symbols:format-size-rounded"],"tsType":"string | false","id":"#appConfig/nuxtIcon/size","default":"1em","type":"string"},"class":{"title":"CSS Class","description":"Set the default CSS class","tags":["@studioIcon material-symbols:css"],"id":"#appConfig/nuxtIcon/class","default":"","type":"string"},"aliases":{"title":"Icon aliases","description":"Define Icon aliases to update them easily without code changes.","tags":["@studioIcon material-symbols:star-rounded","@studioInputObjectValueType icon"],"tsType":"{ [alias: string]: string }","id":"#appConfig/nuxtIcon/aliases","default":{},"type":"object"}},"type":"object","default":{"size":"1em","class":"","aliases":{}}},"prose":{"title":"Prose configuration from Nuxt Typography","description":"","tags":["@studioIcon material-symbols:short-text-rounded","@studioInput icon"],"id":"#appConfig/prose","properties":{"copyButton":{"title":"Copy button (used in code blocks)","description":"","tags":["@studioIcon material-symbols:content-copy"],"id":"#appConfig/prose/copyButton","properties":{"iconCopy":{"title":"Icon displayed to copy","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopy","default":"ph:copy","type":"string"},"iconCopied":{"title":"Icon displayed when copied","description":"","tags":[],"id":"#appConfig/prose/copyButton/iconCopied","default":"ph:check","type":"string"}},"type":"object","default":{"iconCopy":"ph:copy","iconCopied":"ph:check"}},"headings":{"title":"Default configuration for all headings (h1, h2, h3, h4, h5 and h6)","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/prose/headings","properties":{"icon":{"title":"Default icon for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/headings/icon","default":"ph:link","type":"string"}},"type":"object","default":{"icon":"ph:link"}},"h1":{"title":"First heading configuration","description":"","tags":["@studioIcon material-symbols:format-h1"],"id":"#appConfig/prose/h1","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h1/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h2":{"title":"Second heading configuration","description":"","tags":["@studioIcon material-symbols:format-h2"],"id":"#appConfig/prose/h2","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h2/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h3":{"title":"Third heading configuration","description":"","tags":["@studioIcon material-symbols:format-h3"],"id":"#appConfig/prose/h3","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h3/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h4":{"title":"Fourth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h4"],"id":"#appConfig/prose/h4","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h4/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h5":{"title":"Fifth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h5"],"id":"#appConfig/prose/h5","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h5/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}},"h6":{"title":"Sixth heading configuration","description":"","tags":["@studioIcon material-symbols:format-h6"],"id":"#appConfig/prose/h6","properties":{"icon":{"title":"Icon displayed for anchor link on hover","description":"","tags":[],"tsType":"string|false","id":"#appConfig/prose/h6/icon","default":"","type":"string"}},"type":"object","default":{"icon":""}}},"type":"object","default":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}}},"docus":{"title":"Docus theme configuration.","description":"","tags":["@studioIcon material-symbols:docs"],"id":"#appConfig/docus","properties":{"title":{"title":"Website title, used as header default title and meta title.","description":"","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/title","default":"Docus","type":"string"},"titleTemplate":{"title":"The website title template, to overwrite the default one.","description":"","tags":[],"id":"#appConfig/docus/titleTemplate","default":"%s · Docus","type":"string"},"description":{"title":"Website description, used for meta description.","description":"","tags":["@studioIcon material-symbols:description"],"id":"#appConfig/docus/description","default":"The best place to start your documentation.","type":"string"},"image":{"title":"Cover image.","description":"","tags":["@example '/cover.jpg'","@studioIcon dashicons:cover-image","@studioInput file"],"id":"#appConfig/docus/image","default":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","type":"string"},"socials":{"title":"Social links","description":"Will be used in AppSocialIcons component.","tags":["@studioIcon material-symbols:share-outline"],"id":"#appConfig/docus/socials","properties":{"twitter":{"title":"Twitter social handle","description":"","tags":["@example 'nuxt_js'","@studioIcon simple-icons:twitter"],"id":"#appConfig/docus/socials/twitter","default":"","type":"string"},"github":{"title":"GitHub org or repository","description":"","tags":["@example 'nuxt/framework'","@studioIcon simple-icons:github"],"id":"#appConfig/docus/socials/github","default":"","type":"string"},"facebook":{"title":"Facebook page url","description":"","tags":["@example https://www.facebook.com/groups/nuxtjs","@studioIcon simple-icons:facebook"],"id":"#appConfig/docus/socials/facebook","default":"","type":"string"},"instagram":{"title":"Instagram page url","description":"","tags":["@example https://www.instagram.com/wearenuxt","@studioIcon simple-icons:instagram"],"id":"#appConfig/docus/socials/instagram","default":"","type":"string"},"youtube":{"title":"Instagram page url","description":"","tags":["@example https://www.youtube.com/@NuxtLabs","@studioIcon simple-icons:youtube"],"id":"#appConfig/docus/socials/youtube","default":"","type":"string"},"medium":{"title":"Medium page url","description":"","tags":["@example https://medium.com/nuxt","@studioIcon simple-icons:medium"],"id":"#appConfig/docus/socials/medium","default":"","type":"string"}},"type":"object","default":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""}},"layout":{"title":"Theme layout configuration.","description":"","tags":["@studioIcon tabler:arrow-autofit-width"],"tsType":"'default'|'page'","id":"#appConfig/docus/layout","default":"default","type":"string"},"aside":{"title":"Aside navigation configuration.","description":"","tags":["@studioIcon fluent:document-page-24-regular"],"id":"#appConfig/docus/aside","properties":{"level":{"title":"Aside navigation level","description":"Use 0 to disable all nesting. Use 1 and more to display nested navigation in header and aside navigation.","tags":[],"id":"#appConfig/docus/aside/level","default":0,"type":"number"},"collapsed":{"title":"Specify if default collapsibles state globally for aside navigation.","description":"","tags":[],"id":"#appConfig/docus/aside/collapsed","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from aside navigation.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/aside/exclude","default":[],"type":"array","items":{"type":"any"}}},"type":"object","default":{"level":0,"collapsed":false,"exclude":[]}},"header":{"title":"Header configuration.","description":"","tags":["@studioIcon fluent:document-header-24-regular"],"id":"#appConfig/docus/header","properties":{"title":{"title":"Website title","description":"Title to be displayed in header or as aria-label if logo is defined.\nDefault to docus.title","tags":["@studioIcon material-symbols:title"],"id":"#appConfig/docus/header/title","default":"","type":"string"},"logo":{"title":"Logo configuration","description":"Boolean to disable or use the `Logo.vue` component.\nString to be used as a name of a component.","tags":["@example 'MyLogo'","@studioInput boolean"],"id":"#appConfig/docus/header/logo","default":false,"type":"boolean"},"showLinkIcon":{"title":"Header links","description":"Toggle links icons in the header.","tags":[],"id":"#appConfig/docus/header/showLinkIcon","default":false,"type":"boolean"},"exclude":{"title":"Paths to be excluded from header links.","description":"","tags":[],"tsType":"string[]","id":"#appConfig/docus/header/exclude","default":[],"type":"array","items":{"type":"any"}},"fluid":{"title":"Makes the content of the header fluid.","description":"","tags":[],"id":"#appConfig/docus/header/fluid","default":false,"type":"boolean"}},"type":"object","default":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false}},"main":{"title":"Main content configuration.","description":"","tags":["@studioIcon fluent:document-header-footer-24-filled"],"id":"#appConfig/docus/main","properties":{"fluid":{"title":"Makes the content of the main container fluid.","description":"","tags":[],"id":"#appConfig/docus/main/fluid","default":false,"type":"boolean"},"padded":{"title":"Makes the content of the main container padded.","description":"","tags":[],"id":"#appConfig/docus/main/padded","default":true,"type":"boolean"}},"type":"object","default":{"fluid":false,"padded":true}},"footer":{"title":"Footer configuration","description":"","tags":["@studioIcon fluent:document-footer-24-regular"],"id":"#appConfig/docus/footer","properties":{"credits":{"title":"Website credits configuration.","description":"","tags":["@studioIcon material-symbols:copyright"],"tsType":"false|{icon: string, text: string, href: string}","id":"#appConfig/docus/footer/credits","properties":{"icon":{"title":"Icon to show on credits","description":"","tags":["@formtype Icon"],"id":"#appConfig/docus/footer/credits/icon","default":"IconDocus","type":"string"},"text":{"type":"string","id":"#appConfig/docus/footer/credits/text","default":"Powered by Docus"},"href":{"type":"string","id":"#appConfig/docus/footer/credits/href","default":"https://docus.dev"}},"type":"object","default":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"}},"textLinks":{"type":"array","items":{"type":"object","required":["text","href"],"properties":{"href":{"type":"string","description":"URL when clicking the link"},"text":{"type":"string","description":"Text of the link"},"target":{"type":"string","description":"Target attribute of the link"}}},"title":"Text links","description":"Will be added into center section of the footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/textLinks"},"iconLinks":{"type":"array","items":{"type":"object","required":["icon","href"],"properties":{"icon":{"type":"string","description":"Icon name"},"href":{"type":"string","description":"Link when clicking on the icon"},"label":{"type":"string","description":"Label of the icon"}}},"title":"Icon links","description":"Icons to be added to Social Icons in footer.","tags":["@studioIcon material-symbols:add-link"],"id":"#appConfig/docus/footer/iconLinks"},"fluid":{"title":"Makes the content of the footer fluid.","description":"","tags":[],"id":"#appConfig/docus/footer/fluid","default":true,"type":"boolean"}},"type":"object","default":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true}},"github":{"title":"GitHub integration","description":"Configure the Edit on Github integration.","tags":["@studioIcon simple-icons:github"],"id":"#appConfig/docus/github","properties":{"dir":{"title":"Directory","description":"Your GitHub repository root directory.","tags":[],"id":"#appConfig/docus/github/dir","default":"","type":"string"},"branch":{"title":"Branch","description":"Your GitHub repository branch.","tags":[],"id":"#appConfig/docus/github/branch","default":"","type":"string"},"repo":{"title":"Repository","description":"Your GitHub repository name.","tags":[],"id":"#appConfig/docus/github/repo","default":"","type":"string"},"owner":{"title":"Owner","description":"Your GitHub repository owner.","tags":[],"id":"#appConfig/docus/github/owner","default":"","type":"string"},"edit":{"title":"EditOnGithub","description":"Display EditOnGithub button.","tags":[],"id":"#appConfig/docus/github/edit","default":false,"type":"boolean"}},"type":"object","default":{"dir":"","branch":"","repo":"","owner":"","edit":false}}},"type":"object","default":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}},"type":"object","default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}},"default":{"nuxtIcon":{"size":"1em","class":"","aliases":{}},"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"},"h1":{"icon":""},"h2":{"icon":""},"h3":{"icon":""},"h4":{"icon":""},"h5":{"icon":""},"h6":{"icon":""}},"docus":{"title":"Docus","titleTemplate":"%s · Docus","description":"The best place to start your documentation.","image":"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png","socials":{"twitter":"","github":"","facebook":"","instagram":"","youtube":"","medium":""},"layout":"default","aside":{"level":0,"collapsed":false,"exclude":[]},"header":{"title":"","logo":false,"showLinkIcon":false,"exclude":[],"fluid":false},"main":{"fluid":false,"padded":true},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"fluid":true},"github":{"dir":"","branch":"","repo":"","owner":"","edit":false}}}},"appConfig":{"prose":{"copyButton":{"iconCopy":"ph:copy","iconCopied":"ph:check"},"headings":{"icon":"ph:link"}},"docus":{"title":"Frontier","description":"Write pages in markdown, use Vue components and enjoy the power of Nuxt with a blazing fast developer experience.","image":"https://content.nuxtjs.org/preview.png","socials":{"github":"realdecoy/frontier"},"layout":{"fluid":true},"header":{"title":"","logo":"Logo","showLinkIcon":false,"fluid":false,"exclude":[]},"aside":{"level":1,"collapsed":false,"exclude":[]},"footer":{"credits":{"icon":"IconDocus","text":"Powered by Docus","href":"https://docus.dev"},"textLinks":[],"iconLinks":[{"label":"Realdecoy","href":"https://realdecoy.com","icon":"IconNuxt"}],"fluid":false},"github":{"dir":"","branch":"main","repo":"frontier","owner":"realdecoy","edit":true,"root":"","releases":true},"url":"https://realdecoy.com","cover":{"src":"/cover.jpg","alt":"Tooling maded easy for developers"}},"github":{"owner":"realdecoy","repo":"frontier","branch":"main"}},"tokensConfigSchema":{"properties":{"id":"#tokensConfig","properties":{"media":{"title":"Your website media queries.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:screenshot-monitor-outline-rounded"],"id":"#tokensConfig/media","properties":{"xs":{"id":"#tokensConfig/media/xs","properties":{"value":{"type":"string","id":"#tokensConfig/media/xs/value","default":"(min-width: 475px)"}},"type":"object","default":{"value":"(min-width: 475px)"}},"sm":{"id":"#tokensConfig/media/sm","properties":{"value":{"type":"string","id":"#tokensConfig/media/sm/value","default":"(min-width: 640px)"}},"type":"object","default":{"value":"(min-width: 640px)"}},"md":{"id":"#tokensConfig/media/md","properties":{"value":{"type":"string","id":"#tokensConfig/media/md/value","default":"(min-width: 768px)"}},"type":"object","default":{"value":"(min-width: 768px)"}},"lg":{"id":"#tokensConfig/media/lg","properties":{"value":{"type":"string","id":"#tokensConfig/media/lg/value","default":"(min-width: 1024px)"}},"type":"object","default":{"value":"(min-width: 1024px)"}},"xl":{"id":"#tokensConfig/media/xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/xl/value","default":"(min-width: 1280px)"}},"type":"object","default":{"value":"(min-width: 1280px)"}},"2xl":{"id":"#tokensConfig/media/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/media/2xl/value","default":"(min-width: 1536px)"}},"type":"object","default":{"value":"(min-width: 1536px)"}},"rm":{"id":"#tokensConfig/media/rm","properties":{"value":{"type":"string","id":"#tokensConfig/media/rm/value","default":"(prefers-reduced-motion: reduce)"}},"type":"object","default":{"value":"(prefers-reduced-motion: reduce)"}},"landscape":{"id":"#tokensConfig/media/landscape","properties":{"value":{"type":"string","id":"#tokensConfig/media/landscape/value","default":"only screen and (orientation: landscape)"}},"type":"object","default":{"value":"only screen and (orientation: landscape)"}},"portrait":{"id":"#tokensConfig/media/portrait","properties":{"value":{"type":"string","id":"#tokensConfig/media/portrait/value","default":"only screen and (orientation: portrait)"}},"type":"object","default":{"value":"only screen and (orientation: portrait)"}}},"type":"object","default":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}}},"color":{"title":"Your website color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/color","properties":{"white":{"id":"#tokensConfig/color/white","properties":{"value":{"type":"string","id":"#tokensConfig/color/white/value","default":"#ffffff"}},"type":"object","default":{"value":"#ffffff"}},"black":{"id":"#tokensConfig/color/black","properties":{"value":{"type":"string","id":"#tokensConfig/color/black/value","default":"#0B0A0A"}},"type":"object","default":{"value":"#0B0A0A"}},"gray":{"id":"#tokensConfig/color/gray","properties":{"50":{"id":"#tokensConfig/color/gray/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/50/value","default":"#FBFBFB"}},"type":"object","default":{"value":"#FBFBFB"}},"100":{"id":"#tokensConfig/color/gray/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/100/value","default":"#F6F5F4"}},"type":"object","default":{"value":"#F6F5F4"}},"200":{"id":"#tokensConfig/color/gray/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/200/value","default":"#ECEBE8"}},"type":"object","default":{"value":"#ECEBE8"}},"300":{"id":"#tokensConfig/color/gray/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/300/value","default":"#DBD9D3"}},"type":"object","default":{"value":"#DBD9D3"}},"400":{"id":"#tokensConfig/color/gray/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/400/value","default":"#ADA9A4"}},"type":"object","default":{"value":"#ADA9A4"}},"500":{"id":"#tokensConfig/color/gray/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/500/value","default":"#97948F"}},"type":"object","default":{"value":"#97948F"}},"600":{"id":"#tokensConfig/color/gray/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/600/value","default":"#67635D"}},"type":"object","default":{"value":"#67635D"}},"700":{"id":"#tokensConfig/color/gray/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/700/value","default":"#36332E"}},"type":"object","default":{"value":"#36332E"}},"800":{"id":"#tokensConfig/color/gray/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/800/value","default":"#201E1B"}},"type":"object","default":{"value":"#201E1B"}},"900":{"id":"#tokensConfig/color/gray/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/gray/900/value","default":"#121110"}},"type":"object","default":{"value":"#121110"}}},"type":"object","default":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}}},"green":{"id":"#tokensConfig/color/green","properties":{"50":{"id":"#tokensConfig/color/green/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/50/value","default":"#ECFFF7"}},"type":"object","default":{"value":"#ECFFF7"}},"100":{"id":"#tokensConfig/color/green/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/100/value","default":"#DEFFF1"}},"type":"object","default":{"value":"#DEFFF1"}},"200":{"id":"#tokensConfig/color/green/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/200/value","default":"#C3FFE6"}},"type":"object","default":{"value":"#C3FFE6"}},"300":{"id":"#tokensConfig/color/green/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/300/value","default":"#86FBCB"}},"type":"object","default":{"value":"#86FBCB"}},"400":{"id":"#tokensConfig/color/green/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/400/value","default":"#3CEEA5"}},"type":"object","default":{"value":"#3CEEA5"}},"500":{"id":"#tokensConfig/color/green/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/500/value","default":"#0DD885"}},"type":"object","default":{"value":"#0DD885"}},"600":{"id":"#tokensConfig/color/green/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/600/value","default":"#00B467"}},"type":"object","default":{"value":"#00B467"}},"700":{"id":"#tokensConfig/color/green/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/700/value","default":"#006037"}},"type":"object","default":{"value":"#006037"}},"800":{"id":"#tokensConfig/color/green/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/800/value","default":"#002817"}},"type":"object","default":{"value":"#002817"}},"900":{"id":"#tokensConfig/color/green/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/green/900/value","default":"#00190F"}},"type":"object","default":{"value":"#00190F"}}},"type":"object","default":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}}},"yellow":{"id":"#tokensConfig/color/yellow","properties":{"50":{"id":"#tokensConfig/color/yellow/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/50/value","default":"#FFFDEA"}},"type":"object","default":{"value":"#FFFDEA"}},"100":{"id":"#tokensConfig/color/yellow/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/100/value","default":"#FFF8CC"}},"type":"object","default":{"value":"#FFF8CC"}},"200":{"id":"#tokensConfig/color/yellow/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/200/value","default":"#FEF5A4"}},"type":"object","default":{"value":"#FEF5A4"}},"300":{"id":"#tokensConfig/color/yellow/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/300/value","default":"#FFEF8A"}},"type":"object","default":{"value":"#FFEF8A"}},"400":{"id":"#tokensConfig/color/yellow/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/400/value","default":"#FFE53C"}},"type":"object","default":{"value":"#FFE53C"}},"500":{"id":"#tokensConfig/color/yellow/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/500/value","default":"#EECF00"}},"type":"object","default":{"value":"#EECF00"}},"600":{"id":"#tokensConfig/color/yellow/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/600/value","default":"#C2A905"}},"type":"object","default":{"value":"#C2A905"}},"700":{"id":"#tokensConfig/color/yellow/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/700/value","default":"#6B5D02"}},"type":"object","default":{"value":"#6B5D02"}},"800":{"id":"#tokensConfig/color/yellow/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/800/value","default":"#282300"}},"type":"object","default":{"value":"#282300"}},"900":{"id":"#tokensConfig/color/yellow/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/yellow/900/value","default":"#1A1700"}},"type":"object","default":{"value":"#1A1700"}}},"type":"object","default":{"50":{"value":"#FFFDEA"},"100":{"value":"#FFF8CC"},"200":{"value":"#FEF5A4"},"300":{"value":"#FFEF8A"},"400":{"value":"#FFE53C"},"500":{"value":"#EECF00"},"600":{"value":"#C2A905"},"700":{"value":"#6B5D02"},"800":{"value":"#282300"},"900":{"value":"#1A1700"}}},"orange":{"id":"#tokensConfig/color/orange","properties":{"50":{"id":"#tokensConfig/color/orange/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/50/value","default":"#ffe9d9"}},"type":"object","default":{"value":"#ffe9d9"}},"100":{"id":"#tokensConfig/color/orange/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/100/value","default":"#ffd3b3"}},"type":"object","default":{"value":"#ffd3b3"}},"200":{"id":"#tokensConfig/color/orange/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/200/value","default":"#ffbd8d"}},"type":"object","default":{"value":"#ffbd8d"}},"300":{"id":"#tokensConfig/color/orange/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/300/value","default":"#ffa666"}},"type":"object","default":{"value":"#ffa666"}},"400":{"id":"#tokensConfig/color/orange/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/400/value","default":"#ff9040"}},"type":"object","default":{"value":"#ff9040"}},"500":{"id":"#tokensConfig/color/orange/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/500/value","default":"#ff7a1a"}},"type":"object","default":{"value":"#ff7a1a"}},"600":{"id":"#tokensConfig/color/orange/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/600/value","default":"#e15e00"}},"type":"object","default":{"value":"#e15e00"}},"700":{"id":"#tokensConfig/color/orange/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/700/value","default":"#a94700"}},"type":"object","default":{"value":"#a94700"}},"800":{"id":"#tokensConfig/color/orange/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/800/value","default":"#702f00"}},"type":"object","default":{"value":"#702f00"}},"900":{"id":"#tokensConfig/color/orange/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/orange/900/value","default":"#381800"}},"type":"object","default":{"value":"#381800"}}},"type":"object","default":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}}},"red":{"id":"#tokensConfig/color/red","properties":{"50":{"id":"#tokensConfig/color/red/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/50/value","default":"#FFF9F8"}},"type":"object","default":{"value":"#FFF9F8"}},"100":{"id":"#tokensConfig/color/red/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/100/value","default":"#FFF3F0"}},"type":"object","default":{"value":"#FFF3F0"}},"200":{"id":"#tokensConfig/color/red/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/200/value","default":"#FFDED7"}},"type":"object","default":{"value":"#FFDED7"}},"300":{"id":"#tokensConfig/color/red/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/300/value","default":"#FFA692"}},"type":"object","default":{"value":"#FFA692"}},"400":{"id":"#tokensConfig/color/red/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/400/value","default":"#FF7353"}},"type":"object","default":{"value":"#FF7353"}},"500":{"id":"#tokensConfig/color/red/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/500/value","default":"#FF3B10"}},"type":"object","default":{"value":"#FF3B10"}},"600":{"id":"#tokensConfig/color/red/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/600/value","default":"#BB2402"}},"type":"object","default":{"value":"#BB2402"}},"700":{"id":"#tokensConfig/color/red/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/700/value","default":"#701704"}},"type":"object","default":{"value":"#701704"}},"800":{"id":"#tokensConfig/color/red/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/800/value","default":"#340A01"}},"type":"object","default":{"value":"#340A01"}},"900":{"id":"#tokensConfig/color/red/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/red/900/value","default":"#1C0301"}},"type":"object","default":{"value":"#1C0301"}}},"type":"object","default":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}}},"pear":{"id":"#tokensConfig/color/pear","properties":{"50":{"id":"#tokensConfig/color/pear/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/50/value","default":"#f7f8dc"}},"type":"object","default":{"value":"#f7f8dc"}},"100":{"id":"#tokensConfig/color/pear/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/100/value","default":"#eff0ba"}},"type":"object","default":{"value":"#eff0ba"}},"200":{"id":"#tokensConfig/color/pear/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/200/value","default":"#e8e997"}},"type":"object","default":{"value":"#e8e997"}},"300":{"id":"#tokensConfig/color/pear/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/300/value","default":"#e0e274"}},"type":"object","default":{"value":"#e0e274"}},"400":{"id":"#tokensConfig/color/pear/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/400/value","default":"#d8da52"}},"type":"object","default":{"value":"#d8da52"}},"500":{"id":"#tokensConfig/color/pear/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/500/value","default":"#d0d32f"}},"type":"object","default":{"value":"#d0d32f"}},"600":{"id":"#tokensConfig/color/pear/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/600/value","default":"#a8aa24"}},"type":"object","default":{"value":"#a8aa24"}},"700":{"id":"#tokensConfig/color/pear/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/700/value","default":"#7e801b"}},"type":"object","default":{"value":"#7e801b"}},"800":{"id":"#tokensConfig/color/pear/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/800/value","default":"#545512"}},"type":"object","default":{"value":"#545512"}},"900":{"id":"#tokensConfig/color/pear/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pear/900/value","default":"#2a2b09"}},"type":"object","default":{"value":"#2a2b09"}}},"type":"object","default":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}}},"teal":{"id":"#tokensConfig/color/teal","properties":{"50":{"id":"#tokensConfig/color/teal/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/50/value","default":"#d7faf8"}},"type":"object","default":{"value":"#d7faf8"}},"100":{"id":"#tokensConfig/color/teal/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/100/value","default":"#aff4f0"}},"type":"object","default":{"value":"#aff4f0"}},"200":{"id":"#tokensConfig/color/teal/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/200/value","default":"#87efe9"}},"type":"object","default":{"value":"#87efe9"}},"300":{"id":"#tokensConfig/color/teal/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/300/value","default":"#5fe9e1"}},"type":"object","default":{"value":"#5fe9e1"}},"400":{"id":"#tokensConfig/color/teal/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/400/value","default":"#36e4da"}},"type":"object","default":{"value":"#36e4da"}},"500":{"id":"#tokensConfig/color/teal/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/500/value","default":"#1cd1c6"}},"type":"object","default":{"value":"#1cd1c6"}},"600":{"id":"#tokensConfig/color/teal/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/600/value","default":"#16a79e"}},"type":"object","default":{"value":"#16a79e"}},"700":{"id":"#tokensConfig/color/teal/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/700/value","default":"#117d77"}},"type":"object","default":{"value":"#117d77"}},"800":{"id":"#tokensConfig/color/teal/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/800/value","default":"#0b544f"}},"type":"object","default":{"value":"#0b544f"}},"900":{"id":"#tokensConfig/color/teal/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/teal/900/value","default":"#062a28"}},"type":"object","default":{"value":"#062a28"}}},"type":"object","default":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}}},"lightblue":{"id":"#tokensConfig/color/lightblue","properties":{"50":{"id":"#tokensConfig/color/lightblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/50/value","default":"#d9f8ff"}},"type":"object","default":{"value":"#d9f8ff"}},"100":{"id":"#tokensConfig/color/lightblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/100/value","default":"#b3f1ff"}},"type":"object","default":{"value":"#b3f1ff"}},"200":{"id":"#tokensConfig/color/lightblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/200/value","default":"#8deaff"}},"type":"object","default":{"value":"#8deaff"}},"300":{"id":"#tokensConfig/color/lightblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/300/value","default":"#66e4ff"}},"type":"object","default":{"value":"#66e4ff"}},"400":{"id":"#tokensConfig/color/lightblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/400/value","default":"#40ddff"}},"type":"object","default":{"value":"#40ddff"}},"500":{"id":"#tokensConfig/color/lightblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/500/value","default":"#1ad6ff"}},"type":"object","default":{"value":"#1ad6ff"}},"600":{"id":"#tokensConfig/color/lightblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/600/value","default":"#00b9e1"}},"type":"object","default":{"value":"#00b9e1"}},"700":{"id":"#tokensConfig/color/lightblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/700/value","default":"#008aa9"}},"type":"object","default":{"value":"#008aa9"}},"800":{"id":"#tokensConfig/color/lightblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/800/value","default":"#005c70"}},"type":"object","default":{"value":"#005c70"}},"900":{"id":"#tokensConfig/color/lightblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/lightblue/900/value","default":"#002e38"}},"type":"object","default":{"value":"#002e38"}}},"type":"object","default":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}}},"blue":{"id":"#tokensConfig/color/blue","properties":{"50":{"id":"#tokensConfig/color/blue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/50/value","default":"#F2FAFF"}},"type":"object","default":{"value":"#F2FAFF"}},"100":{"id":"#tokensConfig/color/blue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/100/value","default":"#DFF3FF"}},"type":"object","default":{"value":"#DFF3FF"}},"200":{"id":"#tokensConfig/color/blue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/200/value","default":"#C6EAFF"}},"type":"object","default":{"value":"#C6EAFF"}},"300":{"id":"#tokensConfig/color/blue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/300/value","default":"#A1DDFF"}},"type":"object","default":{"value":"#A1DDFF"}},"400":{"id":"#tokensConfig/color/blue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/400/value","default":"#64C7FF"}},"type":"object","default":{"value":"#64C7FF"}},"500":{"id":"#tokensConfig/color/blue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/500/value","default":"#1AADFF"}},"type":"object","default":{"value":"#1AADFF"}},"600":{"id":"#tokensConfig/color/blue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/600/value","default":"#0069A6"}},"type":"object","default":{"value":"#0069A6"}},"700":{"id":"#tokensConfig/color/blue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/700/value","default":"#003351"}},"type":"object","default":{"value":"#003351"}},"800":{"id":"#tokensConfig/color/blue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/800/value","default":"#002235"}},"type":"object","default":{"value":"#002235"}},"900":{"id":"#tokensConfig/color/blue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/blue/900/value","default":"#00131D"}},"type":"object","default":{"value":"#00131D"}}},"type":"object","default":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#003351"},"800":{"value":"#002235"},"900":{"value":"#00131D"}}},"indigoblue":{"id":"#tokensConfig/color/indigoblue","properties":{"50":{"id":"#tokensConfig/color/indigoblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/50/value","default":"#d9e5ff"}},"type":"object","default":{"value":"#d9e5ff"}},"100":{"id":"#tokensConfig/color/indigoblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/100/value","default":"#b3cbff"}},"type":"object","default":{"value":"#b3cbff"}},"200":{"id":"#tokensConfig/color/indigoblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/200/value","default":"#8db0ff"}},"type":"object","default":{"value":"#8db0ff"}},"300":{"id":"#tokensConfig/color/indigoblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/300/value","default":"#6696ff"}},"type":"object","default":{"value":"#6696ff"}},"400":{"id":"#tokensConfig/color/indigoblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/400/value","default":"#407cff"}},"type":"object","default":{"value":"#407cff"}},"500":{"id":"#tokensConfig/color/indigoblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/500/value","default":"#1a62ff"}},"type":"object","default":{"value":"#1a62ff"}},"600":{"id":"#tokensConfig/color/indigoblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/600/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}},"700":{"id":"#tokensConfig/color/indigoblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/700/value","default":"#0035a9"}},"type":"object","default":{"value":"#0035a9"}},"800":{"id":"#tokensConfig/color/indigoblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/800/value","default":"#002370"}},"type":"object","default":{"value":"#002370"}},"900":{"id":"#tokensConfig/color/indigoblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/indigoblue/900/value","default":"#001238"}},"type":"object","default":{"value":"#001238"}}},"type":"object","default":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}}},"royalblue":{"id":"#tokensConfig/color/royalblue","properties":{"50":{"id":"#tokensConfig/color/royalblue/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/50/value","default":"#dfdbfb"}},"type":"object","default":{"value":"#dfdbfb"}},"100":{"id":"#tokensConfig/color/royalblue/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/100/value","default":"#c0b7f7"}},"type":"object","default":{"value":"#c0b7f7"}},"200":{"id":"#tokensConfig/color/royalblue/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/200/value","default":"#a093f3"}},"type":"object","default":{"value":"#a093f3"}},"300":{"id":"#tokensConfig/color/royalblue/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/300/value","default":"#806ff0"}},"type":"object","default":{"value":"#806ff0"}},"400":{"id":"#tokensConfig/color/royalblue/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/400/value","default":"#614bec"}},"type":"object","default":{"value":"#614bec"}},"500":{"id":"#tokensConfig/color/royalblue/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/500/value","default":"#4127e8"}},"type":"object","default":{"value":"#4127e8"}},"600":{"id":"#tokensConfig/color/royalblue/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/600/value","default":"#2c15c4"}},"type":"object","default":{"value":"#2c15c4"}},"700":{"id":"#tokensConfig/color/royalblue/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/700/value","default":"#211093"}},"type":"object","default":{"value":"#211093"}},"800":{"id":"#tokensConfig/color/royalblue/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/800/value","default":"#160a62"}},"type":"object","default":{"value":"#160a62"}},"900":{"id":"#tokensConfig/color/royalblue/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/royalblue/900/value","default":"#0b0531"}},"type":"object","default":{"value":"#0b0531"}}},"type":"object","default":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}}},"purple":{"id":"#tokensConfig/color/purple","properties":{"50":{"id":"#tokensConfig/color/purple/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/50/value","default":"#ead9ff"}},"type":"object","default":{"value":"#ead9ff"}},"100":{"id":"#tokensConfig/color/purple/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/100/value","default":"#d5b3ff"}},"type":"object","default":{"value":"#d5b3ff"}},"200":{"id":"#tokensConfig/color/purple/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/200/value","default":"#c08dff"}},"type":"object","default":{"value":"#c08dff"}},"300":{"id":"#tokensConfig/color/purple/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/300/value","default":"#ab66ff"}},"type":"object","default":{"value":"#ab66ff"}},"400":{"id":"#tokensConfig/color/purple/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/400/value","default":"#9640ff"}},"type":"object","default":{"value":"#9640ff"}},"500":{"id":"#tokensConfig/color/purple/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/500/value","default":"#811aff"}},"type":"object","default":{"value":"#811aff"}},"600":{"id":"#tokensConfig/color/purple/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/600/value","default":"#6500e1"}},"type":"object","default":{"value":"#6500e1"}},"700":{"id":"#tokensConfig/color/purple/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/700/value","default":"#4c00a9"}},"type":"object","default":{"value":"#4c00a9"}},"800":{"id":"#tokensConfig/color/purple/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/800/value","default":"#330070"}},"type":"object","default":{"value":"#330070"}},"900":{"id":"#tokensConfig/color/purple/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/purple/900/value","default":"#190038"}},"type":"object","default":{"value":"#190038"}}},"type":"object","default":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}}},"pink":{"id":"#tokensConfig/color/pink","properties":{"50":{"id":"#tokensConfig/color/pink/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/50/value","default":"#ffd9f2"}},"type":"object","default":{"value":"#ffd9f2"}},"100":{"id":"#tokensConfig/color/pink/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/100/value","default":"#ffb3e5"}},"type":"object","default":{"value":"#ffb3e5"}},"200":{"id":"#tokensConfig/color/pink/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/200/value","default":"#ff8dd8"}},"type":"object","default":{"value":"#ff8dd8"}},"300":{"id":"#tokensConfig/color/pink/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/300/value","default":"#ff66cc"}},"type":"object","default":{"value":"#ff66cc"}},"400":{"id":"#tokensConfig/color/pink/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/400/value","default":"#ff40bf"}},"type":"object","default":{"value":"#ff40bf"}},"500":{"id":"#tokensConfig/color/pink/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/500/value","default":"#ff1ab2"}},"type":"object","default":{"value":"#ff1ab2"}},"600":{"id":"#tokensConfig/color/pink/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/600/value","default":"#e10095"}},"type":"object","default":{"value":"#e10095"}},"700":{"id":"#tokensConfig/color/pink/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/700/value","default":"#a90070"}},"type":"object","default":{"value":"#a90070"}},"800":{"id":"#tokensConfig/color/pink/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/800/value","default":"#70004b"}},"type":"object","default":{"value":"#70004b"}},"900":{"id":"#tokensConfig/color/pink/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/pink/900/value","default":"#380025"}},"type":"object","default":{"value":"#380025"}}},"type":"object","default":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}}},"ruby":{"id":"#tokensConfig/color/ruby","properties":{"50":{"id":"#tokensConfig/color/ruby/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/50/value","default":"#ffd9e4"}},"type":"object","default":{"value":"#ffd9e4"}},"100":{"id":"#tokensConfig/color/ruby/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/100/value","default":"#ffb3c9"}},"type":"object","default":{"value":"#ffb3c9"}},"200":{"id":"#tokensConfig/color/ruby/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/200/value","default":"#ff8dae"}},"type":"object","default":{"value":"#ff8dae"}},"300":{"id":"#tokensConfig/color/ruby/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/300/value","default":"#ff6694"}},"type":"object","default":{"value":"#ff6694"}},"400":{"id":"#tokensConfig/color/ruby/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/400/value","default":"#ff4079"}},"type":"object","default":{"value":"#ff4079"}},"500":{"id":"#tokensConfig/color/ruby/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/500/value","default":"#ff1a5e"}},"type":"object","default":{"value":"#ff1a5e"}},"600":{"id":"#tokensConfig/color/ruby/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/600/value","default":"#e10043"}},"type":"object","default":{"value":"#e10043"}},"700":{"id":"#tokensConfig/color/ruby/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/700/value","default":"#a90032"}},"type":"object","default":{"value":"#a90032"}},"800":{"id":"#tokensConfig/color/ruby/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/800/value","default":"#700021"}},"type":"object","default":{"value":"#700021"}},"900":{"id":"#tokensConfig/color/ruby/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/ruby/900/value","default":"#380011"}},"type":"object","default":{"value":"#380011"}}},"type":"object","default":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}}},"primary":{"id":"#tokensConfig/color/primary","properties":{"50":{"id":"#tokensConfig/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/50/value","default":"#fff2cc"}},"type":"object","default":{"value":"#fff2cc"}},"100":{"id":"#tokensConfig/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/100/value","default":"#ffe599"}},"type":"object","default":{"value":"#ffe599"}},"200":{"id":"#tokensConfig/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/200/value","default":"#ffd966"}},"type":"object","default":{"value":"#ffd966"}},"300":{"id":"#tokensConfig/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/300/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"400":{"id":"#tokensConfig/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/400/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"500":{"id":"#tokensConfig/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/500/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"600":{"id":"#tokensConfig/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/600/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"700":{"id":"#tokensConfig/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/700/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"800":{"id":"#tokensConfig/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/800/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}},"900":{"id":"#tokensConfig/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/primary/900/value","default":"#f1c232"}},"type":"object","default":{"value":"#f1c232"}}},"type":"object","default":{"50":{"value":"#fff2cc"},"100":{"value":"#ffe599"},"200":{"value":"#ffd966"},"300":{"value":"#f1c232"},"400":{"value":"#f1c232"},"500":{"value":"#f1c232"},"600":{"value":"#f1c232"},"700":{"value":"#f1c232"},"800":{"value":"#f1c232"},"900":{"value":"#f1c232"}}},"secondary":{"id":"#tokensConfig/color/secondary","properties":{"50":{"id":"#tokensConfig/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"type":"object","default":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFDEA"},"100":{"value":"#FFF8CC"},"200":{"value":"#FEF5A4"},"300":{"value":"#FFEF8A"},"400":{"value":"#FFE53C"},"500":{"value":"#EECF00"},"600":{"value":"#C2A905"},"700":{"value":"#6B5D02"},"800":{"value":"#282300"},"900":{"value":"#1A1700"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#003351"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#fff2cc"},"100":{"value":"#ffe599"},"200":{"value":"#ffd966"},"300":{"value":"#f1c232"},"400":{"value":"#f1c232"},"500":{"value":"#f1c232"},"600":{"value":"#f1c232"},"700":{"value":"#f1c232"},"800":{"value":"#f1c232"},"900":{"value":"#f1c232"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"width":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/width","properties":{"screen":{"id":"#tokensConfig/width/screen","properties":{"value":{"type":"string","id":"#tokensConfig/width/screen/value","default":"100vw"}},"type":"object","default":{"value":"100vw"}}},"type":"object","default":{"screen":{"value":"100vw"}}},"height":{"title":"Your website screen sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/height","properties":{"screen":{"id":"#tokensConfig/height/screen","properties":{"value":{"type":"string","id":"#tokensConfig/height/screen/value","default":"100vh"}},"type":"object","default":{"value":"100vh"}}},"type":"object","default":{"screen":{"value":"100vh"}}},"shadow":{"title":"Your website shadows.","tags":["@studioInput design-token","@studioInputTokenType shadow","@studioIcon mdi:box-shadow"],"id":"#tokensConfig/shadow","properties":{"xs":{"id":"#tokensConfig/shadow/xs","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xs/value","default":"0px 1px 2px 0px #000000"}},"type":"object","default":{"value":"0px 1px 2px 0px #000000"}},"sm":{"id":"#tokensConfig/shadow/sm","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/sm/value","default":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"}},"type":"object","default":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"}},"md":{"id":"#tokensConfig/shadow/md","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/md/value","default":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"}},"type":"object","default":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"}},"lg":{"id":"#tokensConfig/shadow/lg","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/lg/value","default":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"}},"type":"object","default":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"}},"xl":{"id":"#tokensConfig/shadow/xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/xl/value","default":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"}},"type":"object","default":{"value":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"}},"2xl":{"id":"#tokensConfig/shadow/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/2xl/value","default":"0px 25px 50px -12px {color.gray.900}"}},"type":"object","default":{"value":"0px 25px 50px -12px {color.gray.900}"}},"none":{"id":"#tokensConfig/shadow/none","properties":{"value":{"type":"string","id":"#tokensConfig/shadow/none/value","default":"0px 0px 0px 0px transparent"}},"type":"object","default":{"value":"0px 0px 0px 0px transparent"}}},"type":"object","default":{"xs":{"value":"0px 1px 2px 0px #000000"},"sm":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"},"md":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"},"lg":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"},"xl":{"value":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"},"2xl":{"value":"0px 25px 50px -12px {color.gray.900}"},"none":{"value":"0px 0px 0px 0px transparent"}}},"radii":{"title":"Your website border radiuses.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:rounded-corner","@studioInpuTokenType size"],"id":"#tokensConfig/radii","properties":{"none":{"id":"#tokensConfig/radii/none","properties":{"value":{"type":"string","id":"#tokensConfig/radii/none/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2xs":{"id":"#tokensConfig/radii/2xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xs/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"xs":{"id":"#tokensConfig/radii/xs","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xs/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"sm":{"id":"#tokensConfig/radii/sm","properties":{"value":{"type":"string","id":"#tokensConfig/radii/sm/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"md":{"id":"#tokensConfig/radii/md","properties":{"value":{"type":"string","id":"#tokensConfig/radii/md/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"lg":{"id":"#tokensConfig/radii/lg","properties":{"value":{"type":"string","id":"#tokensConfig/radii/lg/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"xl":{"id":"#tokensConfig/radii/xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/xl/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"2xl":{"id":"#tokensConfig/radii/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/radii/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/radii/3xl/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"full":{"id":"#tokensConfig/radii/full","properties":{"value":{"type":"string","id":"#tokensConfig/radii/full/value","default":"9999px"}},"type":"object","default":{"value":"9999px"}}},"type":"object","default":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}}},"size":{"title":"Your website sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/size","properties":{"0":{"id":"#tokensConfig/size/0","properties":{"value":{"type":"string","id":"#tokensConfig/size/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"2":{"id":"#tokensConfig/size/2","properties":{"value":{"type":"string","id":"#tokensConfig/size/2/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"4":{"id":"#tokensConfig/size/4","properties":{"value":{"type":"string","id":"#tokensConfig/size/4/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"6":{"id":"#tokensConfig/size/6","properties":{"value":{"type":"string","id":"#tokensConfig/size/6/value","default":"6px"}},"type":"object","default":{"value":"6px"}},"8":{"id":"#tokensConfig/size/8","properties":{"value":{"type":"string","id":"#tokensConfig/size/8/value","default":"8px"}},"type":"object","default":{"value":"8px"}},"12":{"id":"#tokensConfig/size/12","properties":{"value":{"type":"string","id":"#tokensConfig/size/12/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"16":{"id":"#tokensConfig/size/16","properties":{"value":{"type":"string","id":"#tokensConfig/size/16/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"20":{"id":"#tokensConfig/size/20","properties":{"value":{"type":"string","id":"#tokensConfig/size/20/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"24":{"id":"#tokensConfig/size/24","properties":{"value":{"type":"string","id":"#tokensConfig/size/24/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"32":{"id":"#tokensConfig/size/32","properties":{"value":{"type":"string","id":"#tokensConfig/size/32/value","default":"32px"}},"type":"object","default":{"value":"32px"}},"40":{"id":"#tokensConfig/size/40","properties":{"value":{"type":"string","id":"#tokensConfig/size/40/value","default":"40px"}},"type":"object","default":{"value":"40px"}},"48":{"id":"#tokensConfig/size/48","properties":{"value":{"type":"string","id":"#tokensConfig/size/48/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"56":{"id":"#tokensConfig/size/56","properties":{"value":{"type":"string","id":"#tokensConfig/size/56/value","default":"56px"}},"type":"object","default":{"value":"56px"}},"64":{"id":"#tokensConfig/size/64","properties":{"value":{"type":"string","id":"#tokensConfig/size/64/value","default":"64px"}},"type":"object","default":{"value":"64px"}},"80":{"id":"#tokensConfig/size/80","properties":{"value":{"type":"string","id":"#tokensConfig/size/80/value","default":"80px"}},"type":"object","default":{"value":"80px"}},"104":{"id":"#tokensConfig/size/104","properties":{"value":{"type":"string","id":"#tokensConfig/size/104/value","default":"104px"}},"type":"object","default":{"value":"104px"}},"200":{"id":"#tokensConfig/size/200","properties":{"value":{"type":"string","id":"#tokensConfig/size/200/value","default":"200px"}},"type":"object","default":{"value":"200px"}},"xs":{"id":"#tokensConfig/size/xs","properties":{"value":{"type":"string","id":"#tokensConfig/size/xs/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"sm":{"id":"#tokensConfig/size/sm","properties":{"value":{"type":"string","id":"#tokensConfig/size/sm/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"md":{"id":"#tokensConfig/size/md","properties":{"value":{"type":"string","id":"#tokensConfig/size/md/value","default":"28rem"}},"type":"object","default":{"value":"28rem"}},"lg":{"id":"#tokensConfig/size/lg","properties":{"value":{"type":"string","id":"#tokensConfig/size/lg/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"xl":{"id":"#tokensConfig/size/xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/xl/value","default":"36rem"}},"type":"object","default":{"value":"36rem"}},"2xl":{"id":"#tokensConfig/size/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/2xl/value","default":"42rem"}},"type":"object","default":{"value":"42rem"}},"3xl":{"id":"#tokensConfig/size/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/3xl/value","default":"48rem"}},"type":"object","default":{"value":"48rem"}},"4xl":{"id":"#tokensConfig/size/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/4xl/value","default":"56rem"}},"type":"object","default":{"value":"56rem"}},"5xl":{"id":"#tokensConfig/size/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/5xl/value","default":"64rem"}},"type":"object","default":{"value":"64rem"}},"6xl":{"id":"#tokensConfig/size/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/6xl/value","default":"72rem"}},"type":"object","default":{"value":"72rem"}},"7xl":{"id":"#tokensConfig/size/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/size/7xl/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"full":{"id":"#tokensConfig/size/full","properties":{"value":{"type":"string","id":"#tokensConfig/size/full/value","default":"100%"}},"type":"object","default":{"value":"100%"}}},"type":"object","default":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}}},"space":{"title":"Your website spacings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon ph:ruler"],"id":"#tokensConfig/space","properties":{"0":{"id":"#tokensConfig/space/0","properties":{"value":{"type":"string","id":"#tokensConfig/space/0/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"1":{"id":"#tokensConfig/space/1","properties":{"value":{"type":"string","id":"#tokensConfig/space/1/value","default":"0.25rem"}},"type":"object","default":{"value":"0.25rem"}},"2":{"id":"#tokensConfig/space/2","properties":{"value":{"type":"string","id":"#tokensConfig/space/2/value","default":"0.5rem"}},"type":"object","default":{"value":"0.5rem"}},"3":{"id":"#tokensConfig/space/3","properties":{"value":{"type":"string","id":"#tokensConfig/space/3/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"4":{"id":"#tokensConfig/space/4","properties":{"value":{"type":"string","id":"#tokensConfig/space/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/space/5","properties":{"value":{"type":"string","id":"#tokensConfig/space/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/space/6","properties":{"value":{"type":"string","id":"#tokensConfig/space/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/space/7","properties":{"value":{"type":"string","id":"#tokensConfig/space/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/space/8","properties":{"value":{"type":"string","id":"#tokensConfig/space/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/space/9","properties":{"value":{"type":"string","id":"#tokensConfig/space/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/space/10","properties":{"value":{"type":"string","id":"#tokensConfig/space/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"11":{"id":"#tokensConfig/space/11","properties":{"value":{"type":"string","id":"#tokensConfig/space/11/value","default":"2.75rem"}},"type":"object","default":{"value":"2.75rem"}},"12":{"id":"#tokensConfig/space/12","properties":{"value":{"type":"string","id":"#tokensConfig/space/12/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"14":{"id":"#tokensConfig/space/14","properties":{"value":{"type":"string","id":"#tokensConfig/space/14/value","default":"3.5rem"}},"type":"object","default":{"value":"3.5rem"}},"16":{"id":"#tokensConfig/space/16","properties":{"value":{"type":"string","id":"#tokensConfig/space/16/value","default":"4rem"}},"type":"object","default":{"value":"4rem"}},"20":{"id":"#tokensConfig/space/20","properties":{"value":{"type":"string","id":"#tokensConfig/space/20/value","default":"5rem"}},"type":"object","default":{"value":"5rem"}},"24":{"id":"#tokensConfig/space/24","properties":{"value":{"type":"string","id":"#tokensConfig/space/24/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"28":{"id":"#tokensConfig/space/28","properties":{"value":{"type":"string","id":"#tokensConfig/space/28/value","default":"7rem"}},"type":"object","default":{"value":"7rem"}},"32":{"id":"#tokensConfig/space/32","properties":{"value":{"type":"string","id":"#tokensConfig/space/32/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}},"36":{"id":"#tokensConfig/space/36","properties":{"value":{"type":"string","id":"#tokensConfig/space/36/value","default":"9rem"}},"type":"object","default":{"value":"9rem"}},"40":{"id":"#tokensConfig/space/40","properties":{"value":{"type":"string","id":"#tokensConfig/space/40/value","default":"10rem"}},"type":"object","default":{"value":"10rem"}},"44":{"id":"#tokensConfig/space/44","properties":{"value":{"type":"string","id":"#tokensConfig/space/44/value","default":"11rem"}},"type":"object","default":{"value":"11rem"}},"48":{"id":"#tokensConfig/space/48","properties":{"value":{"type":"string","id":"#tokensConfig/space/48/value","default":"12rem"}},"type":"object","default":{"value":"12rem"}},"52":{"id":"#tokensConfig/space/52","properties":{"value":{"type":"string","id":"#tokensConfig/space/52/value","default":"13rem"}},"type":"object","default":{"value":"13rem"}},"56":{"id":"#tokensConfig/space/56","properties":{"value":{"type":"string","id":"#tokensConfig/space/56/value","default":"14rem"}},"type":"object","default":{"value":"14rem"}},"60":{"id":"#tokensConfig/space/60","properties":{"value":{"type":"string","id":"#tokensConfig/space/60/value","default":"15rem"}},"type":"object","default":{"value":"15rem"}},"64":{"id":"#tokensConfig/space/64","properties":{"value":{"type":"string","id":"#tokensConfig/space/64/value","default":"16rem"}},"type":"object","default":{"value":"16rem"}},"72":{"id":"#tokensConfig/space/72","properties":{"value":{"type":"string","id":"#tokensConfig/space/72/value","default":"18rem"}},"type":"object","default":{"value":"18rem"}},"80":{"id":"#tokensConfig/space/80","properties":{"value":{"type":"string","id":"#tokensConfig/space/80/value","default":"20rem"}},"type":"object","default":{"value":"20rem"}},"96":{"id":"#tokensConfig/space/96","properties":{"value":{"type":"string","id":"#tokensConfig/space/96/value","default":"24rem"}},"type":"object","default":{"value":"24rem"}},"128":{"id":"#tokensConfig/space/128","properties":{"value":{"type":"string","id":"#tokensConfig/space/128/value","default":"32rem"}},"type":"object","default":{"value":"32rem"}},"px":{"id":"#tokensConfig/space/px","properties":{"value":{"type":"string","id":"#tokensConfig/space/px/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"rem":{"id":"#tokensConfig/space/rem","properties":{"125":{"id":"#tokensConfig/space/rem/125","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/125/value","default":"0.125rem"}},"type":"object","default":{"value":"0.125rem"}},"375":{"id":"#tokensConfig/space/rem/375","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/375/value","default":"0.375rem"}},"type":"object","default":{"value":"0.375rem"}},"625":{"id":"#tokensConfig/space/rem/625","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/625/value","default":"0.625rem"}},"type":"object","default":{"value":"0.625rem"}},"875":{"id":"#tokensConfig/space/rem/875","properties":{"value":{"type":"string","id":"#tokensConfig/space/rem/875/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}}},"type":"object","default":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"type":"object","default":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}}},"borderWidth":{"title":"Your website border widths.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/borderWidth","properties":{"noBorder":{"id":"#tokensConfig/borderWidth/noBorder","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/noBorder/value","default":"0"}},"type":"object","default":{"value":"0"}},"sm":{"id":"#tokensConfig/borderWidth/sm","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/sm/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"md":{"id":"#tokensConfig/borderWidth/md","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/md/value","default":"2px"}},"type":"object","default":{"value":"2px"}},"lg":{"id":"#tokensConfig/borderWidth/lg","properties":{"value":{"type":"string","id":"#tokensConfig/borderWidth/lg/value","default":"3px"}},"type":"object","default":{"value":"3px"}}},"type":"object","default":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}}},"opacity":{"title":"Your website opacities.","tags":["@studioInput design-token","@studioInputTokenType opacity","@studioIcon material-symbols:opacity"],"id":"#tokensConfig/opacity","properties":{"noOpacity":{"id":"#tokensConfig/opacity/noOpacity","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/noOpacity/value","default":"0"}},"type":"object","default":{"value":"0"}},"bright":{"id":"#tokensConfig/opacity/bright","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/bright/value","default":"0.1"}},"type":"object","default":{"value":"0.1"}},"light":{"id":"#tokensConfig/opacity/light","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/light/value","default":"0.15"}},"type":"object","default":{"value":"0.15"}},"soft":{"id":"#tokensConfig/opacity/soft","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/soft/value","default":"0.3"}},"type":"object","default":{"value":"0.3"}},"medium":{"id":"#tokensConfig/opacity/medium","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/medium/value","default":"0.5"}},"type":"object","default":{"value":"0.5"}},"high":{"id":"#tokensConfig/opacity/high","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/high/value","default":"0.8"}},"type":"object","default":{"value":"0.8"}},"total":{"id":"#tokensConfig/opacity/total","properties":{"value":{"type":"string","id":"#tokensConfig/opacity/total/value","default":"1"}},"type":"object","default":{"value":"1"}}},"type":"object","default":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}}},"font":{"title":"Your website fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/font","properties":{"sans":{"id":"#tokensConfig/font/sans","properties":{"value":{"type":"string","id":"#tokensConfig/font/sans/value","default":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"type":"object","default":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"}},"serif":{"id":"#tokensConfig/font/serif","properties":{"value":{"type":"string","id":"#tokensConfig/font/serif/value","default":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"type":"object","default":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"}},"mono":{"id":"#tokensConfig/font/mono","properties":{"value":{"type":"string","id":"#tokensConfig/font/mono/value","default":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"type":"object","default":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"type":"object","default":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}}},"fontWeight":{"title":"Your website font weights.","tags":["@studioInput design-token","@studioInputTokenType font-weight","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontWeight","properties":{"thin":{"id":"#tokensConfig/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"fontSize":{"title":"Your website font sizes.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon radix-icons:font-style"],"id":"#tokensConfig/fontSize","properties":{"xs":{"id":"#tokensConfig/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xs/value","default":"0.75rem"}},"type":"object","default":{"value":"0.75rem"}},"sm":{"id":"#tokensConfig/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/sm/value","default":"0.875rem"}},"type":"object","default":{"value":"0.875rem"}},"base":{"id":"#tokensConfig/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/base/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"lg":{"id":"#tokensConfig/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/lg/value","default":"1.125rem"}},"type":"object","default":{"value":"1.125rem"}},"xl":{"id":"#tokensConfig/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/xl/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"2xl":{"id":"#tokensConfig/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/2xl/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"3xl":{"id":"#tokensConfig/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/3xl/value","default":"1.875rem"}},"type":"object","default":{"value":"1.875rem"}},"4xl":{"id":"#tokensConfig/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/4xl/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"5xl":{"id":"#tokensConfig/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/5xl/value","default":"3rem"}},"type":"object","default":{"value":"3rem"}},"6xl":{"id":"#tokensConfig/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/6xl/value","default":"3.75rem"}},"type":"object","default":{"value":"3.75rem"}},"7xl":{"id":"#tokensConfig/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/7xl/value","default":"4.5rem"}},"type":"object","default":{"value":"4.5rem"}},"8xl":{"id":"#tokensConfig/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/8xl/value","default":"6rem"}},"type":"object","default":{"value":"6rem"}},"9xl":{"id":"#tokensConfig/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/fontSize/9xl/value","default":"8rem"}},"type":"object","default":{"value":"8rem"}}},"type":"object","default":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}}},"letterSpacing":{"title":"Your website letter spacings.","tags":["@studioInput design-token","@studioInputTokenType letter-spacing","@studioIcon fluent:font-space-tracking-out-24-filled"],"id":"#tokensConfig/letterSpacing","properties":{"tighter":{"id":"#tokensConfig/letterSpacing/tighter","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tighter/value","default":"-0.05em"}},"type":"object","default":{"value":"-0.05em"}},"tight":{"id":"#tokensConfig/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"normal":{"id":"#tokensConfig/letterSpacing/normal","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/normal/value","default":"0em"}},"type":"object","default":{"value":"0em"}},"wide":{"id":"#tokensConfig/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}},"wider":{"id":"#tokensConfig/letterSpacing/wider","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/wider/value","default":"0.05em"}},"type":"object","default":{"value":"0.05em"}},"widest":{"id":"#tokensConfig/letterSpacing/widest","properties":{"value":{"type":"string","id":"#tokensConfig/letterSpacing/widest/value","default":"0.1em"}},"type":"object","default":{"value":"0.1em"}}},"type":"object","default":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}}},"lead":{"title":"Your website line heights.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon icon-park-outline:auto-line-height"],"id":"#tokensConfig/lead","properties":{"1":{"id":"#tokensConfig/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"text":{"title":"Your website text scales.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:format-size-rounded"],"id":"#tokensConfig/text","properties":{"xs":{"id":"#tokensConfig/text/xs","properties":{"fontSize":{"id":"#tokensConfig/text/xs/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/fontSize/value","default":"{fontSize.xs}"}},"type":"object","default":{"value":"{fontSize.xs}"}},"lineHeight":{"id":"#tokensConfig/text/xs/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xs/lineHeight/value","default":"{lead.4}"}},"type":"object","default":{"value":"{lead.4}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}}},"sm":{"id":"#tokensConfig/text/sm","properties":{"fontSize":{"id":"#tokensConfig/text/sm/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/fontSize/value","default":"{fontSize.sm}"}},"type":"object","default":{"value":"{fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/text/sm/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/sm/lineHeight/value","default":"{lead.5}"}},"type":"object","default":{"value":"{lead.5}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}}},"base":{"id":"#tokensConfig/text/base","properties":{"fontSize":{"id":"#tokensConfig/text/base/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/fontSize/value","default":"{fontSize.base}"}},"type":"object","default":{"value":"{fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/text/base/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/base/lineHeight/value","default":"{lead.6}"}},"type":"object","default":{"value":"{lead.6}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}}},"lg":{"id":"#tokensConfig/text/lg","properties":{"fontSize":{"id":"#tokensConfig/text/lg/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/fontSize/value","default":"{fontSize.lg}"}},"type":"object","default":{"value":"{fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/text/lg/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/lg/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}}},"xl":{"id":"#tokensConfig/text/xl","properties":{"fontSize":{"id":"#tokensConfig/text/xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/fontSize/value","default":"{fontSize.xl}"}},"type":"object","default":{"value":"{fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/text/xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/xl/lineHeight/value","default":"{lead.7}"}},"type":"object","default":{"value":"{lead.7}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}}},"2xl":{"id":"#tokensConfig/text/2xl","properties":{"fontSize":{"id":"#tokensConfig/text/2xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/fontSize/value","default":"{fontSize.2xl}"}},"type":"object","default":{"value":"{fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/text/2xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/2xl/lineHeight/value","default":"{lead.8}"}},"type":"object","default":{"value":"{lead.8}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}}},"3xl":{"id":"#tokensConfig/text/3xl","properties":{"fontSize":{"id":"#tokensConfig/text/3xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/fontSize/value","default":"{fontSize.3xl}"}},"type":"object","default":{"value":"{fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/text/3xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/3xl/lineHeight/value","default":"{lead.9}"}},"type":"object","default":{"value":"{lead.9}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}}},"4xl":{"id":"#tokensConfig/text/4xl","properties":{"fontSize":{"id":"#tokensConfig/text/4xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/fontSize/value","default":"{fontSize.4xl}"}},"type":"object","default":{"value":"{fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/text/4xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/4xl/lineHeight/value","default":"{lead.10}"}},"type":"object","default":{"value":"{lead.10}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}}},"5xl":{"id":"#tokensConfig/text/5xl","properties":{"fontSize":{"id":"#tokensConfig/text/5xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/fontSize/value","default":"{fontSize.5xl}"}},"type":"object","default":{"value":"{fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/text/5xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/5xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}}},"6xl":{"id":"#tokensConfig/text/6xl","properties":{"fontSize":{"id":"#tokensConfig/text/6xl/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/fontSize/value","default":"{fontSize.6xl}"}},"type":"object","default":{"value":"{fontSize.6xl}"}},"lineHeight":{"id":"#tokensConfig/text/6xl/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/text/6xl/lineHeight/value","default":"{lead.none}"}},"type":"object","default":{"value":"{lead.none}"}}},"type":"object","default":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"type":"object","default":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}}},"elements":{"title":"All the configurable tokens for your Elements.","tags":["@studioIcon uiw:component"],"id":"#tokensConfig/elements","properties":{"text":{"id":"#tokensConfig/elements/text","properties":{"primary":{"id":"#tokensConfig/elements/text/primary","properties":{"color":{"id":"#tokensConfig/elements/text/primary/color","properties":{"static":{"id":"#tokensConfig/elements/text/primary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/primary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/initial","default":"{color.gray.900}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/primary/color/static/value/dark","default":"{color.gray.50}"}},"type":"object","default":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"type":"object","default":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}}},"hover":{"id":"#tokensConfig/elements/text/primary/color/hover","type":"any","default":{}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}}},"secondary":{"id":"#tokensConfig/elements/text/secondary","properties":{"color":{"id":"#tokensConfig/elements/text/secondary/color","properties":{"static":{"id":"#tokensConfig/elements/text/secondary/color/static","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/initial","default":"{color.gray.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/static/value/dark","default":"{color.gray.400}"}},"type":"object","default":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"type":"object","default":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}}},"hover":{"id":"#tokensConfig/elements/text/secondary/color/hover","properties":{"value":{"id":"#tokensConfig/elements/text/secondary/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/initial","default":"{color.gray.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/text/secondary/color/hover/value/dark","default":"{color.gray.200}"}},"type":"object","default":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}},"type":"object","default":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"type":"object","default":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"type":"object","default":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}}},"container":{"title":"Main container sizings.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:width-full-outline"],"id":"#tokensConfig/elements/container","properties":{"maxWidth":{"id":"#tokensConfig/elements/container/maxWidth","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/maxWidth/value","default":"80rem"}},"type":"object","default":{"value":"80rem"}},"padding":{"id":"#tokensConfig/elements/container/padding","properties":{"mobile":{"id":"#tokensConfig/elements/container/padding/mobile","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/mobile/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"xs":{"id":"#tokensConfig/elements/container/padding/xs","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/xs/value","default":"{space.4}"}},"type":"object","default":{"value":"{space.4}"}},"sm":{"id":"#tokensConfig/elements/container/padding/sm","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/sm/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}},"md":{"id":"#tokensConfig/elements/container/padding/md","properties":{"value":{"type":"string","id":"#tokensConfig/elements/container/padding/md/value","default":"{space.6}"}},"type":"object","default":{"value":"{space.6}"}}},"type":"object","default":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"type":"object","default":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}}},"backdrop":{"title":"Backdrops used in Elements.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon material-symbols:blur-circular"],"id":"#tokensConfig/elements/backdrop","properties":{"filter":{"id":"#tokensConfig/elements/backdrop/filter","properties":{"value":{"type":"string","id":"#tokensConfig/elements/backdrop/filter/value","default":"saturate(200%) blur(20px)"}},"type":"object","default":{"value":"saturate(200%) blur(20px)"}},"background":{"id":"#tokensConfig/elements/backdrop/background","properties":{"value":{"id":"#tokensConfig/elements/backdrop/background/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/initial","default":"#fffc"},"dark":{"type":"string","id":"#tokensConfig/elements/backdrop/background/value/dark","default":"#0c0d0ccc"}},"type":"object","default":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"type":"object","default":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"type":"object","default":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}}},"border":{"title":"Borders used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:border-all-outline-rounded"],"id":"#tokensConfig/elements/border","properties":{"primary":{"id":"#tokensConfig/elements/border/primary","properties":{"static":{"id":"#tokensConfig/elements/border/primary/static","properties":{"value":{"id":"#tokensConfig/elements/border/primary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/static/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"hover":{"id":"#tokensConfig/elements/border/primary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/primary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/primary/hover/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"secondary":{"id":"#tokensConfig/elements/border/secondary","properties":{"static":{"id":"#tokensConfig/elements/border/secondary/static","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/static/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"hover":{"id":"#tokensConfig/elements/border/secondary/hover","properties":{"value":{"id":"#tokensConfig/elements/border/secondary/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/initial","default":""},"dark":{"type":"string","id":"#tokensConfig/elements/border/secondary/hover/value/dark","default":""}},"type":"object","default":{"initial":"","dark":""}}},"type":"object","default":{"value":{"initial":"","dark":""}}}},"type":"object","default":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"type":"object","default":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}}},"surface":{"title":"Surfaces used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon fluent:surface-hub-20-filled"],"id":"#tokensConfig/elements/surface","properties":{"background":{"id":"#tokensConfig/elements/surface/background","properties":{"base":{"id":"#tokensConfig/elements/surface/background/base","properties":{"value":{"id":"#tokensConfig/elements/surface/background/base/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/background/base/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"primary":{"id":"#tokensConfig/elements/surface/primary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/primary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/primary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/initial","default":"{color.gray.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/primary/backgroundColor/value/dark","default":"{color.gray.900}"}},"type":"object","default":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"type":"object","default":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}}},"secondary":{"id":"#tokensConfig/elements/surface/secondary","properties":{"backgroundColor":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor","properties":{"value":{"id":"#tokensConfig/elements/surface/secondary/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/initial","default":"{color.gray.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/surface/secondary/backgroundColor/value/dark","default":"{color.gray.800}"}},"type":"object","default":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"type":"object","default":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"type":"object","default":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"type":"object","default":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}}},"state":{"title":"Color states used in Elements.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon mdi:palette-advanced"],"id":"#tokensConfig/elements/state","properties":{"primary":{"id":"#tokensConfig/elements/state/primary","properties":{"color":{"id":"#tokensConfig/elements/state/primary/color","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/initial","default":"{color.primary.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/primary/value/dark","default":"{color.primary.400}"}},"type":"object","default":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/initial","default":"{color.primary.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/color/secondary/value/dark","default":"{color.primary.200}"}},"type":"object","default":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"type":"object","default":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/primary/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/initial","default":"{color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/primary/value/dark","default":"{color.primary.900}"}},"type":"object","default":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/backgroundColor/secondary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/primary/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/primary/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/initial","default":"{color.primary.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/primary/value/dark","default":"{color.primary.800}"}},"type":"object","default":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"type":"object","default":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/primary/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/initial","default":"{color.primary.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/primary/borderColor/secondary/value/dark","default":"{color.primary.700}"}},"type":"object","default":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}},"type":"object","default":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}}},"info":{"id":"#tokensConfig/elements/state/info","properties":{"color":{"id":"#tokensConfig/elements/state/info/color","properties":{"primary":{"id":"#tokensConfig/elements/state/info/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/initial","default":"{color.blue.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/primary/value/dark","default":"{color.blue.400}"}},"type":"object","default":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"type":"object","default":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/initial","default":"{color.blue.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/color/secondary/value/dark","default":"{color.blue.200}"}},"type":"object","default":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"type":"object","default":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/info/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/initial","default":"{color.blue.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/primary/value/dark","default":"{color.blue.900}"}},"type":"object","default":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"type":"object","default":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/backgroundColor/secondary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/info/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/info/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/initial","default":"{color.blue.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/primary/value/dark","default":"{color.blue.800}"}},"type":"object","default":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"type":"object","default":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/info/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/info/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/initial","default":"{color.blue.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/info/borderColor/secondary/value/dark","default":"{color.blue.700}"}},"type":"object","default":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}},"type":"object","default":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}}},"success":{"id":"#tokensConfig/elements/state/success","properties":{"color":{"id":"#tokensConfig/elements/state/success/color","properties":{"primary":{"id":"#tokensConfig/elements/state/success/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/initial","default":"{color.green.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/primary/value/dark","default":"{color.green.400}"}},"type":"object","default":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"type":"object","default":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/initial","default":"{color.green.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/color/secondary/value/dark","default":"{color.green.200}"}},"type":"object","default":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"type":"object","default":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/success/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/initial","default":"{color.green.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/primary/value/dark","default":"{color.green.900}"}},"type":"object","default":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"type":"object","default":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/backgroundColor/secondary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/success/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/success/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/initial","default":"{color.green.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/primary/value/dark","default":"{color.green.800}"}},"type":"object","default":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"type":"object","default":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/success/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/success/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/initial","default":"{color.green.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/success/borderColor/secondary/value/dark","default":"{color.green.700}"}},"type":"object","default":{"initial":"{color.green.200}","dark":"{color.green.700}"}}},"type":"object","default":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}}},"warning":{"id":"#tokensConfig/elements/state/warning","properties":{"color":{"id":"#tokensConfig/elements/state/warning/color","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/initial","default":"{color.yellow.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/primary/value/dark","default":"{color.yellow.400}"}},"type":"object","default":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/initial","default":"{color.yellow.700}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/color/secondary/value/dark","default":"{color.yellow.200}"}},"type":"object","default":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/warning/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/initial","default":"{color.yellow.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/primary/value/dark","default":"{color.yellow.900}"}},"type":"object","default":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/backgroundColor/secondary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/warning/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/warning/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/initial","default":"{color.yellow.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/primary/value/dark","default":"{color.yellow.800}"}},"type":"object","default":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/warning/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/initial","default":"{color.yellow.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/warning/borderColor/secondary/value/dark","default":"{color.yellow.700}"}},"type":"object","default":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}},"type":"object","default":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}}},"danger":{"id":"#tokensConfig/elements/state/danger","properties":{"color":{"id":"#tokensConfig/elements/state/danger/color","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/color/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/initial","default":"{color.red.500}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/primary/value/dark","default":"{color.red.300}"}},"type":"object","default":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"type":"object","default":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/color/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/color/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/initial","default":"{color.red.600}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/color/secondary/value/dark","default":"{color.red.200}"}},"type":"object","default":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"type":"object","default":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}}},"backgroundColor":{"id":"#tokensConfig/elements/state/danger/backgroundColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/initial","default":"{color.red.50}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/primary/value/dark","default":"{color.red.900}"}},"type":"object","default":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"type":"object","default":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/backgroundColor/secondary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}}},"borderColor":{"id":"#tokensConfig/elements/state/danger/borderColor","properties":{"primary":{"id":"#tokensConfig/elements/state/danger/borderColor/primary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/primary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/initial","default":"{color.red.100}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/primary/value/dark","default":"{color.red.800}"}},"type":"object","default":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"type":"object","default":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"secondary":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary","properties":{"value":{"id":"#tokensConfig/elements/state/danger/borderColor/secondary/value","properties":{"initial":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/initial","default":"{color.red.200}"},"dark":{"type":"string","id":"#tokensConfig/elements/state/danger/borderColor/secondary/value/dark","default":"{color.red.700}"}},"type":"object","default":{"initial":"{color.red.200}","dark":"{color.red.700}"}}},"type":"object","default":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}},"type":"object","default":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}},"type":"object","default":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"type":"object","default":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"type":"object","default":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}}},"typography":{"title":"All the configurable tokens for your Typography.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon material-symbols:article"],"id":"#tokensConfig/typography","properties":{"body":{"id":"#tokensConfig/typography/body","properties":{"color":{"id":"#tokensConfig/typography/body/color","properties":{"value":{"id":"#tokensConfig/typography/body/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/color/value/initial","default":"{color.black}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/color/value/dark","default":"{color.white}"}},"type":"object","default":{"initial":"{color.black}","dark":"{color.white}"}}},"type":"object","default":{"value":{"initial":"{color.black}","dark":"{color.white}"}}},"backgroundColor":{"id":"#tokensConfig/typography/body/backgroundColor","properties":{"value":{"id":"#tokensConfig/typography/body/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/initial","default":"{color.white}"},"dark":{"type":"string","id":"#tokensConfig/typography/body/backgroundColor/value/dark","default":"{color.black}"}},"type":"object","default":{"initial":"{color.white}","dark":"{color.black}"}}},"type":"object","default":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"type":"object","default":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}}},"verticalMargin":{"title":"Vertical spacings between paragraphs.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:line-height-line"],"id":"#tokensConfig/typography/verticalMargin","properties":{"sm":{"id":"#tokensConfig/typography/verticalMargin/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/sm/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"base":{"id":"#tokensConfig/typography/verticalMargin/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/verticalMargin/base/value","default":"24px"}},"type":"object","default":{"value":"24px"}}},"type":"object","default":{"sm":{"value":"16px"},"base":{"value":"24px"}}},"letterSpacing":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType size","@studioIcon mingcute:letter-spacing-line"],"id":"#tokensConfig/typography/letterSpacing","properties":{"tight":{"id":"#tokensConfig/typography/letterSpacing/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/tight/value","default":"-0.025em"}},"type":"object","default":{"value":"-0.025em"}},"wide":{"id":"#tokensConfig/typography/letterSpacing/wide","properties":{"value":{"type":"string","id":"#tokensConfig/typography/letterSpacing/wide/value","default":"0.025em"}},"type":"object","default":{"value":"0.025em"}}},"type":"object","default":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}}},"fontSize":{"title":"Horizontal spacings between letters.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:font-size-fill"],"id":"#tokensConfig/typography/fontSize","properties":{"xs":{"id":"#tokensConfig/typography/fontSize/xs","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xs/value","default":"12px"}},"type":"object","default":{"value":"12px"}},"sm":{"id":"#tokensConfig/typography/fontSize/sm","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/sm/value","default":"14px"}},"type":"object","default":{"value":"14px"}},"base":{"id":"#tokensConfig/typography/fontSize/base","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/base/value","default":"16px"}},"type":"object","default":{"value":"16px"}},"lg":{"id":"#tokensConfig/typography/fontSize/lg","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/lg/value","default":"18px"}},"type":"object","default":{"value":"18px"}},"xl":{"id":"#tokensConfig/typography/fontSize/xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/xl/value","default":"20px"}},"type":"object","default":{"value":"20px"}},"2xl":{"id":"#tokensConfig/typography/fontSize/2xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/2xl/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"3xl":{"id":"#tokensConfig/typography/fontSize/3xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/3xl/value","default":"30px"}},"type":"object","default":{"value":"30px"}},"4xl":{"id":"#tokensConfig/typography/fontSize/4xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/4xl/value","default":"36px"}},"type":"object","default":{"value":"36px"}},"5xl":{"id":"#tokensConfig/typography/fontSize/5xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/5xl/value","default":"48px"}},"type":"object","default":{"value":"48px"}},"6xl":{"id":"#tokensConfig/typography/fontSize/6xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/6xl/value","default":"60px"}},"type":"object","default":{"value":"60px"}},"7xl":{"id":"#tokensConfig/typography/fontSize/7xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/7xl/value","default":"72px"}},"type":"object","default":{"value":"72px"}},"8xl":{"id":"#tokensConfig/typography/fontSize/8xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/8xl/value","default":"96px"}},"type":"object","default":{"value":"96px"}},"9xl":{"id":"#tokensConfig/typography/fontSize/9xl","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontSize/9xl/value","default":"128px"}},"type":"object","default":{"value":"128px"}}},"type":"object","default":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}}},"fontWeight":{"title":"Font weights used in typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon mingcute:bold-fill"],"id":"#tokensConfig/typography/fontWeight","properties":{"thin":{"id":"#tokensConfig/typography/fontWeight/thin","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/thin/value","default":"100"}},"type":"object","default":{"value":"100"}},"extralight":{"id":"#tokensConfig/typography/fontWeight/extralight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extralight/value","default":"200"}},"type":"object","default":{"value":"200"}},"light":{"id":"#tokensConfig/typography/fontWeight/light","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/light/value","default":"300"}},"type":"object","default":{"value":"300"}},"normal":{"id":"#tokensConfig/typography/fontWeight/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/normal/value","default":"400"}},"type":"object","default":{"value":"400"}},"medium":{"id":"#tokensConfig/typography/fontWeight/medium","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/medium/value","default":"500"}},"type":"object","default":{"value":"500"}},"semibold":{"id":"#tokensConfig/typography/fontWeight/semibold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/semibold/value","default":"600"}},"type":"object","default":{"value":"600"}},"bold":{"id":"#tokensConfig/typography/fontWeight/bold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/bold/value","default":"700"}},"type":"object","default":{"value":"700"}},"extrabold":{"id":"#tokensConfig/typography/fontWeight/extrabold","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/extrabold/value","default":"800"}},"type":"object","default":{"value":"800"}},"black":{"id":"#tokensConfig/typography/fontWeight/black","properties":{"value":{"type":"string","id":"#tokensConfig/typography/fontWeight/black/value","default":"900"}},"type":"object","default":{"value":"900"}}},"type":"object","default":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}}},"lead":{"title":"Line heights used in your typography.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon material-symbols:height-rounded"],"id":"#tokensConfig/typography/lead","properties":{"1":{"id":"#tokensConfig/typography/lead/1","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/1/value","default":".025rem"}},"type":"object","default":{"value":".025rem"}},"2":{"id":"#tokensConfig/typography/lead/2","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/2/value","default":".5rem"}},"type":"object","default":{"value":".5rem"}},"3":{"id":"#tokensConfig/typography/lead/3","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/3/value","default":".75rem"}},"type":"object","default":{"value":".75rem"}},"4":{"id":"#tokensConfig/typography/lead/4","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/4/value","default":"1rem"}},"type":"object","default":{"value":"1rem"}},"5":{"id":"#tokensConfig/typography/lead/5","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/5/value","default":"1.25rem"}},"type":"object","default":{"value":"1.25rem"}},"6":{"id":"#tokensConfig/typography/lead/6","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/6/value","default":"1.5rem"}},"type":"object","default":{"value":"1.5rem"}},"7":{"id":"#tokensConfig/typography/lead/7","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/7/value","default":"1.75rem"}},"type":"object","default":{"value":"1.75rem"}},"8":{"id":"#tokensConfig/typography/lead/8","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/8/value","default":"2rem"}},"type":"object","default":{"value":"2rem"}},"9":{"id":"#tokensConfig/typography/lead/9","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/9/value","default":"2.25rem"}},"type":"object","default":{"value":"2.25rem"}},"10":{"id":"#tokensConfig/typography/lead/10","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/10/value","default":"2.5rem"}},"type":"object","default":{"value":"2.5rem"}},"none":{"id":"#tokensConfig/typography/lead/none","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/none/value","default":"1"}},"type":"object","default":{"value":"1"}},"tight":{"id":"#tokensConfig/typography/lead/tight","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/tight/value","default":"1.25"}},"type":"object","default":{"value":"1.25"}},"snug":{"id":"#tokensConfig/typography/lead/snug","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/snug/value","default":"1.375"}},"type":"object","default":{"value":"1.375"}},"normal":{"id":"#tokensConfig/typography/lead/normal","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/normal/value","default":"1.5"}},"type":"object","default":{"value":"1.5"}},"relaxed":{"id":"#tokensConfig/typography/lead/relaxed","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/relaxed/value","default":"1.625"}},"type":"object","default":{"value":"1.625"}},"loose":{"id":"#tokensConfig/typography/lead/loose","properties":{"value":{"type":"string","id":"#tokensConfig/typography/lead/loose/value","default":"2"}},"type":"object","default":{"value":"2"}}},"type":"object","default":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}}},"font":{"title":"Your typography fonts","tags":["@studioInput design-token","@studioInputTokenType font","@studioIcon material-symbols:font-download-rounded"],"id":"#tokensConfig/typography/font","properties":{"display":{"id":"#tokensConfig/typography/font/display","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/display/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"body":{"id":"#tokensConfig/typography/font/body","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/body/value","default":"{font.sans}"}},"type":"object","default":{"value":"{font.sans}"}},"code":{"id":"#tokensConfig/typography/font/code","properties":{"value":{"type":"string","id":"#tokensConfig/typography/font/code/value","default":"{font.mono}"}},"type":"object","default":{"value":"{font.mono}"}}},"type":"object","default":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}}},"color":{"title":"Your typography color palette.","tags":["@studioInput design-token","@studioInputTokenType color","@studioIcon ph:palette"],"id":"#tokensConfig/typography/color","properties":{"primary":{"id":"#tokensConfig/typography/color/primary","properties":{"50":{"id":"#tokensConfig/typography/color/primary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/50/value","default":"{color.primary.50}"}},"type":"object","default":{"value":"{color.primary.50}"}},"100":{"id":"#tokensConfig/typography/color/primary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/100/value","default":"{color.primary.100}"}},"type":"object","default":{"value":"{color.primary.100}"}},"200":{"id":"#tokensConfig/typography/color/primary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/200/value","default":"{color.primary.200}"}},"type":"object","default":{"value":"{color.primary.200}"}},"300":{"id":"#tokensConfig/typography/color/primary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/300/value","default":"{color.primary.300}"}},"type":"object","default":{"value":"{color.primary.300}"}},"400":{"id":"#tokensConfig/typography/color/primary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/400/value","default":"{color.primary.400}"}},"type":"object","default":{"value":"{color.primary.400}"}},"500":{"id":"#tokensConfig/typography/color/primary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/500/value","default":"{color.primary.500}"}},"type":"object","default":{"value":"{color.primary.500}"}},"600":{"id":"#tokensConfig/typography/color/primary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/600/value","default":"{color.primary.600}"}},"type":"object","default":{"value":"{color.primary.600}"}},"700":{"id":"#tokensConfig/typography/color/primary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/700/value","default":"{color.primary.700}"}},"type":"object","default":{"value":"{color.primary.700}"}},"800":{"id":"#tokensConfig/typography/color/primary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/800/value","default":"{color.primary.800}"}},"type":"object","default":{"value":"{color.primary.800}"}},"900":{"id":"#tokensConfig/typography/color/primary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/primary/900/value","default":"{color.primary.900}"}},"type":"object","default":{"value":"{color.primary.900}"}}},"type":"object","default":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}}},"secondary":{"id":"#tokensConfig/typography/color/secondary","properties":{"50":{"id":"#tokensConfig/typography/color/secondary/50","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/50/value","default":"{color.gray.50}"}},"type":"object","default":{"value":"{color.gray.50}"}},"100":{"id":"#tokensConfig/typography/color/secondary/100","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/100/value","default":"{color.gray.100}"}},"type":"object","default":{"value":"{color.gray.100}"}},"200":{"id":"#tokensConfig/typography/color/secondary/200","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/200/value","default":"{color.gray.200}"}},"type":"object","default":{"value":"{color.gray.200}"}},"300":{"id":"#tokensConfig/typography/color/secondary/300","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/300/value","default":"{color.gray.300}"}},"type":"object","default":{"value":"{color.gray.300}"}},"400":{"id":"#tokensConfig/typography/color/secondary/400","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/400/value","default":"{color.gray.400}"}},"type":"object","default":{"value":"{color.gray.400}"}},"500":{"id":"#tokensConfig/typography/color/secondary/500","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/500/value","default":"{color.gray.500}"}},"type":"object","default":{"value":"{color.gray.500}"}},"600":{"id":"#tokensConfig/typography/color/secondary/600","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/600/value","default":"{color.gray.600}"}},"type":"object","default":{"value":"{color.gray.600}"}},"700":{"id":"#tokensConfig/typography/color/secondary/700","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/700/value","default":"{color.gray.700}"}},"type":"object","default":{"value":"{color.gray.700}"}},"800":{"id":"#tokensConfig/typography/color/secondary/800","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/800/value","default":"{color.gray.800}"}},"type":"object","default":{"value":"{color.gray.800}"}},"900":{"id":"#tokensConfig/typography/color/secondary/900","properties":{"value":{"type":"string","id":"#tokensConfig/typography/color/secondary/900/value","default":"{color.gray.900}"}},"type":"object","default":{"value":"{color.gray.900}"}}},"type":"object","default":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"type":"object","default":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"type":"object","default":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}}},"prose":{"title":"All the configurable tokens for your Prose components.","tags":["@studioInput design-token","@studioInputTokenType font-size","@studioIcon lucide:component"],"id":"#tokensConfig/prose","properties":{"p":{"id":"#tokensConfig/prose/p","properties":{"fontSize":{"id":"#tokensConfig/prose/p/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/fontSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}},"lineHeight":{"id":"#tokensConfig/prose/p/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"margin":{"id":"#tokensConfig/prose/p/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"br":{"id":"#tokensConfig/prose/p/br","properties":{"margin":{"id":"#tokensConfig/prose/p/br/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/p/br/margin/value","default":"{typography.verticalMargin.base} 0 0 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}}},"h1":{"id":"#tokensConfig/prose/h1","properties":{"margin":{"id":"#tokensConfig/prose/h1/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/margin/value","default":"0 0 2rem"}},"type":"object","default":{"value":"0 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h1/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontSize/value","default":"{typography.fontSize.5xl}"}},"type":"object","default":{"value":"{typography.fontSize.5xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h1/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h1/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/fontWeight/value","default":"{typography.fontWeight.bold}"}},"type":"object","default":{"value":"{typography.fontWeight.bold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h1/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h1/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h1/iconSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}}},"type":"object","default":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}}},"h2":{"id":"#tokensConfig/prose/h2","properties":{"margin":{"id":"#tokensConfig/prose/h2/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h2/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontSize/value","default":"{typography.fontSize.4xl}"}},"type":"object","default":{"value":"{typography.fontSize.4xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h2/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/lineHeight/value","default":"{typography.lead.tight}"}},"type":"object","default":{"value":"{typography.lead.tight}"}},"fontWeight":{"id":"#tokensConfig/prose/h2/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h2/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h2/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h2/iconSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}}},"h3":{"id":"#tokensConfig/prose/h3","properties":{"margin":{"id":"#tokensConfig/prose/h3/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h3/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontSize/value","default":"{typography.fontSize.3xl}"}},"type":"object","default":{"value":"{typography.fontSize.3xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h3/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h3/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h3/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h3/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h3/iconSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}}},"h4":{"id":"#tokensConfig/prose/h4","properties":{"margin":{"id":"#tokensConfig/prose/h4/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h4/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontSize/value","default":"{typography.fontSize.2xl}"}},"type":"object","default":{"value":"{typography.fontSize.2xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h4/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h4/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"letterSpacing":{"id":"#tokensConfig/prose/h4/letterSpacing","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/letterSpacing/value","default":"{typography.letterSpacing.tight}"}},"type":"object","default":{"value":"{typography.letterSpacing.tight}"}},"iconSize":{"id":"#tokensConfig/prose/h4/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h4/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h5":{"id":"#tokensConfig/prose/h5","properties":{"margin":{"id":"#tokensConfig/prose/h5/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h5/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontSize/value","default":"{typography.fontSize.xl}"}},"type":"object","default":{"value":"{typography.fontSize.xl}"}},"lineHeight":{"id":"#tokensConfig/prose/h5/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/lineHeight/value","default":"{typography.lead.snug}"}},"type":"object","default":{"value":"{typography.lead.snug}"}},"fontWeight":{"id":"#tokensConfig/prose/h5/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h5/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h5/iconSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}}},"h6":{"id":"#tokensConfig/prose/h6","properties":{"margin":{"id":"#tokensConfig/prose/h6/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/margin/value","default":"3rem 0 2rem"}},"type":"object","default":{"value":"3rem 0 2rem"}},"fontSize":{"id":"#tokensConfig/prose/h6/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontSize/value","default":"{typography.fontSize.lg}"}},"type":"object","default":{"value":"{typography.fontSize.lg}"}},"lineHeight":{"id":"#tokensConfig/prose/h6/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/lineHeight/value","default":"{typography.lead.normal}"}},"type":"object","default":{"value":"{typography.lead.normal}"}},"fontWeight":{"id":"#tokensConfig/prose/h6/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"iconSize":{"id":"#tokensConfig/prose/h6/iconSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/h6/iconSize/value","default":"{typography.fontSize.base}"}},"type":"object","default":{"value":"{typography.fontSize.base}"}}},"type":"object","default":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}}},"strong":{"id":"#tokensConfig/prose/strong","properties":{"fontWeight":{"id":"#tokensConfig/prose/strong/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/strong/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}}},"type":"object","default":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}}},"img":{"id":"#tokensConfig/prose/img","properties":{"margin":{"id":"#tokensConfig/prose/img/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/img/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"}}},"a":{"id":"#tokensConfig/prose/a","properties":{"textDecoration":{"id":"#tokensConfig/prose/a/textDecoration","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/textDecoration/value","default":"none"}},"type":"object","default":{"value":"none"}},"color":{"id":"#tokensConfig/prose/a/color","properties":{"static":{"id":"#tokensConfig/prose/a/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/initial","default":"inherit"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/static/value/dark","default":"inherit"}},"type":"object","default":{"initial":"inherit","dark":"inherit"}}},"type":"object","default":{"value":{"initial":"inherit","dark":"inherit"}}},"hover":{"id":"#tokensConfig/prose/a/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/color/hover/value/dark","default":"{typography.color.primary.400}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"type":"object","default":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}}},"border":{"id":"#tokensConfig/prose/a/border","properties":{"width":{"id":"#tokensConfig/prose/a/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/a/border/style","properties":{"static":{"id":"#tokensConfig/prose/a/border/style/static","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/static/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"hover":{"id":"#tokensConfig/prose/a/border/style/hover","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/style/hover/value","default":"solid"}},"type":"object","default":{"value":"solid"}}},"type":"object","default":{"static":{"value":"dashed"},"hover":{"value":"solid"}}},"color":{"id":"#tokensConfig/prose/a/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/border/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"distance":{"id":"#tokensConfig/prose/a/border/distance","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/border/distance/value","default":"2px"}},"type":"object","default":{"value":"2px"}}},"type":"object","default":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}}},"fontWeight":{"id":"#tokensConfig/prose/a/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/fontWeight/value","default":"{typography.fontWeight.medium}"}},"type":"object","default":{"value":"{typography.fontWeight.medium}"}},"hasCode":{"id":"#tokensConfig/prose/a/hasCode","properties":{"borderBottom":{"id":"#tokensConfig/prose/a/hasCode/borderBottom","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/hasCode/borderBottom/value","default":"none"}},"type":"object","default":{"value":"none"}}},"type":"object","default":{"borderBottom":{"value":"none"}}},"code":{"id":"#tokensConfig/prose/a/code","properties":{"border":{"id":"#tokensConfig/prose/a/code/border","properties":{"width":{"id":"#tokensConfig/prose/a/code/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/width/value","default":"{prose.a.border.width}"}},"type":"object","default":{"value":"{prose.a.border.width}"}},"style":{"id":"#tokensConfig/prose/a/code/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/a/code/border/style/value","default":"{prose.a.border.style.static}"}},"type":"object","default":{"value":"{prose.a.border.style.static}"}},"color":{"id":"#tokensConfig/prose/a/code/border/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/border/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/initial","default":"{typography.color.secondary.400}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/static/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}}},"hover":{"id":"#tokensConfig/prose/a/code/border/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/border/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/initial","default":"{typography.color.primary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/border/color/hover/value/dark","default":"{typography.color.primary.600}"}},"type":"object","default":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"type":"object","default":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"type":"object","default":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}}},"color":{"id":"#tokensConfig/prose/a/code/color","properties":{"static":{"id":"#tokensConfig/prose/a/code/color/static","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/static/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/static/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}},"hover":{"id":"#tokensConfig/prose/a/code/color/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/color/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/color/hover/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"background":{"id":"#tokensConfig/prose/a/code/background","properties":{"static":{"id":"#tokensConfig/prose/a/code/background/static","type":"any","default":{}},"hover":{"id":"#tokensConfig/prose/a/code/background/hover","properties":{"value":{"id":"#tokensConfig/prose/a/code/background/hover/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/initial","default":"{typography.color.primary.50}"},"dark":{"type":"string","id":"#tokensConfig/prose/a/code/background/hover/value/dark","default":"{typography.color.primary.900}"}},"type":"object","default":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}},"type":"object","default":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"type":"object","default":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"type":"object","default":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}}},"blockquote":{"id":"#tokensConfig/prose/blockquote","properties":{"margin":{"id":"#tokensConfig/prose/blockquote/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/blockquote/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/paddingInlineStart/value","default":"24px"}},"type":"object","default":{"value":"24px"}},"quotes":{"id":"#tokensConfig/prose/blockquote/quotes","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/quotes/value","default":"'201C' '201D' '2018' '2019'"}},"type":"object","default":{"value":"'201C' '201D' '2018' '2019'"}},"color":{"id":"#tokensConfig/prose/blockquote/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/initial","default":"{typography.color.secondary.500}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}}},"border":{"id":"#tokensConfig/prose/blockquote/border","properties":{"width":{"id":"#tokensConfig/prose/blockquote/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/width/value","default":"4px"}},"type":"object","default":{"value":"4px"}},"style":{"id":"#tokensConfig/prose/blockquote/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/blockquote/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/blockquote/border/color","properties":{"value":{"id":"#tokensConfig/prose/blockquote/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/blockquote/border/color/value/dark","default":"{typography.color.secondary.700}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"type":"object","default":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}}},"ul":{"id":"#tokensConfig/prose/ul","properties":{"listStyleType":{"id":"#tokensConfig/prose/ul/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/listStyleType/value","default":"disc"}},"type":"object","default":{"value":"disc"}},"margin":{"id":"#tokensConfig/prose/ul/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ul/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ul/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ul/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ul/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ul/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ul/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"ol":{"id":"#tokensConfig/prose/ol","properties":{"listStyleType":{"id":"#tokensConfig/prose/ol/listStyleType","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/listStyleType/value","default":"decimal"}},"type":"object","default":{"value":"decimal"}},"margin":{"id":"#tokensConfig/prose/ol/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"paddingInlineStart":{"id":"#tokensConfig/prose/ol/paddingInlineStart","properties":{"value":{"type":"string","id":"#tokensConfig/prose/ol/paddingInlineStart/value","default":"21px"}},"type":"object","default":{"value":"21px"}},"li":{"id":"#tokensConfig/prose/ol/li","properties":{"markerColor":{"id":"#tokensConfig/prose/ol/li/markerColor","properties":{"value":{"id":"#tokensConfig/prose/ol/li/markerColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/initial","default":"currentColor"},"dark":{"type":"string","id":"#tokensConfig/prose/ol/li/markerColor/value/dark","default":"currentColor"}},"type":"object","default":{"initial":"currentColor","dark":"currentColor"}}},"type":"object","default":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"type":"object","default":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"type":"object","default":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}}},"li":{"id":"#tokensConfig/prose/li","properties":{"margin":{"id":"#tokensConfig/prose/li/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/margin/value","default":"{typography.verticalMargin.sm} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.sm} 0"}},"listStylePosition":{"id":"#tokensConfig/prose/li/listStylePosition","properties":{"value":{"type":"string","id":"#tokensConfig/prose/li/listStylePosition/value","default":"outside"}},"type":"object","default":{"value":"outside"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}}},"hr":{"id":"#tokensConfig/prose/hr","properties":{"margin":{"id":"#tokensConfig/prose/hr/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"style":{"id":"#tokensConfig/prose/hr/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"width":{"id":"#tokensConfig/prose/hr/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/hr/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"color":{"id":"#tokensConfig/prose/hr/color","properties":{"value":{"id":"#tokensConfig/prose/hr/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/hr/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/hr/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"table":{"id":"#tokensConfig/prose/table","properties":{"margin":{"id":"#tokensConfig/prose/table/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"textAlign":{"id":"#tokensConfig/prose/table/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/textAlign/value","default":"start"}},"type":"object","default":{"value":"start"}},"fontSize":{"id":"#tokensConfig/prose/table/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"lineHeight":{"id":"#tokensConfig/prose/table/lineHeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/table/lineHeight/value","default":"{typography.lead.6}"}},"type":"object","default":{"value":"{typography.lead.6}"}}},"type":"object","default":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}}},"thead":{"id":"#tokensConfig/prose/thead","properties":{"border":{"id":"#tokensConfig/prose/thead/border","properties":{"width":{"id":"#tokensConfig/prose/thead/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/width/value","default":"0px"}},"type":"object","default":{"value":"0px"}},"style":{"id":"#tokensConfig/prose/thead/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/border/color","properties":{"value":{"id":"#tokensConfig/prose/thead/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/initial","default":"{typography.color.secondary.300}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/border/color/value/dark","default":"{typography.color.secondary.600}"}},"type":"object","default":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"type":"object","default":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}}},"borderBottom":{"id":"#tokensConfig/prose/thead/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/thead/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/thead/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/thead/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/thead/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/thead/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"th":{"id":"#tokensConfig/prose/th","properties":{"color":{"id":"#tokensConfig/prose/th/color","properties":{"value":{"id":"#tokensConfig/prose/th/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/th/color/value/initial","default":"{typography.color.secondary.600}"},"dark":{"type":"string","id":"#tokensConfig/prose/th/color/value/dark","default":"{typography.color.secondary.400}"}},"type":"object","default":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}}},"padding":{"id":"#tokensConfig/prose/th/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/padding/value","default":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"type":"object","default":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/th/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/fontWeight/value","default":"{typography.fontWeight.semibold}"}},"type":"object","default":{"value":"{typography.fontWeight.semibold}"}},"textAlign":{"id":"#tokensConfig/prose/th/textAlign","properties":{"value":{"type":"string","id":"#tokensConfig/prose/th/textAlign/value","default":"inherit"}},"type":"object","default":{"value":"inherit"}}},"type":"object","default":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}}},"tbody":{"id":"#tokensConfig/prose/tbody","properties":{"tr":{"id":"#tokensConfig/prose/tbody/tr","properties":{"borderBottom":{"id":"#tokensConfig/prose/tbody/tr/borderBottom","properties":{"width":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/style/value","default":"dashed"}},"type":"object","default":{"value":"dashed"}},"color":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color","properties":{"value":{"id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/tbody/tr/borderBottom/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}}},"td":{"id":"#tokensConfig/prose/tbody/td","properties":{"padding":{"id":"#tokensConfig/prose/tbody/td/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/td/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"code":{"id":"#tokensConfig/prose/tbody/code","properties":{"inline":{"id":"#tokensConfig/prose/tbody/code/inline","properties":{"fontSize":{"id":"#tokensConfig/prose/tbody/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/tbody/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"type":"object","default":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"type":"object","default":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}}},"code":{"id":"#tokensConfig/prose/code","properties":{"block":{"id":"#tokensConfig/prose/code/block","properties":{"fontSize":{"id":"#tokensConfig/prose/code/block/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"margin":{"id":"#tokensConfig/prose/code/block/margin","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/margin/value","default":"{typography.verticalMargin.base} 0"}},"type":"object","default":{"value":"{typography.verticalMargin.base} 0"}},"border":{"id":"#tokensConfig/prose/code/block/border","properties":{"width":{"id":"#tokensConfig/prose/code/block/border/width","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/width/value","default":"1px"}},"type":"object","default":{"value":"1px"}},"style":{"id":"#tokensConfig/prose/code/block/border/style","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/border/style/value","default":"solid"}},"type":"object","default":{"value":"solid"}},"color":{"id":"#tokensConfig/prose/code/block/border/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/border/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/initial","default":"{typography.color.secondary.200}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/border/color/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"color":{"id":"#tokensConfig/prose/code/block/color","properties":{"value":{"id":"#tokensConfig/prose/code/block/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/block/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/block/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backgroundColor/value/dark","default":"{typography.color.secondary.900}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}}},"backdropFilter":{"id":"#tokensConfig/prose/code/block/backdropFilter","properties":{"value":{"id":"#tokensConfig/prose/code/block/backdropFilter/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/initial","default":"contrast(1)"},"dark":{"type":"string","id":"#tokensConfig/prose/code/block/backdropFilter/value/dark","default":"contrast(1)"}},"type":"object","default":{"initial":"contrast(1)","dark":"contrast(1)"}}},"type":"object","default":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}}},"pre":{"id":"#tokensConfig/prose/code/block/pre","properties":{"padding":{"id":"#tokensConfig/prose/code/block/pre/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/block/pre/padding/value","default":"{typography.verticalMargin.sm}"}},"type":"object","default":{"value":"{typography.verticalMargin.sm}"}}},"type":"object","default":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"type":"object","default":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}}},"inline":{"id":"#tokensConfig/prose/code/inline","properties":{"borderRadius":{"id":"#tokensConfig/prose/code/inline/borderRadius","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/borderRadius/value","default":"{radii.xs}"}},"type":"object","default":{"value":"{radii.xs}"}},"padding":{"id":"#tokensConfig/prose/code/inline/padding","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/padding/value","default":"0.2rem 0.375rem 0.2rem 0.375rem"}},"type":"object","default":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"}},"fontSize":{"id":"#tokensConfig/prose/code/inline/fontSize","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontSize/value","default":"{typography.fontSize.sm}"}},"type":"object","default":{"value":"{typography.fontSize.sm}"}},"fontWeight":{"id":"#tokensConfig/prose/code/inline/fontWeight","properties":{"value":{"type":"string","id":"#tokensConfig/prose/code/inline/fontWeight/value","default":"{typography.fontWeight.normal}"}},"type":"object","default":{"value":"{typography.fontWeight.normal}"}},"color":{"id":"#tokensConfig/prose/code/inline/color","properties":{"value":{"id":"#tokensConfig/prose/code/inline/color/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/initial","default":"{typography.color.secondary.700}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/color/value/dark","default":"{typography.color.secondary.200}"}},"type":"object","default":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}}},"backgroundColor":{"id":"#tokensConfig/prose/code/inline/backgroundColor","properties":{"value":{"id":"#tokensConfig/prose/code/inline/backgroundColor/value","properties":{"initial":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/initial","default":"{typography.color.secondary.100}"},"dark":{"type":"string","id":"#tokensConfig/prose/code/inline/backgroundColor/value/dark","default":"{typography.color.secondary.800}"}},"type":"object","default":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}},"type":"object","default":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}},"type":"object","default":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"type":"object","default":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"type":"object","default":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}}},"docus":{"title":"All the configurable tokens from Docus.","tags":["@studioIcon material-symbols:docs"],"id":"#tokensConfig/docus","properties":{"header":{"id":"#tokensConfig/docus/header","properties":{"height":{"id":"#tokensConfig/docus/header/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/header/height/value","default":"64px"}},"type":"object","default":{"value":"64px"}}},"type":"object","default":{"height":{"value":"64px"}}},"footer":{"id":"#tokensConfig/docus/footer","properties":{"height":{"id":"#tokensConfig/docus/footer/height","properties":{"value":{"id":"#tokensConfig/docus/footer/height/value","properties":{"initial":{"type":"string","id":"#tokensConfig/docus/footer/height/value/initial","default":"145px"},"sm":{"type":"string","id":"#tokensConfig/docus/footer/height/value/sm","default":"100px"}},"type":"object","default":{"initial":"145px","sm":"100px"}}},"type":"object","default":{"value":{"initial":"145px","sm":"100px"}}},"padding":{"id":"#tokensConfig/docus/footer/padding","properties":{"value":{"type":"string","id":"#tokensConfig/docus/footer/padding/value","default":"{space.4} 0"}},"type":"object","default":{"value":"{space.4} 0"}}},"type":"object","default":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}}},"readableLine":{"id":"#tokensConfig/docus/readableLine","properties":{"value":{"type":"string","id":"#tokensConfig/docus/readableLine/value","default":"78ch"}},"type":"object","default":{"value":"78ch"}},"loadingBar":{"id":"#tokensConfig/docus/loadingBar","properties":{"height":{"id":"#tokensConfig/docus/loadingBar/height","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/height/value","default":"3px"}},"type":"object","default":{"value":"3px"}},"gradientColorStop1":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop1","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop1/value","default":"#00dc82"}},"type":"object","default":{"value":"#00dc82"}},"gradientColorStop2":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop2","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop2/value","default":"#34cdfe"}},"type":"object","default":{"value":"#34cdfe"}},"gradientColorStop3":{"id":"#tokensConfig/docus/loadingBar/gradientColorStop3","properties":{"value":{"type":"string","id":"#tokensConfig/docus/loadingBar/gradientColorStop3/value","default":"#0047e1"}},"type":"object","default":{"value":"#0047e1"}}},"type":"object","default":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}}},"type":"object","default":{"header":{"height":{"value":"64px"}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}}}},"type":"object","default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFDEA"},"100":{"value":"#FFF8CC"},"200":{"value":"#FEF5A4"},"300":{"value":"#FFEF8A"},"400":{"value":"#FFE53C"},"500":{"value":"#EECF00"},"600":{"value":"#C2A905"},"700":{"value":"#6B5D02"},"800":{"value":"#282300"},"900":{"value":"#1A1700"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#003351"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#fff2cc"},"100":{"value":"#ffe599"},"200":{"value":"#ffd966"},"300":{"value":"#f1c232"},"400":{"value":"#f1c232"},"500":{"value":"#f1c232"},"600":{"value":"#f1c232"},"700":{"value":"#f1c232"},"800":{"value":"#f1c232"},"900":{"value":"#f1c232"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px #000000"},"sm":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"},"md":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"},"lg":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"},"xl":{"value":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"},"2xl":{"value":"0px 25px 50px -12px {color.gray.900}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"header":{"height":{"value":"64px"}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}}}},"default":{"media":{"xs":{"value":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff"},"black":{"value":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB"},"100":{"value":"#F6F5F4"},"200":{"value":"#ECEBE8"},"300":{"value":"#DBD9D3"},"400":{"value":"#ADA9A4"},"500":{"value":"#97948F"},"600":{"value":"#67635D"},"700":{"value":"#36332E"},"800":{"value":"#201E1B"},"900":{"value":"#121110"}},"green":{"50":{"value":"#ECFFF7"},"100":{"value":"#DEFFF1"},"200":{"value":"#C3FFE6"},"300":{"value":"#86FBCB"},"400":{"value":"#3CEEA5"},"500":{"value":"#0DD885"},"600":{"value":"#00B467"},"700":{"value":"#006037"},"800":{"value":"#002817"},"900":{"value":"#00190F"}},"yellow":{"50":{"value":"#FFFDEA"},"100":{"value":"#FFF8CC"},"200":{"value":"#FEF5A4"},"300":{"value":"#FFEF8A"},"400":{"value":"#FFE53C"},"500":{"value":"#EECF00"},"600":{"value":"#C2A905"},"700":{"value":"#6B5D02"},"800":{"value":"#282300"},"900":{"value":"#1A1700"}},"orange":{"50":{"value":"#ffe9d9"},"100":{"value":"#ffd3b3"},"200":{"value":"#ffbd8d"},"300":{"value":"#ffa666"},"400":{"value":"#ff9040"},"500":{"value":"#ff7a1a"},"600":{"value":"#e15e00"},"700":{"value":"#a94700"},"800":{"value":"#702f00"},"900":{"value":"#381800"}},"red":{"50":{"value":"#FFF9F8"},"100":{"value":"#FFF3F0"},"200":{"value":"#FFDED7"},"300":{"value":"#FFA692"},"400":{"value":"#FF7353"},"500":{"value":"#FF3B10"},"600":{"value":"#BB2402"},"700":{"value":"#701704"},"800":{"value":"#340A01"},"900":{"value":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc"},"100":{"value":"#eff0ba"},"200":{"value":"#e8e997"},"300":{"value":"#e0e274"},"400":{"value":"#d8da52"},"500":{"value":"#d0d32f"},"600":{"value":"#a8aa24"},"700":{"value":"#7e801b"},"800":{"value":"#545512"},"900":{"value":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8"},"100":{"value":"#aff4f0"},"200":{"value":"#87efe9"},"300":{"value":"#5fe9e1"},"400":{"value":"#36e4da"},"500":{"value":"#1cd1c6"},"600":{"value":"#16a79e"},"700":{"value":"#117d77"},"800":{"value":"#0b544f"},"900":{"value":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff"},"100":{"value":"#b3f1ff"},"200":{"value":"#8deaff"},"300":{"value":"#66e4ff"},"400":{"value":"#40ddff"},"500":{"value":"#1ad6ff"},"600":{"value":"#00b9e1"},"700":{"value":"#008aa9"},"800":{"value":"#005c70"},"900":{"value":"#002e38"}},"blue":{"50":{"value":"#F2FAFF"},"100":{"value":"#DFF3FF"},"200":{"value":"#C6EAFF"},"300":{"value":"#A1DDFF"},"400":{"value":"#64C7FF"},"500":{"value":"#1AADFF"},"600":{"value":"#0069A6"},"700":{"value":"#003351"},"800":{"value":"#002235"},"900":{"value":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff"},"100":{"value":"#b3cbff"},"200":{"value":"#8db0ff"},"300":{"value":"#6696ff"},"400":{"value":"#407cff"},"500":{"value":"#1a62ff"},"600":{"value":"#0047e1"},"700":{"value":"#0035a9"},"800":{"value":"#002370"},"900":{"value":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb"},"100":{"value":"#c0b7f7"},"200":{"value":"#a093f3"},"300":{"value":"#806ff0"},"400":{"value":"#614bec"},"500":{"value":"#4127e8"},"600":{"value":"#2c15c4"},"700":{"value":"#211093"},"800":{"value":"#160a62"},"900":{"value":"#0b0531"}},"purple":{"50":{"value":"#ead9ff"},"100":{"value":"#d5b3ff"},"200":{"value":"#c08dff"},"300":{"value":"#ab66ff"},"400":{"value":"#9640ff"},"500":{"value":"#811aff"},"600":{"value":"#6500e1"},"700":{"value":"#4c00a9"},"800":{"value":"#330070"},"900":{"value":"#190038"}},"pink":{"50":{"value":"#ffd9f2"},"100":{"value":"#ffb3e5"},"200":{"value":"#ff8dd8"},"300":{"value":"#ff66cc"},"400":{"value":"#ff40bf"},"500":{"value":"#ff1ab2"},"600":{"value":"#e10095"},"700":{"value":"#a90070"},"800":{"value":"#70004b"},"900":{"value":"#380025"}},"ruby":{"50":{"value":"#ffd9e4"},"100":{"value":"#ffb3c9"},"200":{"value":"#ff8dae"},"300":{"value":"#ff6694"},"400":{"value":"#ff4079"},"500":{"value":"#ff1a5e"},"600":{"value":"#e10043"},"700":{"value":"#a90032"},"800":{"value":"#700021"},"900":{"value":"#380011"}},"primary":{"50":{"value":"#fff2cc"},"100":{"value":"#ffe599"},"200":{"value":"#ffd966"},"300":{"value":"#f1c232"},"400":{"value":"#f1c232"},"500":{"value":"#f1c232"},"600":{"value":"#f1c232"},"700":{"value":"#f1c232"},"800":{"value":"#f1c232"},"900":{"value":"#f1c232"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}},"width":{"screen":{"value":"100vw"}},"height":{"screen":{"value":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px #000000"},"sm":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"},"md":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"},"lg":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"},"xl":{"value":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"},"2xl":{"value":"0px 25px 50px -12px {color.gray.900}"},"none":{"value":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px"},"2xs":{"value":"0.125rem"},"xs":{"value":"0.25rem"},"sm":{"value":"0.375rem"},"md":{"value":"0.5rem"},"lg":{"value":"0.75rem"},"xl":{"value":"1rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.75rem"},"full":{"value":"9999px"}},"size":{"0":{"value":"0px"},"2":{"value":"2px"},"4":{"value":"4px"},"6":{"value":"6px"},"8":{"value":"8px"},"12":{"value":"12px"},"16":{"value":"16px"},"20":{"value":"20px"},"24":{"value":"24px"},"32":{"value":"32px"},"40":{"value":"40px"},"48":{"value":"48px"},"56":{"value":"56px"},"64":{"value":"64px"},"80":{"value":"80px"},"104":{"value":"104px"},"200":{"value":"200px"},"xs":{"value":"20rem"},"sm":{"value":"24rem"},"md":{"value":"28rem"},"lg":{"value":"32rem"},"xl":{"value":"36rem"},"2xl":{"value":"42rem"},"3xl":{"value":"48rem"},"4xl":{"value":"56rem"},"5xl":{"value":"64rem"},"6xl":{"value":"72rem"},"7xl":{"value":"80rem"},"full":{"value":"100%"}},"space":{"0":{"value":"0px"},"1":{"value":"0.25rem"},"2":{"value":"0.5rem"},"3":{"value":"0.75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"11":{"value":"2.75rem"},"12":{"value":"3rem"},"14":{"value":"3.5rem"},"16":{"value":"4rem"},"20":{"value":"5rem"},"24":{"value":"6rem"},"28":{"value":"7rem"},"32":{"value":"8rem"},"36":{"value":"9rem"},"40":{"value":"10rem"},"44":{"value":"11rem"},"48":{"value":"12rem"},"52":{"value":"13rem"},"56":{"value":"14rem"},"60":{"value":"15rem"},"64":{"value":"16rem"},"72":{"value":"18rem"},"80":{"value":"20rem"},"96":{"value":"24rem"},"128":{"value":"32rem"},"px":{"value":"1px"},"rem":{"125":{"value":"0.125rem"},"375":{"value":"0.375rem"},"625":{"value":"0.625rem"},"875":{"value":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0"},"sm":{"value":"1px"},"md":{"value":"2px"},"lg":{"value":"3px"}},"opacity":{"noOpacity":{"value":"0"},"bright":{"value":"0.1"},"light":{"value":"0.15"},"soft":{"value":"0.3"},"medium":{"value":"0.5"},"high":{"value":"0.8"},"total":{"value":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"fontSize":{"xs":{"value":"0.75rem"},"sm":{"value":"0.875rem"},"base":{"value":"1rem"},"lg":{"value":"1.125rem"},"xl":{"value":"1.25rem"},"2xl":{"value":"1.5rem"},"3xl":{"value":"1.875rem"},"4xl":{"value":"2.25rem"},"5xl":{"value":"3rem"},"6xl":{"value":"3.75rem"},"7xl":{"value":"4.5rem"},"8xl":{"value":"6rem"},"9xl":{"value":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em"},"tight":{"value":"-0.025em"},"normal":{"value":"0em"},"wide":{"value":"0.025em"},"wider":{"value":"0.05em"},"widest":{"value":"0.1em"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"text":{"xs":{"fontSize":{"value":"{fontSize.xs}"},"lineHeight":{"value":"{lead.4}"}},"sm":{"fontSize":{"value":"{fontSize.sm}"},"lineHeight":{"value":"{lead.5}"}},"base":{"fontSize":{"value":"{fontSize.base}"},"lineHeight":{"value":"{lead.6}"}},"lg":{"fontSize":{"value":"{fontSize.lg}"},"lineHeight":{"value":"{lead.7}"}},"xl":{"fontSize":{"value":"{fontSize.xl}"},"lineHeight":{"value":"{lead.7}"}},"2xl":{"fontSize":{"value":"{fontSize.2xl}"},"lineHeight":{"value":"{lead.8}"}},"3xl":{"fontSize":{"value":"{fontSize.3xl}"},"lineHeight":{"value":"{lead.9}"}},"4xl":{"fontSize":{"value":"{fontSize.4xl}"},"lineHeight":{"value":"{lead.10}"}},"5xl":{"fontSize":{"value":"{fontSize.5xl}"},"lineHeight":{"value":"{lead.none}"}},"6xl":{"fontSize":{"value":"{fontSize.6xl}"},"lineHeight":{"value":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem"},"padding":{"mobile":{"value":"{space.4}"},"xs":{"value":"{space.4}"},"sm":{"value":"{space.6}"},"md":{"value":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px"},"base":{"value":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em"},"wide":{"value":"0.025em"}},"fontSize":{"xs":{"value":"12px"},"sm":{"value":"14px"},"base":{"value":"16px"},"lg":{"value":"18px"},"xl":{"value":"20px"},"2xl":{"value":"24px"},"3xl":{"value":"30px"},"4xl":{"value":"36px"},"5xl":{"value":"48px"},"6xl":{"value":"60px"},"7xl":{"value":"72px"},"8xl":{"value":"96px"},"9xl":{"value":"128px"}},"fontWeight":{"thin":{"value":"100"},"extralight":{"value":"200"},"light":{"value":"300"},"normal":{"value":"400"},"medium":{"value":"500"},"semibold":{"value":"600"},"bold":{"value":"700"},"extrabold":{"value":"800"},"black":{"value":"900"}},"lead":{"1":{"value":".025rem"},"2":{"value":".5rem"},"3":{"value":".75rem"},"4":{"value":"1rem"},"5":{"value":"1.25rem"},"6":{"value":"1.5rem"},"7":{"value":"1.75rem"},"8":{"value":"2rem"},"9":{"value":"2.25rem"},"10":{"value":"2.5rem"},"none":{"value":"1"},"tight":{"value":"1.25"},"snug":{"value":"1.375"},"normal":{"value":"1.5"},"relaxed":{"value":"1.625"},"loose":{"value":"2"}},"font":{"display":{"value":"{font.sans}"},"body":{"value":"{font.sans}"},"code":{"value":"{font.mono}"}},"color":{"primary":{"50":{"value":"{color.primary.50}"},"100":{"value":"{color.primary.100}"},"200":{"value":"{color.primary.200}"},"300":{"value":"{color.primary.300}"},"400":{"value":"{color.primary.400}"},"500":{"value":"{color.primary.500}"},"600":{"value":"{color.primary.600}"},"700":{"value":"{color.primary.700}"},"800":{"value":"{color.primary.800}"},"900":{"value":"{color.primary.900}"}},"secondary":{"50":{"value":"{color.gray.50}"},"100":{"value":"{color.gray.100}"},"200":{"value":"{color.gray.200}"},"300":{"value":"{color.gray.300}"},"400":{"value":"{color.gray.400}"},"500":{"value":"{color.gray.500}"},"600":{"value":"{color.gray.600}"},"700":{"value":"{color.gray.700}"},"800":{"value":"{color.gray.800}"},"900":{"value":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"{typography.fontSize.base}"},"lineHeight":{"value":"{typography.lead.normal}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem"},"fontSize":{"value":"{typography.fontSize.5xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.4xl}"},"lineHeight":{"value":"{typography.lead.tight}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.3xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.2xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"{typography.letterSpacing.tight}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.xl}"},"lineHeight":{"value":"{typography.lead.snug}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem"},"fontSize":{"value":"{typography.fontSize.lg}"},"lineHeight":{"value":"{typography.lead.normal}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"iconSize":{"value":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px"},"style":{"static":{"value":"dashed"},"hover":{"value":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px"}},"fontWeight":{"value":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none"}},"code":{"border":{"width":{"value":"{prose.a.border.width}"},"style":{"value":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal"},"margin":{"value":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside"}},"hr":{"margin":{"value":"{typography.verticalMargin.base} 0"},"style":{"value":"solid"},"width":{"value":"1px"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start"},"fontSize":{"value":"{typography.fontSize.sm}"},"lineHeight":{"value":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px"},"style":{"value":"dashed"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"{typography.fontSize.sm}"},"margin":{"value":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px"},"style":{"value":"solid"},"color":{"value":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"{typography.fontSize.sm}"},"fontWeight":{"value":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"header":{"height":{"value":"64px"}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"}},"padding":{"value":"{space.4} 0"}},"readableLine":{"value":"78ch"},"loadingBar":{"height":{"value":"3px"},"gradientColorStop1":{"value":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1"}}}}},"tokensConfig":{"media":{"xs":{"value":"(min-width: 475px)","variable":"var(--media-xs)","raw":"(min-width: 475px)"},"sm":{"value":"(min-width: 640px)","variable":"var(--media-sm)","raw":"(min-width: 640px)"},"md":{"value":"(min-width: 768px)","variable":"var(--media-md)","raw":"(min-width: 768px)"},"lg":{"value":"(min-width: 1024px)","variable":"var(--media-lg)","raw":"(min-width: 1024px)"},"xl":{"value":"(min-width: 1280px)","variable":"var(--media-xl)","raw":"(min-width: 1280px)"},"2xl":{"value":"(min-width: 1536px)","variable":"var(--media-2xl)","raw":"(min-width: 1536px)"},"rm":{"value":"(prefers-reduced-motion: reduce)","variable":"var(--media-rm)","raw":"(prefers-reduced-motion: reduce)"},"landscape":{"value":"only screen and (orientation: landscape)","variable":"var(--media-landscape)","raw":"only screen and (orientation: landscape)"},"portrait":{"value":"only screen and (orientation: portrait)","variable":"var(--media-portrait)","raw":"only screen and (orientation: portrait)"}},"color":{"white":{"value":"#ffffff","variable":"var(--color-white)","raw":"#ffffff"},"black":{"value":"#0B0A0A","variable":"var(--color-black)","raw":"#0B0A0A"},"gray":{"50":{"value":"#FBFBFB","variable":"var(--color-gray-50)","raw":"#FBFBFB"},"100":{"value":"#F6F5F4","variable":"var(--color-gray-100)","raw":"#F6F5F4"},"200":{"value":"#ECEBE8","variable":"var(--color-gray-200)","raw":"#ECEBE8"},"300":{"value":"#DBD9D3","variable":"var(--color-gray-300)","raw":"#DBD9D3"},"400":{"value":"#ADA9A4","variable":"var(--color-gray-400)","raw":"#ADA9A4"},"500":{"value":"#97948F","variable":"var(--color-gray-500)","raw":"#97948F"},"600":{"value":"#67635D","variable":"var(--color-gray-600)","raw":"#67635D"},"700":{"value":"#36332E","variable":"var(--color-gray-700)","raw":"#36332E"},"800":{"value":"#201E1B","variable":"var(--color-gray-800)","raw":"#201E1B"},"900":{"value":"#121110","variable":"var(--color-gray-900)","raw":"#121110"}},"green":{"50":{"value":"#ECFFF7","variable":"var(--color-green-50)","raw":"#ECFFF7"},"100":{"value":"#DEFFF1","variable":"var(--color-green-100)","raw":"#DEFFF1"},"200":{"value":"#C3FFE6","variable":"var(--color-green-200)","raw":"#C3FFE6"},"300":{"value":"#86FBCB","variable":"var(--color-green-300)","raw":"#86FBCB"},"400":{"value":"#3CEEA5","variable":"var(--color-green-400)","raw":"#3CEEA5"},"500":{"value":"#0DD885","variable":"var(--color-green-500)","raw":"#0DD885"},"600":{"value":"#00B467","variable":"var(--color-green-600)","raw":"#00B467"},"700":{"value":"#006037","variable":"var(--color-green-700)","raw":"#006037"},"800":{"value":"#002817","variable":"var(--color-green-800)","raw":"#002817"},"900":{"value":"#00190F","variable":"var(--color-green-900)","raw":"#00190F"}},"yellow":{"50":{"value":"#FFFDEA","variable":"var(--color-yellow-50)","raw":"#FFFDEA"},"100":{"value":"#FFF8CC","variable":"var(--color-yellow-100)","raw":"#FFF8CC"},"200":{"value":"#FEF5A4","variable":"var(--color-yellow-200)","raw":"#FEF5A4"},"300":{"value":"#FFEF8A","variable":"var(--color-yellow-300)","raw":"#FFEF8A"},"400":{"value":"#FFE53C","variable":"var(--color-yellow-400)","raw":"#FFE53C"},"500":{"value":"#EECF00","variable":"var(--color-yellow-500)","raw":"#EECF00"},"600":{"value":"#C2A905","variable":"var(--color-yellow-600)","raw":"#C2A905"},"700":{"value":"#6B5D02","variable":"var(--color-yellow-700)","raw":"#6B5D02"},"800":{"value":"#282300","variable":"var(--color-yellow-800)","raw":"#282300"},"900":{"value":"#1A1700","variable":"var(--color-yellow-900)","raw":"#1A1700"}},"orange":{"50":{"value":"#ffe9d9","variable":"var(--color-orange-50)","raw":"#ffe9d9"},"100":{"value":"#ffd3b3","variable":"var(--color-orange-100)","raw":"#ffd3b3"},"200":{"value":"#ffbd8d","variable":"var(--color-orange-200)","raw":"#ffbd8d"},"300":{"value":"#ffa666","variable":"var(--color-orange-300)","raw":"#ffa666"},"400":{"value":"#ff9040","variable":"var(--color-orange-400)","raw":"#ff9040"},"500":{"value":"#ff7a1a","variable":"var(--color-orange-500)","raw":"#ff7a1a"},"600":{"value":"#e15e00","variable":"var(--color-orange-600)","raw":"#e15e00"},"700":{"value":"#a94700","variable":"var(--color-orange-700)","raw":"#a94700"},"800":{"value":"#702f00","variable":"var(--color-orange-800)","raw":"#702f00"},"900":{"value":"#381800","variable":"var(--color-orange-900)","raw":"#381800"}},"red":{"50":{"value":"#FFF9F8","variable":"var(--color-red-50)","raw":"#FFF9F8"},"100":{"value":"#FFF3F0","variable":"var(--color-red-100)","raw":"#FFF3F0"},"200":{"value":"#FFDED7","variable":"var(--color-red-200)","raw":"#FFDED7"},"300":{"value":"#FFA692","variable":"var(--color-red-300)","raw":"#FFA692"},"400":{"value":"#FF7353","variable":"var(--color-red-400)","raw":"#FF7353"},"500":{"value":"#FF3B10","variable":"var(--color-red-500)","raw":"#FF3B10"},"600":{"value":"#BB2402","variable":"var(--color-red-600)","raw":"#BB2402"},"700":{"value":"#701704","variable":"var(--color-red-700)","raw":"#701704"},"800":{"value":"#340A01","variable":"var(--color-red-800)","raw":"#340A01"},"900":{"value":"#1C0301","variable":"var(--color-red-900)","raw":"#1C0301"}},"pear":{"50":{"value":"#f7f8dc","variable":"var(--color-pear-50)","raw":"#f7f8dc"},"100":{"value":"#eff0ba","variable":"var(--color-pear-100)","raw":"#eff0ba"},"200":{"value":"#e8e997","variable":"var(--color-pear-200)","raw":"#e8e997"},"300":{"value":"#e0e274","variable":"var(--color-pear-300)","raw":"#e0e274"},"400":{"value":"#d8da52","variable":"var(--color-pear-400)","raw":"#d8da52"},"500":{"value":"#d0d32f","variable":"var(--color-pear-500)","raw":"#d0d32f"},"600":{"value":"#a8aa24","variable":"var(--color-pear-600)","raw":"#a8aa24"},"700":{"value":"#7e801b","variable":"var(--color-pear-700)","raw":"#7e801b"},"800":{"value":"#545512","variable":"var(--color-pear-800)","raw":"#545512"},"900":{"value":"#2a2b09","variable":"var(--color-pear-900)","raw":"#2a2b09"}},"teal":{"50":{"value":"#d7faf8","variable":"var(--color-teal-50)","raw":"#d7faf8"},"100":{"value":"#aff4f0","variable":"var(--color-teal-100)","raw":"#aff4f0"},"200":{"value":"#87efe9","variable":"var(--color-teal-200)","raw":"#87efe9"},"300":{"value":"#5fe9e1","variable":"var(--color-teal-300)","raw":"#5fe9e1"},"400":{"value":"#36e4da","variable":"var(--color-teal-400)","raw":"#36e4da"},"500":{"value":"#1cd1c6","variable":"var(--color-teal-500)","raw":"#1cd1c6"},"600":{"value":"#16a79e","variable":"var(--color-teal-600)","raw":"#16a79e"},"700":{"value":"#117d77","variable":"var(--color-teal-700)","raw":"#117d77"},"800":{"value":"#0b544f","variable":"var(--color-teal-800)","raw":"#0b544f"},"900":{"value":"#062a28","variable":"var(--color-teal-900)","raw":"#062a28"}},"lightblue":{"50":{"value":"#d9f8ff","variable":"var(--color-lightblue-50)","raw":"#d9f8ff"},"100":{"value":"#b3f1ff","variable":"var(--color-lightblue-100)","raw":"#b3f1ff"},"200":{"value":"#8deaff","variable":"var(--color-lightblue-200)","raw":"#8deaff"},"300":{"value":"#66e4ff","variable":"var(--color-lightblue-300)","raw":"#66e4ff"},"400":{"value":"#40ddff","variable":"var(--color-lightblue-400)","raw":"#40ddff"},"500":{"value":"#1ad6ff","variable":"var(--color-lightblue-500)","raw":"#1ad6ff"},"600":{"value":"#00b9e1","variable":"var(--color-lightblue-600)","raw":"#00b9e1"},"700":{"value":"#008aa9","variable":"var(--color-lightblue-700)","raw":"#008aa9"},"800":{"value":"#005c70","variable":"var(--color-lightblue-800)","raw":"#005c70"},"900":{"value":"#002e38","variable":"var(--color-lightblue-900)","raw":"#002e38"}},"blue":{"50":{"value":"#F2FAFF","variable":"var(--color-blue-50)","raw":"#F2FAFF"},"100":{"value":"#DFF3FF","variable":"var(--color-blue-100)","raw":"#DFF3FF"},"200":{"value":"#C6EAFF","variable":"var(--color-blue-200)","raw":"#C6EAFF"},"300":{"value":"#A1DDFF","variable":"var(--color-blue-300)","raw":"#A1DDFF"},"400":{"value":"#64C7FF","variable":"var(--color-blue-400)","raw":"#64C7FF"},"500":{"value":"#1AADFF","variable":"var(--color-blue-500)","raw":"#1AADFF"},"600":{"value":"#0069A6","variable":"var(--color-blue-600)","raw":"#0069A6"},"700":{"value":"#003351","variable":"var(--color-blue-700)","raw":"#003351"},"800":{"value":"#002235","variable":"var(--color-blue-800)","raw":"#002235"},"900":{"value":"#00131D","variable":"var(--color-blue-900)","raw":"#00131D"}},"indigoblue":{"50":{"value":"#d9e5ff","variable":"var(--color-indigoblue-50)","raw":"#d9e5ff"},"100":{"value":"#b3cbff","variable":"var(--color-indigoblue-100)","raw":"#b3cbff"},"200":{"value":"#8db0ff","variable":"var(--color-indigoblue-200)","raw":"#8db0ff"},"300":{"value":"#6696ff","variable":"var(--color-indigoblue-300)","raw":"#6696ff"},"400":{"value":"#407cff","variable":"var(--color-indigoblue-400)","raw":"#407cff"},"500":{"value":"#1a62ff","variable":"var(--color-indigoblue-500)","raw":"#1a62ff"},"600":{"value":"#0047e1","variable":"var(--color-indigoblue-600)","raw":"#0047e1"},"700":{"value":"#0035a9","variable":"var(--color-indigoblue-700)","raw":"#0035a9"},"800":{"value":"#002370","variable":"var(--color-indigoblue-800)","raw":"#002370"},"900":{"value":"#001238","variable":"var(--color-indigoblue-900)","raw":"#001238"}},"royalblue":{"50":{"value":"#dfdbfb","variable":"var(--color-royalblue-50)","raw":"#dfdbfb"},"100":{"value":"#c0b7f7","variable":"var(--color-royalblue-100)","raw":"#c0b7f7"},"200":{"value":"#a093f3","variable":"var(--color-royalblue-200)","raw":"#a093f3"},"300":{"value":"#806ff0","variable":"var(--color-royalblue-300)","raw":"#806ff0"},"400":{"value":"#614bec","variable":"var(--color-royalblue-400)","raw":"#614bec"},"500":{"value":"#4127e8","variable":"var(--color-royalblue-500)","raw":"#4127e8"},"600":{"value":"#2c15c4","variable":"var(--color-royalblue-600)","raw":"#2c15c4"},"700":{"value":"#211093","variable":"var(--color-royalblue-700)","raw":"#211093"},"800":{"value":"#160a62","variable":"var(--color-royalblue-800)","raw":"#160a62"},"900":{"value":"#0b0531","variable":"var(--color-royalblue-900)","raw":"#0b0531"}},"purple":{"50":{"value":"#ead9ff","variable":"var(--color-purple-50)","raw":"#ead9ff"},"100":{"value":"#d5b3ff","variable":"var(--color-purple-100)","raw":"#d5b3ff"},"200":{"value":"#c08dff","variable":"var(--color-purple-200)","raw":"#c08dff"},"300":{"value":"#ab66ff","variable":"var(--color-purple-300)","raw":"#ab66ff"},"400":{"value":"#9640ff","variable":"var(--color-purple-400)","raw":"#9640ff"},"500":{"value":"#811aff","variable":"var(--color-purple-500)","raw":"#811aff"},"600":{"value":"#6500e1","variable":"var(--color-purple-600)","raw":"#6500e1"},"700":{"value":"#4c00a9","variable":"var(--color-purple-700)","raw":"#4c00a9"},"800":{"value":"#330070","variable":"var(--color-purple-800)","raw":"#330070"},"900":{"value":"#190038","variable":"var(--color-purple-900)","raw":"#190038"}},"pink":{"50":{"value":"#ffd9f2","variable":"var(--color-pink-50)","raw":"#ffd9f2"},"100":{"value":"#ffb3e5","variable":"var(--color-pink-100)","raw":"#ffb3e5"},"200":{"value":"#ff8dd8","variable":"var(--color-pink-200)","raw":"#ff8dd8"},"300":{"value":"#ff66cc","variable":"var(--color-pink-300)","raw":"#ff66cc"},"400":{"value":"#ff40bf","variable":"var(--color-pink-400)","raw":"#ff40bf"},"500":{"value":"#ff1ab2","variable":"var(--color-pink-500)","raw":"#ff1ab2"},"600":{"value":"#e10095","variable":"var(--color-pink-600)","raw":"#e10095"},"700":{"value":"#a90070","variable":"var(--color-pink-700)","raw":"#a90070"},"800":{"value":"#70004b","variable":"var(--color-pink-800)","raw":"#70004b"},"900":{"value":"#380025","variable":"var(--color-pink-900)","raw":"#380025"}},"ruby":{"50":{"value":"#ffd9e4","variable":"var(--color-ruby-50)","raw":"#ffd9e4"},"100":{"value":"#ffb3c9","variable":"var(--color-ruby-100)","raw":"#ffb3c9"},"200":{"value":"#ff8dae","variable":"var(--color-ruby-200)","raw":"#ff8dae"},"300":{"value":"#ff6694","variable":"var(--color-ruby-300)","raw":"#ff6694"},"400":{"value":"#ff4079","variable":"var(--color-ruby-400)","raw":"#ff4079"},"500":{"value":"#ff1a5e","variable":"var(--color-ruby-500)","raw":"#ff1a5e"},"600":{"value":"#e10043","variable":"var(--color-ruby-600)","raw":"#e10043"},"700":{"value":"#a90032","variable":"var(--color-ruby-700)","raw":"#a90032"},"800":{"value":"#700021","variable":"var(--color-ruby-800)","raw":"#700021"},"900":{"value":"#380011","variable":"var(--color-ruby-900)","raw":"#380011"}},"primary":{"50":{"value":"#fff2cc","variable":"var(--color-primary-50)","raw":"#fff2cc"},"100":{"value":"#ffe599","variable":"var(--color-primary-100)","raw":"#ffe599"},"200":{"value":"#ffd966","variable":"var(--color-primary-200)","raw":"#ffd966"},"300":{"value":"#f1c232","variable":"var(--color-primary-300)","raw":"#f1c232"},"400":{"value":"#f1c232","variable":"var(--color-primary-400)","raw":"#f1c232"},"500":{"value":"#f1c232","variable":"var(--color-primary-500)","raw":"#f1c232"},"600":{"value":"#f1c232","variable":"var(--color-primary-600)","raw":"#f1c232"},"700":{"value":"#f1c232","variable":"var(--color-primary-700)","raw":"#f1c232"},"800":{"value":"#f1c232","variable":"var(--color-primary-800)","raw":"#f1c232"},"900":{"value":"#f1c232","variable":"var(--color-primary-900)","raw":"#f1c232"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--color-secondary-900)","raw":"{color.gray.900}"}}},"width":{"screen":{"value":"100vw","variable":"var(--width-screen)","raw":"100vw"}},"height":{"screen":{"value":"100vh","variable":"var(--height-screen)","raw":"100vh"}},"shadow":{"xs":{"value":"0px 1px 2px 0px #000000","variable":"var(--shadow-xs)","raw":"0px 1px 2px 0px #000000"},"sm":{"value":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000","variable":"var(--shadow-sm)","raw":"0px 1px 3px 0px #000000, 0px 1px 2px -1px #000000"},"md":{"value":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000","variable":"var(--shadow-md)","raw":"0px 4px 6px -1px #000000, 0px 2px 4px -2px #000000"},"lg":{"value":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000","variable":"var(--shadow-lg)","raw":"0px 10px 15px -3px #000000, 0px 4px 6px -4px #000000"},"xl":{"value":"0px 20px 25px -5px var(--color-gray-400), 0px 8px 10px -6px #000000","variable":"var(--shadow-xl)","raw":"0px 20px 25px -5px {color.gray.400}, 0px 8px 10px -6px #000000"},"2xl":{"value":"0px 25px 50px -12px var(--color-gray-900)","variable":"var(--shadow-2xl)","raw":"0px 25px 50px -12px {color.gray.900}"},"none":{"value":"0px 0px 0px 0px transparent","variable":"var(--shadow-none)","raw":"0px 0px 0px 0px transparent"}},"radii":{"none":{"value":"0px","variable":"var(--radii-none)","raw":"0px"},"2xs":{"value":"0.125rem","variable":"var(--radii-2xs)","raw":"0.125rem"},"xs":{"value":"0.25rem","variable":"var(--radii-xs)","raw":"0.25rem"},"sm":{"value":"0.375rem","variable":"var(--radii-sm)","raw":"0.375rem"},"md":{"value":"0.5rem","variable":"var(--radii-md)","raw":"0.5rem"},"lg":{"value":"0.75rem","variable":"var(--radii-lg)","raw":"0.75rem"},"xl":{"value":"1rem","variable":"var(--radii-xl)","raw":"1rem"},"2xl":{"value":"1.5rem","variable":"var(--radii-2xl)","raw":"1.5rem"},"3xl":{"value":"1.75rem","variable":"var(--radii-3xl)","raw":"1.75rem"},"full":{"value":"9999px","variable":"var(--radii-full)","raw":"9999px"}},"size":{"0":{"value":"0px","variable":"var(--size-0)","raw":"0px"},"2":{"value":"2px","variable":"var(--size-2)","raw":"2px"},"4":{"value":"4px","variable":"var(--size-4)","raw":"4px"},"6":{"value":"6px","variable":"var(--size-6)","raw":"6px"},"8":{"value":"8px","variable":"var(--size-8)","raw":"8px"},"12":{"value":"12px","variable":"var(--size-12)","raw":"12px"},"16":{"value":"16px","variable":"var(--size-16)","raw":"16px"},"20":{"value":"20px","variable":"var(--size-20)","raw":"20px"},"24":{"value":"24px","variable":"var(--size-24)","raw":"24px"},"32":{"value":"32px","variable":"var(--size-32)","raw":"32px"},"40":{"value":"40px","variable":"var(--size-40)","raw":"40px"},"48":{"value":"48px","variable":"var(--size-48)","raw":"48px"},"56":{"value":"56px","variable":"var(--size-56)","raw":"56px"},"64":{"value":"64px","variable":"var(--size-64)","raw":"64px"},"80":{"value":"80px","variable":"var(--size-80)","raw":"80px"},"104":{"value":"104px","variable":"var(--size-104)","raw":"104px"},"200":{"value":"200px","variable":"var(--size-200)","raw":"200px"},"xs":{"value":"20rem","variable":"var(--size-xs)","raw":"20rem"},"sm":{"value":"24rem","variable":"var(--size-sm)","raw":"24rem"},"md":{"value":"28rem","variable":"var(--size-md)","raw":"28rem"},"lg":{"value":"32rem","variable":"var(--size-lg)","raw":"32rem"},"xl":{"value":"36rem","variable":"var(--size-xl)","raw":"36rem"},"2xl":{"value":"42rem","variable":"var(--size-2xl)","raw":"42rem"},"3xl":{"value":"48rem","variable":"var(--size-3xl)","raw":"48rem"},"4xl":{"value":"56rem","variable":"var(--size-4xl)","raw":"56rem"},"5xl":{"value":"64rem","variable":"var(--size-5xl)","raw":"64rem"},"6xl":{"value":"72rem","variable":"var(--size-6xl)","raw":"72rem"},"7xl":{"value":"80rem","variable":"var(--size-7xl)","raw":"80rem"},"full":{"value":"100%","variable":"var(--size-full)","raw":"100%"}},"space":{"0":{"value":"0px","variable":"var(--space-0)","raw":"0px"},"1":{"value":"0.25rem","variable":"var(--space-1)","raw":"0.25rem"},"2":{"value":"0.5rem","variable":"var(--space-2)","raw":"0.5rem"},"3":{"value":"0.75rem","variable":"var(--space-3)","raw":"0.75rem"},"4":{"value":"1rem","variable":"var(--space-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--space-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--space-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--space-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--space-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--space-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--space-10)","raw":"2.5rem"},"11":{"value":"2.75rem","variable":"var(--space-11)","raw":"2.75rem"},"12":{"value":"3rem","variable":"var(--space-12)","raw":"3rem"},"14":{"value":"3.5rem","variable":"var(--space-14)","raw":"3.5rem"},"16":{"value":"4rem","variable":"var(--space-16)","raw":"4rem"},"20":{"value":"5rem","variable":"var(--space-20)","raw":"5rem"},"24":{"value":"6rem","variable":"var(--space-24)","raw":"6rem"},"28":{"value":"7rem","variable":"var(--space-28)","raw":"7rem"},"32":{"value":"8rem","variable":"var(--space-32)","raw":"8rem"},"36":{"value":"9rem","variable":"var(--space-36)","raw":"9rem"},"40":{"value":"10rem","variable":"var(--space-40)","raw":"10rem"},"44":{"value":"11rem","variable":"var(--space-44)","raw":"11rem"},"48":{"value":"12rem","variable":"var(--space-48)","raw":"12rem"},"52":{"value":"13rem","variable":"var(--space-52)","raw":"13rem"},"56":{"value":"14rem","variable":"var(--space-56)","raw":"14rem"},"60":{"value":"15rem","variable":"var(--space-60)","raw":"15rem"},"64":{"value":"16rem","variable":"var(--space-64)","raw":"16rem"},"72":{"value":"18rem","variable":"var(--space-72)","raw":"18rem"},"80":{"value":"20rem","variable":"var(--space-80)","raw":"20rem"},"96":{"value":"24rem","variable":"var(--space-96)","raw":"24rem"},"128":{"value":"32rem","variable":"var(--space-128)","raw":"32rem"},"px":{"value":"1px","variable":"var(--space-px)","raw":"1px"},"rem":{"125":{"value":"0.125rem","variable":"var(--space-rem-125)","raw":"0.125rem"},"375":{"value":"0.375rem","variable":"var(--space-rem-375)","raw":"0.375rem"},"625":{"value":"0.625rem","variable":"var(--space-rem-625)","raw":"0.625rem"},"875":{"value":"0.875rem","variable":"var(--space-rem-875)","raw":"0.875rem"}}},"borderWidth":{"noBorder":{"value":"0","variable":"var(--borderWidth-noBorder)","raw":"0"},"sm":{"value":"1px","variable":"var(--borderWidth-sm)","raw":"1px"},"md":{"value":"2px","variable":"var(--borderWidth-md)","raw":"2px"},"lg":{"value":"3px","variable":"var(--borderWidth-lg)","raw":"3px"}},"opacity":{"noOpacity":{"value":"0","variable":"var(--opacity-noOpacity)","raw":"0"},"bright":{"value":"0.1","variable":"var(--opacity-bright)","raw":"0.1"},"light":{"value":"0.15","variable":"var(--opacity-light)","raw":"0.15"},"soft":{"value":"0.3","variable":"var(--opacity-soft)","raw":"0.3"},"medium":{"value":"0.5","variable":"var(--opacity-medium)","raw":"0.5"},"high":{"value":"0.8","variable":"var(--opacity-high)","raw":"0.8"},"total":{"value":"1","variable":"var(--opacity-total)","raw":"1"}},"font":{"sans":{"value":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji","variable":"var(--font-sans)","raw":"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji"},"serif":{"value":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif","variable":"var(--font-serif)","raw":"ui-serif, Georgia, Cambria, Times New Roman, Times, serif"},"mono":{"value":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace","variable":"var(--font-mono)","raw":"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace"}},"fontWeight":{"thin":{"value":"100","variable":"var(--fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--fontWeight-black)","raw":"900"}},"fontSize":{"xs":{"value":"0.75rem","variable":"var(--fontSize-xs)","raw":"0.75rem"},"sm":{"value":"0.875rem","variable":"var(--fontSize-sm)","raw":"0.875rem"},"base":{"value":"1rem","variable":"var(--fontSize-base)","raw":"1rem"},"lg":{"value":"1.125rem","variable":"var(--fontSize-lg)","raw":"1.125rem"},"xl":{"value":"1.25rem","variable":"var(--fontSize-xl)","raw":"1.25rem"},"2xl":{"value":"1.5rem","variable":"var(--fontSize-2xl)","raw":"1.5rem"},"3xl":{"value":"1.875rem","variable":"var(--fontSize-3xl)","raw":"1.875rem"},"4xl":{"value":"2.25rem","variable":"var(--fontSize-4xl)","raw":"2.25rem"},"5xl":{"value":"3rem","variable":"var(--fontSize-5xl)","raw":"3rem"},"6xl":{"value":"3.75rem","variable":"var(--fontSize-6xl)","raw":"3.75rem"},"7xl":{"value":"4.5rem","variable":"var(--fontSize-7xl)","raw":"4.5rem"},"8xl":{"value":"6rem","variable":"var(--fontSize-8xl)","raw":"6rem"},"9xl":{"value":"8rem","variable":"var(--fontSize-9xl)","raw":"8rem"}},"letterSpacing":{"tighter":{"value":"-0.05em","variable":"var(--letterSpacing-tighter)","raw":"-0.05em"},"tight":{"value":"-0.025em","variable":"var(--letterSpacing-tight)","raw":"-0.025em"},"normal":{"value":"0em","variable":"var(--letterSpacing-normal)","raw":"0em"},"wide":{"value":"0.025em","variable":"var(--letterSpacing-wide)","raw":"0.025em"},"wider":{"value":"0.05em","variable":"var(--letterSpacing-wider)","raw":"0.05em"},"widest":{"value":"0.1em","variable":"var(--letterSpacing-widest)","raw":"0.1em"}},"lead":{"1":{"value":".025rem","variable":"var(--lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--lead-loose)","raw":"2"}},"text":{"xs":{"fontSize":{"value":"var(--fontSize-xs)","variable":"var(--text-xs-fontSize)","raw":"{fontSize.xs}"},"lineHeight":{"value":"var(--lead-4)","variable":"var(--text-xs-lineHeight)","raw":"{lead.4}"}},"sm":{"fontSize":{"value":"var(--fontSize-sm)","variable":"var(--text-sm-fontSize)","raw":"{fontSize.sm}"},"lineHeight":{"value":"var(--lead-5)","variable":"var(--text-sm-lineHeight)","raw":"{lead.5}"}},"base":{"fontSize":{"value":"var(--fontSize-base)","variable":"var(--text-base-fontSize)","raw":"{fontSize.base}"},"lineHeight":{"value":"var(--lead-6)","variable":"var(--text-base-lineHeight)","raw":"{lead.6}"}},"lg":{"fontSize":{"value":"var(--fontSize-lg)","variable":"var(--text-lg-fontSize)","raw":"{fontSize.lg}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-lg-lineHeight)","raw":"{lead.7}"}},"xl":{"fontSize":{"value":"var(--fontSize-xl)","variable":"var(--text-xl-fontSize)","raw":"{fontSize.xl}"},"lineHeight":{"value":"var(--lead-7)","variable":"var(--text-xl-lineHeight)","raw":"{lead.7}"}},"2xl":{"fontSize":{"value":"var(--fontSize-2xl)","variable":"var(--text-2xl-fontSize)","raw":"{fontSize.2xl}"},"lineHeight":{"value":"var(--lead-8)","variable":"var(--text-2xl-lineHeight)","raw":"{lead.8}"}},"3xl":{"fontSize":{"value":"var(--fontSize-3xl)","variable":"var(--text-3xl-fontSize)","raw":"{fontSize.3xl}"},"lineHeight":{"value":"var(--lead-9)","variable":"var(--text-3xl-lineHeight)","raw":"{lead.9}"}},"4xl":{"fontSize":{"value":"var(--fontSize-4xl)","variable":"var(--text-4xl-fontSize)","raw":"{fontSize.4xl}"},"lineHeight":{"value":"var(--lead-10)","variable":"var(--text-4xl-lineHeight)","raw":"{lead.10}"}},"5xl":{"fontSize":{"value":"var(--fontSize-5xl)","variable":"var(--text-5xl-fontSize)","raw":"{fontSize.5xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-5xl-lineHeight)","raw":"{lead.none}"}},"6xl":{"fontSize":{"value":"var(--fontSize-6xl)","variable":"var(--text-6xl-fontSize)","raw":"{fontSize.6xl}"},"lineHeight":{"value":"var(--lead-none)","variable":"var(--text-6xl-lineHeight)","raw":"{lead.none}"}}},"elements":{"text":{"primary":{"color":{"static":{"value":{"initial":"var(--color-gray-900)","dark":"var(--color-gray-50)"},"variable":"var(--elements-text-primary-color-static)","raw":{"initial":"{color.gray.900}","dark":"{color.gray.50}"}},"hover":{}}},"secondary":{"color":{"static":{"value":{"initial":"var(--color-gray-500)","dark":"var(--color-gray-400)"},"variable":"var(--elements-text-secondary-color-static)","raw":{"initial":"{color.gray.500}","dark":"{color.gray.400}"}},"hover":{"value":{"initial":"var(--color-gray-700)","dark":"var(--color-gray-200)"},"variable":"var(--elements-text-secondary-color-hover)","raw":{"initial":"{color.gray.700}","dark":"{color.gray.200}"}}}}},"container":{"maxWidth":{"value":"80rem","variable":"var(--elements-container-maxWidth)","raw":"80rem"},"padding":{"mobile":{"value":"var(--space-4)","variable":"var(--elements-container-padding-mobile)","raw":"{space.4}"},"xs":{"value":"var(--space-4)","variable":"var(--elements-container-padding-xs)","raw":"{space.4}"},"sm":{"value":"var(--space-6)","variable":"var(--elements-container-padding-sm)","raw":"{space.6}"},"md":{"value":"var(--space-6)","variable":"var(--elements-container-padding-md)","raw":"{space.6}"}}},"backdrop":{"filter":{"value":"saturate(200%) blur(20px)","variable":"var(--elements-backdrop-filter)","raw":"saturate(200%) blur(20px)"},"background":{"value":{"initial":"#fffc","dark":"#0c0d0ccc"},"variable":"var(--elements-backdrop-background)","raw":{"initial":"#fffc","dark":"#0c0d0ccc"}}},"border":{"primary":{"static":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-border-primary-static)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}},"hover":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-primary-hover)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}},"secondary":{"static":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-border-secondary-static)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}},"hover":{"value":{"initial":"","dark":""},"variable":"var(--elements-border-secondary-hover)","raw":{"initial":"","dark":""}}}},"surface":{"background":{"base":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-background-base)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"primary":{"backgroundColor":{"value":{"initial":"var(--color-gray-100)","dark":"var(--color-gray-900)"},"variable":"var(--elements-surface-primary-backgroundColor)","raw":{"initial":"{color.gray.100}","dark":"{color.gray.900}"}}},"secondary":{"backgroundColor":{"value":{"initial":"var(--color-gray-200)","dark":"var(--color-gray-800)"},"variable":"var(--elements-surface-secondary-backgroundColor)","raw":{"initial":"{color.gray.200}","dark":"{color.gray.800}"}}}},"state":{"primary":{"color":{"primary":{"value":{"initial":"var(--color-primary-600)","dark":"var(--color-primary-400)"},"variable":"var(--elements-state-primary-color-primary)","raw":{"initial":"{color.primary.600}","dark":"{color.primary.400}"}},"secondary":{"value":{"initial":"var(--color-primary-700)","dark":"var(--color-primary-200)"},"variable":"var(--elements-state-primary-color-secondary)","raw":{"initial":"{color.primary.700}","dark":"{color.primary.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-primary-50)","dark":"var(--color-primary-900)"},"variable":"var(--elements-state-primary-backgroundColor-primary)","raw":{"initial":"{color.primary.50}","dark":"{color.primary.900}"}},"secondary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-backgroundColor-secondary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-primary-100)","dark":"var(--color-primary-800)"},"variable":"var(--elements-state-primary-borderColor-primary)","raw":{"initial":"{color.primary.100}","dark":"{color.primary.800}"}},"secondary":{"value":{"initial":"var(--color-primary-200)","dark":"var(--color-primary-700)"},"variable":"var(--elements-state-primary-borderColor-secondary)","raw":{"initial":"{color.primary.200}","dark":"{color.primary.700}"}}}},"info":{"color":{"primary":{"value":{"initial":"var(--color-blue-500)","dark":"var(--color-blue-400)"},"variable":"var(--elements-state-info-color-primary)","raw":{"initial":"{color.blue.500}","dark":"{color.blue.400}"}},"secondary":{"value":{"initial":"var(--color-blue-600)","dark":"var(--color-blue-200)"},"variable":"var(--elements-state-info-color-secondary)","raw":{"initial":"{color.blue.600}","dark":"{color.blue.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-blue-50)","dark":"var(--color-blue-900)"},"variable":"var(--elements-state-info-backgroundColor-primary)","raw":{"initial":"{color.blue.50}","dark":"{color.blue.900}"}},"secondary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-backgroundColor-secondary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-blue-100)","dark":"var(--color-blue-800)"},"variable":"var(--elements-state-info-borderColor-primary)","raw":{"initial":"{color.blue.100}","dark":"{color.blue.800}"}},"secondary":{"value":{"initial":"var(--color-blue-200)","dark":"var(--color-blue-700)"},"variable":"var(--elements-state-info-borderColor-secondary)","raw":{"initial":"{color.blue.200}","dark":"{color.blue.700}"}}}},"success":{"color":{"primary":{"value":{"initial":"var(--color-green-500)","dark":"var(--color-green-400)"},"variable":"var(--elements-state-success-color-primary)","raw":{"initial":"{color.green.500}","dark":"{color.green.400}"}},"secondary":{"value":{"initial":"var(--color-green-600)","dark":"var(--color-green-200)"},"variable":"var(--elements-state-success-color-secondary)","raw":{"initial":"{color.green.600}","dark":"{color.green.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-green-50)","dark":"var(--color-green-900)"},"variable":"var(--elements-state-success-backgroundColor-primary)","raw":{"initial":"{color.green.50}","dark":"{color.green.900}"}},"secondary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-backgroundColor-secondary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-green-100)","dark":"var(--color-green-800)"},"variable":"var(--elements-state-success-borderColor-primary)","raw":{"initial":"{color.green.100}","dark":"{color.green.800}"}},"secondary":{"value":{"initial":"var(--color-green-200)","dark":"var(--color-green-700)"},"variable":"var(--elements-state-success-borderColor-secondary)","raw":{"initial":"{color.green.200}","dark":"{color.green.700}"}}}},"warning":{"color":{"primary":{"value":{"initial":"var(--color-yellow-600)","dark":"var(--color-yellow-400)"},"variable":"var(--elements-state-warning-color-primary)","raw":{"initial":"{color.yellow.600}","dark":"{color.yellow.400}"}},"secondary":{"value":{"initial":"var(--color-yellow-700)","dark":"var(--color-yellow-200)"},"variable":"var(--elements-state-warning-color-secondary)","raw":{"initial":"{color.yellow.700}","dark":"{color.yellow.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-yellow-50)","dark":"var(--color-yellow-900)"},"variable":"var(--elements-state-warning-backgroundColor-primary)","raw":{"initial":"{color.yellow.50}","dark":"{color.yellow.900}"}},"secondary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-backgroundColor-secondary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-yellow-100)","dark":"var(--color-yellow-800)"},"variable":"var(--elements-state-warning-borderColor-primary)","raw":{"initial":"{color.yellow.100}","dark":"{color.yellow.800}"}},"secondary":{"value":{"initial":"var(--color-yellow-200)","dark":"var(--color-yellow-700)"},"variable":"var(--elements-state-warning-borderColor-secondary)","raw":{"initial":"{color.yellow.200}","dark":"{color.yellow.700}"}}}},"danger":{"color":{"primary":{"value":{"initial":"var(--color-red-500)","dark":"var(--color-red-300)"},"variable":"var(--elements-state-danger-color-primary)","raw":{"initial":"{color.red.500}","dark":"{color.red.300}"}},"secondary":{"value":{"initial":"var(--color-red-600)","dark":"var(--color-red-200)"},"variable":"var(--elements-state-danger-color-secondary)","raw":{"initial":"{color.red.600}","dark":"{color.red.200}"}}},"backgroundColor":{"primary":{"value":{"initial":"var(--color-red-50)","dark":"var(--color-red-900)"},"variable":"var(--elements-state-danger-backgroundColor-primary)","raw":{"initial":"{color.red.50}","dark":"{color.red.900}"}},"secondary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-backgroundColor-secondary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}}},"borderColor":{"primary":{"value":{"initial":"var(--color-red-100)","dark":"var(--color-red-800)"},"variable":"var(--elements-state-danger-borderColor-primary)","raw":{"initial":"{color.red.100}","dark":"{color.red.800}"}},"secondary":{"value":{"initial":"var(--color-red-200)","dark":"var(--color-red-700)"},"variable":"var(--elements-state-danger-borderColor-secondary)","raw":{"initial":"{color.red.200}","dark":"{color.red.700}"}}}}}},"typography":{"body":{"color":{"value":{"initial":"var(--color-black)","dark":"var(--color-white)"},"variable":"var(--typography-body-color)","raw":{"initial":"{color.black}","dark":"{color.white}"}},"backgroundColor":{"value":{"initial":"var(--color-white)","dark":"var(--color-black)"},"variable":"var(--typography-body-backgroundColor)","raw":{"initial":"{color.white}","dark":"{color.black}"}}},"verticalMargin":{"sm":{"value":"16px","variable":"var(--typography-verticalMargin-sm)","raw":"16px"},"base":{"value":"24px","variable":"var(--typography-verticalMargin-base)","raw":"24px"}},"letterSpacing":{"tight":{"value":"-0.025em","variable":"var(--typography-letterSpacing-tight)","raw":"-0.025em"},"wide":{"value":"0.025em","variable":"var(--typography-letterSpacing-wide)","raw":"0.025em"}},"fontSize":{"xs":{"value":"12px","variable":"var(--typography-fontSize-xs)","raw":"12px"},"sm":{"value":"14px","variable":"var(--typography-fontSize-sm)","raw":"14px"},"base":{"value":"16px","variable":"var(--typography-fontSize-base)","raw":"16px"},"lg":{"value":"18px","variable":"var(--typography-fontSize-lg)","raw":"18px"},"xl":{"value":"20px","variable":"var(--typography-fontSize-xl)","raw":"20px"},"2xl":{"value":"24px","variable":"var(--typography-fontSize-2xl)","raw":"24px"},"3xl":{"value":"30px","variable":"var(--typography-fontSize-3xl)","raw":"30px"},"4xl":{"value":"36px","variable":"var(--typography-fontSize-4xl)","raw":"36px"},"5xl":{"value":"48px","variable":"var(--typography-fontSize-5xl)","raw":"48px"},"6xl":{"value":"60px","variable":"var(--typography-fontSize-6xl)","raw":"60px"},"7xl":{"value":"72px","variable":"var(--typography-fontSize-7xl)","raw":"72px"},"8xl":{"value":"96px","variable":"var(--typography-fontSize-8xl)","raw":"96px"},"9xl":{"value":"128px","variable":"var(--typography-fontSize-9xl)","raw":"128px"}},"fontWeight":{"thin":{"value":"100","variable":"var(--typography-fontWeight-thin)","raw":"100"},"extralight":{"value":"200","variable":"var(--typography-fontWeight-extralight)","raw":"200"},"light":{"value":"300","variable":"var(--typography-fontWeight-light)","raw":"300"},"normal":{"value":"400","variable":"var(--typography-fontWeight-normal)","raw":"400"},"medium":{"value":"500","variable":"var(--typography-fontWeight-medium)","raw":"500"},"semibold":{"value":"600","variable":"var(--typography-fontWeight-semibold)","raw":"600"},"bold":{"value":"700","variable":"var(--typography-fontWeight-bold)","raw":"700"},"extrabold":{"value":"800","variable":"var(--typography-fontWeight-extrabold)","raw":"800"},"black":{"value":"900","variable":"var(--typography-fontWeight-black)","raw":"900"}},"lead":{"1":{"value":".025rem","variable":"var(--typography-lead-1)","raw":".025rem"},"2":{"value":".5rem","variable":"var(--typography-lead-2)","raw":".5rem"},"3":{"value":".75rem","variable":"var(--typography-lead-3)","raw":".75rem"},"4":{"value":"1rem","variable":"var(--typography-lead-4)","raw":"1rem"},"5":{"value":"1.25rem","variable":"var(--typography-lead-5)","raw":"1.25rem"},"6":{"value":"1.5rem","variable":"var(--typography-lead-6)","raw":"1.5rem"},"7":{"value":"1.75rem","variable":"var(--typography-lead-7)","raw":"1.75rem"},"8":{"value":"2rem","variable":"var(--typography-lead-8)","raw":"2rem"},"9":{"value":"2.25rem","variable":"var(--typography-lead-9)","raw":"2.25rem"},"10":{"value":"2.5rem","variable":"var(--typography-lead-10)","raw":"2.5rem"},"none":{"value":"1","variable":"var(--typography-lead-none)","raw":"1"},"tight":{"value":"1.25","variable":"var(--typography-lead-tight)","raw":"1.25"},"snug":{"value":"1.375","variable":"var(--typography-lead-snug)","raw":"1.375"},"normal":{"value":"1.5","variable":"var(--typography-lead-normal)","raw":"1.5"},"relaxed":{"value":"1.625","variable":"var(--typography-lead-relaxed)","raw":"1.625"},"loose":{"value":"2","variable":"var(--typography-lead-loose)","raw":"2"}},"font":{"display":{"value":"var(--font-sans)","variable":"var(--typography-font-display)","raw":"{font.sans}"},"body":{"value":"var(--font-sans)","variable":"var(--typography-font-body)","raw":"{font.sans}"},"code":{"value":"var(--font-mono)","variable":"var(--typography-font-code)","raw":"{font.mono}"}},"color":{"primary":{"50":{"value":"var(--color-primary-50)","variable":"var(--typography-color-primary-50)","raw":"{color.primary.50}"},"100":{"value":"var(--color-primary-100)","variable":"var(--typography-color-primary-100)","raw":"{color.primary.100}"},"200":{"value":"var(--color-primary-200)","variable":"var(--typography-color-primary-200)","raw":"{color.primary.200}"},"300":{"value":"var(--color-primary-300)","variable":"var(--typography-color-primary-300)","raw":"{color.primary.300}"},"400":{"value":"var(--color-primary-400)","variable":"var(--typography-color-primary-400)","raw":"{color.primary.400}"},"500":{"value":"var(--color-primary-500)","variable":"var(--typography-color-primary-500)","raw":"{color.primary.500}"},"600":{"value":"var(--color-primary-600)","variable":"var(--typography-color-primary-600)","raw":"{color.primary.600}"},"700":{"value":"var(--color-primary-700)","variable":"var(--typography-color-primary-700)","raw":"{color.primary.700}"},"800":{"value":"var(--color-primary-800)","variable":"var(--typography-color-primary-800)","raw":"{color.primary.800}"},"900":{"value":"var(--color-primary-900)","variable":"var(--typography-color-primary-900)","raw":"{color.primary.900}"}},"secondary":{"50":{"value":"var(--color-gray-50)","variable":"var(--typography-color-secondary-50)","raw":"{color.gray.50}"},"100":{"value":"var(--color-gray-100)","variable":"var(--typography-color-secondary-100)","raw":"{color.gray.100}"},"200":{"value":"var(--color-gray-200)","variable":"var(--typography-color-secondary-200)","raw":"{color.gray.200}"},"300":{"value":"var(--color-gray-300)","variable":"var(--typography-color-secondary-300)","raw":"{color.gray.300}"},"400":{"value":"var(--color-gray-400)","variable":"var(--typography-color-secondary-400)","raw":"{color.gray.400}"},"500":{"value":"var(--color-gray-500)","variable":"var(--typography-color-secondary-500)","raw":"{color.gray.500}"},"600":{"value":"var(--color-gray-600)","variable":"var(--typography-color-secondary-600)","raw":"{color.gray.600}"},"700":{"value":"var(--color-gray-700)","variable":"var(--typography-color-secondary-700)","raw":"{color.gray.700}"},"800":{"value":"var(--color-gray-800)","variable":"var(--typography-color-secondary-800)","raw":"{color.gray.800}"},"900":{"value":"var(--color-gray-900)","variable":"var(--typography-color-secondary-900)","raw":"{color.gray.900}"}}}},"prose":{"p":{"fontSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-p-fontSize)","raw":"{typography.fontSize.base}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-p-lineHeight)","raw":"{typography.lead.normal}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-p-margin)","raw":"{typography.verticalMargin.base} 0"},"br":{"margin":{"value":"var(--typography-verticalMargin-base) 0 0 0","variable":"var(--prose-p-br-margin)","raw":"{typography.verticalMargin.base} 0 0 0"}}},"h1":{"margin":{"value":"0 0 2rem","variable":"var(--prose-h1-margin)","raw":"0 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-5xl)","variable":"var(--prose-h1-fontSize)","raw":"{typography.fontSize.5xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h1-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-bold)","variable":"var(--prose-h1-fontWeight)","raw":"{typography.fontWeight.bold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h1-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h1-iconSize)","raw":"{typography.fontSize.3xl}"}},"h2":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h2-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-4xl)","variable":"var(--prose-h2-fontSize)","raw":"{typography.fontSize.4xl}"},"lineHeight":{"value":"var(--typography-lead-tight)","variable":"var(--prose-h2-lineHeight)","raw":"{typography.lead.tight}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h2-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h2-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h2-iconSize)","raw":"{typography.fontSize.2xl}"}},"h3":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h3-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-3xl)","variable":"var(--prose-h3-fontSize)","raw":"{typography.fontSize.3xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h3-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h3-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h3-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h3-iconSize)","raw":"{typography.fontSize.xl}"}},"h4":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h4-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-2xl)","variable":"var(--prose-h4-fontSize)","raw":"{typography.fontSize.2xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h4-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h4-fontWeight)","raw":"{typography.fontWeight.semibold}"},"letterSpacing":{"value":"var(--typography-letterSpacing-tight)","variable":"var(--prose-h4-letterSpacing)","raw":"{typography.letterSpacing.tight}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h4-iconSize)","raw":"{typography.fontSize.lg}"}},"h5":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h5-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-xl)","variable":"var(--prose-h5-fontSize)","raw":"{typography.fontSize.xl}"},"lineHeight":{"value":"var(--typography-lead-snug)","variable":"var(--prose-h5-lineHeight)","raw":"{typography.lead.snug}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h5-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h5-iconSize)","raw":"{typography.fontSize.lg}"}},"h6":{"margin":{"value":"3rem 0 2rem","variable":"var(--prose-h6-margin)","raw":"3rem 0 2rem"},"fontSize":{"value":"var(--typography-fontSize-lg)","variable":"var(--prose-h6-fontSize)","raw":"{typography.fontSize.lg}"},"lineHeight":{"value":"var(--typography-lead-normal)","variable":"var(--prose-h6-lineHeight)","raw":"{typography.lead.normal}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-h6-fontWeight)","raw":"{typography.fontWeight.semibold}"},"iconSize":{"value":"var(--typography-fontSize-base)","variable":"var(--prose-h6-iconSize)","raw":"{typography.fontSize.base}"}},"strong":{"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-strong-fontWeight)","raw":"{typography.fontWeight.semibold}"}},"img":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-img-margin)","raw":"{typography.verticalMargin.base} 0"}},"a":{"textDecoration":{"value":"none","variable":"var(--prose-a-textDecoration)","raw":"none"},"color":{"static":{"value":{"initial":"inherit","dark":"inherit"},"variable":"var(--prose-a-color-static)","raw":{"initial":"inherit","dark":"inherit"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-400)"},"variable":"var(--prose-a-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.400}"}}},"border":{"width":{"value":"1px","variable":"var(--prose-a-border-width)","raw":"1px"},"style":{"static":{"value":"dashed","variable":"var(--prose-a-border-style-static)","raw":"dashed"},"hover":{"value":"solid","variable":"var(--prose-a-border-style-hover)","raw":"solid"}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-border-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"distance":{"value":"2px","variable":"var(--prose-a-border-distance)","raw":"2px"}},"fontWeight":{"value":"var(--typography-fontWeight-medium)","variable":"var(--prose-a-fontWeight)","raw":"{typography.fontWeight.medium}"},"hasCode":{"borderBottom":{"value":"none","variable":"var(--prose-a-hasCode-borderBottom)","raw":"none"}},"code":{"border":{"width":{"value":"var(--prose-a-border-width)","variable":"var(--prose-a-code-border-width)","raw":"{prose.a.border.width}"},"style":{"value":"var(--prose-a-border-style-static)","variable":"var(--prose-a-code-border-style)","raw":"{prose.a.border.style.static}"},"color":{"static":{"value":{"initial":"var(--typography-color-secondary-400)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-a-code-border-color-static)","raw":{"initial":"{typography.color.secondary.400}","dark":"{typography.color.secondary.600}"}},"hover":{"value":{"initial":"var(--typography-color-primary-500)","dark":"var(--typography-color-primary-600)"},"variable":"var(--prose-a-code-border-color-hover)","raw":{"initial":"{typography.color.primary.500}","dark":"{typography.color.primary.600}"}}}},"color":{"static":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-static)","raw":{"initial":"currentColor","dark":"currentColor"}},"hover":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-a-code-color-hover)","raw":{"initial":"currentColor","dark":"currentColor"}}},"background":{"static":{},"hover":{"value":{"initial":"var(--typography-color-primary-50)","dark":"var(--typography-color-primary-900)"},"variable":"var(--prose-a-code-background-hover)","raw":{"initial":"{typography.color.primary.50}","dark":"{typography.color.primary.900}"}}}}},"blockquote":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-blockquote-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"24px","variable":"var(--prose-blockquote-paddingInlineStart)","raw":"24px"},"quotes":{"value":"'201C' '201D' '2018' '2019'","variable":"var(--prose-blockquote-quotes)","raw":"'201C' '201D' '2018' '2019'"},"color":{"value":{"initial":"var(--typography-color-secondary-500)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-blockquote-color)","raw":{"initial":"{typography.color.secondary.500}","dark":"{typography.color.secondary.400}"}},"border":{"width":{"value":"4px","variable":"var(--prose-blockquote-border-width)","raw":"4px"},"style":{"value":"solid","variable":"var(--prose-blockquote-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-700)"},"variable":"var(--prose-blockquote-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.700}"}}}},"ul":{"listStyleType":{"value":"disc","variable":"var(--prose-ul-listStyleType)","raw":"disc"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ul-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ul-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ul-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"ol":{"listStyleType":{"value":"decimal","variable":"var(--prose-ol-listStyleType)","raw":"decimal"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-ol-margin)","raw":"{typography.verticalMargin.base} 0"},"paddingInlineStart":{"value":"21px","variable":"var(--prose-ol-paddingInlineStart)","raw":"21px"},"li":{"markerColor":{"value":{"initial":"currentColor","dark":"currentColor"},"variable":"var(--prose-ol-li-markerColor)","raw":{"initial":"currentColor","dark":"currentColor"}}}},"li":{"margin":{"value":"var(--typography-verticalMargin-sm) 0","variable":"var(--prose-li-margin)","raw":"{typography.verticalMargin.sm} 0"},"listStylePosition":{"value":"outside","variable":"var(--prose-li-listStylePosition)","raw":"outside"}},"hr":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-hr-margin)","raw":"{typography.verticalMargin.base} 0"},"style":{"value":"solid","variable":"var(--prose-hr-style)","raw":"solid"},"width":{"value":"1px","variable":"var(--prose-hr-width)","raw":"1px"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-hr-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"table":{"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-table-margin)","raw":"{typography.verticalMargin.base} 0"},"textAlign":{"value":"start","variable":"var(--prose-table-textAlign)","raw":"start"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-table-fontSize)","raw":"{typography.fontSize.sm}"},"lineHeight":{"value":"var(--typography-lead-6)","variable":"var(--prose-table-lineHeight)","raw":"{typography.lead.6}"}},"thead":{"border":{"width":{"value":"0px","variable":"var(--prose-thead-border-width)","raw":"0px"},"style":{"value":"solid","variable":"var(--prose-thead-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-300)","dark":"var(--typography-color-secondary-600)"},"variable":"var(--prose-thead-border-color)","raw":{"initial":"{typography.color.secondary.300}","dark":"{typography.color.secondary.600}"}}},"borderBottom":{"width":{"value":"1px","variable":"var(--prose-thead-borderBottom-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-thead-borderBottom-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-thead-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"th":{"color":{"value":{"initial":"var(--typography-color-secondary-600)","dark":"var(--typography-color-secondary-400)"},"variable":"var(--prose-th-color)","raw":{"initial":"{typography.color.secondary.600}","dark":"{typography.color.secondary.400}"}},"padding":{"value":"0 var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm) var(--typography-verticalMargin-sm)","variable":"var(--prose-th-padding)","raw":"0 {typography.verticalMargin.sm} {typography.verticalMargin.sm} {typography.verticalMargin.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-semibold)","variable":"var(--prose-th-fontWeight)","raw":"{typography.fontWeight.semibold}"},"textAlign":{"value":"inherit","variable":"var(--prose-th-textAlign)","raw":"inherit"}},"tbody":{"tr":{"borderBottom":{"width":{"value":"1px","variable":"var(--prose-tbody-tr-borderBottom-width)","raw":"1px"},"style":{"value":"dashed","variable":"var(--prose-tbody-tr-borderBottom-style)","raw":"dashed"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-tbody-tr-borderBottom-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}}},"td":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-tbody-td-padding)","raw":"{typography.verticalMargin.sm}"}},"code":{"inline":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-tbody-code-inline-fontSize)","raw":"{typography.fontSize.sm}"}}}},"code":{"block":{"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-block-fontSize)","raw":"{typography.fontSize.sm}"},"margin":{"value":"var(--typography-verticalMargin-base) 0","variable":"var(--prose-code-block-margin)","raw":"{typography.verticalMargin.base} 0"},"border":{"width":{"value":"1px","variable":"var(--prose-code-block-border-width)","raw":"1px"},"style":{"value":"solid","variable":"var(--prose-code-block-border-style)","raw":"solid"},"color":{"value":{"initial":"var(--typography-color-secondary-200)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-block-border-color)","raw":{"initial":"{typography.color.secondary.200}","dark":"{typography.color.secondary.800}"}}},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-block-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-900)"},"variable":"var(--prose-code-block-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.900}"}},"backdropFilter":{"value":{"initial":"contrast(1)","dark":"contrast(1)"},"variable":"var(--prose-code-block-backdropFilter)","raw":{"initial":"contrast(1)","dark":"contrast(1)"}},"pre":{"padding":{"value":"var(--typography-verticalMargin-sm)","variable":"var(--prose-code-block-pre-padding)","raw":"{typography.verticalMargin.sm}"}}},"inline":{"borderRadius":{"value":"var(--radii-xs)","variable":"var(--prose-code-inline-borderRadius)","raw":"{radii.xs}"},"padding":{"value":"0.2rem 0.375rem 0.2rem 0.375rem","variable":"var(--prose-code-inline-padding)","raw":"0.2rem 0.375rem 0.2rem 0.375rem"},"fontSize":{"value":"var(--typography-fontSize-sm)","variable":"var(--prose-code-inline-fontSize)","raw":"{typography.fontSize.sm}"},"fontWeight":{"value":"var(--typography-fontWeight-normal)","variable":"var(--prose-code-inline-fontWeight)","raw":"{typography.fontWeight.normal}"},"color":{"value":{"initial":"var(--typography-color-secondary-700)","dark":"var(--typography-color-secondary-200)"},"variable":"var(--prose-code-inline-color)","raw":{"initial":"{typography.color.secondary.700}","dark":"{typography.color.secondary.200}"}},"backgroundColor":{"value":{"initial":"var(--typography-color-secondary-100)","dark":"var(--typography-color-secondary-800)"},"variable":"var(--prose-code-inline-backgroundColor)","raw":{"initial":"{typography.color.secondary.100}","dark":"{typography.color.secondary.800}"}}}}},"docus":{"header":{"height":{"value":"64px","variable":"var(--docus-header-height)","raw":"64px"}},"footer":{"height":{"value":{"initial":"145px","sm":"100px"},"variable":"var(--docus-footer-height)","raw":{"initial":"145px","sm":"100px"}},"padding":{"value":"var(--space-4) 0","variable":"var(--docus-footer-padding)","raw":"{space.4} 0"}},"readableLine":{"value":"78ch","variable":"var(--docus-readableLine)","raw":"78ch"},"loadingBar":{"height":{"value":"3px","variable":"var(--docus-loadingBar-height)","raw":"3px"},"gradientColorStop1":{"value":"#00dc82","variable":"var(--docus-loadingBar-gradientColorStop1)","raw":"#00dc82"},"gradientColorStop2":{"value":"#34cdfe","variable":"var(--docus-loadingBar-gradientColorStop2)","raw":"#34cdfe"},"gradientColorStop3":{"value":"#0047e1","variable":"var(--docus-loadingBar-gradientColorStop3)","raw":"#0047e1"}}}},"content":{"sources":{},"ignores":["\\.","-"],"locales":[],"highlight":{"theme":{"dark":"github-dark","default":"github-light"},"preload":["json","js","ts","html","css","vue","diff","shell","markdown","yaml","bash","ini"]},"navigation":{"fields":["icon","titleTemplate","header","main","aside","footer","layout"]},"documentDriven":true},"components":[{"name":"ExampleCard","path":"/components/content/Example/ExampleCard.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ExampleHero","path":"/components/content/Example/ExampleHero.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"description","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ExampleIconCard","path":"/components/content/Example/ExampleIconCard.vue","meta":{"props":[{"name":"title","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"Default title\""},{"name":"description","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"Default description\""},{"name":"icon","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"IconMarkdown\""}],"slots":[],"events":[]}},{"name":"ExampleMultiselect","path":"/components/content/Example/ExampleMultiselect.vue","meta":{"props":[{"name":"options","global":false,"description":"","tags":[],"required":false,"type":"string | unknown[] | undefined","schema":{"kind":"enum","type":"string | unknown[] | undefined","schema":["undefined","string",{"kind":"array","type":"unknown[]","schema":["unknown"]}]},"default":"[]"}],"slots":[],"events":[]}},{"name":"ExampleTheTitle","path":"/components/content/Example/ExampleTheTitle.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"HeroAnnouncement","path":"/components/content/HeroAnnouncement.vue","meta":{"props":[{"name":"to","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"label","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""}],"slots":[],"events":[]}},{"name":"IconMarkdown","path":"/components/content/IconMarkdown.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Logo","path":"/components/content/Logo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"MyButton","path":"/components/content/MyButton.vue","meta":{"props":[{"name":"type","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"info\""}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"PropInspector","path":"/components/content/PropInspector.vue","meta":{"props":[{"name":"prop","global":false,"description":"","tags":[],"required":false,"type":"any","schema":"any"}],"slots":[],"events":[]}},{"name":"ReadMore","path":"/components/content/ReadMore.vue","meta":{"props":[{"name":"link","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"},{"name":"title","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"undefined"}],"slots":[],"events":[]}},{"name":"AppFooter","path":"/node_modules/@nuxt-themes/docus/components/app/AppFooter.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeader","path":"/node_modules/@nuxt-themes/docus/components/app/AppHeader.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderDialog","path":"/node_modules/@nuxt-themes/docus/components/app/AppHeaderDialog.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderLogo","path":"/node_modules/@nuxt-themes/docus/components/app/AppHeaderLogo.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppHeaderNavigation","path":"/node_modules/@nuxt-themes/docus/components/app/AppHeaderNavigation.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppLayout","path":"/node_modules/@nuxt-themes/docus/components/app/AppLayout.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"AppLoadingBar","path":"/node_modules/@nuxt-themes/docus/components/app/AppLoadingBar.vue","meta":{"props":[{"name":"throttle","global":false,"description":"","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"default":"200"},{"name":"duration","global":false,"description":"","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"default":"2000"}],"slots":[],"events":[]}},{"name":"AppSearch","path":"/node_modules/@nuxt-themes/docus/components/app/AppSearch.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"AppSocialIcons","path":"/node_modules/@nuxt-themes/docus/components/app/AppSocialIcons.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Ellipsis","path":"/node_modules/@nuxt-themes/docus/components/app/Ellipsis.vue","meta":{"props":[{"name":"width","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"10rem\""},{"name":"height","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"10rem\""},{"name":"zIndex","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"10\""},{"name":"top","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"0\""},{"name":"left","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"auto\""},{"name":"right","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"auto\""},{"name":"blur","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"50px\""},{"name":"colors","global":false,"description":"","tags":[],"required":false,"type":"string[] | undefined","schema":{"kind":"enum","type":"string[] | undefined","schema":["undefined",{"kind":"array","type":"string[]","schema":["string"]}]},"default":"[\"rgba(0, 71, 225, 0.22)\", \"rgba(26, 214, 255, 0.22)\", \"rgba(0, 220, 130, 0.22)\"]"}],"slots":[],"events":[]}},{"name":"ThemeSelect","path":"/node_modules/@nuxt-themes/docus/components/app/ThemeSelect.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAside","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsAside.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsAsideTree","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsAsideTree.vue","meta":{"props":[{"name":"links","global":false,"description":"","tags":[],"required":false,"type":"any","schema":"any","default":"[]"},{"name":"level","global":false,"description":"","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"default":"0"},{"name":"max","global":false,"description":"","tags":[],"required":false,"type":"number | undefined","schema":{"kind":"enum","type":"number | undefined","schema":["undefined","number"]},"default":"null"},{"name":"parent","global":false,"description":"","tags":[],"required":false,"type":"any","schema":"any","default":"null"}],"slots":[],"events":[]}},{"name":"DocsPageBottom","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsPageBottom.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsPageLayout","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsPageLayout.vue","meta":{"props":[],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"DocsPrevNext","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsPrevNext.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"DocsToc","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsToc.vue","meta":{"props":[],"slots":[],"events":[{"name":"move","type":"any[]","signature":"(event: \"move\", ...args: any[]): void","schema":["any"]}]}},{"name":"DocsTocLinks","path":"/node_modules/@nuxt-themes/docus/components/docs/DocsTocLinks.vue","meta":{"props":[{"name":"links","global":false,"description":"","tags":[],"required":false,"type":"TocLink[] | undefined","schema":{"kind":"enum","type":"TocLink[] | undefined","schema":["undefined",{"kind":"array","type":"TocLink[]","schema":[{"kind":"object","type":"TocLink","schema":{"id":{"name":"id","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"},"text":{"name":"text","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"},"depth":{"name":"depth","global":false,"description":"","tags":[],"required":true,"type":"number","schema":"number"},"children":{"name":"children","global":false,"description":"","tags":[],"required":false,"type":"TocLink[] | undefined","schema":"TocLink[] | undefined"}}}]}]},"default":"[]"}],"slots":[],"events":[{"name":"move","type":"any[]","signature":"(event: \"move\", ...args: any[]): void","schema":["any"]}]}},{"name":"EditOnLink","path":"/node_modules/@nuxt-themes/docus/components/docs/EditOnLink.vue","meta":{"props":[{"name":"owner","global":false,"description":"Repository owner.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.owner"},{"name":"repo","global":false,"description":"Repository name.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.repo"},{"name":"branch","global":false,"description":"The branch to use for the edit link.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.branch"},{"name":"dir","global":false,"description":"A base directory to append to the source path.\n\nWon't be used if `page` is set.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.dir"},{"name":"source","global":false,"description":"Source file path.\n\nWon't be used if `page` is set.","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"undefined"},{"name":"page","global":false,"description":"Use page from @nuxt/content.","tags":[],"required":false,"type":"any","schema":"any","default":"undefined"},{"name":"contentDir","global":false,"description":"Content directory (to be used with `page`)","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"useAppConfig()?.docus?.github?.dir || \"content\""},{"name":"edit","global":false,"description":"Send to an edit page or not.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"useAppConfig()?.docus?.github?.edit"}],"slots":[],"events":[]}},{"name":"SourceLink","path":"/node_modules/@nuxt-themes/docus/components/docs/SourceLink.vue","meta":{"props":[{"name":"source","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"}],"slots":[],"events":[]}},{"name":"Alert","path":"/node_modules/@nuxt-themes/elements/components/globals/Alert.vue","meta":{"props":[{"name":"type","global":false,"description":"","tags":[{"name":"values","text":"info, success, warning, danger"}],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"info\""}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Badge","path":"/node_modules/@nuxt-themes/elements/components/globals/Badge.vue","meta":{"props":[{"name":"type","global":false,"description":"","tags":[{"name":"values","text":"info, success, warning, danger"}],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"info\""}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"ButtonLink","path":"/node_modules/@nuxt-themes/elements/components/globals/ButtonLink.vue","meta":{"props":[{"name":"href","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"icon","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"color","global":false,"description":"","tags":[],"required":false,"type":"ComputedStyleProp<\"ruby\" | \"primary\" | \"white\" | \"black\" | \"gray\" | \"green\" | \"yellow\" | \"orange\" | \"red\" | \"pear\" | \"teal\" | \"lightblue\" | \"blue\" | \"indigoblue\" | \"royalblue\" | \"purple\" | \"pink\" | \"secondary\"> | undefined","schema":{"kind":"enum","type":"ComputedStyleProp<\"ruby\" | \"primary\" | \"white\" | \"black\" | \"gray\" | \"green\" | \"yellow\" | \"orange\" | \"red\" | \"pear\" | \"teal\" | \"lightblue\" | \"blue\" | \"indigoblue\" | \"royalblue\" | \"purple\" | \"pink\" | \"secondary\"> | undefined","schema":["undefined","\"ruby\"","\"primary\"","\"white\"","\"black\"","\"gray\"","\"green\"","\"yellow\"","\"orange\"","\"red\"","\"pear\"","\"teal\"","\"lightblue\"","\"blue\"","\"indigoblue\"","\"royalblue\"","\"purple\"","\"pink\"","\"secondary\"","{ md?: \"ruby\" | \"primary\" | \"white\" | \"black\" | \"gray\" | \"green\" | \"yellow\" | \"orange\" | \"red\" | \"pear\" | \"teal\" | \"lightblue\" | \"blue\" | \"indigoblue\" | \"royalblue\" | \"purple\" | \"pink\" | \"secondary\" | undefined; ... 10 more ...; portrait?: \"ruby\" | ... 17 more ... | undefined; }"]}},{"name":"blank","global":false,"description":"","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"false"},{"name":"size","global":false,"description":"","tags":[],"required":false,"type":"\"small\" | \"medium\" | \"large\" | \"giant\" | { md?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; dark?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; light?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; ... 8 more ...; portrait?: \"small\" | ... 3 more ... | undefined; } | undefined","schema":{"kind":"enum","type":"\"small\" | \"medium\" | \"large\" | \"giant\" | { md?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; dark?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; light?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; ... 8 more ...; portrait?: \"small\" | ... 3 more ... | undefined; } | undefined","schema":["undefined","\"small\"","\"medium\"","\"large\"","\"giant\"","{ md?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; dark?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; light?: \"small\" | \"medium\" | \"large\" | \"giant\" | undefined; initial?: \"small\" | ... 3 more ... | undefined; ... 7 more ...; portrait?: \"small\" | ... 3 more ... | undefined; }"]}},{"name":"transparent","global":false,"description":"","tags":[],"required":false,"type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":{"kind":"enum","type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":["undefined","false","true","{ md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; }"]}}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"Callout","path":"/node_modules/@nuxt-themes/elements/components/globals/Callout.vue","meta":{"props":[{"name":"type","global":false,"description":"","tags":[{"name":"values","text":"info, success, warning, danger"}],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"info\""},{"name":"modelValue","global":false,"description":"","tags":[],"required":false,"type":"any","schema":"any","default":"ref(false)"}],"slots":[{"name":"summary","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"content","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[{"name":"update:modelValue","type":"any[]","signature":"(event: \"update:modelValue\", ...args: any[]): void","schema":["any"]}]}},{"name":"CodeBlock","path":"/node_modules/@nuxt-themes/elements/components/globals/CodeBlock.vue","meta":{"props":[{"name":"label","global":false,"description":"Label to display for the tab","tags":[],"required":true,"type":"string","schema":"string"},{"name":"active","global":false,"description":"Select which tab should be active","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"false"},{"name":"preview","global":false,"description":"Preiew block are bordered and have small padding.","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"false"}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"CodeGroup","path":"/node_modules/@nuxt-themes/elements/components/globals/CodeGroup.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Container","path":"/node_modules/@nuxt-themes/elements/components/globals/Container.vue","meta":{"props":[{"name":"as","global":false,"description":"","tags":[],"required":false,"type":"keyof HTMLElementTagNameMap | undefined","schema":{"kind":"enum","type":"keyof HTMLElementTagNameMap | undefined","schema":["undefined","\"object\"","\"style\"","\"map\"","\"title\"","\"data\"","\"template\"","\"link\"","\"small\"","\"sub\"","\"sup\"","\"label\"","\"source\"","\"main\"","\"html\"","\"ruby\"","\"code\"","\"a\"","\"abbr\"","\"address\"","\"area\"","\"article\"","\"aside\"","\"audio\"","\"b\"","\"base\"","\"bdi\"","\"bdo\"","\"blockquote\"","\"body\"","\"br\"","\"button\"","\"canvas\"","\"caption\"","\"cite\"","\"col\"","\"colgroup\"","\"datalist\"","\"dd\"","\"del\"","\"details\"","\"dfn\"","\"dialog\"","\"div\"","\"dl\"","\"dt\"","\"em\"","\"embed\"","\"fieldset\"","\"figcaption\"","\"figure\"","\"footer\"","\"form\"","\"h1\"","\"h2\"","\"h3\"","\"h4\"","\"h5\"","\"h6\"","\"head\"","\"header\"","\"hgroup\"","\"hr\"","\"i\"","\"iframe\"","\"img\"","\"input\"","\"ins\"","\"kbd\"","\"legend\"","\"li\"","\"mark\"","\"menu\"","\"meta\"","\"meter\"","\"nav\"","\"noscript\"","\"ol\"","\"optgroup\"","\"option\"","\"output\"","\"p\"","\"picture\"","\"pre\"","\"progress\"","\"q\"","\"rp\"","\"rt\"","\"s\"","\"samp\"","\"script\"","\"section\"","\"select\"","\"slot\"","\"span\"","\"strong\"","\"summary\"","\"table\"","\"tbody\"","\"td\"","\"textarea\"","\"tfoot\"","\"th\"","\"thead\"","\"time\"","\"tr\"","\"track\"","\"u\"","\"ul\"","\"var\"","\"video\"","\"wbr\""]},"default":"\"div\""},{"name":"padded","global":false,"description":"","tags":[],"required":false,"type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":{"kind":"enum","type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":["undefined","false","true","{ md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; }"]}},{"name":"fluid","global":false,"description":"","tags":[],"required":false,"type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":{"kind":"enum","type":"boolean | { md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; } | undefined","schema":["undefined","false","true","{ md?: boolean | undefined; dark?: boolean | undefined; light?: boolean | undefined; initial?: boolean | undefined; xs?: boolean | undefined; sm?: boolean | undefined; lg?: boolean | undefined; ... 4 more ...; portrait?: boolean | undefined; }"]}}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"CopyButton","path":"/node_modules/@nuxt-themes/elements/components/globals/CopyButton.vue","meta":{"props":[{"name":"content","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""}],"slots":[],"events":[]}},{"name":"List","path":"/node_modules/@nuxt-themes/elements/components/globals/List.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"NuxtImg","path":"/node_modules/@nuxt-themes/elements/components/globals/NuxtImg.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Props","path":"/node_modules/@nuxt-themes/elements/components/globals/Props.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"Sandbox","path":"/node_modules/@nuxt-themes/elements/components/globals/Sandbox.vue","meta":{"props":[{"name":"repo","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"branch","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"dir","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"src","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"file","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"app.vue\""}],"slots":[],"events":[]}},{"name":"TabsHeader","path":"/node_modules/@nuxt-themes/elements/components/globals/TabsHeader.vue","meta":{"props":[{"name":"tabs","global":false,"description":"","tags":[],"required":true,"type":"{ label: string; }[]","schema":{"kind":"array","type":"{ label: string; }[]","schema":[{"kind":"object","type":"{ label: string; }","schema":{"label":{"name":"label","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"}}}]}},{"name":"activeTabIndex","global":false,"description":"","tags":[],"required":true,"type":"number","schema":"number"}],"slots":[{"name":"footer","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[{"name":"update:activeTabIndex","type":"any[]","signature":"(event: \"update:activeTabIndex\", ...args: any[]): void","schema":["any"]}]}},{"name":"Terminal","path":"/node_modules/@nuxt-themes/elements/components/globals/Terminal.vue","meta":{"props":[{"name":"content","global":false,"description":"","tags":[],"required":true,"type":"string | string[]","schema":{"kind":"enum","type":"string | string[]","schema":["string",{"kind":"array","type":"string[]","schema":["string"]}]}}],"slots":[],"events":[]}},{"name":"VideoPlayer","path":"/node_modules/@nuxt-themes/elements/components/globals/VideoPlayer.vue","meta":{"props":[{"name":"src","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"poster","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"sources","global":false,"description":"","tags":[],"required":false,"type":"any[] | undefined","schema":{"kind":"enum","type":"any[] | undefined","schema":["undefined",{"kind":"array","type":"any[]","schema":["any"]}]},"default":"[]"},{"name":"autoplay","global":false,"description":"","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"false"}],"slots":[],"events":[]}},{"name":"IconCodeSandBox","path":"/node_modules/@nuxt-themes/elements/components/icons/IconCodeSandBox.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconDocus","path":"/node_modules/@nuxt-themes/elements/components/icons/IconDocus.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxt","path":"/node_modules/@nuxt-themes/elements/components/icons/IconNuxt.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtContent","path":"/node_modules/@nuxt-themes/elements/components/icons/IconNuxtContent.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtLabs","path":"/node_modules/@nuxt-themes/elements/components/icons/IconNuxtLabs.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconNuxtStudio","path":"/node_modules/@nuxt-themes/elements/components/icons/IconNuxtStudio.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconStackBlitz","path":"/node_modules/@nuxt-themes/elements/components/icons/IconStackBlitz.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"IconVueTelescope","path":"/node_modules/@nuxt-themes/elements/components/icons/IconVueTelescope.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"BlockHero","path":"/node_modules/@nuxt-themes/elements/components/landing/BlockHero.vue","meta":{"props":[{"name":"secondary","global":false,"description":"","tags":[],"required":false,"type":"string[] | undefined","schema":{"kind":"enum","type":"string[] | undefined","schema":["undefined",{"kind":"array","type":"string[]","schema":["string"]}]},"default":"[]"},{"name":"video","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"cta","global":false,"description":"","tags":[],"required":false,"type":"string[] | undefined","schema":{"kind":"enum","type":"string[] | undefined","schema":["undefined",{"kind":"array","type":"string[]","schema":["string"]}]},"default":"[]"},{"name":"snippet","global":false,"description":"","tags":[],"required":false,"type":"string | string[] | undefined","schema":{"kind":"enum","type":"string | string[] | undefined","schema":["undefined","string",{"kind":"array","type":"string[]","schema":["string"]}]},"default":"\"\""}],"slots":[],"events":[]}},{"name":"Card","path":"/node_modules/@nuxt-themes/elements/components/landing/Card.vue","meta":{"props":[{"name":"icon","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"iconClass","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"\""},{"name":"blurry","global":false,"description":"","tags":[],"required":false,"type":"boolean | undefined","schema":{"kind":"enum","type":"boolean | undefined","schema":["undefined","false","true"]},"default":"true"}],"slots":[{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"CardGrid","path":"/node_modules/@nuxt-themes/elements/components/landing/CardGrid.vue","meta":{"props":[{"name":"title","global":false,"description":"","tags":[],"required":false,"type":"string | undefined","schema":{"kind":"enum","type":"string | undefined","schema":["undefined","string"]},"default":"\"Features\""}],"slots":[{"name":"root","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"title","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}},{"name":"default","type":"{}","description":"","schema":{"kind":"object","type":"{}","schema":{}}}],"events":[]}},{"name":"VoltaBoard","path":"/node_modules/@nuxt-themes/elements/components/volta/VoltaBoard.vue","meta":{"props":[{"name":"token","global":false,"description":"","tags":[],"required":true,"type":"string","schema":"string"}],"slots":[],"events":[]}},{"name":"ComponentPlayground","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"ComponentPlaygroundData","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundData.vue","meta":{"props":[{"name":"modelValue","global":false,"description":"","tags":[],"required":false,"type":"Record | undefined","schema":{"kind":"enum","type":"Record | undefined","schema":["undefined","Record"]},"default":"{}"},{"name":"componentData","global":false,"description":"","tags":[],"required":false,"type":"Record | undefined","schema":{"kind":"enum","type":"Record | undefined","schema":["undefined","Record"]},"default":"{}"}],"slots":[],"events":[{"name":"update:modelValue","type":"any[]","signature":"(event: \"update:modelValue\", ...args: any[]): void","schema":["any"]}]}},{"name":"ComponentPlaygroundProps","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundProps.vue","meta":{"props":[{"name":"modelValue","global":false,"description":"","tags":[],"required":true,"type":"Record","schema":"Record"},{"name":"componentData","global":false,"description":"","tags":[],"required":true,"type":"Record","schema":"Record"}],"slots":[],"events":[{"name":"update:modelValue","type":"any[]","signature":"(event: \"update:modelValue\", ...args: any[]): void","schema":["any"]}]}},{"name":"ComponentPlaygroundSlots","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundSlots.vue","meta":{"props":[{"name":"componentData","global":false,"description":"","tags":[],"required":true,"type":"Record","schema":"Record"}],"slots":[],"events":[]}},{"name":"ComponentPlaygroundTokens","path":"/node_modules/@nuxt-themes/elements/components/meta/ComponentPlaygroundTokens.vue","meta":{"props":[{"name":"componentData","global":false,"description":"","tags":[],"required":true,"type":"Record","schema":"Record"}],"slots":[],"events":[]}},{"name":"TokensPlayground","path":"/node_modules/@nuxt-themes/elements/components/meta/TokensPlayground.vue","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubRepository","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRepository.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubLink","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLink.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubReadme","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReadme.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubReleases","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubReleases.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubLastRelease","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubLastRelease.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubRelease","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubRelease.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubContributors","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubContributors.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubFileContributors","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubFileContributors.mjs","meta":{"props":[],"slots":[],"events":[]}},{"name":"GithubCommits","path":"/node_modules/@nuxtlabs/github-module/dist/runtime/components/GithubCommits.mjs","meta":{"props":[],"slots":[],"events":[]}}]} \ No newline at end of file diff --git a/docs/.output/public/_nuxt/Alert.443f6167.js b/docs/.output/public/_nuxt/Alert.443f6167.js deleted file mode 100644 index 95498bc7..00000000 --- a/docs/.output/public/_nuxt/Alert.443f6167.js +++ /dev/null @@ -1 +0,0 @@ -import a from"./ContentSlot.7e1a494f.js";import{f as r,q as n,x as s,E as p,G as c,y as i}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as m}from"./Container.f1017aa2.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";const l={class:"alert-content"},_=r({__name:"Alert",props:{type:{type:String,default:"info",validator(t){return["info","success","warning","danger","primary"].includes(t)}}},setup(t){return(e,d)=>{const o=a;return n(),s("div",{class:i(["alert",[t.type]])},[p("div",l,[c(o,{use:e.$slots.default,unwrap:"p"},null,8,["use"])])],2)}}}),k=m(_,[["__scopeId","data-v-95a79b90"]]);export{k as default}; diff --git a/docs/.output/public/_nuxt/AppLayout.bec693ec.js b/docs/.output/public/_nuxt/AppLayout.bec693ec.js deleted file mode 100644 index bb52d398..00000000 --- a/docs/.output/public/_nuxt/AppLayout.bec693ec.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./entry.2d43dc03.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./runtime-core.esm-bundler.6894272a.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";export{o as default}; diff --git a/docs/.output/public/_nuxt/Badge.a4f5598b.js b/docs/.output/public/_nuxt/Badge.a4f5598b.js deleted file mode 100644 index 448847b6..00000000 --- a/docs/.output/public/_nuxt/Badge.a4f5598b.js +++ /dev/null @@ -1 +0,0 @@ -import n from"./ContentSlot.7e1a494f.js";import{f as a,q as r,x as s,G as _,y as p}from"./runtime-core.esm-bundler.6894272a.js";import{a as c}from"./Container.f1017aa2.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";const m=a({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary"].includes(e)}}},setup(e){return(t,i)=>{const o=n;return r(),s("span",{class:p([[e.type],"badge"])},[_(o,{use:t.$slots.default,unwrap:"p"},null,8,["use"])],2)}}});const B=c(m,[["__scopeId","data-v-69c7b84e"]]);export{B as default}; diff --git a/docs/.output/public/_nuxt/BlockHero.4aa0ef8d.css b/docs/.output/public/_nuxt/BlockHero.4aa0ef8d.css deleted file mode 100644 index 8a04517d..00000000 --- a/docs/.output/public/_nuxt/BlockHero.4aa0ef8d.css +++ /dev/null @@ -1 +0,0 @@ -.block-hero[data-v-27211c58]{padding:var(--space-20) 0}@media (min-width:640px){.block-hero[data-v-27211c58]{padding:var(--space-24) 0}}@media (min-width:1024px){.block-hero[data-v-27211c58]{padding:var(--space-32) 0}}.block-hero .layout[data-v-27211c58]{display:grid;gap:var(--space-8)}@media (min-width:1024px){.block-hero .layout[data-v-27211c58]{grid-template-columns:repeat(3,minmax(0,1fr))}.block-hero .content[data-v-27211c58]{grid-column:span 2/span 2}}.block-hero .content .announce[data-v-27211c58]{margin-bottom:var(--space-2);text-align:center}@media (min-width:1024px){.block-hero .content .announce[data-v-27211c58]{text-align:left}}.block-hero .content .title[data-v-27211c58]{color:var(--elements-text-primary-color-static);font-size:var(--text-4xl-fontSize);font-weight:var(--fontWeight-bold);letter-spacing:var(--letterSpacing-tight);line-height:var(--text-4xl-lineHeight);text-align:center}@media (min-width:640px){.block-hero .content .title[data-v-27211c58]{font-size:var(--text-5xl-fontSize);line-height:var(--text-5xl-lineHeight)}}@media (min-width:1024px){.block-hero .content .title[data-v-27211c58]{font-size:var(--text-6xl-fontSize);line-height:var(--text-6xl-lineHeight);text-align:left}}.block-hero .content .description[data-v-27211c58]{color:var(--elements-text-secondary-color-static);font-size:var(--text-lg-fontSize);line-height:var(--text-lg-lineHeight);margin-top:var(--space-4);text-align:center}@media (min-width:1024px){.block-hero .content .description[data-v-27211c58]{text-align:left}}.block-hero .content .extra[data-v-27211c58]{margin-top:var(--space-6)}.block-hero .content .actions[data-v-27211c58]{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;margin-top:var(--space-6)}@media (min-width:640px){.block-hero .content .actions[data-v-27211c58]{flex-direction:row;gap:var(--space-6);margin-top:var(--space-10)}}@media (min-width:1024px){.block-hero .content .actions[data-v-27211c58]{justify-content:flex-start}}.block-hero .content .actions .cta[data-v-27211c58]{margin-bottom:0}.block-hero .content .actions .secondary[data-v-27211c58]{color:var(--elements-text-secondary-color-static);font-weight:var(--fontWeight-medium)}.block-hero .content .actions .secondary[data-v-27211c58]:hover{color:var(--elements-text-secondary-color-hover)} diff --git a/docs/.output/public/_nuxt/BlockHero.81a09280.js b/docs/.output/public/_nuxt/BlockHero.81a09280.js deleted file mode 100644 index 6d396b8c..00000000 --- a/docs/.output/public/_nuxt/BlockHero.81a09280.js +++ /dev/null @@ -1 +0,0 @@ -import d from"./ContentSlot.7e1a494f.js";import m from"./ButtonLink.2789431f.js";import y from"./Terminal.e111a4e9.js";import{f as _,q as t,x as o,E as a,G as c,D as n,F as f,B as i,C as h,L as k,J as l,P as $}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as B}from"./Container.f1017aa2.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";/* empty css */import"./index.889aa611.js";/* empty css */const v={class:"block-hero"},w={class:"layout"},q={class:"content"},C={key:0,class:"announce"},N={key:1,class:"title"},S={key:2,class:"description"},V={key:3,class:"extra"},g={class:"actions"},A=["href"],b={class:"support"},D=_({__name:"BlockHero",props:{cta:{type:Array,required:!1},secondary:{type:Array,required:!1},snippet:{type:String,required:!1},video:{type:Array,required:!1}},setup(s){return(e,E)=>{const r=d,u=m,p=y;return t(),o("section",v,[a("div",w,[a("div",q,[e.$slots.announce?(t(),o("p",C,[c(r,{use:e.$slots.announce,unwrap:"p"},null,8,["use"])])):n("",!0),e.$slots.title?(t(),o("h1",N,[c(r,{use:e.$slots.title,unwrap:"p"},null,8,["use"])])):n("",!0),e.$slots.description?(t(),o("p",S,[c(r,{use:e.$slots.description,unwrap:"p"},null,8,["use"])])):n("",!0),e.$slots.extra?(t(),o("div",V,[c(r,{use:e.$slots.extra,unwrap:"p"},null,8,["use"])])):n("",!0),a("div",g,[e.$slots.actions?(t(),i(r,{key:1,use:e.$slots.actions,unwrap:"p"},null,8,["use"])):(t(),o(f,{key:0},[s.cta?(t(),i(u,{key:0,class:"cta",bold:"",size:"medium",href:s.cta[1]},{default:h(()=>[k(l(s.cta[0]),1)]),_:1},8,["href"])):n("",!0),s.secondary?(t(),o("a",{key:1,href:s.secondary[1],class:"secondary"},l(s.secondary[0]),9,A)):n("",!0)],64))])]),a("div",b,[$(e.$slots,"support",{},()=>[s.snippet?(t(),i(p,{key:0,content:s.snippet},null,8,["content"])):n("",!0)],!0)])])])}}}),Q=B(D,[["__scopeId","data-v-27211c58"]]);export{Q as default}; diff --git a/docs/.output/public/_nuxt/ButtonLink.1b73392c.css b/docs/.output/public/_nuxt/ButtonLink.1b73392c.css deleted file mode 100644 index 8680355a..00000000 --- a/docs/.output/public/_nuxt/ButtonLink.1b73392c.css +++ /dev/null @@ -1 +0,0 @@ -.button-link[data-v-02d3ca01]{align-items:center;background-color:var(---pbs-background-color);border:1px solid transparent;border-radius:var(--radii-md);color:var(--color-white);display:inline-flex;flex:none;font-weight:var(--fontWeight-bold);transition:all .1s ease-in-out}.button-link[data-v-02d3ca01]:hover{background-color:var(---m49-background-color)}.button-link[data-v-02d3ca01]:focus{border:var(---bvg-border)}.button-link .icon[data-v-02d3ca01]{margin-right:var(--space-1)} diff --git a/docs/.output/public/_nuxt/ButtonLink.2789431f.js b/docs/.output/public/_nuxt/ButtonLink.2789431f.js deleted file mode 100644 index f6972bb7..00000000 --- a/docs/.output/public/_nuxt/ButtonLink.2789431f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as x}from"./DocsAsideTree.08d70919.js";import S from"./ContentSlot.7e1a494f.js";import{_ as h}from"./app.config.4114fca6.js";import{c as b,u as k,d as i,a as $}from"./Container.f1017aa2.js";import{f as z,h as n,r as s,q as r,B as l,C as y,D as C,G as B,y as H,u as q}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./index.d2b0cb5e.js";const V=z({__name:"ButtonLink",props:{blank:{type:Boolean,required:!1,default:!1},color:b("primary"),href:{type:String,default:""},icon:{type:String,default:""},size:{required:!1,type:[String,Object],default:"medium"},transparent:{required:!1,type:[Boolean,Object],default:!1}},setup(t){const o=t,c=n(()=>((e=o,a=i)=>`{color.${e.color}.600}`)()),u=n(()=>((e=o,a=i)=>`{color.${e.color}.500}`)()),p=n(()=>((e=o,a=i)=>`1px solid {color.${e.color}.600}`)()),m=s({size:{small:{padding:"{space.2} {space.4}",fontSize:"{text.sm.fontSize}",lineHeight:"{text.sm.lineHeight}"},medium:{padding:"{space.rem.625} {space.5}",fontSize:"{text.base.fontSize}",lineHeight:"{text.base.lineHeight}"},large:{padding:"{space.3} {space.6}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"},giant:{padding:"{space.4} {space.8}",fontSize:"{text.lg.fontSize}",lineHeight:"{text.lg.lineHeight}"}},transparent:{true:{backgroundColor:"transparent"}}}),{$pinceau:d}=k(n(()=>o),m,s({_PBS_backgroundColor:c,_m49_backgroundColor:u,_BVG_border:p}));return(e,a)=>{const f=x,_=S,g=h;return r(),l(g,{class:H(["button-link",[q(d)]]),to:t.href,target:t.blank?"_blank":void 0},{default:y(()=>[t.icon?(r(),l(f,{key:0,name:t.icon},null,8,["name"])):C("",!0),B(_,{use:e.$slots.default,unwrap:"p ul li"},null,8,["use"])]),_:1},8,["to","target","class"])}}}),D=$(V,[["__scopeId","data-v-02d3ca01"]]);export{D as default}; diff --git a/docs/.output/public/_nuxt/Callout.e09a04aa.js b/docs/.output/public/_nuxt/Callout.e09a04aa.js deleted file mode 100644 index 193ae43f..00000000 --- a/docs/.output/public/_nuxt/Callout.e09a04aa.js +++ /dev/null @@ -1 +0,0 @@ -import p from"./ContentSlot.7e1a494f.js";import{v as d,_}from"./DocsAsideTree.08d70919.js";import{f,r as l,q as v,x as h,E as s,G as t,y as r,u as c,a9 as y}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as g}from"./Container.f1017aa2.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";const C={class:"summary"},V={class:"content"},w=f({__name:"Callout",props:{type:{type:String,default:"info",validator(o){return["info","success","warning","danger","primary"].includes(o)}},modelValue:{required:!1,default:()=>l(!1)}},emits:["update:modelValue"],setup(o,{emit:i}){const e=l(o.modelValue),u=()=>{e.value=!e.value,i("update:modelValue",e.value)};return(a,x)=>{const n=p,m=_;return v(),h("div",{class:r(["callout",[o.type]])},[s("span",{class:"preview",onClick:u},[s("span",C,[t(n,{use:a.$slots.summary},null,8,["use"])]),t(m,{name:"heroicons-outline:chevron-right",class:r(["icon",[c(e)&&"rotate"]])},null,8,["class"])]),y(s("div",V,[t(n,{use:a.$slots.content},null,8,["use"])],512),[[d,c(e)]])],2)}}}),D=g(w,[["__scopeId","data-v-37e0bf51"]]);export{D as default}; diff --git a/docs/.output/public/_nuxt/Card.24a8ff8f.js b/docs/.output/public/_nuxt/Card.24a8ff8f.js deleted file mode 100644 index 2fd16f6b..00000000 --- a/docs/.output/public/_nuxt/Card.24a8ff8f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as l}from"./DocsAsideTree.08d70919.js";import d from"./ContentSlot.7e1a494f.js";import{f as p,q as s,x as m,B as u,D as _,P as f,E as o,G as r,C as n,L as c,y as C}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as y}from"./Container.f1017aa2.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";const B={class:"title"},h={class:"description"},k=p({__name:"Card",props:{icon:{type:String,default:""},iconClass:{type:String,default:""},blurry:{type:Boolean,default:!0,required:!1}},setup(e){return(t,v)=>{const i=l,a=d;return s(),m("div",{class:C([{blurry:e.blurry},"card"])},[e.icon?(s(),u(i,{key:0,name:e.icon},null,8,["name"])):_("",!0),f(t.$slots,"default",{},void 0,!0),o("div",null,[o("h3",B,[r(a,{use:t.$slots.title,unwrap:"p"},{default:n(()=>[c(" Card title ")]),_:1},8,["use"])]),o("p",h,[r(a,{use:t.$slots.description,unwrap:"p"},{default:n(()=>[c(" Card description ")]),_:1},8,["use"])])])],2)}}}),E=y(k,[["__scopeId","data-v-496504c6"]]);export{E as default}; diff --git a/docs/.output/public/_nuxt/CardGrid.362959de.js b/docs/.output/public/_nuxt/CardGrid.362959de.js deleted file mode 100644 index 5d4a762f..00000000 --- a/docs/.output/public/_nuxt/CardGrid.362959de.js +++ /dev/null @@ -1 +0,0 @@ -import r from"./ContentSlot.7e1a494f.js";import{f as a,q as n,x as i,G as e,E as s,P as p}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as c}from"./Container.f1017aa2.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";const l={class:"card-grid"},d={class:"title"},_={class:"layout"},m=a({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(u){return(t,f)=>{const o=r;return n(),i("section",l,[e(o,{use:t.$slots.root},null,8,["use"]),s("h2",d,[e(o,{use:t.$slots.title,unwrap:"p"},null,8,["use"])]),s("div",_,[p(t.$slots,"default",{},void 0,!0)])])}}}),y=c(m,[["__scopeId","data-v-8f7bcfd2"]]);export{y as default}; diff --git a/docs/.output/public/_nuxt/CardGrid.54558efd.css b/docs/.output/public/_nuxt/CardGrid.54558efd.css deleted file mode 100644 index d8b0f383..00000000 --- a/docs/.output/public/_nuxt/CardGrid.54558efd.css +++ /dev/null @@ -1 +0,0 @@ -.card-grid[data-v-8f7bcfd2]{padding-bottom:var(--space-20);position:relative}@media (min-width:640px){.card-grid[data-v-8f7bcfd2]{padding-bottom:var(--space-24)}}@media (min-width:1024px){.card-grid[data-v-8f7bcfd2]{padding-bottom:var(--space-32)}}.card-grid .title[data-v-8f7bcfd2]{color:var(--elements-text-primary-color-static);font-size:var(--text-3xl-fontSize);font-weight:var(--fontWeight-bold);letter-spacing:var(--letterSpacing-tight);line-height:var(--text-3xl-lineHeight);margin-bottom:var(--space-8)}@media (min-width:640px){.card-grid .title[data-v-8f7bcfd2]{font-size:var(--text-4xl-fontSize);line-height:var(--text-4xl-lineHeight)}}.card-grid .layout[data-v-8f7bcfd2]{display:grid;gap:var(--space-4);text-align:left}@media (min-width:640px){.card-grid .layout[data-v-8f7bcfd2]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.card-grid .layout[data-v-8f7bcfd2]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1536px){.card-grid .layout[data-v-8f7bcfd2]{gap:var(--space-8)}} diff --git a/docs/.output/public/_nuxt/CodeBlock.163820c8.js b/docs/.output/public/_nuxt/CodeBlock.163820c8.js deleted file mode 100644 index 5ba1582e..00000000 --- a/docs/.output/public/_nuxt/CodeBlock.163820c8.js +++ /dev/null @@ -1 +0,0 @@ -import{f as t,q as a,x as r,P as l,y as s}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as c}from"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";const d=t({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(o,n)=>(a(),r("div",{class:s(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[l(o.$slots,"default",{},void 0,!0)],2))}}),u=c(d,[["__scopeId","data-v-5ee47deb"]]);export{u as default}; diff --git a/docs/.output/public/_nuxt/CodeGroup.92ac881c.css b/docs/.output/public/_nuxt/CodeGroup.92ac881c.css deleted file mode 100644 index ebafe9a3..00000000 --- a/docs/.output/public/_nuxt/CodeGroup.92ac881c.css +++ /dev/null @@ -1 +0,0 @@ -.code-group[data-v-3e3370af]{border:1px solid var(--elements-border-secondary-static);border-radius:var(--radii-md);overflow:hidden}.code-group[data-v-3e3370af] .prose-code{border:none;border-radius:0;margin:0}.code-group[data-v-3e3370af] .filename{display:none}.code-group .preview-canvas[data-v-3e3370af]{padding:var(--space-4)}.code-group .preview-canvas[data-v-3e3370af]:has(.sandbox){padding:0}.code-group .preview-canvas[data-v-3e3370af]:has(.sandbox) .sandbox{border:0;border-radius:0} diff --git a/docs/.output/public/_nuxt/CodeGroup.c21eec3c.js b/docs/.output/public/_nuxt/CodeGroup.c21eec3c.js deleted file mode 100644 index abab110e..00000000 --- a/docs/.output/public/_nuxt/CodeGroup.c21eec3c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./CodeGroup.vue.e138b097.js";import{a as r}from"./Container.f1017aa2.js";import"./TabsHeader.f80c17f8.js";import"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const _=r(o,[["__scopeId","data-v-3e3370af"]]);export{_ as default}; diff --git a/docs/.output/public/_nuxt/CodeGroup.vue.e138b097.js b/docs/.output/public/_nuxt/CodeGroup.vue.e138b097.js deleted file mode 100644 index aa067036..00000000 --- a/docs/.output/public/_nuxt/CodeGroup.vue.e138b097.js +++ /dev/null @@ -1 +0,0 @@ -import o from"./TabsHeader.f80c17f8.js";import{f as _,j as t}from"./runtime-core.esm-bundler.6894272a.js";const r=(n,d)=>n.type&&n.type.tag&&n.type.tag===d,f=_({data(){return{activeTabIndex:0,counter:0}},render(){var i,s;const n=((s=(i=this.$slots)==null?void 0:i.default)==null?void 0:s.call(i))||[],d=n.filter(e=>r(e,"code-block")||r(e,"code")).map((e,p)=>{var a,c,v;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((c=e==null?void 0:e.props)==null?void 0:c.label)||`${p}`,active:((v=e==null?void 0:e.props)==null?void 0:v.active)||!1,component:e}});return t("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[t(o,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:d,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),t("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,p)=>{var a,c;return t("div",{style:{display:p===this.activeTabIndex?"block":"none"},class:{"":!r(e,"code")}},[r(e,"code")?e:t("div",{class:{"preview-canvas":!0}},[((c=(a=e.children)==null?void 0:a.default)==null?void 0:c.call(a))||t("div")])])}))])}});export{f as _}; diff --git a/docs/.output/public/_nuxt/ComponentPlayground.00658939.js b/docs/.output/public/_nuxt/ComponentPlayground.00658939.js deleted file mode 100644 index e9f645ca..00000000 --- a/docs/.output/public/_nuxt/ComponentPlayground.00658939.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./ComponentPlayground.vue.db6a2f57.js";import{a as t}from"./Container.f1017aa2.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./runtime-core.esm-bundler.6894272a.js";import"./asyncData.2775b491.js";import"./entry.2d43dc03.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./query.c3f7607a.js";import"./Ellipsis.50580cd1.js";import"./ComponentPlaygroundData.c394e239.js";import"./TabsHeader.f80c17f8.js";import"./ComponentPlaygroundProps.59058ddd.js";import"./ProseH4.4ddfc0da.js";import"./ProseCodeInline.dca1a534.js";import"./Badge.a4f5598b.js";import"./ContentSlot.7e1a494f.js";import"./ProseP.9fd9b629.js";import"./index.889aa611.js";import"./ComponentPlaygroundSlots.vue.d9207f3c.js";import"./ComponentPlaygroundTokens.vue.43c587d1.js";const j=t(o,[["__scopeId","data-v-9ca9b996"]]);export{j as default}; diff --git a/docs/.output/public/_nuxt/ComponentPlayground.3f4b16b9.css b/docs/.output/public/_nuxt/ComponentPlayground.3f4b16b9.css deleted file mode 100644 index 868df9c7..00000000 --- a/docs/.output/public/_nuxt/ComponentPlayground.3f4b16b9.css +++ /dev/null @@ -1 +0,0 @@ -.component-playground[data-v-9ca9b996]{border:1px solid var(--color-gray-200);border-radius:var(--radii-lg);overflow:hidden}:root.dark .component-playground[data-v-9ca9b996]{border:1px solid var(--color-gray-800)}.component-playground .component-playground-wrapper[data-v-9ca9b996]{background:linear-gradient(330deg,var(--color-gray-200) 0,var(--color-gray-100) 100%);overflow:hidden;padding:var(--space-8);position:relative}:root.dark .component-playground .component-playground-wrapper[data-v-9ca9b996]{background:linear-gradient(330deg,var(--color-gray-900) 0,var(--color-gray-800) 100%)}.component-playground .component-playground-wrapper .component-playground-ellipsis[data-v-9ca9b996]{z-index:1}.component-playground .component-playground-wrapper .component-playground-component[data-v-9ca9b996]{z-index:50} diff --git a/docs/.output/public/_nuxt/ComponentPlayground.vue.db6a2f57.js b/docs/.output/public/_nuxt/ComponentPlayground.vue.db6a2f57.js deleted file mode 100644 index 2be056ae..00000000 --- a/docs/.output/public/_nuxt/ComponentPlayground.vue.db6a2f57.js +++ /dev/null @@ -1 +0,0 @@ -import{u as m}from"./app.config.4114fca6.js";import{u as c}from"./asyncData.2775b491.js";import{u,h as r,f as l,r as i,j as t,aa as d}from"./runtime-core.esm-bundler.6894272a.js";import f from"./Ellipsis.50580cd1.js";import _ from"./ComponentPlaygroundData.c394e239.js";async function y(o){m();const e=u(o);{const{data:n}=await c(`nuxt-component-meta${e?`-${e}`:""}`,()=>$fetch(`/api/component-meta${e?`/${e}`:""}`));return r(()=>n.value)}}const w=l({props:{component:{type:String,required:!0},props:{type:Object,required:!1,default:()=>({})}},async setup(o){const e=r(()=>d(o.component)),n=i({...o.props}),a=await y(o.component);return{as:e,formProps:n,componentData:a}},render(o){const e=Object.entries(this.$slots).reduce((n,[a,s])=>{if(a.startsWith("component-")){const p=a.replace("component-","");n[p]=s}return n},{});return t("div",{class:"component-playground"},[t("div",{class:"component-playground-wrapper"},[t(f,{class:"component-playground-ellipsis",blur:"5vw",height:"100%",width:"100%"}),t(o.as,{...o.formProps,class:"component-playground-component"},{...e})]),t(_,{modelValue:o.formProps,componentData:o.componentData,"onUpdate:modelValue":n=>o.formProps=n})])}});export{w as _}; diff --git a/docs/.output/public/_nuxt/ComponentPlaygroundData.c394e239.js b/docs/.output/public/_nuxt/ComponentPlaygroundData.c394e239.js deleted file mode 100644 index ca244a5a..00000000 --- a/docs/.output/public/_nuxt/ComponentPlaygroundData.c394e239.js +++ /dev/null @@ -1 +0,0 @@ -import b from"./TabsHeader.f80c17f8.js";import x from"./ComponentPlaygroundProps.59058ddd.js";import{_ as v}from"./ComponentPlaygroundSlots.vue.d9207f3c.js";import{_ as D}from"./ComponentPlaygroundTokens.vue.43c587d1.js";import{a as g}from"./index.889aa611.js";import{f as V,r as k,q as n,x as C,G as P,u as e,B as m,d as T,D as r}from"./runtime-core.esm-bundler.6894272a.js";import{a as B}from"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";import"./ProseH4.4ddfc0da.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./ProseCodeInline.dca1a534.js";import"./Badge.a4f5598b.js";import"./ContentSlot.7e1a494f.js";import"./ProseP.9fd9b629.js";const q={class:"component-playground-data"},I=V({__name:"ComponentPlaygroundData",props:{modelValue:{type:Object,required:!1,default:()=>({})},componentData:{type:Object,required:!1,default:()=>({})}},emits:["update:modelValue"],setup(t,{emit:l}){const a=g(t,"modelValue",l),o=k(0),c=[{label:"Props"},{label:"Slots"},{label:"Design Tokens"}],d=p=>o.value=p;return(p,s)=>{const u=b,_=x,i=v,f=D;return n(),C("div",q,[P(u,{"active-tab-index":e(o),tabs:c,"onUpdate:activeTabIndex":d},null,8,["active-tab-index"]),e(o)===0?(n(),m(_,{key:0,modelValue:e(a),"onUpdate:modelValue":s[0]||(s[0]=y=>T(a)?a.value=y:null),"component-data":t.componentData},null,8,["modelValue","component-data"])):r("",!0),e(o)===1?(n(),m(i,{key:1,"component-data":t.componentData},null,8,["component-data"])):r("",!0),e(o)===2?(n(),m(f,{key:2,"component-data":t.componentData},null,8,["component-data"])):r("",!0)])}}});const L=B(I,[["__scopeId","data-v-ff75821c"]]);export{L as default}; diff --git a/docs/.output/public/_nuxt/ComponentPlaygroundProps.59058ddd.js b/docs/.output/public/_nuxt/ComponentPlaygroundProps.59058ddd.js deleted file mode 100644 index 4f86bb57..00000000 --- a/docs/.output/public/_nuxt/ComponentPlaygroundProps.59058ddd.js +++ /dev/null @@ -1 +0,0 @@ -import k from"./ProseH4.4ddfc0da.js";import B from"./ProseCodeInline.dca1a534.js";import q from"./Badge.a4f5598b.js";import D from"./ProseP.9fd9b629.js";import{a as N}from"./index.889aa611.js";import{f as b,h as j,q as n,x as m,F as E,A as F,u as d,E as c,G as i,C as r,L as s,J as u,B as l,D as p}from"./runtime-core.esm-bundler.6894272a.js";import{a as I}from"./Container.f1017aa2.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./ContentSlot.7e1a494f.js";const L={class:"component-playground-data-section"},O=["id"],w=["value","onChange"],A=b({__name:"ComponentPlaygroundProps",props:{modelValue:{type:Object,required:!0},componentData:{type:Object,required:!0}},emits:["update:modelValue"],setup(f,{emit:x}){const a=f,_=N(a,"modelValue",x),y=(t,o)=>{_.value={..._.value,[o]:t.target.value}},g=j(()=>{var t,o;return(o=(t=a==null?void 0:a.componentData)==null?void 0:t.meta)==null?void 0:o.props});return(t,o)=>{const v=k,C=B,h=q,P=D;return n(),m("div",L,[(n(!0),m(E,null,F(d(g),e=>(n(),m("div",{key:e.name},[c("div",{id:e.name,class:"prop-title"},[i(v,{id:e.name},{default:r(()=>[s(u(e.name),1)]),_:2},1032,["id"]),c("span",null,[i(C,null,{default:r(()=>[s(u(e.type),1)]),_:2},1024),e.required?p("",!0):(n(),l(h,{key:0},{default:r(()=>[s(" Required ")]),_:1}))])],8,O),e.description?(n(),l(P,{key:0},{default:r(()=>[s(u(e.description),1)]),_:2},1024)):p("",!0),c("input",{value:d(_)[e.name],onChange:V=>y(V,e.name)},null,40,w)]))),128))])}}});const X=I(A,[["__scopeId","data-v-acf5a6ce"]]);export{X as default}; diff --git a/docs/.output/public/_nuxt/ComponentPlaygroundSlots.71fbb170.js b/docs/.output/public/_nuxt/ComponentPlaygroundSlots.71fbb170.js deleted file mode 100644 index 7c4ab2e9..00000000 --- a/docs/.output/public/_nuxt/ComponentPlaygroundSlots.71fbb170.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ComponentPlaygroundSlots.vue.d9207f3c.js";import"./runtime-core.esm-bundler.6894272a.js";export{m as default}; diff --git a/docs/.output/public/_nuxt/ComponentPlaygroundSlots.vue.d9207f3c.js b/docs/.output/public/_nuxt/ComponentPlaygroundSlots.vue.d9207f3c.js deleted file mode 100644 index 0b8177fb..00000000 --- a/docs/.output/public/_nuxt/ComponentPlaygroundSlots.vue.d9207f3c.js +++ /dev/null @@ -1 +0,0 @@ -import{f as t,q as n,x as o,E as a,J as s}from"./runtime-core.esm-bundler.6894272a.js";const r={class:"component-playground-data-section"},i=t({__name:"ComponentPlaygroundSlots",props:{componentData:{type:Object,required:!0}},setup(e){return(c,p)=>(n(),o("div",r,[a("pre",null,s(JSON.stringify(e.componentData,null,2)),1)]))}});export{i as _}; diff --git a/docs/.output/public/_nuxt/ComponentPlaygroundTokens.334d4f7a.js b/docs/.output/public/_nuxt/ComponentPlaygroundTokens.334d4f7a.js deleted file mode 100644 index 0e682be6..00000000 --- a/docs/.output/public/_nuxt/ComponentPlaygroundTokens.334d4f7a.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./ComponentPlaygroundTokens.vue.43c587d1.js";import"./runtime-core.esm-bundler.6894272a.js";export{m as default}; diff --git a/docs/.output/public/_nuxt/ComponentPlaygroundTokens.vue.43c587d1.js b/docs/.output/public/_nuxt/ComponentPlaygroundTokens.vue.43c587d1.js deleted file mode 100644 index c98d7a70..00000000 --- a/docs/.output/public/_nuxt/ComponentPlaygroundTokens.vue.43c587d1.js +++ /dev/null @@ -1 +0,0 @@ -import{f as o,q as t,x as n,J as a}from"./runtime-core.esm-bundler.6894272a.js";const s={class:"component-playground-data-section"},m=o({__name:"ComponentPlaygroundTokens",props:{componentData:{type:Object,required:!0}},setup(e){return(c,r)=>(t(),n("div",s,a(e.componentData),1))}});export{m as _}; diff --git a/docs/.output/public/_nuxt/Container.dc145a5e.css b/docs/.output/public/_nuxt/Container.dc145a5e.css deleted file mode 100644 index a89e4868..00000000 --- a/docs/.output/public/_nuxt/Container.dc145a5e.css +++ /dev/null @@ -1 +0,0 @@ -.container[data-v-63a0deda]{margin-left:auto;margin-right:auto;width:100%} diff --git a/docs/.output/public/_nuxt/Container.f1017aa2.js b/docs/.output/public/_nuxt/Container.f1017aa2.js deleted file mode 100644 index aa9f1a67..00000000 --- a/docs/.output/public/_nuxt/Container.f1017aa2.js +++ /dev/null @@ -1,2 +0,0 @@ -import{k as P,d as j}from"./index.d2b0cb5e.js";import{u as O,i as W,r as p,h as S,a as A,g as G,ab as I,f as Y,q as J,B as K,C as X,y as Z,I as ee,P as te}from"./runtime-core.esm-bundler.6894272a.js";const ne="modulepreload",ie=function(e,t){return e.startsWith(".")?new URL(e,t).href:e},D={},Le=function(t,s,i){if(!s||s.length===0)return t();const n=document.getElementsByTagName("link");return Promise.all(s.map(o=>{if(o=ie(o,i),o in D)return;D[o]=!0;const r=o.endsWith(".css"),c=r?'[rel="stylesheet"]':"";if(!!i)for(let d=n.length-1;d>=0;d--){const m=n[d];if(m.href===o&&(!r||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${c}`))return;const g=document.createElement("link");if(g.rel=r?"stylesheet":ne,r||(g.as="script",g.crossOrigin=""),g.href=o,document.head.appendChild(g),r)return new Promise((d,m)=>{g.addEventListener("load",d),g.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t())};let N=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,s)=>(s&=63,s<36?t+=s.toString(36):s<62?t+=(s-26).toString(36).toUpperCase():s>62?t+="-":t+="_",t),"");function L(e,t,s,i="."){typeof t=="string"&&(t=t.split(i));const n=t.length-1;for(let r=0;rt.includes(r))){i[n]={value:e[n]};continue}i[n]=H(e[n],t,s)}}return i}const U=new RegExp("\\{([^}]+)\\}","g"),se=/{(.*)}/g,oe="@dark",re="@light",ue="@initial",ce=/^(:|\.)/;function le(e={},t={}){const s={key:"attributes.variable",onNotFound:!1,...t};function i(n=void 0,o){if(!n)return O(e);const r={...s,...o},{key:c,onNotFound:f}=r,g=T(O(e),n);if(!g&&typeof f=="function"){f(n,r);return}return c?g&&(g[c]?g[c]:T(g,c)):g}return i.bind(this)}function V(e){return Array.isArray(e)&&(e=e.join("-")),e.charAt(0)==="{"&&e.charAt(e.length-1)==="}"&&(e=e.substr(1,e.length-2)),`--${e.split(".").join("-")}`}function ae(e,t,s,i,n,o){const r=de(e,t,i,n,o);return r||(n.utils[e]?typeof n.utils[e]=="function"?n.utils[e](t):t?n.utils[e]:{}:(t=fe(e,t,n,o),{[e]:t}))}function fe(e,t,s,i){return(Array.isArray(t)||typeof t=="string"||typeof t=="number")&&(Array.isArray(t)?t=t.map(n=>q(e,n,s,i)).join(","):t=q(e,t,s,i)),t}function q(e,t,s,i){return typeof t=="number"?t:(t.match(U)&&(t=z(e,t,s,i)),t==="{}"?"":t)}function z(e,t,s,i){return typeof t!="string"||(t=t.replace(U,(n,o)=>{const r=s.$tokens(o,{key:void 0,loc:i}),c=typeof r=="string"?r:(r==null?void 0:r.variable)||(r==null?void 0:r.value);return c||`var(${V(o)})`})),t}function de(e,t,s,i,n){if(e.startsWith("@")){const o=c=>{c=i.options.colorSchemeMode==="class"?`:root.${c}`:`@media (prefers-color-scheme: ${c})`;const f=c.startsWith("@media");return i!=null&&i.runtime?{"@media":{[c]:t}}:{[f?c:`${c} &`]:t}};if(e===oe)return o("dark");if(e===re)return o("light");if(e===ue){const c=i.$tokens("media.initial",{key:"value",onNotFound:!1,loc:n});return{[`@media${c?` ${c}`:""}`]:t}}const r=i.$tokens("media",{key:void 0,loc:n});if(r){const c=e.replace("@","");if(r[c])return{[`@media ${r[c].value}`]:t}}return{[e]:t}}}const B=/\s*,\s*(?![^()]*\))/,me=(e,t)=>e.reduce((s,i)=>(s.push(...t.map(n=>n.includes("&")?n.replace(/&/g,/[ +>|~]/.test(i)&&/&.*&/.test(n)?`:is(${i})`:i):`${i} ${n}`)),s),[]),{prototype:{toString:ge}}=Object,ye=(e,t=void 0)=>{const s=new WeakSet,i=(o,r,c,f,g,d)=>{for(let m=0;m{let d="";for(const m in o){const $=m.charCodeAt(0)===64;for(const y of $&&Array.isArray(o[m])?o[m]:[o[m]]){if(t&&(m!==f||y!==g)){const l=t(m,y,o,r);if(l!==null){d+=typeof l=="object"&&l?n(l,r,c,m,y):l??"";continue}}if(typeof y=="object"&&y&&y.toString===ge){s.has(r)&&(s.delete(r),d+="}");const l=Object(m);let a;$?(a=r,d+=n(y,a,c.concat(l))):(a=r.length?me(r,m.split(B)):m.split(B),d+=n(y,a,c)),s.has(l)&&(s.delete(l),d+="}"),s.has(a)&&(s.delete(a),d+="}")}else d=i(d,r,c,m,y,$)}}return d};return n(e,[],[])},F=".phy[--]";function ve(e,t={},s,i){const n=p(),o=p(t),r={},c=(u,l)=>ye(u,(a,v,h,_)=>ae(a,v,h,_,{$tokens:e,utils:o.value,options:{colorSchemeMode:s,runtime:!0}},l));function f(){const u=globalThis||window;let l,a;if(u&&u.document){const v=u.document;a=v.querySelector(`style#pinceau-runtime-hydratable${i?`-${i}`:""}`);const h=v.createElement("style");h.id=`pinceau-runtime${i?`-${i}`:""}`,h.type="text/css",l=v.head.appendChild(h)}return n.value=(l==null?void 0:l.sheet)||$e(),a?g(a):void 0}function g(u){var a,v;const l={};for(const h of Object.entries(((a=u==null?void 0:u.sheet)==null?void 0:a.cssRules)||((v=n.value)==null?void 0:v.cssRules)||{})){const[_,R]=h,b=he(R);if(!b||!b.uid)continue;l[b.uid]||(l[b.uid]={});const k=n.value.insertRule(R.cssText,Number(_));l[b.uid][b.type]=n.value.cssRules.item(k)}return u&&u.remove(),l}function d(){return n.value?Object.entries(n.value.cssRules).reduce((u,[,l])=>(u+=`${l==null?void 0:l.cssText} -`||"",u),""):""}function m(u,l,a,v,h){if(!Object.keys(a).length)return;const _=c({"@media":{[F]:{"--puid":`${u}-${l}`},...a}},h);if(!_)return;v&&$(v);const R=n.value.insertRule(_);return n.value.cssRules[R]}function $(u){const l=Object.values(n.value.cssRules).indexOf(u);if(!(typeof l>"u"||isNaN(l)))try{n.value.deleteRule(l)}catch{}}const y=f();return{stringify:c,cache:r,pushDeclaration:m,deleteRule:$,sheet:n,toString:d,hydratableRules:y}}function $e(){return{cssRules:[],insertRule(e,t=this.cssRules.length){return this.cssRules.splice(t,1,{cssText:e}),t},deleteRule(e){delete this.cssRules[e]}}}function he(e){const t=e.cssRules&&e.cssRules.length?Object.entries(e==null?void 0:e.cssRules).find(([o,r])=>r.selectorText===F):void 0;if(!t)return;const s=/--puid:(.*)?-(c|v|p)?/m,[,i,n]=t[1].cssText.match(s);if(i)return{uid:i,type:n}}function _e(e,t,s){var c,f,g;let i;const n=(c=e==null?void 0:e.vnode)==null?void 0:c.el;n&&n.classList?n.classList.forEach(d=>{i||d.startsWith("pc-")&&(i=d.split("pc-")[1])}):i=N(6);const o=(g=(f=e==null?void 0:e.vnode)==null?void 0:f.type)==null?void 0:g.__scopeId,r={uid:i,componentId:o?`[${o}]`:"",uniqueClassName:`pc-${i}`};return t.value.c=r.uniqueClassName,S(()=>r)}function Q(e){return typeof e=="string"&&se.test(e)}function Re(e,t,s,i){if(typeof t=="object")return t;if(typeof t=="string"){const n={};return Q(t)?(n.initial=t,n):(typeof s=="string"&&(n.initial=`{${e}.${t}.${s}}`),typeof s=="object"&&Object.entries(s).forEach(([o,r])=>{typeof t=="string"&&(n[o]=`{${e}.${t}.${r}}`)}),i?Object.entries(n).reduce((o,[r,c])=>(o[r]=i(c),o),{}):n)}}const qe={isToken:Q,scale:Re};function be(e,t={}){const s=p(),i=p(e||{});t=Object.assign({key:"variable"},t||{});const n=le(i,t);let o={};c();function r(u){var l;for(const a of u.styleSheets)if((l=a==null?void 0:a.ownerNode)!=null&&l.textContent.includes("--pinceau-mq"))return a.ownerNode}function c(){var l;const u=globalThis||window;if(u&&u.document){let a=document.querySelector("#pinceau-theme");a||(a=r(document)),s.value=a==null?void 0:a.sheet,s.value&&f((l=s.value)==null?void 0:l.cssRules)}}function f(u){o={},Object.entries(u||{}).forEach(([l,a])=>{var h,_;if((a==null?void 0:a.type)!==4&&!((h=a==null?void 0:a.cssText)!=null&&h.includes("--pinceau-mq")))return!1;let v="initial";(_=a.cssText.match(/--([\w-]+)\s*:\s*(.+?);/gm))==null||_.forEach(R=>{var E;const[b,k]=R.replace(";","").split(/:\s(.*)/s);if(b==="--pinceau-mq"){if(v=k,!o[k]){const w=(E=Object.entries((a==null?void 0:a.cssRules)||{}).find(([Ee,C])=>C==null?void 0:C.cssText.includes(`--pinceau-mq: ${k}`)))==null?void 0:E[1];w&&(o[k]=w)}return}const x=[...b.substring(2).split("-")];L(i.value,x,$(x,k,b,v))})})}function g(u){var v;const l=Array.from(new Set(["dark","light",...Object.keys((u==null?void 0:u.media)||{}),...Object.keys(((v=i.value)==null?void 0:v.media)||{})])),a=H(u||{},l,!0);M(a,(h,_,R)=>d(R,h.value))}function d(u,l,a="initial"){var _;if(typeof l=="object"){Object.entries(l).forEach(([R,b])=>d(u,b,R));return}const v=V(u);o!=null&&o[a]||y(a);const h=z(void 0,l,{$tokens:n});L(i.value,u,$(u,h,v,a)),(_=o==null?void 0:o[a])==null||_.style.setProperty(v,h)}function m(u){return S({get(){return T(i.value,`${u}.value`)},set(l){d(u,l)}})}function $(u,l,a,v="initial"){const h=`var(${a})`,_={value:l,variable:h},R=T(i.value,u);return R&&(typeof(R==null?void 0:R.value)=="object"?_.value={...R.value,[v]:l}:_.value={initial:R.value,[v]:l}),_}function y(u){var v,h,_;if(o!=null&&o[u])return o==null?void 0:o[u];let l;u==="dark"||u==="light"?l=`:root.${u}`:l=(_=(h=(v=i.value)==null?void 0:v.media)==null?void 0:h[u])==null?void 0:_.value;let a;return l.match(ce)?a=`@media { ${l} { --pinceau-mq: ${u}; } }`:a=`@media ${l} { :root { --pinceau-mq: ${u}; } }`,o[u]=s.value.cssRules.item(s.value.insertRule(a,s.value.cssRules.length)).cssRules[0],o[u]}return{$tokens:n,updateToken:d,updateTheme:g,reactiveToken:m,resolveStylesheet:c,theme:i}}function ke(e,t,s,i){var o,r;let n=(r=(o=s.hydratableRules)==null?void 0:o[e.value.uid])==null?void 0:r.c;A(t,c=>{c=pe(e.value,c),n=s.pushDeclaration(e.value.uid,"c",c,n,{...i,type:"c"})},{immediate:!n,deep:!0}),I(()=>n&&s.deleteRule(n))}function pe(e,t){const s={},i=`.${e.uniqueClassName}${e.componentId}`;if(t&&Object.keys(t).length){s[i]=s[i]||{};for(const[n,o]of Object.entries(t)){const r=O(o);if(n==="css"){s[i]=Object.assign(s[i],r);continue}if(typeof r=="object")for(const[c,f]of Object.entries(r)){const g=O(f);if(!g)continue;c==="initial"&&(s[i]||(s[i]={}),s[i]||(s[i]={}),s[i][`--${n}`]=g);const d=`@${c}`;s[d]||(s[d]={}),s[d][i]||(s[d][i]={}),s[d][i][`--${P(n)}`]=g}else{const c=O(r);c&&(s[i][`--${P(n)}`]=c)}}}return s}const Oe=(e,t,s,i,n,o)=>{var g,d;let r=(d=(g=i.hydratableRules)==null?void 0:g[e.value.uid])==null?void 0:d.v;const c=S(()=>t&&(t!=null&&t.value)?Te(e.value,s.value,t.value):{}),f=p([]);return A(c,({cacheId:m,variantsProps:$})=>{let y;if(i.cache[m]){const u=i.cache[m];r=u.rule,y=u.variantClass,u!=null&&u.classes&&(f.value=u.classes),u.count++}else{y=`pv-${N(6)}`;const{declaration:u,classes:l}=Se(y,e.value,t.value,$);f.value=l,r=i.pushDeclaration(e.value.uid,"v",u,void 0,{...o,type:"v"}),i.cache[m]={rule:r,variantClass:y,classes:l,count:1}}n.value.v=y},{immediate:!0}),I(()=>{var y;const m=c==null?void 0:c.value,$=(y=i.cache)==null?void 0:y[m.cacheId];$&&($.count--,$.count<=0&&(i.deleteRule($.rule),delete i.cache[m.cacheId]))}),{variantsClasses:f}};function Se(e,t,s,i){var r,c;let n=[];const o={};if(i&&Object.keys(i).length){const f=`.${e}`;for(const[g,d]of Object.entries(i))if(typeof d=="object")for(const[m,$]of Object.entries(d)){const y=($==null?void 0:$.toString())||$,u=s[g][y];if(!u)continue;if(o[f]||(o[f]={}),typeof u=="string"||Array.isArray(u)||u!=null&&u.$class){const a=typeof u=="string"||Array.isArray(u)?u:u.$class;n=[...n,...typeof a=="string"?a.split(" "):a],delete u.$class}m==="initial"&&(o[f]||(o[f]={}),o[f]=j(o[f],u));const l=`@${m}`;o[l]||(o[l]={}),o[l][f]||(o[l][f]={}),o[l][f]=j(o[l][f],u)}else{const m=((r=d==null?void 0:d.toString)==null?void 0:r.call(d))||d,$=(c=s==null?void 0:s[g])==null?void 0:c[m];if(!$)continue;o[f]||(o[f]={}),o[f]=j(o[f],$)}}return{declaration:o,classes:n}}function Te(e,t,s){if(!t||!s)return{};let i=e.componentId;const n=Object.entries(t).reduce((o,[r,c])=>(s[r]&&(typeof c=="object"?Object.entries(c).forEach(([f,g])=>i+=`${r}:${f}:${g}|`):i+=`${r}:${c}|`,o[r]=c),o),{});return{cacheId:i,variantsProps:n}}function Ce(e,t,s,i){var r,c;let n=(c=(r=s.hydratableRules)==null?void 0:r[e.value.uid])==null?void 0:c.p;const o=S(()=>{var f;return(f=t.value)==null?void 0:f.css});A(o,f=>{f=je(e.value,f),n&&s.deleteRule(n),n=s.pushDeclaration(e.value.uid,"p",f,void 0,{...i,type:"c"})},{immediate:!n}),I(()=>n&&s.deleteRule(n))}function je(e,t){const s={};if(t){const i=`.${e.uniqueClassName}${e.componentId}`;s[i]=Object.assign(s[i]||{},t)}return s}const Pe={theme:{},utils:{},tokensHelperConfig:{},multiApp:!1,colorSchemeMode:"media",dev:!1},Be={install(e,t){t=Object.assign(Pe,t);const{theme:s,tokensHelperConfig:i,dev:n,multiApp:o,colorSchemeMode:r,utils:c}=t,f=be(s),g=o?N(6):void 0,d=ve(f.$tokens,c,r,g);function m($,y,u){const l=G();let a;const v=p({v:"",c:""}),h=_e(l,v);u&&(u!=null&&u.value)&&Object.keys(u.value).length>0&&ke(h,u,d,a);let _;if(y&&(y!=null&&y.value)&&Object.keys(y.value).length>0){const{variantsClasses:R}=Oe(h,y,$,d,v,a);_=R}return $.value.css&&Object.keys($.value.css).length>0&&Ce(h,$,d,a),{$pinceau:S(()=>{var R;return`${v.value.v} ${v.value.c} ${(R=_==null?void 0:_.value)==null?void 0:R.join(" ")}`})}}e.config.globalProperties.$pinceauRuntime=m,e.config.globalProperties.$pinceauTheme=f,e.config.globalProperties.$pinceauSsr={get:()=>d.toString()},e.provide("pinceauRuntime",m),e.provide("pinceauTheme",f)}};function Ae(e,t,s){return W("pinceauRuntime")(e,t,s)}function We(){return W("pinceauTheme")}function Me(e,t=!1){return{type:[String,Object],default:e,required:t}}const Ie=(e,t)=>{const s=e.__vccOpts||e;for(const[i,n]of t)s[i]=n;return s},Ne=Y({__name:"Container",props:{as:{type:String,required:!1,default:"div"},padded:{required:!1,type:[Boolean,Object],default:!0},fluid:{required:!1,type:[Boolean,Object],default:!1}},setup(e){const t=e,s=p({padded:{true:{px:"{elements.container.padding.mobile}","@xs":{px:"{elements.container.padding.xs}"},"@sm":{px:"{elements.container.padding.sm}"},"@md":{px:"{elements.container.padding.md}"}}},fluid:{true:{},false:{maxWidth:"{elements.container.maxWidth}"}}}),{$pinceau:i}=Ae(S(()=>t),s,void 0);return(n,o)=>(J(),K(ee(e.as),{class:Z(["container",[O(i)]])},{default:X(()=>[te(n.$slots,"default",{},void 0,!0)]),_:3},8,["class"]))}});const xe=Ie(Ne,[["__scopeId","data-v-63a0deda"]]),He=Object.freeze(Object.defineProperty({__proto__:null,default:xe},Symbol.toStringTag,{value:"Module"}));export{He as C,Le as _,Ie as a,xe as b,Me as c,qe as d,We as e,Be as p,Ae as u}; diff --git a/docs/.output/public/_nuxt/ContentDoc.08489604.js b/docs/.output/public/_nuxt/ContentDoc.08489604.js deleted file mode 100644 index de84f520..00000000 --- a/docs/.output/public/_nuxt/ContentDoc.08489604.js +++ /dev/null @@ -1 +0,0 @@ -import{x as s,l as y}from"./app.config.4114fca6.js";import{a as u}from"./entry.2d43dc03.js";import g from"./ContentRenderer.51874b59.js";import v from"./ContentQuery.7a036327.js";import{f as w,ae as C,j as o}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";import"./ContentRendererMarkdown.1da6a628.js";import"./asyncData.2775b491.js";const P=w({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:!0}},render(m){const t=C(),{tag:f,excerpt:i,path:d,query:r,head:p}=m,c={...r||{},path:d||(r==null?void 0:r.path)||s(y().path),find:"one"},l=(e,n)=>o("pre",null,JSON.stringify({message:"You should use slots with ",slot:e,data:n},null,2));return o(v,c,{default:t!=null&&t.default?({data:e,refresh:n,isPartial:h})=>{var a;return p&&u(e),(a=t.default)==null?void 0:a.call(t,{doc:e,refresh:n,isPartial:h,excerpt:i,...this.$attrs})}:({data:e})=>(p&&u(e),o(g,{value:e,excerpt:i,tag:f,...this.$attrs},{empty:n=>t!=null&&t.empty?t.empty(n):l("default",e)})),empty:e=>{var n;return((n=t==null?void 0:t.empty)==null?void 0:n.call(t,e))||o("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":e=>{var n;return((n=t==null?void 0:t["not-found"])==null?void 0:n.call(t,e))||o("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}});export{P as default}; diff --git a/docs/.output/public/_nuxt/ContentList.394febbe.js b/docs/.output/public/_nuxt/ContentList.394febbe.js deleted file mode 100644 index e425b9c8..00000000 --- a/docs/.output/public/_nuxt/ContentList.394febbe.js +++ /dev/null @@ -1 +0,0 @@ -import n from"./ContentQuery.7a036327.js";import{f as c,ae as h,j as p}from"./runtime-core.esm-bundler.6894272a.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./asyncData.2775b491.js";import"./entry.2d43dc03.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const O=c({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(m){const t=h(),{path:u,query:r}=m,f={...r||{},path:u||(r==null?void 0:r.path)||"/"},a=(e,o)=>p("pre",null,JSON.stringify({message:"You should use slots with ",slot:e,data:o},null,2));return p(n,f,{default:t!=null&&t.default?({data:e,refresh:o,isPartial:d})=>t==null?void 0:t.default({list:e,refresh:o,isPartial:d,...this.$attrs}):({data:e})=>a("default",e),empty:e=>t!=null&&t.empty?t.empty(e):a("default",e==null?void 0:e.data),"not-found":e=>{var o;return t!=null&&t["not-found"]?(o=t==null?void 0:t["not-found"])==null?void 0:o.call(t,e):a("not-found",e==null?void 0:e.data)}})}});export{O as default}; diff --git a/docs/.output/public/_nuxt/ContentNavigation.d592cbe0.js b/docs/.output/public/_nuxt/ContentNavigation.d592cbe0.js deleted file mode 100644 index 83437662..00000000 --- a/docs/.output/public/_nuxt/ContentNavigation.d592cbe0.js +++ /dev/null @@ -1 +0,0 @@ -import{u as P,_ as I}from"./app.config.4114fca6.js";import{u as D}from"./asyncData.2775b491.js";import{u as R,d as V}from"./useDocus.edcbeab5.js";import{b as g,h as S,f as y}from"./entry.2d43dc03.js";import{_ as e}from"./Container.f1017aa2.js";import"./ContentSlot.7e1a494f.js";import"./DocsAsideTree.08d70919.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./EditOnLink.vue.21b8aa9d.js";/* empty css */import"./ProseCodeInline.dca1a534.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./ProseH4.4ddfc0da.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./ProseP.9fd9b629.js";/* empty css */import"./ProseTable.a85f8bca.js";import"./ProseTd.921f02a8.js";import"./ProseTh.d24c1b52.js";import"./ProseThead.40eb8658.js";import"./ProseTr.d0d94723.js";/* empty css */import"./Badge.a4f5598b.js";/* empty css *//* empty css */import"./CodeGroup.vue.e138b097.js";import"./Ellipsis.50580cd1.js";import"./List.vue.d5bae865.js";import"./NuxtImg.vue.594abc77.js";import"./Props.80a76d3d.js";import"./TabsHeader.f80c17f8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./ComponentPlayground.vue.db6a2f57.js";import"./ComponentPlaygroundProps.59058ddd.js";import"./ComponentPlaygroundData.c394e239.js";/* empty css */import"./ContentDoc.08489604.js";import"./ContentList.394febbe.js";import{f as a,r as v,Q as b,x as B,o as x,j as f,h as O,e as r,ak as j,ae as N}from"./runtime-core.esm-bundler.6894272a.js";import"./ContentQuery.7a036327.js";import"./ContentRenderer.51874b59.js";import"./ContentRendererMarkdown.1da6a628.js";import"./DocumentDrivenEmpty.7ceddd7c.js";import"./Markdown.eb6ef861.js";import"./layout.732d57d1.js";import"./GithubRepository.bbd436c6.js";import"./GithubLink.6e1f1ea3.js";import"./GithubReadme.3309f143.js";import"./GithubReleases.54c416e9.js";import"./GithubLastRelease.7ffc61aa.js";import"./GithubRelease.fea5f747.js";import"./GithubContributors.35cdb9ac.js";import"./GithubFileContributors.2287b161.js";import"./GithubCommits.e43b30d0.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./query.c3f7607a.js";import"./ProseTbody.37a7db42.js";import"./index.889aa611.js";import"./ComponentPlaygroundSlots.vue.d9207f3c.js";import"./ComponentPlaygroundTokens.vue.43c587d1.js";import"./useGithub.916c5979.js";const c=a({emits:{error(t){return!0}},setup(t,{slots:i,emit:o}){const _=v(null),u=P();return b(m=>{if(!u.isHydrating)return o("error",m),_.value=m,!1}),()=>{var m,n;return _.value?(m=i.error)==null?void 0:m.call(i,{error:_}):(n=i.default)==null?void 0:n.call(i)}}}),k=Object.freeze(Object.defineProperty({__proto__:null,default:c},Symbol.toStringTag,{value:"Module"})),z=a({name:"DevOnly",setup(t,i){return()=>null}}),M=Object.freeze(Object.defineProperty({__proto__:null,default:z},Symbol.toStringTag,{value:"Module"})),C=a({name:"ServerPlaceholder",render(){return B("div")}}),q=Object.freeze(Object.defineProperty({__proto__:null,default:C},Symbol.toStringTag,{value:"Module"})),$=a({name:"NuxtLoadingIndicator",props:{throttle:{type:Number,default:200},duration:{type:Number,default:2e3},height:{type:Number,default:3},color:{type:[String,Boolean],default:"repeating-linear-gradient(to right,#00dc82 0%,#34cdfe 50%,#0047e1 100%)"}},setup(t,{slots:i}){const o=H({duration:t.duration,throttle:t.throttle}),_=P();return _.hook("page:start",o.start),_.hook("page:finish",o.finish),x(()=>o.clear),()=>f("div",{class:"nuxt-loading-indicator",style:{position:"fixed",top:0,right:0,left:0,pointerEvents:"none",width:`${o.progress.value}%`,height:`${t.height}px`,opacity:o.isLoading.value?1:0,background:t.color||void 0,backgroundSize:`${100/o.progress.value*100}% auto`,transition:"width 0.1s, height 0.4s, opacity 0.4s",zIndex:999999}},i)}});function H(t){const i=v(0),o=v(!1),_=O(()=>1e4/t.duration);let u=null,m=null;function n(){l(),i.value=0,t.throttle?m=setTimeout(()=>{o.value=!0,s()},t.throttle):(o.value=!0,s())}function h(){i.value=100,T()}function l(){clearInterval(u),clearTimeout(m),u=null,m=null}function A(L){i.value=Math.min(100,i.value+L)}function T(){l(),setTimeout(()=>{o.value=!1,setTimeout(()=>{i.value=0},400)},500)}function s(){u=setInterval(()=>{A(_.value)},100)}return{progress:i,isLoading:o,start:n,finish:h,clear:l}}const w=Object.freeze(Object.defineProperty({__proto__:null,default:$},Symbol.toStringTag,{value:"Module"})),U=t=>Object.fromEntries(Object.entries(t).filter(([,i])=>i!==void 0)),d=(t,i)=>(o,_)=>(g(()=>t({...U(o),..._.attrs},_)),()=>{var u,m;return i?(m=(u=_.slots).default)==null?void 0:m.call(u):null}),E={accesskey:String,autocapitalize:String,autofocus:{type:Boolean,default:void 0},class:[String,Object,Array],contenteditable:{type:Boolean,default:void 0},contextmenu:String,dir:String,draggable:{type:Boolean,default:void 0},enterkeyhint:String,exportparts:String,hidden:{type:Boolean,default:void 0},id:String,inputmode:String,is:String,itemid:String,itemprop:String,itemref:String,itemscope:String,itemtype:String,lang:String,nonce:String,part:String,slot:String,spellcheck:{type:Boolean,default:void 0},style:String,tabindex:String,title:String,translate:String},F=a({name:"NoScript",inheritAttrs:!1,props:{...E,title:String,body:Boolean,renderPriority:[String,Number]},setup:d((t,{slots:i})=>{var u;const o={...t},_=(((u=i.default)==null?void 0:u.call(i))||[]).filter(({children:m})=>m).map(({children:m})=>m).join("");return _&&(o.children=_),{noscript:[o]}})}),Q=a({name:"Link",inheritAttrs:!1,props:{...E,as:String,crossorigin:String,disabled:Boolean,fetchpriority:String,href:String,hreflang:String,imagesizes:String,imagesrcset:String,integrity:String,media:String,prefetch:{type:Boolean,default:void 0},referrerpolicy:String,rel:String,sizes:String,title:String,type:String,methods:String,target:String,body:Boolean,renderPriority:[String,Number]},setup:d(t=>({link:[t]}))}),G=a({name:"Base",inheritAttrs:!1,props:{...E,href:String,target:String},setup:d(t=>({base:t}))}),J=a({name:"Title",inheritAttrs:!1,setup:d((t,{slots:i})=>{var _,u,m;return{title:((m=(u=(_=i.default)==null?void 0:_.call(i))==null?void 0:u[0])==null?void 0:m.children)||null}})}),K=a({name:"Meta",inheritAttrs:!1,props:{...E,charset:String,content:String,httpEquiv:String,name:String,body:Boolean,renderPriority:[String,Number]},setup:d(t=>{const i={...t};return i.httpEquiv&&(i["http-equiv"]=i.httpEquiv,delete i.httpEquiv),{meta:[i]}})}),W=a({name:"Style",inheritAttrs:!1,props:{...E,type:String,media:String,nonce:String,title:String,scoped:{type:Boolean,default:void 0},body:Boolean,renderPriority:[String,Number]},setup:d((t,{slots:i})=>{var u,m,n;const o={...t},_=(n=(m=(u=i.default)==null?void 0:u.call(i))==null?void 0:m[0])==null?void 0:n.children;return _&&(o.children=_),{style:[o]}})}),X=a({name:"Head",inheritAttrs:!1,setup:(t,i)=>()=>{var o,_;return(_=(o=i.slots).default)==null?void 0:_.call(o)}}),Y=a({name:"Html",inheritAttrs:!1,props:{...E,manifest:String,version:String,xmlns:String,renderPriority:[String,Number]},setup:d(t=>({htmlAttrs:t}),!0)}),Z=a({name:"Body",inheritAttrs:!1,props:{...E,renderPriority:[String,Number]},setup:d(t=>({bodyAttrs:t}),!0)}),p=Object.freeze(Object.defineProperty({__proto__:null,Base:G,Body:Z,Head:X,Html:Y,Link:Q,Meta:K,NoScript:F,Style:W,Title:J},Symbol.toStringTag,{value:"Module"}));r(()=>e(()=>import("./ExampleCard.26f9bb19.js"),["./ExampleCard.26f9bb19.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ExampleHero.02aa09cf.js"),["./ExampleHero.02aa09cf.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ExampleIconCard.07caa17e.js"),["./ExampleIconCard.07caa17e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ExampleMultiselect.edfb3bb6.js"),["./ExampleMultiselect.edfb3bb6.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ExampleTheTitle.e4b43830.js"),["./ExampleTheTitle.e4b43830.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./HeroAnnouncement.32859cbb.js"),["./HeroAnnouncement.32859cbb.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./HeroAnnouncement.c8294d82.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconMarkdown.abd5e80b.js"),["./IconMarkdown.abd5e80b.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.L),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./MyButton.d8f00b03.js"),["./MyButton.d8f00b03.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./MyButton.c36465b2.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./PropInspector.83153412.js"),["./PropInspector.83153412.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./PropInspector.8b357721.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ReadMore.bd9c6b06.js"),["./ReadMore.bd9c6b06.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./Alert.443f6167.js","./ContentSlot.7e1a494f.js","./Alert.f24f4058.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.y),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.x),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.o),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.r),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.s),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./AppLayout.bec693ec.js"),["./AppLayout.bec693ec.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.A),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.t),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.n),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocumentDrivenNotFound.25e8b3dc.js"),["./DocumentDrivenNotFound.25e8b3dc.js","./ButtonLink.2789431f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./ButtonLink.1b73392c.css","./DocumentDrivenNotFound.434430ce.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.T),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocsAside.44ffd29b.js"),["./DocsAside.44ffd29b.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./DocsAside.d7386185.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocsAsideTree.08d70919.js").then(t=>t.D),["./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocsPageBottom.a96d3867.js"),["./DocsPageBottom.a96d3867.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseA.c8de8b63.js","./ProseA.89c7f0ff.css","./EditOnLink.vue.21b8aa9d.js","./DocsPageBottom.d9d559e1.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocsPageLayout.8e541ec6.js"),["./DocsPageLayout.8e541ec6.js","./DocsAside.44ffd29b.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./DocsAside.d7386185.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Alert.443f6167.js","./ContentSlot.7e1a494f.js","./Alert.f24f4058.css","./DocsPageBottom.a96d3867.js","./ProseA.c8de8b63.js","./ProseA.89c7f0ff.css","./EditOnLink.vue.21b8aa9d.js","./DocsPageBottom.d9d559e1.css","./DocsPrevNext.adb795e8.js","./DocsPrevNext.6bb4ff17.css","./DocsToc.03cf2013.js","./DocsTocLinks.c11364e4.js","./DocsTocLinks.2846f127.css","./DocsToc.6b8d2996.css","./DocsPageLayout.0537ea8c.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocsPrevNext.adb795e8.js"),["./DocsPrevNext.adb795e8.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./DocsPrevNext.6bb4ff17.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocsToc.03cf2013.js"),["./DocsToc.03cf2013.js","./DocsTocLinks.c11364e4.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./app.config.4114fca6.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./DocsTocLinks.2846f127.css","./DocsToc.6b8d2996.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocsTocLinks.c11364e4.js"),["./DocsTocLinks.c11364e4.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./app.config.4114fca6.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./DocsTocLinks.2846f127.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./EditOnLink.f0fb05c8.js"),["./EditOnLink.f0fb05c8.js","./EditOnLink.vue.21b8aa9d.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./useDocus.edcbeab5.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseA.c8de8b63.js"),["./ProseA.c8de8b63.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./ProseA.89c7f0ff.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseBlockquote.ecc3d96f.js"),["./ProseBlockquote.ecc3d96f.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseBlockquote.e233c07e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseCode.2adf04d1.js"),["./ProseCode.2adf04d1.js","./ProseCodeCopyButton.1eec7dbb.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./index.889aa611.js","./ProseCode.69d80bcc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseCodeInline.dca1a534.js"),["./ProseCodeInline.dca1a534.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseCodeInline.aab68857.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseEm.35693543.js"),["./ProseEm.35693543.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseEm.26a085fc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseH1.ee507e45.js"),["./ProseH1.ee507e45.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH1.e8ed25c4.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseH2.36291d6d.js"),["./ProseH2.36291d6d.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH2.39cb29c9.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseH3.0209a6ec.js"),["./ProseH3.0209a6ec.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH3.185f3970.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseH4.4ddfc0da.js"),["./ProseH4.4ddfc0da.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH4.63359073.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseH5.fd3b0c88.js"),["./ProseH5.fd3b0c88.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH5.85b0a165.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseH6.c2012c78.js"),["./ProseH6.c2012c78.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH6.c7358255.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseHr.75e3ac21.js"),["./ProseHr.75e3ac21.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseHr.c7c78bbe.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseImg.ff3b8d7e.js"),["./ProseImg.ff3b8d7e.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./ProseImg.018721e2.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseLi.171f9b22.js"),["./ProseLi.171f9b22.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseLi.ac05b421.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseOl.8e9d7d6a.js"),["./ProseOl.8e9d7d6a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseOl.d78cb0de.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseP.9fd9b629.js"),["./ProseP.9fd9b629.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseP.945916cd.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseStrong.3de7628e.js"),["./ProseStrong.3de7628e.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseStrong.263d77e1.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseTable.a85f8bca.js"),["./ProseTable.a85f8bca.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTable.c65fbffe.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseTbody.37a7db42.js"),["./ProseTbody.37a7db42.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseTd.921f02a8.js"),["./ProseTd.921f02a8.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTd.4df19d93.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseTh.d24c1b52.js"),["./ProseTh.d24c1b52.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTh.348cb47e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseThead.40eb8658.js"),["./ProseThead.40eb8658.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseThead.65d34604.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseTr.d0d94723.js"),["./ProseTr.d0d94723.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTr.65bec588.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseUl.5ba8de5b.js"),["./ProseUl.5ba8de5b.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseUl.85b434de.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ProseCodeCopyButton.1eec7dbb.js"),["./ProseCodeCopyButton.1eec7dbb.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./index.889aa611.js","./ProseCode.69d80bcc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Alert.443f6167.js"),["./Alert.443f6167.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./Alert.f24f4058.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Badge.a4f5598b.js"),["./Badge.a4f5598b.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./Badge.05529646.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ButtonLink.2789431f.js"),["./ButtonLink.2789431f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./ButtonLink.1b73392c.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Callout.e09a04aa.js"),["./Callout.e09a04aa.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./Callout.a5db879a.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./CodeBlock.163820c8.js"),["./CodeBlock.163820c8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./CodeBlock.e4cadaca.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./CodeGroup.c21eec3c.js"),["./CodeGroup.c21eec3c.js","./CodeGroup.vue.e138b097.js","./TabsHeader.f80c17f8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./TabsHeader.fed4d9b4.css","./CodeGroup.92ac881c.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Container.f1017aa2.js").then(t=>t.C),["./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./CopyButton.c9acc792.js"),["./CopyButton.c9acc792.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./index.889aa611.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Ellipsis.50580cd1.js"),["./Ellipsis.50580cd1.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./Ellipsis.f7ff00dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./List.0c42b342.js"),["./List.0c42b342.js","./List.vue.d5bae865.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./List.a65f0e81.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./NuxtImg.3bab810e.js"),["./NuxtImg.3bab810e.js","./NuxtImg.vue.594abc77.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Props.80a76d3d.js"),["./Props.80a76d3d.js","./ProseTh.d24c1b52.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTh.348cb47e.css","./ProseTr.d0d94723.js","./ProseTr.65bec588.css","./ProseThead.40eb8658.js","./ProseThead.65d34604.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./ProseTd.921f02a8.js","./ProseTd.4df19d93.css","./ProseTbody.37a7db42.js","./ProseTable.a85f8bca.js","./ProseTable.c65fbffe.css","./app.config.4114fca6.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Sandbox.21a025fb.js"),["./Sandbox.21a025fb.js","./TabsHeader.f80c17f8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./TabsHeader.fed4d9b4.css","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./Sandbox.68fd6c5d.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./SourceLink.8b39af38.js"),["./SourceLink.8b39af38.js","./ProseP.9fd9b629.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseP.945916cd.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./TabsHeader.f80c17f8.js"),["./TabsHeader.f80c17f8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./TabsHeader.fed4d9b4.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Terminal.e111a4e9.js"),["./Terminal.e111a4e9.js","./index.889aa611.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./Terminal.55a17588.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./VideoPlayer.4efd76f7.js"),["./VideoPlayer.4efd76f7.js","./NuxtImg.vue.594abc77.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./VideoPlayer.e2296f21.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconCodeSandBox.c8242608.js"),["./IconCodeSandBox.c8242608.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconDocus.288d04af.js"),["./IconDocus.288d04af.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconNuxt.fcd0b256.js"),["./IconNuxt.fcd0b256.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconNuxtContent.e8429861.js"),["./IconNuxtContent.e8429861.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconNuxtLabs.d57bf3c9.js"),["./IconNuxtLabs.d57bf3c9.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconNuxtStudio.af5044e4.js"),["./IconNuxtStudio.af5044e4.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./IconNuxtStudio.34390cd8.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconStackBlitz.8b1569eb.js"),["./IconStackBlitz.8b1569eb.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./IconVueTelescope.e930811b.js"),["./IconVueTelescope.e930811b.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./BlockHero.81a09280.js"),["./BlockHero.81a09280.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ButtonLink.2789431f.js","./ButtonLink.1b73392c.css","./Terminal.e111a4e9.js","./index.889aa611.js","./Terminal.55a17588.css","./BlockHero.4aa0ef8d.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Card.24a8ff8f.js"),["./Card.24a8ff8f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./Card.5dfb7f30.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./CardGrid.362959de.js"),["./CardGrid.362959de.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./CardGrid.54558efd.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./VoltaBoard.1d961799.js"),["./VoltaBoard.1d961799.js","./runtime-core.esm-bundler.6894272a.js","./VoltaBoard.a5d6b336.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ComponentPlayground.00658939.js"),["./ComponentPlayground.00658939.js","./ComponentPlayground.vue.db6a2f57.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./Ellipsis.50580cd1.js","./Ellipsis.f7ff00dc.css","./ComponentPlaygroundData.c394e239.js","./TabsHeader.f80c17f8.js","./TabsHeader.fed4d9b4.css","./ComponentPlaygroundProps.59058ddd.js","./ProseH4.4ddfc0da.js","./ProseH4.63359073.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Badge.a4f5598b.js","./ContentSlot.7e1a494f.js","./Badge.05529646.css","./ProseP.9fd9b629.js","./ProseP.945916cd.css","./index.889aa611.js","./ComponentPlaygroundProps.54f42c7a.css","./ComponentPlaygroundSlots.vue.d9207f3c.js","./ComponentPlaygroundTokens.vue.43c587d1.js","./ComponentPlaygroundData.2ba66f99.css","./ComponentPlayground.3f4b16b9.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ComponentPlaygroundData.c394e239.js"),["./ComponentPlaygroundData.c394e239.js","./TabsHeader.f80c17f8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./TabsHeader.fed4d9b4.css","./ComponentPlaygroundProps.59058ddd.js","./ProseH4.4ddfc0da.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./ProseH4.63359073.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Badge.a4f5598b.js","./ContentSlot.7e1a494f.js","./Badge.05529646.css","./ProseP.9fd9b629.js","./ProseP.945916cd.css","./index.889aa611.js","./ComponentPlaygroundProps.54f42c7a.css","./ComponentPlaygroundSlots.vue.d9207f3c.js","./ComponentPlaygroundTokens.vue.43c587d1.js","./ComponentPlaygroundData.2ba66f99.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ComponentPlaygroundProps.59058ddd.js"),["./ComponentPlaygroundProps.59058ddd.js","./ProseH4.4ddfc0da.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH4.63359073.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Badge.a4f5598b.js","./ContentSlot.7e1a494f.js","./Badge.05529646.css","./ProseP.9fd9b629.js","./ProseP.945916cd.css","./index.889aa611.js","./ComponentPlaygroundProps.54f42c7a.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ComponentPlaygroundSlots.71fbb170.js"),["./ComponentPlaygroundSlots.71fbb170.js","./ComponentPlaygroundSlots.vue.d9207f3c.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ComponentPlaygroundTokens.334d4f7a.js"),["./ComponentPlaygroundTokens.334d4f7a.js","./ComponentPlaygroundTokens.vue.43c587d1.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./TokensPlayground.961c6dbe.js"),["./TokensPlayground.961c6dbe.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ContentPreviewMode.0a29e9d3.js"),["./ContentPreviewMode.0a29e9d3.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./app.config.4114fca6.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./asyncData.2775b491.js","./entry.2d43dc03.js","./query.c3f7607a.js","./entry.2e7e04dc.css","./ContentPreviewMode.dea45f14.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ContentDoc.08489604.js"),["./ContentDoc.08489604.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./ContentRenderer.51874b59.js","./ContentRendererMarkdown.1da6a628.js","./ContentQuery.7a036327.js","./asyncData.2775b491.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ContentList.394febbe.js"),["./ContentList.394febbe.js","./ContentQuery.7a036327.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>Promise.resolve().then(()=>et),void 0,import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ContentQuery.7a036327.js"),["./ContentQuery.7a036327.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ContentRenderer.51874b59.js"),["./ContentRenderer.51874b59.js","./ContentRendererMarkdown.1da6a628.js","./cookie.5bbb58d5.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ContentRendererMarkdown.1da6a628.js"),["./ContentRendererMarkdown.1da6a628.js","./cookie.5bbb58d5.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./ContentSlot.7e1a494f.js"),["./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocumentDrivenEmpty.7ceddd7c.js"),["./DocumentDrivenEmpty.7ceddd7c.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./Markdown.eb6ef861.js"),["./Markdown.eb6ef861.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./welcome.0953e899.js"),["./welcome.0953e899.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./asyncData.2775b491.js","./ContentSlot.7e1a494f.js","./EditOnLink.vue.21b8aa9d.js","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./ProseH4.4ddfc0da.js","./ProseH4.63359073.css","./ProseP.9fd9b629.js","./ProseP.945916cd.css","./ProseTable.a85f8bca.js","./ProseTable.c65fbffe.css","./ProseTd.921f02a8.js","./ProseTd.4df19d93.css","./ProseTh.d24c1b52.js","./ProseTh.348cb47e.css","./ProseThead.40eb8658.js","./ProseThead.65d34604.css","./ProseTr.d0d94723.js","./ProseTr.65bec588.css","./Badge.a4f5598b.js","./Badge.05529646.css","./CodeGroup.vue.e138b097.js","./TabsHeader.f80c17f8.js","./TabsHeader.fed4d9b4.css","./CodeGroup.92ac881c.css","./Ellipsis.50580cd1.js","./Ellipsis.f7ff00dc.css","./List.vue.d5bae865.js","./List.a65f0e81.css","./NuxtImg.vue.594abc77.js","./Props.80a76d3d.js","./ProseTbody.37a7db42.js","./ComponentPlayground.vue.db6a2f57.js","./ComponentPlaygroundData.c394e239.js","./ComponentPlaygroundProps.59058ddd.js","./index.889aa611.js","./ComponentPlaygroundProps.54f42c7a.css","./ComponentPlaygroundSlots.vue.d9207f3c.js","./ComponentPlaygroundTokens.vue.43c587d1.js","./ComponentPlaygroundData.2ba66f99.css","./ComponentPlayground.3f4b16b9.css","./ContentDoc.08489604.js","./ContentRenderer.51874b59.js","./ContentRendererMarkdown.1da6a628.js","./ContentQuery.7a036327.js","./ContentList.394febbe.js","./DocumentDrivenEmpty.7ceddd7c.js","./Markdown.eb6ef861.js","./layout.732d57d1.js","./GithubRepository.bbd436c6.js","./useGithub.916c5979.js","./GithubLink.6e1f1ea3.js","./GithubReadme.3309f143.js","./GithubReleases.54c416e9.js","./GithubLastRelease.7ffc61aa.js","./GithubRelease.fea5f747.js","./GithubContributors.35cdb9ac.js","./GithubFileContributors.2287b161.js","./GithubCommits.e43b30d0.js","./HeroAnnouncement.c8294d82.css","./MyButton.c36465b2.css","./PropInspector.8b357721.css","./Alert.f24f4058.css","./ButtonLink.1b73392c.css","./DocumentDrivenNotFound.434430ce.css","./DocsAside.d7386185.css","./ProseA.89c7f0ff.css","./DocsPageBottom.d9d559e1.css","./DocsPrevNext.6bb4ff17.css","./DocsTocLinks.2846f127.css","./DocsToc.6b8d2996.css","./DocsPageLayout.0537ea8c.css","./ProseBlockquote.e233c07e.css","./ProseCode.69d80bcc.css","./ProseEm.26a085fc.css","./ProseH1.e8ed25c4.css","./ProseH2.39cb29c9.css","./ProseH3.185f3970.css","./ProseH5.85b0a165.css","./ProseH6.c7358255.css","./ProseHr.c7c78bbe.css","./ProseImg.018721e2.css","./ProseLi.ac05b421.css","./ProseOl.d78cb0de.css","./ProseStrong.263d77e1.css","./ProseUl.85b434de.css","./Callout.a5db879a.css","./CodeBlock.e4cadaca.css","./Sandbox.68fd6c5d.css","./Terminal.55a17588.css","./VideoPlayer.e2296f21.css","./IconNuxtStudio.34390cd8.css","./BlockHero.4aa0ef8d.css","./Card.5dfb7f30.css","./CardGrid.54558efd.css","./VoltaBoard.a5d6b336.css","./ContentPreviewMode.dea45f14.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./layout.732d57d1.js"),["./layout.732d57d1.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./entry.2d43dc03.js","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>Promise.resolve().then(()=>k),void 0,import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.v),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>Promise.resolve().then(()=>M),void 0,import.meta.url).then(t=>t.default||t));r(()=>e(()=>Promise.resolve().then(()=>q),void 0,import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./app.config.4114fca6.js").then(t=>t.y),["./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>Promise.resolve().then(()=>w),void 0,import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubRepository.bbd436c6.js"),["./GithubRepository.bbd436c6.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./useGithub.916c5979.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubLink.6e1f1ea3.js"),["./GithubLink.6e1f1ea3.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubReadme.3309f143.js"),["./GithubReadme.3309f143.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./useGithub.916c5979.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubReleases.54c416e9.js"),["./GithubReleases.54c416e9.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./useGithub.916c5979.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubLastRelease.7ffc61aa.js"),["./GithubLastRelease.7ffc61aa.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./useGithub.916c5979.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubRelease.fea5f747.js"),["./GithubRelease.fea5f747.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./useGithub.916c5979.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubContributors.35cdb9ac.js"),["./GithubContributors.35cdb9ac.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./useGithub.916c5979.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubFileContributors.2287b161.js"),["./GithubFileContributors.2287b161.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./useGithub.916c5979.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./GithubCommits.e43b30d0.js"),["./GithubCommits.e43b30d0.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./useGithub.916c5979.js"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.w),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./DocsAsideTree.08d70919.js").then(t=>t.I),["./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>import("./entry.2d43dc03.js").then(t=>t.p),["./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css"],import.meta.url).then(t=>t.default||t));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.NoScript));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.Link));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.Base));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.Title));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.Meta));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.Style));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.Head));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.Html));r(()=>e(()=>Promise.resolve().then(()=>p),void 0,import.meta.url).then(t=>t.Body));const tt=a({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(t){const{query:i}=j(t),o=O(()=>{var u;return typeof((u=i.value)==null?void 0:u.params)=="function"?i.value.params():i.value});if(!o.value&&R("dd-navigation").value){const{navigation:u}=V();return{navigation:u}}const{data:_}=await D(`content-navigation-${S(o.value)}`,()=>y(o.value));return{navigation:_}},render(t){const i=N(),{navigation:o}=t,_=n=>f(I,{to:n._path},()=>n.title),u=(n,h)=>f("ul",h?{"data-level":h}:null,n.map(l=>l.children?f("li",null,[_(l),u(l.children,h+1)]):f("li",null,_(l)))),m=n=>u(n,0);return i!=null&&i.default?i.default({navigation:o,...this.$attrs}):m(o)}}),et=Object.freeze(Object.defineProperty({__proto__:null,default:tt},Symbol.toStringTag,{value:"Module"}));export{tt as default}; diff --git a/docs/.output/public/_nuxt/ContentPreviewMode.0a29e9d3.js b/docs/.output/public/_nuxt/ContentPreviewMode.0a29e9d3.js deleted file mode 100644 index 1113c121..00000000 --- a/docs/.output/public/_nuxt/ContentPreviewMode.0a29e9d3.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as T,a as b}from"./Container.f1017aa2.js";import{u as q,l as k,p as S}from"./app.config.4114fca6.js";import{T as g}from"./DocsAsideTree.08d70919.js";import{r as I}from"./asyncData.2775b491.js";import{u as L}from"./cookie.5bbb58d5.js";import{f as M,r as p,O as A,aj as N,q as u,x as l,y as B,F as E,E as e,D as v,G as x,C,J as R,n as U,M as z,N as D}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import"./index.d2b0cb5e.js";import"./useDocus.edcbeab5.js";import"./entry.2d43dc03.js";import"./query.c3f7607a.js";const i=a=>(z("data-v-572e7d1a"),a=a(),D(),a),F=i(()=>e("svg",{viewBox:"0 0 90 90",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M50.0016 71.0999h29.2561c.9293.0001 1.8422-.241 2.6469-.6992.8047-.4582 1.4729-1.1173 1.9373-1.9109.4645-.7936.7088-1.6939.7083-2.6102-.0004-.9162-.2455-1.8163-.7106-2.6095L64.192 29.713c-.4644-.7934-1.1325-1.4523-1.937-1.9105-.8046-.4581-1.7173-.6993-2.6463-.6993-.9291 0-1.8418.2412-2.6463.6993-.8046.4582-1.4726 1.1171-1.937 1.9105l-5.0238 8.5861-9.8224-16.7898c-.4648-.7934-1.1332-1.4522-1.938-1.9102-.8047-.4581-1.7176-.6992-2.6468-.6992-.9292 0-1.842.2411-2.6468.6992-.8048.458-1.4731 1.1168-1.9379 1.9102L6.56062 63.2701c-.46512.7932-.71021 1.6933-.71061 2.6095-.00041.9163.24389 1.8166.70831 2.6102.46443.7936 1.1326 1.4527 1.93732 1.9109.80473.4582 1.71766.6993 2.64686.6992h18.3646c7.2763 0 12.6422-3.1516 16.3345-9.3002l8.9642-15.3081 4.8015-8.1925 14.4099 24.6083H54.8058l-4.8042 8.1925ZM29.2077 62.899l-12.8161-.0028L35.603 30.0869l9.5857 16.4047-6.418 10.9645c-2.4521 3.9894-5.2377 5.4429-9.563 5.4429Z",fill:"currentColor"})],-1)),H=i(()=>e("span",null,"Preview mode enabled",-1)),V={key:0},j=i(()=>e("div",{id:"__preview_background"},null,-1)),O=i(()=>e("svg",{id:"__preview_loading_icon",width:"32",height:"32",viewBox:"0 0 24 24"},[e("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 0 0 4.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 0 1-15.357-2m15.357 2H15"})],-1)),Z=i(()=>e("p",null,"Initializing the preview...",-1)),G={key:0},J=i(()=>e("div",{id:"__preview_background"},null,-1)),$={id:"__preview_loader"},K=M({__name:"ContentPreviewMode",props:{previewToken:{type:Object,required:!0},apiURL:{type:String,required:!0},syncPreview:{type:Function,required:!0},requestPreviewSyncAPI:{type:Function,required:!0}},setup(a){const s=a,_=["__nuxt_preview","__preview_enabled"],P=q(),w=p(!0),m=p(!1),o=p(!1),n=p("");let t;const f=async()=>{L("previewToken").value="",k().query.preview="",await S(k().path),U(()=>{I()}),w.value=!1,n.value="",document.body.classList.remove(..._)},h=async c=>{const r=await s.syncPreview(c);if(o.value!==!0){if(!r){setTimeout(()=>h(c),1e3);return}o.value=!0,P.callHook("nuxt-studio:preview:ready"),window.parent&&window.self!==window.parent&&t.disconnect()}};return A(async()=>{t=(await T(()=>import("./index.e2533f77.js"),[],import.meta.url)).connect(`${s.apiURL}/preview`,{transports:["websocket","polling"],auth:{token:s.previewToken.value}});let r;t.on("connect",()=>{r=setTimeout(()=>{o.value||(r=setTimeout(()=>{n.value="Preview sync timed out",o.value=!1},3e4),t.emit("draft:requestSync"))},3e4)});const y=()=>{r&&(clearInterval(r),r=null)};t.on("draft:sync",d=>{if(y(),!d){s.requestPreviewSyncAPI(),t.once("draft:ready",()=>{t.emit("draft:requestSync")});return}h(d)}),t.on("draft:unauthorized",()=>{y(),n.value="Unauthorized preview token",o.value=!1}),t.on("disconnect",()=>{y()}),document.body.classList.add(..._),t.on("draft:update",d=>{m.value=!0,s.syncPreview(d),m.value=!1})}),N(()=>{document.body.classList.remove(..._)}),(c,r)=>(u(),l("div",null,[w.value?(u(),l("div",{key:0,id:"__nuxt_preview",class:B({__preview_ready:o.value,__preview_refreshing:m.value})},[o.value?(u(),l(E,{key:0},[F,H,e("button",{onClick:f}," Close ")],64)):v("",!0)],2)):v("",!0),x(g,{name:"preview-loading"},{default:C(()=>[w.value&&!o.value&&!n.value?(u(),l("div",V,[j,e("div",{id:"__preview_loader"},[O,Z,e("button",{onClick:f}," Cancel ")])])):v("",!0)]),_:1}),x(g,{name:"preview-loading"},{default:C(()=>[n.value?(u(),l("div",G,[J,e("div",$,[e("p",null,R(n.value),1),e("button",{onClick:f}," Exit preview ")])])):v("",!0)]),_:1})]))}}),se=b(K,[["__scopeId","data-v-572e7d1a"]]);export{se as default}; diff --git a/docs/.output/public/_nuxt/ContentPreviewMode.dea45f14.css b/docs/.output/public/_nuxt/ContentPreviewMode.dea45f14.css deleted file mode 100644 index c7c06011..00000000 --- a/docs/.output/public/_nuxt/ContentPreviewMode.dea45f14.css +++ /dev/null @@ -1 +0,0 @@ -body.__preview_enabled{padding-bottom:50px}#__nuxt_preview[data-v-572e7d1a]{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.3);border-top:1px solid #eee;bottom:-60px;color:#000;display:flex;font-family:Helvetica,sans-serif;font-size:16px;font-weight:500;gap:10px;height:50px;justify-content:center;left:0;position:fixed;right:0;transition:bottom .3s ease-in-out;z-index:10000}#__nuxt_preview.__preview_ready[data-v-572e7d1a]{bottom:0}#__preview_background[data-v-572e7d1a]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,100%,.3);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:40}#__preview_loader[data-v-572e7d1a]{align-items:center;color:#000;display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1.4rem;gap:8px;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:50}#__preview_loader p[data-v-572e7d1a]{margin:10px 0}.dark #__preview_background[data-v-572e7d1a],.dark-mode #__preview_background[data-v-572e7d1a]{background:rgba(0,0,0,.3)}.dark #__preview_loader[data-v-572e7d1a],.dark-mode #__preview_loader[data-v-572e7d1a]{color:#fff}.preview-loading-enter-active[data-v-572e7d1a],.preview-loading-leave-active[data-v-572e7d1a]{transition:opacity .4s}.preview-loading-enter[data-v-572e7d1a],.preview-loading-leave-to[data-v-572e7d1a]{opacity:0}#__preview_loading_icon[data-v-572e7d1a]{animation:spin-572e7d1a 1s linear infinite}.dark #__nuxt_preview[data-v-572e7d1a],.dark-mode #__nuxt_preview[data-v-572e7d1a]{background:rgba(0,0,0,.3);border-top:1px solid #111;color:#fff}#__nuxt_preview svg[data-v-572e7d1a]{color:#000;display:inline-block;height:30px;width:30px}.dark #__nuxt_preview svg[data-v-572e7d1a],.dark-mode #__nuxt_preview svg[data-v-572e7d1a]{color:#fff}button[data-v-572e7d1a]{background:transparent;border:1px solid rgba(0,0,0,.2);border-radius:3px;box-shadow:none;color:#000c;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1rem;margin:0;padding:4px 10px;text-align:center;transition:none;width:auto}button[data-v-572e7d1a]:hover{border-color:#0006;color:#000000e6}.dark button[data-v-572e7d1a],.dark-mode button[data-v-572e7d1a]{border-color:#fff3;color:#d3d3d3}.dark button[data-v-572e7d1a]:hover,.dark-mode button[data-v-572e7d1a]:hover{border-color:#fff6;color:#fff}#__nuxt_preview button[data-v-572e7d1a]:focus,#__nuxt_preview button[data-v-572e7d1a]:hover{background:rgba(0,0,0,.1)}#__nuxt_preview button[data-v-572e7d1a]:active{background:rgba(0,0,0,.2)}.dark #__nuxt_preview button[data-v-572e7d1a],.dark-mode #__nuxt_preview button[data-v-572e7d1a]{border:1px solid hsla(0,0%,100%,.2);color:#fffc}.dark #__nuxt_preview button[data-v-572e7d1a]:hover,.dark-mode #__nuxt_preview button[data-v-572e7d1a]:focus{background:hsla(0,0%,100%,.1)}.dark #__nuxt_preview button[data-v-572e7d1a]:active,.dark-mode #__nuxt_preview button[data-v-572e7d1a]:active{background:hsla(0,0%,100%,.2)}#__nuxt_preview.__preview_refreshing button[data-v-572e7d1a],#__nuxt_preview.__preview_refreshing span[data-v-572e7d1a],#__nuxt_preview.__preview_refreshing svg[data-v-572e7d1a]{animation:nuxt_pulsate-572e7d1a 1s ease-out;animation-iteration-count:infinite;opacity:.5}@keyframes nuxt_pulsate-572e7d1a{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes spin-572e7d1a{0%{transform:rotate(1turn)}to{transform:rotate(0)}} diff --git a/docs/.output/public/_nuxt/ContentQuery.7a036327.js b/docs/.output/public/_nuxt/ContentQuery.7a036327.js deleted file mode 100644 index 3e2902b0..00000000 --- a/docs/.output/public/_nuxt/ContentQuery.7a036327.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u as q}from"./asyncData.2775b491.js";import{h as g,q as m}from"./entry.2d43dc03.js";import{f as S,ak as b,h as k,a as C,ae as N,j as _}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const Y=S({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(u){const{path:t,only:r,without:n,where:a,sort:o,limit:l,skip:f,locale:s,find:d}=b(u),h=k(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")});C(()=>u,()=>p(),{deep:!0});const{data:v,refresh:p}=await q(`content-query-${g(u)}`,()=>{let e;return t.value?e=m(t.value):e=m(),r.value&&(e=e.only(r.value)),n.value&&(e=e.without(n.value)),a.value&&(e=e.where(a.value)),o.value&&(e=e.sort(o.value)),l.value&&(e=e.limit(l.value)),f.value&&(e=e.skip(f.value)),s.value&&(e=e.where({_locale:s.value})),d.value==="one"?e.findOne():d.value==="surround"?t.value?e.findSurround(t.value):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find()):e.find()});return{isPartial:h,data:v,refresh:p}},render(u){var y;const t=N(),{data:r,refresh:n,isPartial:a,path:o,only:l,without:f,where:s,sort:d,limit:h,skip:v,locale:p,find:e}=u,i={path:o,only:l,without:f,where:s,sort:d,limit:h,skip:v,locale:p,find:e};if(i.find==="one"){if(!r&&(t!=null&&t["not-found"]))return t["not-found"]({props:i,...this.$attrs});if(t!=null&&t.empty&&(r==null?void 0:r._type)==="markdown"&&!((y=r==null?void 0:r.body)!=null&&y.children.length))return t.empty({props:i,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:i,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:n,isPartial:a,props:i,...this.$attrs}):((c,w)=>_("pre",null,JSON.stringify({message:"You should use slots with !",slot:c,data:w},null,2)))("default",{data:r,props:i,isPartial:a})}});export{Y as default}; diff --git a/docs/.output/public/_nuxt/ContentRenderer.51874b59.js b/docs/.output/public/_nuxt/ContentRenderer.51874b59.js deleted file mode 100644 index 9cd5f510..00000000 --- a/docs/.output/public/_nuxt/ContentRenderer.51874b59.js +++ /dev/null @@ -1 +0,0 @@ -import c from"./ContentRendererMarkdown.1da6a628.js";import{f as m,a as l,ae as s,j as d}from"./runtime-core.esm-bundler.6894272a.js";import"./cookie.5bbb58d5.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";const w=m({name:"ContentRenderer",props:{value:{type:Object,required:!1,default:()=>({})},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"}},setup(t){l(()=>t.excerpt,n=>{var e,r,a;n&&!((e=t.value)!=null&&e.excerpt)&&(console.warn(`No excerpt found for document content/${(r=t==null?void 0:t.value)==null?void 0:r._path}.${(a=t==null?void 0:t.value)==null?void 0:a._extension}!`),console.warn("Make sure to use in your content if you want to use excerpt feature."))},{immediate:!0})},render(t){var i,o,u,f;const n=s(),{value:e,excerpt:r,tag:a}=t;return!((o=(i=e==null?void 0:e.body)==null?void 0:i.children)!=null&&o.length)&&(n!=null&&n.empty)?n.empty({value:e,excerpt:r,tag:a,...this.$attrs}):n!=null&&n.default?n.default({value:e,excerpt:r,tag:a,...this.$attrs}):(e==null?void 0:e._type)==="markdown"&&((f=(u=e==null?void 0:e.body)==null?void 0:u.children)!=null&&f.length)?d(c,{value:e,excerpt:r,tag:a,...this.$attrs}):d("pre",null,JSON.stringify({message:"You should use slots with ",value:e,excerpt:r,tag:a},null,2))}});export{w as default}; diff --git a/docs/.output/public/_nuxt/ContentRendererMarkdown.1da6a628.js b/docs/.output/public/_nuxt/ContentRendererMarkdown.1da6a628.js deleted file mode 100644 index ee667d48..00000000 --- a/docs/.output/public/_nuxt/ContentRendererMarkdown.1da6a628.js +++ /dev/null @@ -1 +0,0 @@ -import{d as Y}from"./cookie.5bbb58d5.js";import{p as Z}from"./index.d2b0cb5e.js";import{b as J,l as G}from"./app.config.4114fca6.js";import{f as Q,j as M,aa as A,al as x}from"./runtime-core.esm-bundler.6894272a.js";class S{constructor(e,o,t){this.property=e,this.normal=o,t&&(this.space=t)}}S.prototype.property={};S.prototype.normal={};S.prototype.space=null;function E(n,e){const o={},t={};let r=-1;for(;++r4&&o.slice(0,4)==="data"&&tn.test(e)){if(e.charAt(4)==="-"){const a=e.slice(5).replace(R,sn);t="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{const a=e.slice(4);if(!R.test(a)){let i=a.replace(rn,un);i.charAt(0)!=="-"&&(i="-"+i),e="data"+i}}r=L}return new r(t,e)}function un(n){return"-"+n.toLowerCase()}function sn(n){return n.charAt(1).toUpperCase()}const cn=E([B,z,H,_,en],"html");E([B,z,H,_,on],"svg");const F=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],D="default",N=/^@|^v-on:/,V=/^:|^v-bind:/,q=/^v-model/,pn=["select","textarea","input"],Dn=Q({name:"ContentRendererMarkdown",props:{value:{type:Object,required:!0},excerpt:{type:Boolean,default:!1},tag:{type:String,default:"div"},components:{type:Object,default:()=>({})}},async setup(n){var o;const{content:{tags:e={}}}=J().public;return await xn(n.value.body,{tags:{...e,...((o=n.value)==null?void 0:o._components)||{},...n.components}}),{tags:e}},render(n){var p;const{tags:e,tag:o,value:t,components:r}=n;if(!t)return null;let a=t.body||t;n.excerpt&&t.excerpt&&(a=t.excerpt);const i={...t,tags:{...e,...(t==null?void 0:t._components)||{},...r}};let s=i.component||o;return typeof i.component=="object"&&(s=i.component.name),s=X(s),M(s,{...(p=i.component)==null?void 0:p.props,...this.$attrs},K(a,M,i,i))}});function dn(n,e,o,t={}){var p;if(n.type==="text")return e(x,n.value);if(n.tag==="script")return W(n);const r=n.tag,a=typeof((p=n.props)==null?void 0:p.__ignoreMap)>"u"&&o.tags[r]||r;if(n.tag==="binding")return gn(n,e,o,t);const i=X(a);typeof i=="object"&&(i.tag=r);const s=hn(n,o);return e(i,s,K(n,e,o,{...t,...s}))}function W(n){var e,o;return n.type==="text"?n.value:(e=n.children)!=null&&e.length?`<${n.tag}>${((o=n.children)==null?void 0:o.map(W).join(""))||""}`:`<${n.tag}>`}function gn(n,e,o,t={}){var p;const r={...t,$route:()=>G(),$document:o,$doc:o},a=/\.|\[(\d+)\]/,s=((p=n.props)==null?void 0:p.value.trim().split(a).filter(Boolean)).reduce((g,y)=>y in g?typeof g[y]=="function"?g[y]():g[y]:{},r);return e(x,s)}function K(n,e,o,t){const a=(n.children||[]).reduce((s,p)=>{if(!kn(p))return s[D].push(p),s;const g=bn(p);return s[g]=s[g]||[],s[g].push(...p.children||[]),s},{[D]:[]});return Object.entries(a).reduce((s,[p,g])=>(g.length&&(s[p]=()=>{const y=g.map(h=>dn(h,e,o,t));return Sn(y)}),s),{})}function hn(n,e){const{tag:o="",props:t={}}=n;return Object.keys(t).reduce(function(r,a){if(a==="__ignoreMap")return r;const i=t[a];if(q.test(a)&&!pn.includes(o))return mn(a,i,r,e);if(a==="v-bind")return fn(a,i,r,e);if(N.test(a))return yn(a,i,r,e);if(V.test(a))return vn(a,i,r,e);const{attribute:s}=an(cn,a);return Array.isArray(i)&&i.every(p=>typeof p=="string")?(r[s]=i.join(" "),r):(r[s]=i,r)},{})}function mn(n,e,o,t){const r=h=>+h,a=h=>h.trim(),i=h=>h,s=n.replace(q,"").split(".").filter(h=>h).reduce((h,$)=>(h[$]=!0,h),{}),p="value",g=s.lazy?"change":"input",y=s.number?r:s.trim?a:i;return o[p]=C(e,t),o.on=o.on||{},o.on[g]=h=>t[e]=y(h),o}function fn(n,e,o,t){const r=C(e,t);return o=Object.assign(o,r),o}function yn(n,e,o,t){return n=n.replace(N,""),o.on=o.on||{},o.on[n]=()=>C(e,t),o}function vn(n,e,o,t){return n=n.replace(V,""),o[n]=C(e,t),o}const X=n=>{if(!F.includes(n)){const e=A(Z(n),!1);if(typeof e=="object")return e}return n};function C(n,e){const o=n.split(".").reduce((t,r)=>typeof t=="object"?t[r]:void 0,e);return typeof o>"u"?Y(n):o}function bn(n){let e="";for(const o of Object.keys(n.props||{}))if(!(!o.startsWith("#")&&!o.startsWith("v-slot:"))){e=o.split(/[:#]/,2)[1];break}return e||D}function kn(n){return n.tag==="template"}function Sn(n){const e=[];for(const o of n){const t=e[e.length-1];o.type===x&&(t==null?void 0:t.type)===x?t.children=t.children+o.children:e.push(o)}return e}async function xn(n,e){const o=Array.from(new Set(t(n,e)));await Promise.all(o.map(async r=>{const a=A(r);a!=null&&a.__asyncLoader&&!a.__asyncResolved&&await a.__asyncLoader()}));function t(r,a){var p;if(r.type==="text"||r.tag==="binding")return[];const i=typeof((p=r.props)==null?void 0:p.__ignoreMap)>"u"&&a.tags[r.tag]||r.tag,s=[];r.type!=="root"&&!F.includes(i)&&s.push(i);for(const g of r.children||[])s.push(...t(g,a));return s}}export{Dn as default}; diff --git a/docs/.output/public/_nuxt/ContentSlot.7e1a494f.js b/docs/.output/public/_nuxt/ContentSlot.7e1a494f.js deleted file mode 100644 index e6ed1de3..00000000 --- a/docs/.output/public/_nuxt/ContentSlot.7e1a494f.js +++ /dev/null @@ -1 +0,0 @@ -import{u as m}from"./DocsAsideTree.08d70919.js";import{f as g,ae as h,h as c,j as a,g as y}from"./runtime-core.esm-bundler.6894272a.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";const b=g({name:"ContentSlot",functional:!0,props:{use:{type:Function,default:void 0},unwrap:{type:[Boolean,String],default:!1}},setup(e){const{parent:l}=y(),{between:s,default:i}=h(),u=c(()=>typeof e.unwrap=="string"?e.unwrap.split(" "):["*"]);return{fallbackSlot:i,tags:u,between:s,parent:l}},render({use:e,unwrap:l,fallbackSlot:s,between:i,tags:u,parent:n}){var f;try{let o=e;if(typeof e=="string"&&(o=(n==null?void 0:n.slots[e])||((f=n==null?void 0:n.parent)==null?void 0:f.slots[e]),console.warn(`Please set :use="$slots.${e}" in component to enable reactivity`)),!o)return s?s():a("div");if(!l)return[o()];const{flatUnwrap:d}=m(),p=d(o(),u);return i?p.flatMap((t,r)=>r===0?[t]:[i(),t]):p.reduce((t,r)=>(typeof r.children=="string"?typeof t[t.length-1]=="string"?t[t.length-1]+=r.children:t.push(r.children):t.push(r),t),[])}catch{return a("div")}}});export{b as default}; diff --git a/docs/.output/public/_nuxt/CopyButton.c9acc792.js b/docs/.output/public/_nuxt/CopyButton.c9acc792.js deleted file mode 100644 index 799a5941..00000000 --- a/docs/.output/public/_nuxt/CopyButton.c9acc792.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i}from"./DocsAsideTree.08d70919.js";import{u as l}from"./index.889aa611.js";import{f as m,r as u,q as t,x as f,u as d,B as n}from"./runtime-core.esm-bundler.6894272a.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";const w=m({__name:"CopyButton",props:{content:{type:String,default:""}},setup(c){const a=c,{copy:p}=l(),o=u("init"),r=s=>{p(a.content).then(()=>{o.value="copied",setTimeout(()=>{o.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(s,y)=>{const e=i;return t(),f("button",{class:"copy rounded-lg bg-gray-800 px-2 py-2 font-mono text-xs font-semibold leading-none text-gray-400 focus:outline-none dark:bg-black",onClick:r},[d(o)==="copied"?(t(),n(e,{key:0,name:"fa-check",class:"h-4 w-4"})):(t(),n(e,{key:1,name:"fa-copy",class:"h-4 w-4"}))])}}});export{w as default}; diff --git a/docs/.output/public/_nuxt/DocsAside.44ffd29b.js b/docs/.output/public/_nuxt/DocsAside.44ffd29b.js deleted file mode 100644 index 1e92b20e..00000000 --- a/docs/.output/public/_nuxt/DocsAside.44ffd29b.js +++ /dev/null @@ -1 +0,0 @@ -import{b as r,_ as m}from"./DocsAsideTree.08d70919.js";import{_ as i}from"./app.config.4114fca6.js";import{c as l}from"./useDocus.edcbeab5.js";import{f as u,q as t,x as f,u as s,B as c,C as d,G as k,M as x,N as h,E as B}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as I}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";const N=o=>(x("data-v-4fc52927"),o=o(),h(),o),b=N(()=>B("span",{class:"text"},"Go back",-1)),v=u({__name:"DocsAside",setup(o){const{tree:e}=l();return(w,C)=>{var n;const a=r,_=m,p=i;return t(),f("nav",null,[((n=s(e))==null?void 0:n.length)>0?(t(),c(a,{key:0,links:s(e)},null,8,["links"])):(t(),c(p,{key:1,to:"/",class:"go-back-link"},{default:d(()=>[k(_,{name:"heroicons-outline:arrow-left",class:"icon"}),b]),_:1}))])}}}),V=I(v,[["__scopeId","data-v-4fc52927"]]);export{V as default}; diff --git a/docs/.output/public/_nuxt/DocsAsideTree.08d70919.js b/docs/.output/public/_nuxt/DocsAsideTree.08d70919.js deleted file mode 100644 index 4b701f44..00000000 --- a/docs/.output/public/_nuxt/DocsAsideTree.08d70919.js +++ /dev/null @@ -1 +0,0 @@ -import{w as en,b as me,l as ye,u as nn,_ as on}from"./app.config.4114fca6.js";import{u as rn}from"./cookie.5bbb58d5.js";import{e as sn,u as be,c as cn}from"./useDocus.edcbeab5.js";import{j as G,R as ve,U as At,V as an,W as we,X as rt,Y as it,Z as ln,_ as un,$ as fn,a0 as dn,a1 as pn,a2 as Se,a3 as hn,a4 as gn,a5 as mn,a6 as xe,a7 as yn,f as ct,r as bn,h as R,a as vn,a8 as wn,u as S,q as _,x as z,y as B,B as H,I as Sn,J as gt,z as xn,F as In,A as Cn,E as U,D as lt,G as _n,C as Tn,a9 as An}from"./runtime-core.esm-bundler.6894272a.js";import{a as Ie}from"./Container.f1017aa2.js";const En="http://www.w3.org/2000/svg",N=typeof document<"u"?document:null,zt=N&&N.createElement("template"),$n={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const o=e?N.createElementNS(En,t):N.createElement(t,n?{is:n}:void 0);return t==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:t=>N.createTextNode(t),createComment:t=>N.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>N.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,r,o,s){const i=n?n.previousSibling:e.lastChild;if(o&&(o===s||o.nextSibling))for(;e.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{zt.innerHTML=r?`${t}`:t;const c=zt.content;if(r){const l=c.firstChild;for(;l.firstChild;)c.appendChild(l.firstChild);c.removeChild(l)}e.insertBefore(c,n)}return[i?i.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function Mn(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function jn(t,e,n){const r=t.style,o=rt(n);if(n&&!o){if(e&&!rt(e))for(const s in e)n[s]==null&&mt(r,s,"");for(const s in n)mt(r,s,n[s])}else{const s=r.display;o?e!==n&&(r.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(r.display=s)}}const Bt=/\s*!important$/;function mt(t,e,n){if(it(n))n.forEach(r=>mt(t,e,r));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const r=Pn(t,e);Bt.test(n)?t.setProperty(Se(r),n.replace(Bt,""),"important"):t[r]=n}}const Ht=["Webkit","Moz","ms"],ut={};function Pn(t,e){const n=ut[e];if(n)return n;let r=hn(e);if(r!=="filter"&&r in t)return ut[e]=r;r=gn(r);for(let o=0;oft||(zn.then(()=>ft=0),ft=Date.now());function Hn(t,e){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;yn(Un(r,n.value),e,5,[r])};return n.value=t,n.attached=Bn(),n}function Un(t,e){if(it(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(r=>o=>!o._stopped&&r&&r(o))}else return e}const Kt=/^on[a-z]/,qn=(t,e,n,r,o=!1,s,i,c,l)=>{e==="class"?Mn(t,r,o):e==="style"?jn(t,n,r):dn(e)?pn(e)||Dn(t,e,n,r,i):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Kn(t,e,r,o))?On(t,e,r,s,i,c,l):(e==="true-value"?t._trueValue=r:e==="false-value"&&(t._falseValue=r),Ln(t,e,r,o))};function Kn(t,e,n,r){return r?!!(e==="innerHTML"||e==="textContent"||e in t&&Kt.test(e)&&we(n)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA"||Kt.test(e)&&rt(n)?!1:e in t}const $="transition",q="animation",Ce=(t,{slots:e})=>G(ve,Vn(t),e);Ce.displayName="Transition";const _e={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Ce.props=At({},ve.props,_e);const O=(t,e=[])=>{it(t)?t.forEach(n=>n(...e)):t&&t(...e)},Vt=t=>t?it(t)?t.some(e=>e.length>1):t.length>1:!1;function Vn(t){const e={};for(const g in t)g in _e||(e[g]=t[g]);if(t.css===!1)return e;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:f=i,appearToClass:u=c,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=t,m=Qn(o),a=m&&m[0],p=m&&m[1],{onBeforeEnter:x,onEnter:w,onEnterCancelled:b,onLeave:j,onLeaveCancelled:A,onBeforeAppear:v=x,onAppear:I=w,onAppearCancelled:P=b}=e,E=(g,C,L)=>{F(g,C?u:c),F(g,C?f:i),L&&L()},T=(g,C)=>{g._isLeaving=!1,F(g,d),F(g,y),F(g,h),C&&C()},Nt=g=>(C,L)=>{const Dt=g?I:w,Rt=()=>E(C,g,L);O(Dt,[C,Rt]),Qt(()=>{F(C,g?l:s),M(C,g?u:c),Vt(Dt)||Wt(C,r,a,Rt)})};return At(e,{onBeforeEnter(g){O(x,[g]),M(g,s),M(g,i)},onBeforeAppear(g){O(v,[g]),M(g,l),M(g,f)},onEnter:Nt(!1),onAppear:Nt(!0),onLeave(g,C){g._isLeaving=!0;const L=()=>T(g,C);M(g,d),Jn(),M(g,h),Qt(()=>{g._isLeaving&&(F(g,d),M(g,y),Vt(j)||Wt(g,r,p,L))}),O(j,[g,L])},onEnterCancelled(g){E(g,!1),O(b,[g])},onAppearCancelled(g){E(g,!0),O(P,[g])},onLeaveCancelled(g){T(g),O(A,[g])}})}function Qn(t){if(t==null)return null;if(an(t))return[dt(t.enter),dt(t.leave)];{const e=dt(t);return[e,e]}}function dt(t){return ln(t)}function M(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t._vtc||(t._vtc=new Set)).add(e)}function F(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.remove(r));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Qt(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let Wn=0;function Wt(t,e,n,r){const o=t._endId=++Wn,s=()=>{o===t._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:c,propCount:l}=Gn(t,e);if(!i)return r();const f=i+"end";let u=0;const d=()=>{t.removeEventListener(f,h),s()},h=y=>{y.target===t&&++u>=l&&d()};setTimeout(()=>{u(n[m]||"").split(", "),o=r(`${$}Delay`),s=r(`${$}Duration`),i=Gt(o,s),c=r(`${q}Delay`),l=r(`${q}Duration`),f=Gt(c,l);let u=null,d=0,h=0;e===$?i>0&&(u=$,d=i,h=s.length):e===q?f>0&&(u=q,d=f,h=l.length):(d=Math.max(i,f),u=d>0?i>f?$:q:null,h=u?u===$?s.length:l.length:0);const y=u===$&&/\b(transform|all)(,|$)/.test(r(`${$}Property`).toString());return{type:u,timeout:d,propCount:h,hasTransform:y}}function Gt(t,e){for(;t.lengthJt(n)+Jt(t[r])))}function Jt(t){return Number(t.slice(0,-1).replace(",","."))*1e3}function Jn(){return document.body.offsetHeight}const Xn=["ctrl","shift","alt","meta"],kn={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>Xn.some(n=>t[`${n}Key`]&&!e.includes(n))},Pr=(t,e)=>(n,...r)=>{for(let o=0;o{K(t,!1)}):K(t,e))},beforeUnmount(t,{value:e}){K(t,e)}};function K(t,e){t.style.display=e?t._vod:"none"}const Te=At({patchProp:qn},$n);let Q,Xt=!1;function Zn(){return Q||(Q=un(Te))}function to(){return Q=Xt?Q:fn(Te),Xt=!0,Q}const Lr=(...t)=>{const e=Zn().createApp(...t),{mount:n}=e;return e.mount=r=>{const o=Ae(r);if(!o)return;const s=e._component;!we(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.innerHTML="";const i=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},e},Or=(...t)=>{const e=to().createApp(...t),{mount:n}=e;return e.mount=r=>{const o=Ae(r);if(o)return n(o,!0,o instanceof SVGElement)},e};function Ae(t){return rt(t)?document.querySelector(t):t}const eo=["p","h1","h2","h3","h4","h5","h6","li"];function yt(t,e){return t.type===e||typeof t.type=="object"&&t.type.tag===e||t.tag===e}function Ee(t){return yt(t,"text")||typeof t.children=="string"}function $e(t){return Array.isArray(t.children)||typeof t.children=="string"?t.children:typeof t.children.default=="function"?t.children.default():[]}function bt(t){if(!t)return"";if(Array.isArray(t))return t.map(bt).join("");if(Ee(t))return t.children||t.value;const e=$e(t);return Array.isArray(e)?e.map(bt).join(""):""}function Et(t,e=["p"]){if(Array.isArray(t))return t.flatMap(r=>Et(r,e));let n=t;return e.some(r=>r==="*"||yt(t,r))&&(n=$e(t)||t,!Array.isArray(n)&&eo.some(r=>yt(t,r))&&(n=[n])),n}function Me(t,e=["p"]){return t=Array.isArray(t)?t:[t],e.length?t.flatMap(n=>Me(Et(n,[e[0]]),e.slice(1))).filter(n=>!(Ee(n)&&bt(n).trim()==="")):t}const Fr=t=>en(t,me().public.content.api.baseURL),Nr=()=>({unwrap:Et,flatUnwrap:Me}),Dr=()=>{const{experimental:t}=me().content;if(t.clientDB)return!0;const e=ye().query;return Object.prototype.hasOwnProperty.call(e,"preview")&&!e.preview?!1:!!(e.preview||rn("previewToken").value)},je=Object.freeze({left:0,top:0,width:16,height:16}),Pe=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),$t=Object.freeze({...je,...Pe});Object.freeze({...$t,body:"",hidden:!1});({...je});const Le=Object.freeze({width:null,height:null}),Oe=Object.freeze({...Le,...Pe});function no(t,e){const n={...t};for(const r in e){const o=e[r],s=typeof o;r in Le?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const oo=/[\s,]+/;function ro(t,e){e.split(oo).forEach(n=>{switch(n.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}function so(t,e=0){const n=t.replace(/^-?[0-9.]*/,"");function r(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(t);return isNaN(o)?0:r(o)}else if(n!==t){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let s=parseFloat(t.slice(0,t.length-n.length));return isNaN(s)?0:(s=s/o,s%1===0?r(s):0)}}return e}const io=/(-?[0-9.]*[0-9]+[0-9.]*)/g,co=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function kt(t,e,n){if(e===1)return t;if(n=n||100,typeof t=="number")return Math.ceil(t*e*n)/n;if(typeof t!="string")return t;const r=t.split(io);if(r===null||!r.length)return t;const o=[];let s=r.shift(),i=co.test(s);for(;;){if(i){const c=parseFloat(s);isNaN(c)?o.push(s):o.push(Math.ceil(c*e*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}const ao=t=>t==="unset"||t==="undefined"||t==="none";function lo(t,e){const n={...$t,...t},r={...Oe,...e},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(m=>{const a=[],p=m.hFlip,x=m.vFlip;let w=m.rotate;p?x?w+=2:(a.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),a.push("scale(-1 1)"),o.top=o.left=0):x&&(a.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),a.push("scale(1 -1)"),o.top=o.left=0);let b;switch(w<0&&(w-=Math.floor(w/4)*4),w=w%4,w){case 1:b=o.height/2+o.top,a.unshift("rotate(90 "+b.toString()+" "+b.toString()+")");break;case 2:a.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:b=o.width/2+o.left,a.unshift("rotate(-90 "+b.toString()+" "+b.toString()+")");break}w%2===1&&(o.left!==o.top&&(b=o.left,o.left=o.top,o.top=b),o.width!==o.height&&(b=o.width,o.width=o.height,o.height=b)),a.length&&(s=''+s+"")});const i=r.width,c=r.height,l=o.width,f=o.height;let u,d;i===null?(d=c===null?"1em":c==="auto"?f:c,u=kt(d,l/f)):(u=i==="auto"?l:i,d=c===null?kt(u,f/l):c==="auto"?f:c);const h={},y=(m,a)=>{ao(a)||(h[m]=a.toString())};return y("width",u),y("height",d),h.viewBox=o.left.toString()+" "+o.top.toString()+" "+l.toString()+" "+f.toString(),{attributes:h,body:s}}const uo=/\sid="(\S+)"/g,fo="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let po=0;function ho(t,e=fo){const n=[];let r;for(;r=uo.exec(t);)n.push(r[1]);if(!n.length)return t;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(s=>{const i=typeof e=="function"?e(s):e+(po++).toString(),c=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+c+')([")]|\\.[a-z])',"g"),"$1"+i+o+"$3")}),t=t.replace(new RegExp(o,"g"),""),t}function go(t,e){let n=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in e)n+=" "+r+'="'+e[r]+'"';return'"+t+""}function mo(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function yo(t){return'url("data:image/svg+xml,'+mo(t)+'")'}const Yt={...Oe,inline:!1},bo={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},vo={display:"inline-block"},vt={backgroundColor:"currentColor"},Fe={backgroundColor:"transparent"},Zt={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},te={webkitMask:vt,mask:vt,background:Fe};for(const t in te){const e=te[t];for(const n in Zt)e[t+n]=Zt[n]}const tt={};["horizontal","vertical"].forEach(t=>{const e=t.slice(0,1)+"Flip";tt[t+"-flip"]=e,tt[t.slice(0,1)+"-flip"]=e,tt[t+"Flip"]=e});function ee(t){return t+(t.match(/^[-0-9.]+$/)?"px":"")}const wo=(t,e)=>{const n=no(Yt,e),r={...bo},o=e.mode||"svg",s={},i=e.style,c=typeof i=="object"&&!(i instanceof Array)?i:{};for(let a in e){const p=e[a];if(p!==void 0)switch(a){case"icon":case"style":case"onLoad":case"mode":break;case"inline":case"hFlip":case"vFlip":n[a]=p===!0||p==="true"||p===1;break;case"flip":typeof p=="string"&&ro(n,p);break;case"color":s.color=p;break;case"rotate":typeof p=="string"?n[a]=so(p):typeof p=="number"&&(n[a]=p);break;case"ariaHidden":case"aria-hidden":p!==!0&&p!=="true"&&delete r["aria-hidden"];break;default:{const x=tt[a];x?(p===!0||p==="true"||p===1)&&(n[x]=!0):Yt[a]===void 0&&(r[a]=p)}}}const l=lo(t,n),f=l.attributes;if(n.inline&&(s.verticalAlign="-0.125em"),o==="svg"){r.style={...s,...c},Object.assign(r,f);let a=0,p=e.id;return typeof p=="string"&&(p=p.replace(/-/g,"_")),r.innerHTML=ho(l.body,p?()=>p+"ID"+a++:"iconifyVue"),G("svg",r)}const{body:u,width:d,height:h}=t,y=o==="mask"||(o==="bg"?!1:u.indexOf("currentColor")!==-1),m=go(u,{...f,width:d+"",height:h+""});return r.style={...s,"--svg":yo(m),width:ee(f.width),height:ee(f.height),...vo,...y?vt:Fe,...c},G("span",r)},So=Object.create(null),xo=ct({inheritAttrs:!1,render(){const t=this.$attrs,e=t.icon,n=typeof e=="string"?So[e]:typeof e=="object"?e:null;return n===null||typeof n!="object"||typeof n.body!="string"?this.$slots.default?this.$slots.default():null:wo({...$t,...n},t)}}),W=/^[a-z0-9]+(-[a-z0-9]+)*$/,k=(t,e,n,r="")=>{const o=t.split(":");if(t.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;r=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const c=o.pop(),l=o.pop(),f={provider:o.length>0?o[0]:r,prefix:l,name:c};return e&&!et(f)?null:f}const s=o[0],i=s.split("-");if(i.length>1){const c={provider:r,prefix:i.shift(),name:i.join("-")};return e&&!et(c)?null:c}if(n&&r===""){const c={provider:r,prefix:"",name:s};return e&&!et(c,n)?null:c}return null},et=(t,e)=>t?!!((t.provider===""||t.provider.match(W))&&(e&&t.prefix===""||t.prefix.match(W))&&t.name.match(W)):!1,Ne=Object.freeze({left:0,top:0,width:16,height:16}),st=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Y=Object.freeze({...Ne,...st}),wt=Object.freeze({...Y,body:"",hidden:!1});function Io(t,e){const n={};!t.hFlip!=!e.hFlip&&(n.hFlip=!0),!t.vFlip!=!e.vFlip&&(n.vFlip=!0);const r=((t.rotate||0)+(e.rotate||0))%4;return r&&(n.rotate=r),n}function ne(t,e){const n=Io(t,e);for(const r in wt)r in st?r in t&&!(r in n)&&(n[r]=st[r]):r in e?n[r]=e[r]:r in t&&(n[r]=t[r]);return n}function Co(t,e){const n=t.icons,r=t.aliases||Object.create(null),o=Object.create(null);function s(i){if(n[i])return o[i]=[];if(!(i in o)){o[i]=null;const c=r[i]&&r[i].parent,l=c&&s(c);l&&(o[i]=[c].concat(l))}return o[i]}return(e||Object.keys(n).concat(Object.keys(r))).forEach(s),o}function _o(t,e,n){const r=t.icons,o=t.aliases||Object.create(null);let s={};function i(c){s=ne(r[c]||o[c],s)}return i(e),n.forEach(i),ne(t,s)}function De(t,e){const n=[];if(typeof t!="object"||typeof t.icons!="object")return n;t.not_found instanceof Array&&t.not_found.forEach(o=>{e(o,null),n.push(o)});const r=Co(t);for(const o in r){const s=r[o];s&&(e(o,_o(t,o,s)),n.push(o))}return n}const To={provider:"",aliases:{},not_found:{},...Ne};function pt(t,e){for(const n in e)if(n in t&&typeof t[n]!=typeof e[n])return!1;return!0}function Re(t){if(typeof t!="object"||t===null)return null;const e=t;if(typeof e.prefix!="string"||!t.icons||typeof t.icons!="object"||!pt(t,To))return null;const n=e.icons;for(const o in n){const s=n[o];if(!o.match(W)||typeof s.body!="string"||!pt(s,wt))return null}const r=e.aliases||Object.create(null);for(const o in r){const s=r[o],i=s.parent;if(!o.match(W)||typeof i!="string"||!n[i]&&!r[i]||!pt(s,wt))return null}return e}const oe=Object.create(null);function Ao(t,e){return{provider:t,prefix:e,icons:Object.create(null),missing:new Set}}function D(t,e){const n=oe[t]||(oe[t]=Object.create(null));return n[e]||(n[e]=Ao(t,e))}function Mt(t,e){return Re(e)?De(e,(n,r)=>{r?t.icons[n]=r:t.missing.add(n)}):[]}function Eo(t,e,n){try{if(typeof n.body=="string")return t.icons[e]={...n},!0}catch{}return!1}let J=!1;function ze(t){return typeof t=="boolean"&&(J=t),J}function Be(t){const e=typeof t=="string"?k(t,!0,J):t;if(e){const n=D(e.provider,e.prefix),r=e.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function $o(t,e){const n=k(t,!0,J);if(!n)return!1;const r=D(n.provider,n.prefix);return Eo(r,n.name,e)}function Mo(t,e){if(typeof t!="object")return!1;if(typeof e!="string"&&(e=t.provider||""),J&&!e&&!t.prefix){let o=!1;return Re(t)&&(t.prefix="",De(t,(s,i)=>{i&&$o(s,i)&&(o=!0)})),o}const n=t.prefix;if(!et({provider:e,prefix:n,name:"a"}))return!1;const r=D(e,n);return!!Mt(r,t)}const He=Object.freeze({width:null,height:null}),Ue=Object.freeze({...He,...st}),jo=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Po=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function re(t,e,n){if(e===1)return t;if(n=n||100,typeof t=="number")return Math.ceil(t*e*n)/n;if(typeof t!="string")return t;const r=t.split(jo);if(r===null||!r.length)return t;const o=[];let s=r.shift(),i=Po.test(s);for(;;){if(i){const c=parseFloat(s);isNaN(c)?o.push(s):o.push(Math.ceil(c*e*n)/n)}else o.push(s);if(s=r.shift(),s===void 0)return o.join("");i=!i}}const Lo=t=>t==="unset"||t==="undefined"||t==="none";function Oo(t,e){const n={...Y,...t},r={...Ue,...e},o={left:n.left,top:n.top,width:n.width,height:n.height};let s=n.body;[n,r].forEach(m=>{const a=[],p=m.hFlip,x=m.vFlip;let w=m.rotate;p?x?w+=2:(a.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),a.push("scale(-1 1)"),o.top=o.left=0):x&&(a.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),a.push("scale(1 -1)"),o.top=o.left=0);let b;switch(w<0&&(w-=Math.floor(w/4)*4),w=w%4,w){case 1:b=o.height/2+o.top,a.unshift("rotate(90 "+b.toString()+" "+b.toString()+")");break;case 2:a.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:b=o.width/2+o.left,a.unshift("rotate(-90 "+b.toString()+" "+b.toString()+")");break}w%2===1&&(o.left!==o.top&&(b=o.left,o.left=o.top,o.top=b),o.width!==o.height&&(b=o.width,o.width=o.height,o.height=b)),a.length&&(s=''+s+"")});const i=r.width,c=r.height,l=o.width,f=o.height;let u,d;i===null?(d=c===null?"1em":c==="auto"?f:c,u=re(d,l/f)):(u=i==="auto"?l:i,d=c===null?re(u,f/l):c==="auto"?f:c);const h={},y=(m,a)=>{Lo(a)||(h[m]=a.toString())};return y("width",u),y("height",d),h.viewBox=o.left.toString()+" "+o.top.toString()+" "+l.toString()+" "+f.toString(),{attributes:h,body:s}}const Fo=/\sid="(\S+)"/g,No="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Do=0;function Ro(t,e=No){const n=[];let r;for(;r=Fo.exec(t);)n.push(r[1]);if(!n.length)return t;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(s=>{const i=typeof e=="function"?e(s):e+(Do++).toString(),c=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+c+')([")]|\\.[a-z])',"g"),"$1"+i+o+"$3")}),t=t.replace(new RegExp(o,"g"),""),t}const St=Object.create(null);function zo(t,e){St[t]=e}function xt(t){return St[t]||St[""]}function jt(t){let e;if(typeof t.resources=="string")e=[t.resources];else if(e=t.resources,!(e instanceof Array)||!e.length)return null;return{resources:e,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}const Pt=Object.create(null),V=["https://api.simplesvg.com","https://api.unisvg.com"],nt=[];for(;V.length>0;)V.length===1||Math.random()>.5?nt.push(V.shift()):nt.push(V.pop());Pt[""]=jt({resources:["https://api.iconify.design"].concat(nt)});function Bo(t,e){const n=jt(e);return n===null?!1:(Pt[t]=n,!0)}function Lt(t){return Pt[t]}const Ho=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}};let se=Ho();function Uo(t,e){const n=Lt(t);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let o=0;n.resources.forEach(i=>{o=Math.max(o,i.length)});const s=e+".json?icons=";r=n.maxURL-o-n.path.length-s.length}return r}function qo(t){return t===404}const Ko=(t,e,n)=>{const r=[],o=Uo(t,e),s="icons";let i={type:s,provider:t,prefix:e,icons:[]},c=0;return n.forEach((l,f)=>{c+=l.length+1,c>=o&&f>0&&(r.push(i),i={type:s,provider:t,prefix:e,icons:[]},c=l.length),i.icons.push(l)}),r.push(i),r};function Vo(t){if(typeof t=="string"){const e=Lt(t);if(e)return e.path}return"/"}const Qo=(t,e,n)=>{if(!se){n("abort",424);return}let r=Vo(e.provider);switch(e.type){case"icons":{const s=e.prefix,c=e.icons.join(","),l=new URLSearchParams({icons:c});r+=s+".json?"+l.toString();break}case"custom":{const s=e.uri;r+=s.slice(0,1)==="/"?s.slice(1):s;break}default:n("abort",400);return}let o=503;se(t+r).then(s=>{const i=s.status;if(i!==200){setTimeout(()=>{n(qo(i)?"abort":"next",i)});return}return o=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?n("abort",s):n("next",o)});return}setTimeout(()=>{n("success",s)})}).catch(()=>{n("next",o)})},Wo={prepare:Ko,send:Qo};function Go(t){const e={loaded:[],missing:[],pending:[]},n=Object.create(null);t.sort((o,s)=>o.provider!==s.provider?o.provider.localeCompare(s.provider):o.prefix!==s.prefix?o.prefix.localeCompare(s.prefix):o.name.localeCompare(s.name));let r={provider:"",prefix:"",name:""};return t.forEach(o=>{if(r.name===o.name&&r.prefix===o.prefix&&r.provider===o.provider)return;r=o;const s=o.provider,i=o.prefix,c=o.name,l=n[s]||(n[s]=Object.create(null)),f=l[i]||(l[i]=D(s,i));let u;c in f.icons?u=e.loaded:i===""||f.missing.has(c)?u=e.missing:u=e.pending;const d={provider:s,prefix:i,name:c};u.push(d)}),e}function qe(t,e){t.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==e))})}function Jo(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;const e=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!e.length)return;let n=!1;const r=t.provider,o=t.prefix;e.forEach(s=>{const i=s.icons,c=i.pending.length;i.pending=i.pending.filter(l=>{if(l.prefix!==o)return!0;const f=l.name;if(t.icons[f])i.loaded.push({provider:r,prefix:o,name:f});else if(t.missing.has(f))i.missing.push({provider:r,prefix:o,name:f});else return n=!0,!0;return!1}),i.pending.length!==c&&(n||qe([t],s.id),s.callback(i.loaded.slice(0),i.missing.slice(0),i.pending.slice(0),s.abort))})}))}let Xo=0;function ko(t,e,n){const r=Xo++,o=qe.bind(null,n,r);if(!e.pending.length)return o;const s={id:r,icons:e,callback:t,abort:o};return n.forEach(i=>{(i.loaderCallbacks||(i.loaderCallbacks=[])).push(s)}),o}function Yo(t,e=!0,n=!1){const r=[];return t.forEach(o=>{const s=typeof o=="string"?k(o,e,n):o;s&&r.push(s)}),r}var Zo={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function tr(t,e,n,r){const o=t.resources.length,s=t.random?Math.floor(Math.random()*o):t.index;let i;if(t.random){let v=t.resources.slice(0);for(i=[];v.length>1;){const I=Math.floor(Math.random()*v.length);i.push(v[I]),v=v.slice(0,I).concat(v.slice(I+1))}i=i.concat(v)}else i=t.resources.slice(s).concat(t.resources.slice(0,s));const c=Date.now();let l="pending",f=0,u,d=null,h=[],y=[];typeof r=="function"&&y.push(r);function m(){d&&(clearTimeout(d),d=null)}function a(){l==="pending"&&(l="aborted"),m(),h.forEach(v=>{v.status==="pending"&&(v.status="aborted")}),h=[]}function p(v,I){I&&(y=[]),typeof v=="function"&&y.push(v)}function x(){return{startTime:c,payload:e,status:l,queriesSent:f,queriesPending:h.length,subscribe:p,abort:a}}function w(){l="failed",y.forEach(v=>{v(void 0,u)})}function b(){h.forEach(v=>{v.status==="pending"&&(v.status="aborted")}),h=[]}function j(v,I,P){const E=I!=="success";switch(h=h.filter(T=>T!==v),l){case"pending":break;case"failed":if(E||!t.dataAfterTimeout)return;break;default:return}if(I==="abort"){u=P,w();return}if(E){u=P,h.length||(i.length?A():w());return}if(m(),b(),!t.random){const T=t.resources.indexOf(v.resource);T!==-1&&T!==t.index&&(t.index=T)}l="completed",y.forEach(T=>{T(P)})}function A(){if(l!=="pending")return;m();const v=i.shift();if(v===void 0){if(h.length){d=setTimeout(()=>{m(),l==="pending"&&(b(),w())},t.timeout);return}w();return}const I={status:"pending",resource:v,callback:(P,E)=>{j(I,P,E)}};h.push(I),f++,d=setTimeout(A,t.rotate),n(v,e,I.callback)}return setTimeout(A),x}function Ke(t){const e={...Zo,...t};let n=[];function r(){n=n.filter(c=>c().status==="pending")}function o(c,l,f){const u=tr(e,c,l,(d,h)=>{r(),f&&f(d,h)});return n.push(u),u}function s(c){return n.find(l=>c(l))||null}return{query:o,find:s,setIndex:c=>{e.index=c},getIndex:()=>e.index,cleanup:r}}function ie(){}const ht=Object.create(null);function er(t){if(!ht[t]){const e=Lt(t);if(!e)return;const n=Ke(e),r={config:e,redundancy:n};ht[t]=r}return ht[t]}function nr(t,e,n){let r,o;if(typeof t=="string"){const s=xt(t);if(!s)return n(void 0,424),ie;o=s.send;const i=er(t);i&&(r=i.redundancy)}else{const s=jt(t);if(s){r=Ke(s);const i=t.resources?t.resources[0]:"",c=xt(i);c&&(o=c.send)}}return!r||!o?(n(void 0,424),ie):r.query(e,o,n)().abort}const ce="iconify2",X="iconify",Ve=X+"-count",ae=X+"-version",Qe=36e5,or=168;function It(t,e){try{return t.getItem(e)}catch{}}function Ot(t,e,n){try{return t.setItem(e,n),!0}catch{}}function le(t,e){try{t.removeItem(e)}catch{}}function Ct(t,e){return Ot(t,Ve,e.toString())}function _t(t){return parseInt(It(t,Ve))||0}const at={local:!0,session:!0},We={local:new Set,session:new Set};let Ft=!1;function rr(t){Ft=t}let Z=typeof window>"u"?{}:window;function Ge(t){const e=t+"Storage";try{if(Z&&Z[e]&&typeof Z[e].length=="number")return Z[e]}catch{}at[t]=!1}function Je(t,e){const n=Ge(t);if(!n)return;const r=It(n,ae);if(r!==ce){if(r){const c=_t(n);for(let l=0;l{const l=X+c.toString(),f=It(n,l);if(typeof f=="string"){try{const u=JSON.parse(f);if(typeof u=="object"&&typeof u.cached=="number"&&u.cached>o&&typeof u.provider=="string"&&typeof u.data=="object"&&typeof u.data.prefix=="string"&&e(u,c))return!0}catch{}le(n,l)}};let i=_t(n);for(let c=i-1;c>=0;c--)s(c)||(c===i-1?(i--,Ct(n,i)):We[t].add(c))}function Xe(){if(!Ft){rr(!0);for(const t in at)Je(t,e=>{const n=e.data,r=e.provider,o=n.prefix,s=D(r,o);if(!Mt(s,n).length)return!1;const i=n.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,i):i,!0})}}function sr(t,e){const n=t.lastModifiedCached;if(n&&n>=e)return n===e;if(t.lastModifiedCached=e,n)for(const r in at)Je(r,o=>{const s=o.data;return o.provider!==t.provider||s.prefix!==t.prefix||s.lastModified===e});return!0}function ir(t,e){Ft||Xe();function n(r){let o;if(!at[r]||!(o=Ge(r)))return;const s=We[r];let i;if(s.size)s.delete(i=Array.from(s).shift());else if(i=_t(o),!Ct(o,i+1))return;const c={cached:Math.floor(Date.now()/Qe),provider:t.provider,data:e};return Ot(o,X+i.toString(),JSON.stringify(c))}e.lastModified&&!sr(t,e.lastModified)||Object.keys(e.icons).length&&(e.not_found&&(e=Object.assign({},e),delete e.not_found),n("local")||n("session"))}function ue(){}function cr(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,Jo(t)}))}function ar(t,e){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(e).sort():t.iconsToLoad=e,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;const{provider:n,prefix:r}=t,o=t.iconsToLoad;delete t.iconsToLoad;let s;if(!o||!(s=xt(n)))return;s.prepare(n,r,o).forEach(c=>{nr(n,c,l=>{if(typeof l!="object")c.icons.forEach(f=>{t.missing.add(f)});else try{const f=Mt(t,l);if(!f.length)return;const u=t.pendingIcons;u&&f.forEach(d=>{u.delete(d)}),ir(t,l)}catch(f){console.error(f)}cr(t)})})}))}const ke=(t,e)=>{const n=Yo(t,!0,ze()),r=Go(n);if(!r.pending.length){let l=!0;return e&&setTimeout(()=>{l&&e(r.loaded,r.missing,r.pending,ue)}),()=>{l=!1}}const o=Object.create(null),s=[];let i,c;return r.pending.forEach(l=>{const{provider:f,prefix:u}=l;if(u===c&&f===i)return;i=f,c=u,s.push(D(f,u));const d=o[f]||(o[f]=Object.create(null));d[u]||(d[u]=[])}),r.pending.forEach(l=>{const{provider:f,prefix:u,name:d}=l,h=D(f,u),y=h.pendingIcons||(h.pendingIcons=new Set);y.has(d)||(y.add(d),o[f][u].push(d))}),s.forEach(l=>{const{provider:f,prefix:u}=l;o[f][u].length&&ar(l,o[f][u])}),e?ko(e,r,s):ue},lr=t=>new Promise((e,n)=>{const r=typeof t=="string"?k(t,!0):t;if(!r){n(t);return}ke([r||t],o=>{if(o.length&&r){const s=Be(r);if(s){e({...Y,...s});return}}n(t)})});function ur(t,e){const n={...t};for(const r in e){const o=e[r],s=typeof o;r in He?(o===null||o&&(s==="string"||s==="number"))&&(n[r]=o):s===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const fr=/[\s,]+/;function dr(t,e){e.split(fr).forEach(n=>{switch(n.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}function pr(t,e=0){const n=t.replace(/^-?[0-9.]*/,"");function r(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(t);return isNaN(o)?0:r(o)}else if(n!==t){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let s=parseFloat(t.slice(0,t.length-n.length));return isNaN(s)?0:(s=s/o,s%1===0?r(s):0)}}return e}function hr(t,e){let n=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in e)n+=" "+r+'="'+e[r]+'"';return'"+t+""}function gr(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function mr(t){return'url("data:image/svg+xml,'+gr(t)+'")'}const fe={...Ue,inline:!1},yr={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},br={display:"inline-block"},Tt={backgroundColor:"currentColor"},Ye={backgroundColor:"transparent"},de={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},pe={webkitMask:Tt,mask:Tt,background:Ye};for(const t in pe){const e=pe[t];for(const n in de)e[t+n]=de[n]}const ot={};["horizontal","vertical"].forEach(t=>{const e=t.slice(0,1)+"Flip";ot[t+"-flip"]=e,ot[t.slice(0,1)+"-flip"]=e,ot[t+"Flip"]=e});function he(t){return t+(t.match(/^[-0-9.]+$/)?"px":"")}const ge=(t,e)=>{const n=ur(fe,e),r={...yr},o=e.mode||"svg",s={},i=e.style,c=typeof i=="object"&&!(i instanceof Array)?i:{};for(let a in e){const p=e[a];if(p!==void 0)switch(a){case"icon":case"style":case"onLoad":case"mode":break;case"inline":case"hFlip":case"vFlip":n[a]=p===!0||p==="true"||p===1;break;case"flip":typeof p=="string"&&dr(n,p);break;case"color":s.color=p;break;case"rotate":typeof p=="string"?n[a]=pr(p):typeof p=="number"&&(n[a]=p);break;case"ariaHidden":case"aria-hidden":p!==!0&&p!=="true"&&delete r["aria-hidden"];break;default:{const x=ot[a];x?(p===!0||p==="true"||p===1)&&(n[x]=!0):fe[a]===void 0&&(r[a]=p)}}}const l=Oo(t,n),f=l.attributes;if(n.inline&&(s.verticalAlign="-0.125em"),o==="svg"){r.style={...s,...c},Object.assign(r,f);let a=0,p=e.id;return typeof p=="string"&&(p=p.replace(/-/g,"_")),r.innerHTML=Ro(l.body,p?()=>p+"ID"+a++:"iconifyVue"),G("svg",r)}const{body:u,width:d,height:h}=t,y=o==="mask"||(o==="bg"?!1:u.indexOf("currentColor")!==-1),m=hr(u,{...f,width:d+"",height:h+""});return r.style={...s,"--svg":mr(m),width:he(f.width),height:he(f.height),...br,...y?Tt:Ye,...c},G("span",r)};ze(!0);zo("",Wo);if(typeof document<"u"&&typeof window<"u"){Xe();const t=window;if(t.IconifyPreload!==void 0){const e=t.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof e=="object"&&e!==null&&(e instanceof Array?e:[e]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!Mo(r))&&console.error(n)}catch{console.error(n)}})}if(t.IconifyProviders!==void 0){const e=t.IconifyProviders;if(typeof e=="object"&&e!==null)for(let n in e){const r="IconifyProviders["+n+"] is invalid.";try{const o=e[n];if(typeof o!="object"||!o||o.resources===void 0)continue;Bo(n,o)||console.error(r)}catch{console.error(r)}}}}const vr={...Y,body:""};ct({inheritAttrs:!1,data(){return{iconMounted:!1,counter:0}},mounted(){this._name="",this._loadingIcon=null,this.iconMounted=!0},unmounted(){this.abortLoading()},methods:{abortLoading(){this._loadingIcon&&(this._loadingIcon.abort(),this._loadingIcon=null)},getIcon(t,e){if(typeof t=="object"&&t!==null&&typeof t.body=="string")return this._name="",this.abortLoading(),{data:t};let n;if(typeof t!="string"||(n=k(t,!1,!0))===null)return this.abortLoading(),null;const r=Be(n);if(!r)return(!this._loadingIcon||this._loadingIcon.name!==t)&&(this.abortLoading(),this._name="",r!==null&&(this._loadingIcon={name:t,abort:ke([n],()=>{this.counter++})})),null;this.abortLoading(),this._name!==t&&(this._name=t,e&&e(t));const o=["iconify"];return n.prefix!==""&&o.push("iconify--"+n.prefix),n.provider!==""&&o.push("iconify--"+n.provider),{data:r,classes:o}}},render(){this.counter;const t=this.$attrs,e=this.iconMounted?this.getIcon(t.icon,t.onLoad):null;if(!e)return ge(vr,t);let n=t;return e.classes&&(n={...t,class:(typeof t.class=="string"?t.class+" ":"")+e.classes.join(" ")}),ge({...Y,...e.data},n)}});const wr=["width","height"],Sr=ct({__name:"Icon",props:{name:{type:String,required:!0},size:{type:String,default:""}},async setup(t){var m;let e,n;const r=t,o=nn(),s=sn();(m=s==null?void 0:s.nuxtIcon)!=null&&m.aliases;const i=be("icons",()=>({})),c=bn(!1),l=R(()=>{var a;return(((a=s==null?void 0:s.nuxtIcon)==null?void 0:a.aliases)||{})[r.name]||r.name}),f=R(()=>{var a;return(a=i.value)==null?void 0:a[l.value]}),u=R(()=>o.vueApp.component(l.value)),d=R(()=>{var p;const a=r.size||((p=s.nuxtIcon)==null?void 0:p.size)||"1em";return String(Number(a))===a?`${a}px`:a}),h=R(()=>{var a;return((a=s==null?void 0:s.nuxtIcon)==null?void 0:a.class)??"icon"});async function y(){var a;u.value||(a=i.value)!=null&&a[l.value]||(c.value=!0,i.value[l.value]=await lr(l.value).catch(()=>{}),c.value=!1)}return vn(()=>l.value,y),!u.value&&([e,n]=wn(()=>y()),e=await e,n()),(a,p)=>S(c)?(_(),z("span",{key:0,class:B(S(h)),width:S(d),height:S(d)},null,10,wr)):S(f)?(_(),H(S(xo),{key:1,icon:S(f),class:B(S(h)),width:S(d),height:S(d)},null,8,["icon","class","width","height"])):S(u)?(_(),H(Sn(S(u)),{key:2,class:B(S(h)),width:S(d),height:S(d)},null,8,["class","width","height"])):(_(),z("span",{key:3,class:B(S(h)),style:xn({fontSize:S(d),lineHeight:S(d),width:S(d),height:S(d)})},gt(t.name),7))}});const Ze=Ie(Sr,[["__scopeId","data-v-28b5b508"]]),Rr=Object.freeze(Object.defineProperty({__proto__:null,default:Ze},Symbol.toStringTag,{value:"Module"})),xr={class:"docs-aside-tree"},Ir=["onClick"],Cr={class:"content"},_r={class:"content"},Tr=ct({__name:"DocsAsideTree",props:{links:{type:Array,default:()=>[]},level:{type:Number,default:0},max:{type:Number,default:null},parent:{type:Object,default:null}},setup(t){var f;const e=t,n=ye(),{config:r}=cn(),o=be(`docus-docs-aside-collapse-map-${((f=e.parent)==null?void 0:f._path)||"/"}`,()=>e.level===0?{}:e.links.filter(u=>!!u.children).reduce((u,d)=>(u[d._path]=!0,u),{})),s=u=>n.path===u._path,i=u=>{var d,h,y,m;if(u.children){if(typeof o.value[u._path]<"u")return o.value[u._path];if((d=u==null?void 0:u.aside)!=null&&d.collapsed)return u.aside.collapsed;if(u!=null&&u.collapsed)return u==null?void 0:u.collapsed;if((y=(h=r==null?void 0:r.value)==null?void 0:h.aside)!=null&&y.collapsed)return(m=r.value.aside)==null?void 0:m.collapsed}return!1},c=u=>o.value[u._path]=!i(u),l=R(()=>e.links.some(u=>u.children));return(u,d)=>{const h=Ze,y=on,m=tn;return _(),z("ul",xr,[(_(!0),z(In,null,Cn(t.links,a=>{var p,x,w,b,j;return _(),z("li",{key:a._path,class:B({"has-parent-icon":(p=t.parent)==null?void 0:p.icon,"has-children":t.level>0&&a.children,bordered:t.level>0||!S(l),active:s(a)})},[a.children?(_(),z("button",{key:0,class:"title-collapsible-button",onClick:A=>c(a)},[U("span",Cr,[(x=a==null?void 0:a.navigation)!=null&&x.icon||a.icon?(_(),H(h,{key:0,name:((w=a==null?void 0:a.navigation)==null?void 0:w.icon)||a.icon,class:"icon"},null,8,["name"])):lt("",!0),U("span",null,gt(((b=a==null?void 0:a.navigation)==null?void 0:b.title)||a.title||a._path),1)]),U("span",null,[_n(h,{name:i(a)?"lucide:chevrons-up-down":"lucide:chevrons-down-up",class:"collapsible-icon"},null,8,["name"])])],8,Ir)):(_(),H(y,{key:1,to:a.redirect?a.redirect:a._path,class:B(["link",{padded:t.level>0||!S(l),active:s(a)}]),exact:a.exact},{default:Tn(()=>{var A,v,I;return[U("span",_r,[(A=a==null?void 0:a.navigation)!=null&&A.icon||a.icon?(_(),H(h,{key:0,name:((v=a==null?void 0:a.navigation)==null?void 0:v.icon)||a.icon,class:"icon"},null,8,["name"])):lt("",!0),U("span",null,gt(((I=a==null?void 0:a.navigation)==null?void 0:I.title)||a.title||a._path),1)])]}),_:2},1032,["to","exact","class"])),(j=a.children)!=null&&j.length&&(t.max===null||t.level+1(b("data-v-c70c0152"),o=o(),v(),o),E={key:0,class:"docs-page-bottom"},V={key:0,class:"edit-link"},w=B(()=>r("span",null," Edit this page on GitHub ",-1)),G={key:1},L=C({__name:"DocsPageBottom",setup(o){const{page:e}=D(),{config:d}=I();return(P,T)=>{var _,p,m;const u=g,f=x,l=k;return t(e)?(s(),n("div",E,[(p=(_=t(d))==null?void 0:_.github)!=null&&p.edit?(s(),n("div",V,[a(u,{name:"uil:edit"}),a(l,{page:t(e)},{default:i(({url:h})=>[a(f,{to:h},{default:i(()=>[w]),_:2},1032,["to"])]),_:1},8,["page"])])):c("",!0),(m=t(e))!=null&&m.mtime?(s(),n("span",G,[N("Updated on "),r("b",null,S(new Intl.DateTimeFormat("en-US").format(Date.parse(t(e).mtime))),1)])):c("",!0)])):c("",!0)}}}),K=y(L,[["__scopeId","data-v-c70c0152"]]);export{K as default}; diff --git a/docs/.output/public/_nuxt/DocsPageLayout.0537ea8c.css b/docs/.output/public/_nuxt/DocsPageLayout.0537ea8c.css deleted file mode 100644 index 5b54452b..00000000 --- a/docs/.output/public/_nuxt/DocsPageLayout.0537ea8c.css +++ /dev/null @@ -1 +0,0 @@ -.docs-page-content[data-v-64504251]{display:flex;flex-direction:column-reverse;position:relative}@media (min-width:1024px){.docs-page-content[data-v-64504251]{display:grid;gap:var(--space-8);grid-template-columns:minmax(250px,250px) minmax(320px,1fr) minmax(250px,250px)}}.aside-nav[data-v-64504251]{display:none;overflow-y:auto}@media (min-width:1024px){.aside-nav[data-v-64504251]{align-self:flex-start;display:block;height:calc(100vh - var(--docus-header-height));padding-bottom:var(--space-8);padding-right:var(--space-8);padding-top:var(--space-8);position:sticky;top:var(--docus-header-height)}.fluid .aside-nav.aside-nav[data-v-64504251]{border-right:1px solid var(--elements-border-primary-static)}}.page-body[data-v-64504251]{display:flex;flex:1 1 0%;flex-direction:column;margin-left:auto;margin-right:auto;max-width:var(--docus-readableLine);padding-bottom:var(--space-8);padding-top:var(--space-8);position:relative;width:100%}.page-body.with-toc[data-v-64504251]{padding-top:var(--space-12)}@media (min-width:1024px){.page-body.with-toc[data-v-64504251]{padding-top:var(--space-8)}.page-body[data-v-64504251]{grid-column-start:2;margin-top:0}}.page-body[data-v-64504251] h1:not(.not-prose):first-child{font-size:var(--text-4xl-fontSize);line-height:var(--text-4xl-lineHeight);margin-top:0}@media (min-width:640px){.page-body[data-v-64504251] h1:not(.not-prose):first-child{font-size:var(--text-5xl-fontSize);line-height:var(--text-5xl-lineHeight)}}.page-body[data-v-64504251] h1:not(.not-prose) first-child+p{border-bottom:1px solid var(--elements-border-primary-static);color:var(--color-gray-500);margin-bottom:var(--space-8);margin-top:0;padding-bottom:var(--space-8)}@media (min-width:640px){.page-body[data-v-64504251] h1:not(.not-prose) first-child+p{font-size:var(--text-lg-fontSize);line-height:var(--text-lg-lineHeight)}}:root.dark .page-body[data-v-64504251] h1:not(.not-prose) first-child+p{color:var(--color-gray-400)}.page-body[data-v-64504251] h1:not(.not-prose) first-child+p a{color:var(--color-gray-700)}:root.dark .page-body[data-v-64504251] h1:not(.not-prose) first-child+p a{color:var(--color-gray-200)}.page-body[data-v-64504251] h1:not(.not-prose) first-child+p a:hover{border-color:var(--color-gray-700)}.page-body .docs-prev-next[data-v-64504251]{margin-top:var(--space-4)}.toc[data-v-64504251]{border-bottom:1px solid var(--elements-border-primary-static);display:flex;margin-left:calc(0px - var(--space-4));margin-right:calc(0px - var(--space-4));overflow:auto;position:sticky;top:var(--docus-header-height)}@media (min-width:640px){.toc[data-v-64504251]{margin-left:calc(0px - var(--space-6));margin-right:calc(0px - var(--space-6))}}@media (min-width:1024px){.toc[data-v-64504251]{align-self:flex-start;border-bottom:none;height:calc(100vh - var(--docus-header-height));margin-left:0;margin-right:0;max-height:none;padding:var(--space-8)}.fluid .toc.toc[data-v-64504251]{border-left:1px solid var(--elements-border-primary-static)}}.toc .toc-wrapper[data-v-64504251]{-webkit-backdrop-filter:var(--elements-backdrop-filter);backdrop-filter:var(--elements-backdrop-filter);background-color:var(--elements-backdrop-background);height:100%;width:100%}@media (min-width:1024px){.toc .toc-wrapper[data-v-64504251]{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}}.toc .toc-wrapper button[data-v-64504251]{align-items:center;display:flex;height:100%;padding:var(--space-4);width:100%}@media (min-width:640px){.toc .toc-wrapper button[data-v-64504251]{padding-left:var(--space-6);padding-right:var(--space-6)}}@media (min-width:1024px){.toc .toc-wrapper button[data-v-64504251]{display:none}}.toc .toc-wrapper button .title[data-v-64504251]{font-size:var(--text-sm-fontSize);font-weight:var(--fontWeight-semibold);line-height:var(--text-sm-lineHeight);margin-right:var(--space-1)}.toc .toc-wrapper button .icon[data-v-64504251]{height:var(--space-4);transition:transform .1s;width:var(--space-4)}.toc .toc-wrapper button .icon.rotate[data-v-64504251]{transform:rotate(90deg)}.toc .toc-wrapper .docs-toc-wrapper[data-v-64504251]{display:none;margin-bottom:var(--space-4)}.toc .toc-wrapper .docs-toc-wrapper.opened[data-v-64504251]{display:block;max-height:50vh;overflow:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width:640px){.toc .toc-wrapper .docs-toc-wrapper.opened[data-v-64504251]{padding-left:var(--space-6);padding-right:var(--space-6)}}@media (min-width:1024px){.toc .toc-wrapper .docs-toc-wrapper.opened[data-v-64504251]{max-height:none;padding-left:0;padding-right:0}.toc .toc-wrapper .docs-toc-wrapper[data-v-64504251]{display:block;margin-top:0}} diff --git a/docs/.output/public/_nuxt/DocsPageLayout.8e541ec6.js b/docs/.output/public/_nuxt/DocsPageLayout.8e541ec6.js deleted file mode 100644 index 9f314834..00000000 --- a/docs/.output/public/_nuxt/DocsPageLayout.8e541ec6.js +++ /dev/null @@ -1 +0,0 @@ -import G from"./DocsAside.44ffd29b.js";import J from"./ProseCodeInline.dca1a534.js";import R from"./Alert.443f6167.js";import U from"./DocsPageBottom.a96d3867.js";import K from"./DocsPrevNext.adb795e8.js";import{_ as Q}from"./DocsAsideTree.08d70919.js";import W from"./DocsToc.03cf2013.js";import{b as X,a as Y}from"./Container.f1017aa2.js";import{d as Z,c as oo,u as to}from"./useDocus.edcbeab5.js";import{l as eo}from"./app.config.4114fca6.js";import{f as no,h as d,r as I,O as so,o as ao,q as i,B as $,C as g,u as e,x,G as r,D as y,E as p,P as ro,L as k,J as co,F as lo,y as f,M as io,N as po}from"./runtime-core.esm-bundler.6894272a.js";/* empty css *//* empty css */import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";import"./ContentSlot.7e1a494f.js";/* empty css */import"./ProseA.c8de8b63.js";/* empty css */import"./EditOnLink.vue.21b8aa9d.js";/* empty css *//* empty css */import"./DocsTocLinks.c11364e4.js";/* empty css *//* empty css */const uo=u=>(io("data-v-64504251"),u=u(),po(),u),_o={key:1,class:"toc"},mo={class:"toc-wrapper"},fo=uo(()=>p("span",{class:"title"},"Table of Contents",-1)),vo=no({__name:"DocsPageLayout",setup(u){const{page:s,navigation:V}=Z(),{config:v}=oo(),A=eo(),M=(o,t=!0)=>{var n;return typeof((n=s.value)==null?void 0:n[o])<"u"?s.value[o]:t},T=d(()=>{var o,t,n;return!s.value||((n=(t=(o=s.value)==null?void 0:o.body)==null?void 0:t.children)==null?void 0:n.length)>0}),C=d(()=>{var o,t,n,_,m;return((o=s.value)==null?void 0:o.toc)!==!1&&((m=(_=(n=(t=s.value)==null?void 0:t.body)==null?void 0:n.toc)==null?void 0:_.links)==null?void 0:m.length)>=2}),E=d(()=>{var o,t;return((o=s.value)==null?void 0:o.aside)!==!1&&((t=V.value)==null?void 0:t.length)>0}),F=d(()=>M("bottom",!0)),c=I(!1),a=I(null),h=()=>A.path.split("/").slice(0,2).join("/"),l=to("asideScroll",()=>{var o;return{parentPath:h(),scrollTop:((o=a.value)==null?void 0:o.scrollTop)||0}});function P(){a.value&&(a.value.scrollHeight===0&&setTimeout(P,0),a.value.scrollTop=l.value.scrollTop)}return so(()=>{l.value.parentPath!==h()?(l.value.parentPath=h(),l.value.scrollTop=0):P()}),ao(()=>{a.value&&(l.value.scrollTop=a.value.scrollTop)}),(o,t)=>{var S,b,B,D,N,w;const n=G,_=J,m=R,H=U,L=K,O=Q,j=W,q=X;return i(),$(q,{fluid:(b=(S=e(v))==null?void 0:S.main)==null?void 0:b.fluid,padded:(D=(B=e(v))==null?void 0:B.main)==null?void 0:D.padded,class:f(["docs-page-content",{fluid:(w=(N=e(v))==null?void 0:N.main)==null?void 0:w.fluid}])},{default:g(()=>[e(E)?(i(),x("aside",{key:0,ref_key:"asideNav",ref:a,class:"aside-nav"},[r(n,{class:"app-aside"})],512)):y("",!0),p("article",{class:f(["page-body",{"with-toc":e(C)}])},[e(T)?ro(o.$slots,"default",{key:0},void 0,!0):(i(),$(m,{key:1,type:"info"},{default:g(()=>[k(" Start writing in "),r(_,null,{default:g(()=>[k("content/"+co(e(s)._file),1)]),_:1}),k(" to see this page taking shape. ")]),_:1})),e(T)&&e(s)&&e(F)?(i(),x(lo,{key:2},[r(H),r(L)],64)):y("",!0)],2),e(C)?(i(),x("div",_o,[p("div",mo,[p("button",{onClick:t[0]||(t[0]=z=>c.value=!e(c))},[fo,r(O,{name:"heroicons-outline:chevron-right",class:f(["icon",[e(c)&&"rotate"]])},null,8,["class"])]),p("div",{class:f(["docs-toc-wrapper",[e(c)&&"opened"]])},[r(j,{onMove:t[1]||(t[1]=z=>c.value=!1)})],2)])])):y("",!0)]),_:3},8,["fluid","padded","class"])}}}),qo=Y(vo,[["__scopeId","data-v-64504251"]]);export{qo as default}; diff --git a/docs/.output/public/_nuxt/DocsPrevNext.6bb4ff17.css b/docs/.output/public/_nuxt/DocsPrevNext.6bb4ff17.css deleted file mode 100644 index 2ef04726..00000000 --- a/docs/.output/public/_nuxt/DocsPrevNext.6bb4ff17.css +++ /dev/null @@ -1 +0,0 @@ -.docs-prev-next[data-v-c087c434]{display:flex;flex-direction:column;gap:var(--space-3);justify-content:space-between}@media (min-width:640px){.docs-prev-next[data-v-c087c434]{align-items:center;flex-direction:row}}.docs-prev-next a[data-v-c087c434]{border:1px solid var(--elements-border-primary-static);border-radius:var(--radii-md);min-width:0;padding:var(--space-3);position:relative}.docs-prev-next a[data-v-c087c434]:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-50);color:var(--color-primary-500)}:root.dark .docs-prev-next a[data-v-c087c434]:hover{background-color:var(--color-gray-900);border-color:var(--color-gray-900)}.docs-prev-next a.prev[data-v-c087c434]{display:flex;gap:var(--space-3);text-align:left}.docs-prev-next a.prev .directory[data-v-c087c434]{color:var(--color-gray-500);display:block;font-size:var(--text-xs-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-xs-lineHeight);margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:640px){.docs-prev-next a.prev .wrapper[data-v-c087c434]{align-items:flex-end}}.docs-prev-next a.next[data-v-c087c434]{display:flex;gap:var(--space-3);justify-content:flex-end;text-align:right}.docs-prev-next a.next .directory[data-v-c087c434]{color:var(--color-gray-500);display:block;font-size:var(--text-xs-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-xs-lineHeight);margin-bottom:var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:640px){.docs-prev-next a.next .wrapper[data-v-c087c434]{align-items:flex-start}}.docs-prev-next a .wrapper[data-v-c087c434]{display:flex;flex-direction:column}.docs-prev-next a .icon[data-v-c087c434]{align-self:flex-end;flex-shrink:0;height:var(--space-5);width:var(--space-5)}.docs-prev-next a .title[data-v-c087c434]{flex:1 1 0%;font-weight:var(--fontWeight-medium);line-height:var(--lead-5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} diff --git a/docs/.output/public/_nuxt/DocsPrevNext.adb795e8.js b/docs/.output/public/_nuxt/DocsPrevNext.adb795e8.js deleted file mode 100644 index 3f59f298..00000000 --- a/docs/.output/public/_nuxt/DocsPrevNext.adb795e8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as v}from"./DocsAsideTree.08d70919.js";import{_ as y}from"./app.config.4114fca6.js";import{d as k,b as C}from"./useDocus.edcbeab5.js";import{u as g}from"./index.d2b0cb5e.js";import{f as w,u as t,q as r,x as l,B as m,C as d,G as u,E as o,J as c,D as h}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as B}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";const N={key:0,class:"docs-prev-next"},D={class:"wrapper"},V={class:"directory"},E={class:"title"},F={key:1},I={class:"wrapper"},P={class:"directory"},b={class:"title"},j=w({__name:"DocsPrevNext",setup(q){const{prev:s,next:n,navigation:f}=k(),{navDirFromPath:x}=C(),p=_=>{const a=x(_._path,f.value||[]);if(a&&a[0])return a[0]._path;{const e=_.split("/");return(e.length>1?e[e.length-2]:"").split("-").map(g).join(" ")}};return(_,a)=>{const e=v,i=y;return t(s)||t(n)?(r(),l("div",N,[t(s)?(r(),m(i,{key:0,to:t(s)._path,class:"prev"},{default:d(()=>[u(e,{name:"heroicons-outline:arrow-sm-left",class:"icon"}),o("div",D,[o("span",V,c(p(t(s)._path)),1),o("span",E,c(t(s).title),1)])]),_:1},8,["to"])):(r(),l("span",F)),t(n)?(r(),m(i,{key:2,to:t(n)._path,class:"next"},{default:d(()=>[o("div",I,[o("span",P,c(p(t(n)._path)),1),o("span",b,c(t(n).title),1)]),u(e,{name:"heroicons-outline:arrow-sm-right",class:"icon"})]),_:1},8,["to"])):h("",!0)])):h("",!0)}}}),K=B(j,[["__scopeId","data-v-c087c434"]]);export{K as default}; diff --git a/docs/.output/public/_nuxt/DocsToc.03cf2013.js b/docs/.output/public/_nuxt/DocsToc.03cf2013.js deleted file mode 100644 index de2eca26..00000000 --- a/docs/.output/public/_nuxt/DocsToc.03cf2013.js +++ /dev/null @@ -1 +0,0 @@ -import i from"./DocsTocLinks.c11364e4.js";import{d}from"./useDocus.edcbeab5.js";import{f as l,q as c,x as a,u as p,F as u,G as f,D as k,M as v,N as x,E as r}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as h}from"./Container.f1017aa2.js";/* empty css */import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";const C=o=>(v("data-v-d4e4405c"),o=o(),x(),o),I={class:"docs-toc"},N=C(()=>r("div",{class:"docs-toc-title"},[r("span",null,"Table of Contents")],-1)),B=l({__name:"DocsToc",emits:["move"],setup(o,{emit:m}){const{toc:t}=d();return(D,e)=>{var s,n;const _=i;return c(),a("div",I,[(n=(s=p(t))==null?void 0:s.links)!=null&&n.length?(c(),a(u,{key:0},[N,f(_,{links:p(t).links,onMove:e[0]||(e[0]=S=>m("move"))},null,8,["links"])],64)):k("",!0)])}}}),G=h(B,[["__scopeId","data-v-d4e4405c"]]);export{G as default}; diff --git a/docs/.output/public/_nuxt/DocsTocLinks.2846f127.css b/docs/.output/public/_nuxt/DocsTocLinks.2846f127.css deleted file mode 100644 index ad2ec03c..00000000 --- a/docs/.output/public/_nuxt/DocsTocLinks.2846f127.css +++ /dev/null @@ -1 +0,0 @@ -.docs-toc-links .depth-3[data-v-8d68a659]{padding-left:var(--space-3)}.docs-toc-links .depth-4[data-v-8d68a659]{padding-left:var(--space-6)}.docs-toc-links a[data-v-8d68a659]{color:var(--color-gray-500);display:block;font-size:var(--text-sm-fontSize);line-height:var(--text-sm-lineHeight);overflow:hidden;padding:var(--space-1) 0;text-overflow:ellipsis;white-space:nowrap}@media (min-width:1024px){.docs-toc-links a[data-v-8d68a659]{padding-right:var(--space-3)}}.docs-toc-links a[data-v-8d68a659]:not(.active):hover{color:var(--color-gray-900)}:root.dark .docs-toc-links a[data-v-8d68a659]:not(.active):hover{color:var(--color-gray-400)}.docs-toc-links a.active[data-v-8d68a659]{color:var(--color-primary-500)} diff --git a/docs/.output/public/_nuxt/DocsTocLinks.c11364e4.js b/docs/.output/public/_nuxt/DocsTocLinks.c11364e4.js deleted file mode 100644 index a6970d95..00000000 --- a/docs/.output/public/_nuxt/DocsTocLinks.c11364e4.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as f}from"./Container.f1017aa2.js";import{i as h}from"./app.config.4114fca6.js";import{a as v}from"./DocsAsideTree.08d70919.js";import{r as d,a as _,af as g,o as y,f as k,q as r,x as m,F as x,A as B,y as p,E as b,J as A,u as C,B as H,D as S}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";const q=()=>{const n=d(),s=d([]),c=d([]),a=e=>e.forEach(t=>{const u=t.target.id;t.isIntersecting?s.value.push(u):s.value=s.value.filter(l=>l!==u)}),i=e=>e.forEach(t=>{n.value.observe(t)});return _(s,(e,t)=>{e.length===0?c.value=t:c.value=e},{deep:!0}),g(()=>n.value=new IntersectionObserver(a)),y(()=>{var e;return(e=n.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:c,updateHeadings:i}},D={class:"docs-toc-links"},E=["href","onClick"],T=k({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(n,{emit:s}){const c=h(),{activeHeadings:a,updateHeadings:i}=q();setTimeout(()=>{i([...document.querySelectorAll(".document-driven-page h1, .docus-content h1"),...document.querySelectorAll(".document-driven-page h2, .docus-content h2"),...document.querySelectorAll(".document-driven-page h3, .docus-content h3"),...document.querySelectorAll(".document-driven-page h4, .docus-content h4")])},300);function e(t){c.push(`#${t}`),s("move",t)}return(t,u)=>{const l=$;return r(),m("ul",D,[(r(!0),m(x,null,B(n.links,o=>(r(),m("li",{key:o.text,class:p([`depth-${o.depth}`])},[b("a",{href:`#${o.id}`,class:p([C(a).includes(o.id)&&"active"]),onClick:v(w=>e(o.id),["prevent"])},A(o.text),11,E),o.children?(r(),H(l,{key:0,links:o.children},null,8,["links"])):S("",!0)],2))),128))])}}}),$=f(T,[["__scopeId","data-v-8d68a659"]]);export{$ as default}; diff --git a/docs/.output/public/_nuxt/DocumentDrivenEmpty.7ceddd7c.js b/docs/.output/public/_nuxt/DocumentDrivenEmpty.7ceddd7c.js deleted file mode 100644 index dc56040e..00000000 --- a/docs/.output/public/_nuxt/DocumentDrivenEmpty.7ceddd7c.js +++ /dev/null @@ -1 +0,0 @@ -import{f as n,j as e}from"./runtime-core.esm-bundler.6894272a.js";const r=n({name:"DocumentDrivenEmpty",props:{value:{type:Object,required:!0}},render({value:t}){return e("div",void 0,[e("p","Document is empty"),e("p",`Add content to it by opening ${t._source}/${t._file} file.`)])}});export{r as default}; diff --git a/docs/.output/public/_nuxt/DocumentDrivenNotFound.25e8b3dc.js b/docs/.output/public/_nuxt/DocumentDrivenNotFound.25e8b3dc.js deleted file mode 100644 index a0154874..00000000 --- a/docs/.output/public/_nuxt/DocumentDrivenNotFound.25e8b3dc.js +++ /dev/null @@ -1 +0,0 @@ -import s from"./ButtonLink.2789431f.js";/* empty css */import{a as c}from"./Container.f1017aa2.js";import{q as a,x as i,E as o,G as r,C as _,L as p,M as d,N as m}from"./runtime-core.esm-bundler.6894272a.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./ContentSlot.7e1a494f.js";/* empty css */const l={},e=t=>(d("data-v-ab67d04f"),t=t(),m(),t),u={class:"document-driven-not-found not-prose"},f=e(()=>o("p",null," 404 ",-1)),h={class:"content"},x=e(()=>o("div",{class:"text-section"},[o("h1",null," Not Found "),o("p",null," This is not the page you're looking for. ")],-1)),v={class:"button-section"};function k(t,N){const n=s;return a(),i("div",u,[o("main",null,[f,o("div",h,[x,o("div",v,[r(n,{href:"/",size:"large",variant:"primary"},{default:_(()=>[p(" Go back home ")]),_:1})])])])])}const L=c(l,[["render",k],["__scopeId","data-v-ab67d04f"]]);export{L as default}; diff --git a/docs/.output/public/_nuxt/EditOnLink.f0fb05c8.js b/docs/.output/public/_nuxt/EditOnLink.f0fb05c8.js deleted file mode 100644 index a6e9b50a..00000000 --- a/docs/.output/public/_nuxt/EditOnLink.f0fb05c8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./EditOnLink.vue.21b8aa9d.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./runtime-core.esm-bundler.6894272a.js";import"./useDocus.edcbeab5.js";export{o as default}; diff --git a/docs/.output/public/_nuxt/EditOnLink.vue.21b8aa9d.js b/docs/.output/public/_nuxt/EditOnLink.vue.21b8aa9d.js deleted file mode 100644 index ee98be1d..00000000 --- a/docs/.output/public/_nuxt/EditOnLink.vue.21b8aa9d.js +++ /dev/null @@ -1 +0,0 @@ -import{j as m}from"./app.config.4114fca6.js";import{e as a}from"./useDocus.edcbeab5.js";import{f as y,h as c,ae as p}from"./runtime-core.esm-bundler.6894272a.js";const _=y({props:{owner:{type:String,default:()=>{var e,t,r;return(r=(t=(e=a())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.owner},required:!1},repo:{type:String,default:()=>{var e,t,r;return(r=(t=(e=a())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.repo},required:!1},branch:{type:String,default:()=>{var e,t,r;return(r=(t=(e=a())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.branch},required:!1},dir:{type:String,default:()=>{var e,t,r;return(r=(t=(e=a())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir},required:!1},source:{type:String,required:!1,default:void 0},page:{type:Object,required:!1,default:void 0},contentDir:{type:String,required:!1,default:()=>{var e,t,r;return((r=(t=(e=a())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.dir)||"content"}},edit:{type:Boolean,required:!1,default:()=>{var e,t,r;return(r=(t=(e=a())==null?void 0:e.docus)==null?void 0:t.github)==null?void 0:r.edit}}},setup(e){if(!e.owner||!e.repo||!e.branch)throw new Error("If you want to use `GithubLink` component, you must specify: `owner`, `repo` and `branch`.");const t=c(()=>{var s,h;let{repo:n,owner:u,branch:d,contentDir:f}=e,l="";if((h=(s=a())==null?void 0:s.public)!=null&&h.content){let i;const{sources:b}=a().public.content;for(const g in b||[])if(e.page._id.startsWith(g)){i=b[g];break}(i==null?void 0:i.driver)==="github"&&(n=i.repo||e.repo||"",u=i.owner||e.owner||"",d=i.branch||e.branch||"main",f=i.dir||e.contentDir||"",l=i.prefix||"")}return{repo:n,owner:u,branch:d,contentDir:f,prefix:l}}),r=c(()=>m("https://github.com",`${t.value.owner}/${t.value.repo}`)),o=c(()=>{var u;const n=[];return(u=e==null?void 0:e.page)!=null&&u._path?(t.value.contentDir&&n.push(t.value.contentDir),n.push(e.page._file.substring(t.value.prefix.length)),n):(e.dir&&n.push(e.dir),e.source&&n.push(e.source),n)});return{url:c(()=>{var u;const n=[r.value];return e.edit?n.push("edit"):n.push("tree"),n.push(((u=t==null?void 0:t.value)==null?void 0:u.branch)||"",...o.value),n.filter(Boolean).join("/")})}},render(e){var o;const{url:t}=e,r=p();return(o=r==null?void 0:r.default)==null?void 0:o.call(r,{url:t})}});export{_}; diff --git a/docs/.output/public/_nuxt/Ellipsis.50580cd1.js b/docs/.output/public/_nuxt/Ellipsis.50580cd1.js deleted file mode 100644 index 861fcf4e..00000000 --- a/docs/.output/public/_nuxt/Ellipsis.50580cd1.js +++ /dev/null @@ -1 +0,0 @@ -import{u as p,d as a,a as y}from"./Container.f1017aa2.js";import{f as b,h as s,r as x,q as S,x as v,y as I,u as E,M as z,N as B,E as k}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const w=l=>(z("data-v-861d2ab7"),l=l(),B(),l),C=w(()=>k("div",{class:"ellipsis-item"},null,-1)),N=[C],M=b({__name:"Ellipsis",props:{width:{type:String,default:"10rem"},height:{type:String,default:"10rem"},zIndex:{type:String,default:"10"},top:{type:String,default:"0"},left:{type:String,default:"auto"},right:{type:String,default:"auto"},blur:{type:String,default:"50px"},colors:{type:Array,default:()=>["rgba(0, 71, 225, 0.22)","rgba(26, 214, 255, 0.22)","rgba(0, 220, 130, 0.22)"]}},setup(l){const e=l,c=s(()=>((t=e,i=a)=>t.top)()),u=s(()=>((t=e,i=a)=>t.left)()),d=s(()=>((t=e,i=a)=>t.right)()),r=s(()=>((t=e,i=a)=>t.zIndex)()),f=s(()=>((t=e,i=a)=>t.width)()),h=s(()=>((t=e,i=a)=>t.height)()),g=s(()=>((t=e,i=a)=>`blur(${t.blur})`)()),m=s(()=>((t=e,i=a)=>{var n,_,o;return`linear-gradient(97.62deg, ${(n=t==null?void 0:t.colors)==null?void 0:n[0]} 2.27%, ${(_=t==null?void 0:t.colors)==null?void 0:_[1]} 50.88%, ${(o=t==null?void 0:t.colors)==null?void 0:o[2]} 98.48%)`})()),{$pinceau:$}=p(s(()=>e),void 0,x({_cCN_top:c,_eih_left:u,_hvR_right:d,_29W_zIndex:r,_X8m_maxWidth:f,_UBM_height:h,_gOh_filter:g,_60h_background:m}));return(t,i)=>(S(),v("div",{class:I(["ellipsis",[E($)]])},N,2))}});const q=y(M,[["__scopeId","data-v-861d2ab7"]]);export{q as default}; diff --git a/docs/.output/public/_nuxt/Ellipsis.f7ff00dc.css b/docs/.output/public/_nuxt/Ellipsis.f7ff00dc.css deleted file mode 100644 index 951e155c..00000000 --- a/docs/.output/public/_nuxt/Ellipsis.f7ff00dc.css +++ /dev/null @@ -1 +0,0 @@ -.ellipsis[data-v-861d2ab7]{filter:var(---g-oh-filter);height:var(---ubm-height);left:var(---eih-left);max-width:var(---x8m-max-width);pointer-events:none;position:absolute;right:var(---hv-r-right);top:var(---c-cn-top);width:-webkit-fill-available;z-index:var(---29w-z-index)}.ellipsis .ellipsis-item[data-v-861d2ab7]{background:var(---60h-background);height:100%;width:100%} diff --git a/docs/.output/public/_nuxt/ExampleCard.26f9bb19.js b/docs/.output/public/_nuxt/ExampleCard.26f9bb19.js deleted file mode 100644 index 54063e38..00000000 --- a/docs/.output/public/_nuxt/ExampleCard.26f9bb19.js +++ /dev/null @@ -1 +0,0 @@ -import{a as e}from"./Container.f1017aa2.js";import{q as o,x as a,P as t}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={},c={class:"p-6 border bg-white dark:bg-black dark:border-gray-700 rounded"};function d(r,n){return o(),a("div",c,[t(r.$slots,"default")])}const i=e(s,[["render",d]]);export{i as default}; diff --git a/docs/.output/public/_nuxt/ExampleHero.02aa09cf.js b/docs/.output/public/_nuxt/ExampleHero.02aa09cf.js deleted file mode 100644 index 6ecaac2d..00000000 --- a/docs/.output/public/_nuxt/ExampleHero.02aa09cf.js +++ /dev/null @@ -1 +0,0 @@ -import{a as s}from"./Container.f1017aa2.js";import{q as t,x as r,E as a,P as o}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const c={},n={class:"text-4xl"};function l(e,i){return t(),r("section",null,[a("h1",n,[o(e.$slots,"default")]),o(e.$slots,"description")])}const p=s(c,[["render",l]]);export{p as default}; diff --git a/docs/.output/public/_nuxt/ExampleIconCard.07caa17e.js b/docs/.output/public/_nuxt/ExampleIconCard.07caa17e.js deleted file mode 100644 index d78e6dd7..00000000 --- a/docs/.output/public/_nuxt/ExampleIconCard.07caa17e.js +++ /dev/null @@ -1 +0,0 @@ -import{q as t,x as n,B as r,I as s,E as a,J as o}from"./runtime-core.esm-bundler.6894272a.js";const c={class:"p-6 border bg-white dark:bg-black dark:border-gray-700 rounded"},i={class:"text-3xl font-semibold mb-2"},u={__name:"ExampleIconCard",props:{title:{type:String,default:"Default title"},description:{type:String,default:"Default description"},icon:{type:String,default:"IconMarkdown"}},setup(e){return(l,d)=>(t(),n("div",c,[(t(),r(s(e.icon),{class:"w-20 h-20"})),a("h2",i,o(e.title),1),a("p",null,o(e.description),1)]))}};export{u as default}; diff --git a/docs/.output/public/_nuxt/ExampleMultiselect.edfb3bb6.js b/docs/.output/public/_nuxt/ExampleMultiselect.edfb3bb6.js deleted file mode 100644 index 7cc1f252..00000000 --- a/docs/.output/public/_nuxt/ExampleMultiselect.edfb3bb6.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as o,x as e}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const r={props:{options:{type:[Array,String],default:()=>[]}},data(){return{value:null}}};function n(a,s,c,p,l,i){return o(),e("div",null,"Not working on content v2 docs!")}const m=t(r,[["render",n]]);export{m as default}; diff --git a/docs/.output/public/_nuxt/ExampleTheTitle.e4b43830.js b/docs/.output/public/_nuxt/ExampleTheTitle.e4b43830.js deleted file mode 100644 index fafdbb74..00000000 --- a/docs/.output/public/_nuxt/ExampleTheTitle.e4b43830.js +++ /dev/null @@ -1 +0,0 @@ -import e from"./ContentSlot.7e1a494f.js";import{a as r}from"./Container.f1017aa2.js";import{q as s,x as n,G as c}from"./runtime-core.esm-bundler.6894272a.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";const a={},m={class:"text-4xl"};function p(t,i){const o=e;return s(),n("h1",m,[c(o,{use:t.$slots.default,unwrap:"p"},null,8,["use"])])}const B=r(a,[["render",p]]);export{B as default}; diff --git a/docs/.output/public/_nuxt/GithubCommits.e43b30d0.js b/docs/.output/public/_nuxt/GithubCommits.e43b30d0.js deleted file mode 100644 index a888f49a..00000000 --- a/docs/.output/public/_nuxt/GithubCommits.e43b30d0.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u as i}from"./asyncData.2775b491.js";import{h as a}from"./entry.2d43dc03.js";import{u as s}from"./useGithub.916c5979.js";import{f as u,ae as p}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const G=u({props:{query:{type:Object,required:!1,default:()=>({})}},async setup(r){const{fetchCommits:m}=s(),{data:o,pending:t,refresh:e}=await i(`github-commits-${a(r.query)}`,()=>m(r.query));return{commits:o,pending:t,refresh:e}},render({commits:r,pending:m,refresh:o}){var e;const t=p();return(e=t==null?void 0:t.default)==null?void 0:e.call(t,{commits:r,pending:m,refresh:o})}});export{G as default}; diff --git a/docs/.output/public/_nuxt/GithubContributors.35cdb9ac.js b/docs/.output/public/_nuxt/GithubContributors.35cdb9ac.js deleted file mode 100644 index 3b6c3f10..00000000 --- a/docs/.output/public/_nuxt/GithubContributors.35cdb9ac.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u}from"./asyncData.2775b491.js";import{h as a}from"./entry.2d43dc03.js";import{u as n}from"./useGithub.916c5979.js";import{f as s,ae as m}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const G=s({props:{query:{type:Object,required:!1,default:()=>({})}},async setup(r){const{fetchContributors:o}=n(),{data:i,refresh:t,pending:e}=await u(`github-contributors-${a(r.query)}`,()=>o(r.query));return{contributors:i,refresh:t,pending:e}},render({contributors:r,refresh:o,pending:i}){var e;const t=m();return(e=t==null?void 0:t.default)==null?void 0:e.call(t,{contributors:r,refresh:o,pending:i})}});export{G as default}; diff --git a/docs/.output/public/_nuxt/GithubFileContributors.2287b161.js b/docs/.output/public/_nuxt/GithubFileContributors.2287b161.js deleted file mode 100644 index 693f9c20..00000000 --- a/docs/.output/public/_nuxt/GithubFileContributors.2287b161.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u as a}from"./asyncData.2775b491.js";import{h as s}from"./entry.2d43dc03.js";import{u as n}from"./useGithub.916c5979.js";import{f as m,t as f,a as c,ae as p}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const j=m({props:{query:{type:Object,required:!1,default:()=>({})}},async setup(e){const o=f(e.query,"source"),{fetchFileContributors:i}=n();c(o,()=>{r&&r()});const{data:t,refresh:r,pending:u}=await a(`github-file-contributors-${s(e.query)}`,()=>i(e.query));return{contributors:t,refresh:r,pending:u}},render({contributors:e,refresh:o,pending:i}){var r;const t=p();return(r=t==null?void 0:t.default)==null?void 0:r.call(t,{contributors:e,refresh:o,pending:i})}});export{j as default}; diff --git a/docs/.output/public/_nuxt/GithubLastRelease.7ffc61aa.js b/docs/.output/public/_nuxt/GithubLastRelease.7ffc61aa.js deleted file mode 100644 index 9bdd4f52..00000000 --- a/docs/.output/public/_nuxt/GithubLastRelease.7ffc61aa.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u as o}from"./asyncData.2775b491.js";import{h as i}from"./entry.2d43dc03.js";import{u}from"./useGithub.916c5979.js";import{f as m,ae as p}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const L=m({props:{query:{type:Object,required:!1,default:()=>({})}},async setup(t){const{fetchLastRelease:a}=u(),{data:s,refresh:e,pending:r}=await o(`github-last-release-${i(t.query)}`,()=>a(t.query));return{release:s,refresh:e,pending:r}},render({release:t,refresh:a,pending:s}){var r;const e=p();return(r=e==null?void 0:e.default)==null?void 0:r.call(e,{release:t,refresh:a,pending:s})}});export{L as default}; diff --git a/docs/.output/public/_nuxt/GithubLink.6e1f1ea3.js b/docs/.output/public/_nuxt/GithubLink.6e1f1ea3.js deleted file mode 100644 index 7cdcd57f..00000000 --- a/docs/.output/public/_nuxt/GithubLink.6e1f1ea3.js +++ /dev/null @@ -1 +0,0 @@ -import{b as u,j as m}from"./app.config.4114fca6.js";import{f as y,h as f,ae as v}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const D=y({props:{owner:{type:String,default:()=>{var e,t;return(t=(e=u())==null?void 0:e.github)==null?void 0:t.owner},required:!1},repo:{type:String,default:()=>{var e,t;return(t=(e=u())==null?void 0:e.github)==null?void 0:t.repo},required:!1},branch:{type:String,default:()=>{var e,t;return(t=(e=u())==null?void 0:e.github)==null?void 0:t.branch},required:!1},dir:{type:String,default:()=>{var e,t;return(t=(e=u())==null?void 0:e.github)==null?void 0:t.dir},required:!1},source:{type:String,required:!1,default:void 0},page:{type:Object,required:!1,default:void 0},contentDir:{type:String,required:!1,default:"content"},edit:{type:Boolean,required:!1,default:!0}},setup(e){if(!e.owner||!e.repo||!e.branch)throw new Error("If you want to use `GithubLink` component, you must specify: `owner`, `repo` and `branch`.");const t=f(()=>{var h,s;let{repo:r,owner:a,branch:c,contentDir:l}=e,d="";if((s=(h=u())==null?void 0:h.public)!=null&&s.content){let n;const{sources:b}=u().public.content;for(const g in b||[])if(e.page._id.startsWith(g)){n=b[g];break}(n==null?void 0:n.driver)==="github"&&(r=n.repo||e.repo||"",a=n.owner||e.owner||"",c=n.branch||e.branch||"main",l=n.dir||e.contentDir||"",d=n.prefix||"")}return{repo:r,owner:a,branch:c,contentDir:l,prefix:d}}),i=f(()=>m("https://github.com",`${t.value.owner}/${t.value.repo}`)),o=f(()=>{var a;const r=[];return(a=e==null?void 0:e.page)!=null&&a._path?(t.value.contentDir&&r.push(t.value.contentDir),r.push(e.page._file.substring(t.value.prefix.length)),r):(e.dir&&r.push(e.dir),e.source&&r.push(e.source),r)});return{url:f(()=>{const r=[i.value];return e.edit?r.push("edit"):r.push("tree"),r.push(t.value.branch,...o.value),r.filter(Boolean).join("/")})}},render(e){var o;const{url:t}=e,i=v();return(o=i==null?void 0:i.default)==null?void 0:o.call(i,{url:t})}});export{D as default}; diff --git a/docs/.output/public/_nuxt/GithubReadme.3309f143.js b/docs/.output/public/_nuxt/GithubReadme.3309f143.js deleted file mode 100644 index f5ab0bf6..00000000 --- a/docs/.output/public/_nuxt/GithubReadme.3309f143.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u as o}from"./asyncData.2775b491.js";import{h as i}from"./entry.2d43dc03.js";import{u}from"./useGithub.916c5979.js";import{f as p,ae as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const R=p({props:{query:{type:Object,required:!1,default:()=>({})}},async setup(r){const{fetchReadme:a}=u(),{data:m,refresh:e,pending:t}=await o(`github-readme-${i(r.query)}`,()=>a(r.query));return{readme:m,refresh:e,pending:t}},render({readme:r,refresh:a,pending:m}){var t;const e=n();return(t=e==null?void 0:e.default)==null?void 0:t.call(e,{readme:r,refresh:a,pending:m})}});export{R as default}; diff --git a/docs/.output/public/_nuxt/GithubRelease.fea5f747.js b/docs/.output/public/_nuxt/GithubRelease.fea5f747.js deleted file mode 100644 index 402c893b..00000000 --- a/docs/.output/public/_nuxt/GithubRelease.fea5f747.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u as i}from"./asyncData.2775b491.js";import{h as o}from"./entry.2d43dc03.js";import{u as s}from"./useGithub.916c5979.js";import{f as m,ae as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const R=m({props:{query:{type:Object,required:!1,default:()=>({})}},async setup(r){const{fetchRelease:a}=s();if(!r.query.tag)return;const{data:u,refresh:e,pending:t}=await i(`github-release-${o(r.query)}`,()=>a(r.query));return{release:u,refresh:e,pending:t}},render({release:r,refresh:a,pending:u}){var t;const e=n();return(t=e==null?void 0:e.default)==null?void 0:t.call(e,{release:r,refresh:a,pending:u})}});export{R as default}; diff --git a/docs/.output/public/_nuxt/GithubReleases.54c416e9.js b/docs/.output/public/_nuxt/GithubReleases.54c416e9.js deleted file mode 100644 index 73931b0e..00000000 --- a/docs/.output/public/_nuxt/GithubReleases.54c416e9.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u as o}from"./asyncData.2775b491.js";import{h as i}from"./entry.2d43dc03.js";import{u}from"./useGithub.916c5979.js";import{f as m,ae as p}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const R=m({props:{query:{type:Object,required:!1,default:()=>({})}},async setup(r){const{fetchReleases:a}=u(),{data:s,refresh:e,pending:t}=await o(`github-releases-${i(r.query)}`,()=>a(r.query));return{releases:s,refresh:e,pending:t}},render({releases:r,refresh:a,pending:s}){var t;const e=p();return(t=e==null?void 0:e.default)==null?void 0:t.call(e,{releases:r,refresh:a,pending:s})}});export{R as default}; diff --git a/docs/.output/public/_nuxt/GithubRepository.bbd436c6.js b/docs/.output/public/_nuxt/GithubRepository.bbd436c6.js deleted file mode 100644 index b4fa017d..00000000 --- a/docs/.output/public/_nuxt/GithubRepository.bbd436c6.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{u as p}from"./asyncData.2775b491.js";import{h as a}from"./entry.2d43dc03.js";import{u as s}from"./useGithub.916c5979.js";import{f as u,ae as m}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./query.c3f7607a.js";const R=u({props:{query:{type:Object,required:!1,default:()=>({})}},async setup(t){const{fetchRepository:o}=s(),{data:i,refresh:r,pending:e}=await p(`github-repository-${a(t.query)}`,()=>o(t.query));return{repository:i,refresh:r,pending:e}},render({repository:t,refresh:o,pending:i}){var e;const r=m();return(e=r==null?void 0:r.default)==null?void 0:e.call(r,{repository:t,refresh:o,pending:i})}});export{R as default}; diff --git a/docs/.output/public/_nuxt/HeroAnnouncement.32859cbb.js b/docs/.output/public/_nuxt/HeroAnnouncement.32859cbb.js deleted file mode 100644 index ec9c4339..00000000 --- a/docs/.output/public/_nuxt/HeroAnnouncement.32859cbb.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as n}from"./DocsAsideTree.08d70919.js";import{_ as a}from"./app.config.4114fca6.js";/* empty css */import{a as s}from"./Container.f1017aa2.js";import{q as r,B as c,C as _,G as p,E as m,J as i}from"./runtime-core.esm-bundler.6894272a.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./index.d2b0cb5e.js";const l={__name:"HeroAnnouncement",props:{to:{type:String,default:""},label:{type:String,default:""}},setup(t){return(u,d)=>{const o=n,e=a;return r(),c(e,{to:t.to,class:"link"},{default:_(()=>[p(o,{name:"heroicons-solid:sparkles",class:"icon"}),m("span",null,i(t.label),1)]),_:1},8,["to"])}}},N=s(l,[["__scopeId","data-v-d15db3c4"]]);export{N as default}; diff --git a/docs/.output/public/_nuxt/HeroAnnouncement.c8294d82.css b/docs/.output/public/_nuxt/HeroAnnouncement.c8294d82.css deleted file mode 100644 index 37ae0deb..00000000 --- a/docs/.output/public/_nuxt/HeroAnnouncement.c8294d82.css +++ /dev/null @@ -1 +0,0 @@ -.link[data-v-d15db3c4]{align-items:center;background-color:var(--color-primary-100);border-color:var(--color-primary-400);border-radius:var(--radii-md);border-style:solid;border-width:var(--borderWidth-sm);color:var(--color-primary-900);display:inline-flex;gap:var(--space-1);justify-content:center;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4)}:root.dark .link[data-v-d15db3c4]{background-color:transparent;border-color:var(--color-primary-700);color:var(--color-primary-100)}.link[data-v-d15db3c4]:hover{background-color:var(--color-primary-200)}:root.dark .link[data-v-d15db3c4]:hover{background-color:var(--color-primary-900)}.link span[data-v-d15db3c4]{font-size:var(--fontSize-sm);font-weight:var(--fontWeight-medium)}.link .icon[data-v-d15db3c4]{height:var(--space-4);width:var(--space-4)} diff --git a/docs/.output/public/_nuxt/IconCodeSandBox.c8242608.js b/docs/.output/public/_nuxt/IconCodeSandBox.c8242608.js deleted file mode 100644 index 859f0857..00000000 --- a/docs/.output/public/_nuxt/IconCodeSandBox.c8242608.js +++ /dev/null @@ -1 +0,0 @@ -import{a as e}from"./Container.f1017aa2.js";import{q as o,x as t,E as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const r={},s={viewBox:"0 0 105 104",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c=n("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M104.297.31104.87354.3111V103.735H104.297V.31104ZM93.7196 93.1572V10.8885H11.4509v82.2687h82.2687Z",fill:"currentColor"},null,-1),l=[c];function a(d,_){return o(),t("svg",s,l)}const m=e(r,[["render",a]]);export{m as default}; diff --git a/docs/.output/public/_nuxt/IconDocus.288d04af.js b/docs/.output/public/_nuxt/IconDocus.288d04af.js deleted file mode 100644 index 49730564..00000000 --- a/docs/.output/public/_nuxt/IconDocus.288d04af.js +++ /dev/null @@ -1 +0,0 @@ -import{a as e}from"./Container.f1017aa2.js";import{q as o,x as c,E as t}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={},n={viewBox:"0 0 57 57",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M28.5445 0C12.8044 0 0 12.7599 0 28.5v25.4549c0 1.5835 1.28368 2.8672 2.86718 2.8672H28.5889C44.2799 56.8221 57 44.102 57 28.4111 57 12.7201 44.2355 0 28.5445 0Zm15.4963 34.452c3.3649 0 6.0927-2.7278 6.0927-6.0928 0-3.3649-2.7278-6.0927-6.0927-6.0927-3.365 0-6.0928 2.7278-6.0928 6.0927 0 3.365 2.7278 6.0928 6.0928 6.0928Zm-18.0833.0003c3.3649 0 6.0927-2.7278 6.0927-6.0927s-2.7278-6.0928-6.0927-6.0928-6.0928 2.7279-6.0928 6.0928c0 3.3649 2.7279 6.0927 6.0928 6.0927Z",fill:"currentColor"},null,-1),l=[r];function _(a,i){return o(),c("svg",n,l)}const p=e(s,[["render",_]]);export{p as default}; diff --git a/docs/.output/public/_nuxt/IconMarkdown.abd5e80b.js b/docs/.output/public/_nuxt/IconMarkdown.abd5e80b.js deleted file mode 100644 index 0ff34d5a..00000000 --- a/docs/.output/public/_nuxt/IconMarkdown.abd5e80b.js +++ /dev/null @@ -1 +0,0 @@ -import{a as o}from"./Container.f1017aa2.js";import{q as t,x as e,E as L}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const r={},s={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 26 26",height:"64",fill:"currentColor"},c=L("path",{d:"M 24 5 L 2 5 C 1 5 0 5.9375 0 6.875 L 0 18 C 0 18.9375 1 20 2 20 L 24 20 C 25 20 26 18.9375 26 18 L 26 6.875 C 26 5.9375 25 5 24 5 Z M 14 17 L 12 17 L 12 11 L 9 14.039063 L 6 11 L 6 17 L 4 17 L 4 8 L 6 8 L 9 11.398438 L 12 8 L 14 8 Z M 20 17 L 17 13 L 19 13 L 19 8 L 21 8 L 21 13 L 23 13 Z"},null,-1),n=[c];function a(_,i){return t(),e("svg",s,n)}const h=o(r,[["render",a]]);export{h as default}; diff --git a/docs/.output/public/_nuxt/IconNuxt.fcd0b256.js b/docs/.output/public/_nuxt/IconNuxt.fcd0b256.js deleted file mode 100644 index bb420596..00000000 --- a/docs/.output/public/_nuxt/IconNuxt.fcd0b256.js +++ /dev/null @@ -1 +0,0 @@ -import{a as c}from"./Container.f1017aa2.js";import{q as o,x as t,E as e}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={},r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},n=e("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[n];function a(l,i){return o(),t("svg",r,_)}const f=c(s,[["render",a]]);export{f as default}; diff --git a/docs/.output/public/_nuxt/IconNuxtContent.e8429861.js b/docs/.output/public/_nuxt/IconNuxtContent.e8429861.js deleted file mode 100644 index 55536707..00000000 --- a/docs/.output/public/_nuxt/IconNuxtContent.e8429861.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as o,x as c,E as e}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={},n={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},r=e("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),_=[r];function a(l,i){return o(),c("svg",n,_)}const f=t(s,[["render",a]]);export{f as default}; diff --git a/docs/.output/public/_nuxt/IconNuxtLabs.d57bf3c9.js b/docs/.output/public/_nuxt/IconNuxtLabs.d57bf3c9.js deleted file mode 100644 index 2225380a..00000000 --- a/docs/.output/public/_nuxt/IconNuxtLabs.d57bf3c9.js +++ /dev/null @@ -1 +0,0 @@ -import{a as c}from"./Container.f1017aa2.js";import{q as o,x as t,E as e}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={},r={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},n=e("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1),a=[n];function _(l,i){return o(),t("svg",r,a)}const f=c(s,[["render",_]]);export{f as default}; diff --git a/docs/.output/public/_nuxt/IconNuxtStudio.af5044e4.js b/docs/.output/public/_nuxt/IconNuxtStudio.af5044e4.js deleted file mode 100644 index e1c44f85..00000000 --- a/docs/.output/public/_nuxt/IconNuxtStudio.af5044e4.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as e}from"./Container.f1017aa2.js";import{q as t,x as c,M as s,N as r,E as a}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const _={},n=o=>(s("data-v-9e7e743f"),o=o(),r(),o),p={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 324 324"},d=n(()=>a("path",{fill:"currentColor",d:"M181.767 270h120.444c3.826 0 7.584-.997 10.897-2.893 3.313-1.896 6.064-4.623 7.976-7.907 1.912-3.285 2.918-7.01 2.916-10.801-.002-3.792-1.011-7.516-2.926-10.798L240.187 98.7439c-1.912-3.2832-4.662-6.0097-7.974-7.9054-3.312-1.8956-7.07-2.8936-10.895-2.8936-3.824 0-7.582.998-10.894 2.8936-3.312 1.8957-6.063 4.6222-7.975 7.9054l-20.682 35.5281-40.438-69.4745c-1.913-3.283-4.665-6.0091-7.978-7.9044C130.038 54.9978 126.28 54 122.454 54c-3.825 0-7.583.9978-10.896 2.8931-3.313 1.8953-6.065 4.6214-7.978 7.9044L2.9255 237.601C1.0107 240.883.0017 244.607 0 248.399c-.0017 3.791 1.004 7.516 2.916 10.801 1.912 3.284 4.6628 6.011 7.9758 7.907C14.2047 269.003 17.963 270 21.7886 270h75.605c29.9554 0 52.0464-13.041 67.2474-38.483l36.905-63.345 19.767-33.9L280.637 236.1h-79.091L181.767 270Zm-85.6059-33.935-52.7627-.011L122.49 100.291l39.463 67.881-26.422 45.371c-10.095 16.508-21.563 22.522-39.3699 22.522Z"},null,-1)),i=[d];function l(o,h){return t(),c("svg",p,i)}const w=e(_,[["render",l],["__scopeId","data-v-9e7e743f"]]);export{w as default}; diff --git a/docs/.output/public/_nuxt/IconStackBlitz.8b1569eb.js b/docs/.output/public/_nuxt/IconStackBlitz.8b1569eb.js deleted file mode 100644 index aa1570bb..00000000 --- a/docs/.output/public/_nuxt/IconStackBlitz.8b1569eb.js +++ /dev/null @@ -1 +0,0 @@ -import{a as o}from"./Container.f1017aa2.js";import{q as t,x as e,E as s}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const c={},n={viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=s("path",{d:"M11.46 14.773H4L17.638 0l-3.671 10.227h7.46L7.788 25l3.671-10.227h.001Z",fill:"currentColor"},null,-1),l=[r];function a(_,i){return t(),e("svg",n,l)}const m=o(c,[["render",a]]);export{m as default}; diff --git a/docs/.output/public/_nuxt/IconVueTelescope.e930811b.js b/docs/.output/public/_nuxt/IconVueTelescope.e930811b.js deleted file mode 100644 index 98a1433a..00000000 --- a/docs/.output/public/_nuxt/IconVueTelescope.e930811b.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as e,x as l,E as o}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const n={},r={viewBox:"0 0 124 124",fill:"none",xmlns:"http://www.w3.org/2000/svg"},s=o("path",{d:"M48 82.5887L57.1066 98.175C59.3073 101.942 64.8092 101.942 67.0102 98.175L101 40H72.8834L48 82.5887Z",fill:"currentColor"},null,-1),c=o("path",{d:"M77 33H104.936L105.23 32.4924C107.417 28.718 104.684 24 100.31 24H82.2142L77 33Z",fill:"currentColor"},null,-1),_=o("path",{d:"M74 24L68.7601 33H19.0689L18.7734 32.4924C16.5759 28.718 19.3228 24 23.7177 24H74Z",fill:"currentColor"},null,-1),i=o("path",{d:"M65 40L44 76L23 40H65Z",fill:"currentColor"},null,-1),a=[s,c,_,i];function d(f,h){return e(),l("svg",r,a)}const m=t(n,[["render",d]]);export{m as default}; diff --git a/docs/.output/public/_nuxt/List.0c42b342.js b/docs/.output/public/_nuxt/List.0c42b342.js deleted file mode 100644 index 69d3eece..00000000 --- a/docs/.output/public/_nuxt/List.0c42b342.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./List.vue.d5bae865.js";import{a as t}from"./Container.f1017aa2.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./runtime-core.esm-bundler.6894272a.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./ContentSlot.7e1a494f.js";const e=t(o,[["__scopeId","data-v-f4e70c29"]]);export{e as default}; diff --git a/docs/.output/public/_nuxt/List.a65f0e81.css b/docs/.output/public/_nuxt/List.a65f0e81.css deleted file mode 100644 index cb5b0ccb..00000000 --- a/docs/.output/public/_nuxt/List.a65f0e81.css +++ /dev/null @@ -1 +0,0 @@ -li[data-v-f4e70c29]{align-items:center;display:flex;margin-bottom:var(--space-3)}li .list-icon[data-v-f4e70c29]{flex-shrink:0;margin-right:var(--space-3)}li .list-icon.primary[data-v-f4e70c29]{color:var(--elements-state-primary-color-primary)}li .list-icon.info[data-v-f4e70c29]{color:var(--elements-state-info-color-primary)}li .list-icon.success[data-v-f4e70c29]{color:var(--elements-state-success-color-primary)}li .list-icon.warning[data-v-f4e70c29]{color:var(--elements-state-warning-color-primary)}li .list-icon.danger[data-v-f4e70c29]{color:var(--elements-state-danger-color-primary)}li .list-icon .icon[data-v-f4e70c29]{height:var(--space-6);width:var(--space-6)} diff --git a/docs/.output/public/_nuxt/List.vue.d5bae865.js b/docs/.output/public/_nuxt/List.vue.d5bae865.js deleted file mode 100644 index 750465b4..00000000 --- a/docs/.output/public/_nuxt/List.vue.d5bae865.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,u as l}from"./DocsAsideTree.08d70919.js";import u from"./ContentSlot.7e1a494f.js";import{f as p,ae as m,h as _,j as e}from"./runtime-core.esm-bundler.6894272a.js";const f={primary:"heroicons-outline:check",info:"heroicons-outline:information-circle",success:"heroicons-outline:check-circle",warning:"heroicons-outline:exclamation",danger:"heroicons-outline:exclamation-circle"},g=p({props:{icon:{type:String,default:null},type:{type:String,default:"primary",validator:n=>["primary","info","success","warning","danger"].includes(n)}},setup(n){const t=m(),{flatUnwrap:i,unwrap:s}=l(),a=_(()=>n.icon||f[n.type]);return()=>{const c=i((t.default&&t.default())??[],["ul"]).map(o=>s(o,["li"]));return e("ul",c.map(o=>e("li",[e("span",{class:`list-icon ${n.type}`},e(r,{name:a.value,class:"icon"})),e("span",e(u,{use:()=>o}))])))}}});export{g as _}; diff --git a/docs/.output/public/_nuxt/Markdown.eb6ef861.js b/docs/.output/public/_nuxt/Markdown.eb6ef861.js deleted file mode 100644 index 923a3a05..00000000 --- a/docs/.output/public/_nuxt/Markdown.eb6ef861.js +++ /dev/null @@ -1 +0,0 @@ -import a from"./ContentSlot.7e1a494f.js";import{f as s,ae as m,h as p,g as i}from"./runtime-core.esm-bundler.6894272a.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";const b=s({name:"Markdown",extends:a,setup(t){const{parent:e}=i(),{between:n,default:r}=m(),o=p(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:r,tags:o,between:n,parent:e}}});export{b as default}; diff --git a/docs/.output/public/_nuxt/MyButton.c36465b2.css b/docs/.output/public/_nuxt/MyButton.c36465b2.css deleted file mode 100644 index 3aff231f..00000000 --- a/docs/.output/public/_nuxt/MyButton.c36465b2.css +++ /dev/null @@ -1 +0,0 @@ -button[data-v-14e24467]{border-radius:4px;color:#000;padding:.5rem}.info[data-v-14e24467]{background-color:#00f}.warning[data-v-14e24467]{background-color:orange}.success[data-v-14e24467]{background-color:#d1fae5;border:1px solid #34d399} diff --git a/docs/.output/public/_nuxt/MyButton.d8f00b03.js b/docs/.output/public/_nuxt/MyButton.d8f00b03.js deleted file mode 100644 index 9733319c..00000000 --- a/docs/.output/public/_nuxt/MyButton.d8f00b03.js +++ /dev/null @@ -1 +0,0 @@ -import r from"./ContentSlot.7e1a494f.js";/* empty css */import{a as s}from"./Container.f1017aa2.js";import{q as a,x as n,G as p,y as m}from"./runtime-core.esm-bundler.6894272a.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";const c={__name:"MyButton",props:{type:{type:String,default:"info"}},setup(t){return(o,i)=>{const e=r;return a(),n("button",{class:m(t.type)},[p(e,{use:o.$slots.default,unwrap:"p"},null,8,["use"])],2)}}},C=s(c,[["__scopeId","data-v-14e24467"]]);export{C as default}; diff --git a/docs/.output/public/_nuxt/NuxtImg.3bab810e.js b/docs/.output/public/_nuxt/NuxtImg.3bab810e.js deleted file mode 100644 index 3b82e616..00000000 --- a/docs/.output/public/_nuxt/NuxtImg.3bab810e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./NuxtImg.vue.594abc77.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./runtime-core.esm-bundler.6894272a.js";export{o as default}; diff --git a/docs/.output/public/_nuxt/NuxtImg.vue.594abc77.js b/docs/.output/public/_nuxt/NuxtImg.vue.594abc77.js deleted file mode 100644 index 7a778868..00000000 --- a/docs/.output/public/_nuxt/NuxtImg.vue.594abc77.js +++ /dev/null @@ -1 +0,0 @@ -import{w as i,b as a}from"./app.config.4114fca6.js";import{f as n,h,j as e}from"./runtime-core.esm-bundler.6894272a.js";const p=n({props:{src:{type:[String,Object],default:null}},setup(s){const r=t=>t&&t.startsWith("/")&&!t.startsWith("//")?i(t,a().app.baseURL):t;return{imgSrc:h(()=>{let t=s.src;try{t=JSON.parse(t)}catch{t=s.src}return typeof t=="string"?r(s.src):{light:r(t.light),dark:r(t.dark)}})}},render({imgSrc:s}){if(typeof s=="string")return e("img",{src:s,...this.$attrs});const r=[];return s.light&&r.push(e("img",{src:s.light,class:["dark-img"],...this.$attrs})),s.dark&&r.push(e("img",{src:s.dark,class:["light-img"],...this.$attrs})),r}});export{p as _}; diff --git a/docs/.output/public/_nuxt/PropInspector.83153412.js b/docs/.output/public/_nuxt/PropInspector.83153412.js deleted file mode 100644 index 43fa1d52..00000000 --- a/docs/.output/public/_nuxt/PropInspector.83153412.js +++ /dev/null @@ -1,4 +0,0 @@ -/* empty css */import{a as e}from"./Container.f1017aa2.js";import{h as a,q as s,x as n,J as o,u as c}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const m={__name:"PropInspector",props:["prop"],setup(r){const p=r,t=a(()=>Array.isArray(p.prop)?"array":typeof p.prop);return(u,i)=>(s(),n("pre",null,"Type: "+o(c(t))+` -Value: -`+o(r.prop)+` - `,1))}},d=e(m,[["__scopeId","data-v-d8c04239"]]);export{d as default}; diff --git a/docs/.output/public/_nuxt/PropInspector.8b357721.css b/docs/.output/public/_nuxt/PropInspector.8b357721.css deleted file mode 100644 index a394b65b..00000000 --- a/docs/.output/public/_nuxt/PropInspector.8b357721.css +++ /dev/null @@ -1 +0,0 @@ -pre[data-v-d8c04239]{border-radius:4px;padding:1rem 1rem 0} diff --git a/docs/.output/public/_nuxt/Props.80a76d3d.js b/docs/.output/public/_nuxt/Props.80a76d3d.js deleted file mode 100644 index 34bd4602..00000000 --- a/docs/.output/public/_nuxt/Props.80a76d3d.js +++ /dev/null @@ -1 +0,0 @@ -import T from"./ProseTh.d24c1b52.js";import $ from"./ProseTr.d0d94723.js";import V from"./ProseThead.40eb8658.js";import g from"./ProseCodeInline.dca1a534.js";import b from"./ProseTd.921f02a8.js";import p from"./ProseTbody.37a7db42.js";import N from"./ProseTable.a85f8bca.js";import"./app.config.4114fca6.js";import{u as R}from"./asyncData.2775b491.js";import{k as F}from"./index.d2b0cb5e.js";import{a as S}from"./Container.f1017aa2.js";import{f as A,h as c,q as a,B as l,C as e,G as r,L as d,D as s,x as J,A as L,F as x,J as m}from"./runtime-core.esm-bundler.6894272a.js";import"./entry.2d43dc03.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./query.c3f7607a.js";const E=A({props:{of:{type:String,default:void 0},required:{type:Boolean,default:void 0},values:{type:Boolean,default:void 0},description:{type:Boolean,default:void 0},default:{type:Boolean,default:void 0}},async setup(t){const k=`/api/component-meta/${F(t.of)}`,{data:h}=await R(t.of,()=>$fetch(k),"$oSoCJtWFoC"),i=c(()=>h.value.props.filter(o=>{var n;return!((n=o.tags)!=null&&n.ignore.includes(o))})),w=c(()=>{var o;return t.required!==void 0?t.required:(o=i.value)==null?void 0:o.find(n=>n.required!==void 0)}),q=c(()=>{var o;return t.values!==void 0?t.values:(o=i.value)==null?void 0:o.find(n=>n.values)}),f=c(()=>{var o;return t.description!==void 0?t.description:(o=i.value)==null?void 0:o.find(n=>n.description)}),y=c(()=>{var o;return t.default!==void 0?t.default:(o=i.value)==null?void 0:o.find(n=>n.default)});return{meta:h,properties:i,showRequired:w,showValues:q,showDescription:f,showDefault:y}}});function G(t,k,h,i,w,q){var v,D,P;const f=T,y=$,o=V,n=g,_=b,B=p,C=N;return t.meta&&((v=t.meta)!=null&&v.props)&&((P=(D=t.meta)==null?void 0:D.props)!=null&&P.length)?(a(),l(C,{key:0},{default:e(()=>[r(o,null,{default:e(()=>[r(y,null,{default:e(()=>[r(f,null,{default:e(()=>[d("Prop")]),_:1}),r(f,null,{default:e(()=>[d("Type")]),_:1}),t.showRequired?(a(),l(f,{key:0},{default:e(()=>[d(" Required ")]),_:1})):s("",!0),t.showDefault?(a(),l(f,{key:1},{default:e(()=>[d(" Default ")]),_:1})):s("",!0),t.showValues?(a(),l(f,{key:2},{default:e(()=>[d(" Values ")]),_:1})):s("",!0),t.showDescription?(a(),l(f,{key:3},{default:e(()=>[d(" Description ")]),_:1})):s("",!0)]),_:1})]),_:1}),r(B,null,{default:e(()=>[(a(!0),J(x,null,L(t.properties,u=>(a(),l(y,{key:u.name},{default:e(()=>[r(_,null,{default:e(()=>[r(n,null,{default:e(()=>[d(m((u==null?void 0:u.name)||"?"),1)]),_:2},1024)]),_:2},1024),r(_,null,{default:e(()=>[r(n,null,{default:e(()=>[d(m((u==null?void 0:u.type)||"?"),1)]),_:2},1024)]),_:2},1024),t.showRequired?(a(),l(_,{key:0},{default:e(()=>[r(n,null,{default:e(()=>[d(m(u.required==="?"?"?":u.required?"Yes":"No"),1)]),_:2},1024)]),_:2},1024)):s("",!0),t.showDefault?(a(),l(_,{key:1},{default:e(()=>[u.default?(a(),l(n,{key:0},{default:e(()=>[d(m((u==null?void 0:u.default)||"?"),1)]),_:2},1024)):s("",!0)]),_:2},1024)):s("",!0),t.showValues?(a(),l(_,{key:2},{default:e(()=>[u.values?(a(),l(n,{key:0},{default:e(()=>[d(m((u==null?void 0:u.values)||"?"),1)]),_:2},1024)):(a(),l(n,{key:1},{default:e(()=>[d(" - ")]),_:1}))]),_:2},1024)):s("",!0),t.showDescription?(a(),l(_,{key:3},{default:e(()=>[r(n,null,{default:e(()=>[d(m(u.description),1)]),_:2},1024)]),_:2},1024)):s("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):s("",!0)}const oe=S(E,[["render",G]]);export{oe as default}; diff --git a/docs/.output/public/_nuxt/ProseA.89c7f0ff.css b/docs/.output/public/_nuxt/ProseA.89c7f0ff.css deleted file mode 100644 index 7e09a3e7..00000000 --- a/docs/.output/public/_nuxt/ProseA.89c7f0ff.css +++ /dev/null @@ -1 +0,0 @@ -a[data-v-9cebe7e3]{border-bottom:var(--prose-a-border-width) var(--prose-a-border-style-static) var(--prose-a-border-color-static);color:var(--prose-a-color-static);font-family:var(--typography-font-body);font-weight:var(--prose-a-fontWeight);padding-bottom:var(--prose-a-border-distance);-webkit-text-decoration:var(--prose-a-textDecoration);text-decoration:var(--prose-a-textDecoration)}a[data-v-9cebe7e3]:hover{border-color:var(--prose-a-border-color-hover);border-style:var(--prose-a-border-style-hover);color:var(--prose-a-color-hover)}a[data-v-9cebe7e3]:has(img){border-width:0}a[data-v-9cebe7e3]:has(code){border-bottom:var(--prose-a-hasCode-borderBottom)}a[data-v-9cebe7e3]:has(code) code{border-color:var(--prose-a-code-border-color-static);border-style:var(--prose-a-code-border-style);border-width:var(--prose-a-code-border-width);color:var(--prose-a-code-color-static)}a[data-v-9cebe7e3]:has(code):hover{border-bottom:var(--prose-a-hasCode-borderBottom)}a[data-v-9cebe7e3]:has(code):hover code{background-color:var(--prose-a-code-background-hover);border-color:var(--prose-a-code-border-color-hover);color:var(--prose-a-code-color-hover)} diff --git a/docs/.output/public/_nuxt/ProseA.c8de8b63.js b/docs/.output/public/_nuxt/ProseA.c8de8b63.js deleted file mode 100644 index eaeb3e51..00000000 --- a/docs/.output/public/_nuxt/ProseA.c8de8b63.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a}from"./app.config.4114fca6.js";import{f as n,q as s,B as r,C as c,P as l}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as f}from"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";const _=n({__name:"ProseA",props:{href:{type:String,default:""},blank:{type:Boolean,default:!1},static:{type:Boolean,default:!1}},setup(t){return(e,i)=>{const o=a;return s(),r(o,{to:t.href,blank:t.blank,static:t.static},{default:c(()=>[l(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","blank","static"])}}}),x=f(_,[["__scopeId","data-v-9cebe7e3"]]);export{x as default}; diff --git a/docs/.output/public/_nuxt/ProseBlockquote.e233c07e.css b/docs/.output/public/_nuxt/ProseBlockquote.e233c07e.css deleted file mode 100644 index a5f5fe42..00000000 --- a/docs/.output/public/_nuxt/ProseBlockquote.e233c07e.css +++ /dev/null @@ -1 +0,0 @@ -blockquote[data-v-dce1efe8]{border-left:var(--prose-blockquote-border-width) var(--prose-blockquote-border-style) var(--prose-blockquote-border-color);color:var(--prose-blockquote-color);font-family:var(--typography-font-body);margin:var(--prose-blockquote-margin);padding:var(--prose-blockquote-padding);quotes:var(--prose-blockquote-quotes)}blockquote p[data-v-dce1efe8]:first-of-type:before,blockquote p[data-v-dce1efe8]:last-of-type:after{content:""} diff --git a/docs/.output/public/_nuxt/ProseBlockquote.ecc3d96f.js b/docs/.output/public/_nuxt/ProseBlockquote.ecc3d96f.js deleted file mode 100644 index ea5ca533..00000000 --- a/docs/.output/public/_nuxt/ProseBlockquote.ecc3d96f.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as o}from"./Container.f1017aa2.js";import{q as t,x as r,P as c}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const n={};function s(e,a){return t(),r("blockquote",null,[c(e.$slots,"default",{},void 0,!0)])}const _=o(n,[["render",s],["__scopeId","data-v-dce1efe8"]]);export{_ as default}; diff --git a/docs/.output/public/_nuxt/ProseCode.2adf04d1.js b/docs/.output/public/_nuxt/ProseCode.2adf04d1.js deleted file mode 100644 index e32588e4..00000000 --- a/docs/.output/public/_nuxt/ProseCode.2adf04d1.js +++ /dev/null @@ -1 +0,0 @@ -import i from"./ProseCodeCopyButton.1eec7dbb.js";import{f as m,r as u,q as n,x as a,J as p,D as d,P as f,G as c,y as g}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as v}from"./Container.f1017aa2.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./index.889aa611.js";const y={key:0,class:"filename"},h=m({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]}},setup(e){const o=u(!1);return(s,t)=>{const r=i;return n(),a("div",{class:g([[`highlight-${e.language}`],"prose-code"]),onMouseenter:t[0]||(t[0]=l=>o.value=!0),onMouseleave:t[1]||(t[1]=l=>o.value=!1)},[e.filename?(n(),a("span",y,p(e.filename),1)):d("",!0),f(s.$slots,"default",{},void 0,!0),c(r,{show:o.value,content:e.code,class:"copy-button"},null,8,["show","content"])],34)}}}),M=v(h,[["__scopeId","data-v-0f086f28"]]);export{M as default}; diff --git a/docs/.output/public/_nuxt/ProseCode.69d80bcc.css b/docs/.output/public/_nuxt/ProseCode.69d80bcc.css deleted file mode 100644 index eb58d397..00000000 --- a/docs/.output/public/_nuxt/ProseCode.69d80bcc.css +++ /dev/null @@ -1 +0,0 @@ -button[data-v-5fa3121e]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radii-sm);margin:8px;opacity:0;padding:8px;transform:scale(.75);transition:all .1s}button.show[data-v-5fa3121e]{opacity:1;transform:scale(1)}button .icon-wrapper[data-v-5fa3121e]{display:block;height:18px;position:relative;width:18px}button .icon-wrapper .icon[data-v-5fa3121e]{display:block;position:absolute}button .icon-wrapper .fade-enter-active[data-v-5fa3121e],button .icon-wrapper .fade-leave-active[data-v-5fa3121e]{transition:opacity .2s}button .icon-wrapper .fade-enter-from[data-v-5fa3121e],button .icon-wrapper .fade-leave-to[data-v-5fa3121e]{opacity:0}.prose-code[data-v-0f086f28]{background-color:var(--prose-code-block-backgroundColor);border-color:var(--prose-code-block-border-color);border-radius:var(--radii-md);border-style:var(--prose-code-block-border-style);border-width:var(--prose-code-block-border-width);color:var(--prose-code-block-color);font-size:var(--prose-code-block-fontSize);margin:var(--prose-code-block-margin);overflow:hidden;position:relative;width:100%}.prose-code.highlight-bash[data-v-0f086f28] code .line,.prose-code.highlight-sh[data-v-0f086f28] code .line,.prose-code.highlight-shell[data-v-0f086f28] code .line,.prose-code.highlight-shellscript[data-v-0f086f28] code .line,.prose-code.highlight-zsh[data-v-0f086f28] code .line{padding-left:1rem;position:relative}.prose-code.highlight-bash[data-v-0f086f28] code .line:before,.prose-code.highlight-sh[data-v-0f086f28] code .line:before,.prose-code.highlight-shell[data-v-0f086f28] code .line:before,.prose-code.highlight-shellscript[data-v-0f086f28] code .line:before,.prose-code.highlight-zsh[data-v-0f086f28] code .line:before{color:var(--typography-color-primary-500);content:">";display:block;font-family:var(--font-mono);font-weight:700;left:-.1rem;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.copy-button[data-v-0f086f28]{bottom:0;position:absolute;right:0}[data-v-0f086f28] code{display:flex;flex-direction:column}[data-v-0f086f28] .line{display:inline-table;min-height:1rem}.filename[data-v-0f086f28]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radii-lg);color:var(--prose-code-block-color);font-family:var(--typography-font-code);font-size:var(--fontSize-xs);line-height:var(--lead-normal);padding:.5rem .75rem;position:absolute;right:0;top:0;transition:opacity .2s}.prose-code:hover .filename[data-v-0f086f28]{opacity:0}.prose-code:hover .filename[data-v-0f086f28]:hover{opacity:1}[data-v-0f086f28] pre{display:flex;flex:1;line-height:var(--lead-relaxed);margin:0;overflow-x:auto;padding:var(--prose-code-block-pre-padding)}[data-v-0f086f28] pre code{padding-right:30px}[data-v-0f086f28] .line.highlight{background-color:var(--prose-code-block-border-color)} diff --git a/docs/.output/public/_nuxt/ProseCodeCopyButton.1eec7dbb.js b/docs/.output/public/_nuxt/ProseCodeCopyButton.1eec7dbb.js deleted file mode 100644 index e1cd1086..00000000 --- a/docs/.output/public/_nuxt/ProseCodeCopyButton.1eec7dbb.js +++ /dev/null @@ -1 +0,0 @@ -import{T as f,_ as y}from"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import{e as C}from"./useDocus.edcbeab5.js";import{u as h}from"./index.889aa611.js";import{f as B,r as w,q as t,x,E as l,G as k,C as v,B as r,u as i,y as b,M as I,N as S}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as T}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";const z=o=>(I("data-v-5fa3121e"),o=o(),S(),o),N=z(()=>l("span",{class:"sr-only"},"Copy to clipboard",-1)),g={class:"icon-wrapper"},E=B({__name:"ProseCodeCopyButton",props:{content:{type:String,default:""},show:{type:Boolean,default:!1}},setup(o){const m=o,{copy:d}=h(),{prose:a}=C(),e=w("init"),u=_=>{d(m.content).then(()=>{e.value="copied",setTimeout(()=>{e.value="init"},1e3)}).catch(s=>{console.warn("Couldn't copy to clipboard!",s)})};return(_,s)=>{const n=y;return t(),x("button",{class:b([(o.show||e.value==="copied")&&"show"]),onClick:u},[N,l("span",g,[k(f,{name:"fade"},{default:v(()=>{var c,p;return[e.value==="copied"?(t(),r(n,{key:0,name:(c=i(a).copyButton)==null?void 0:c.iconCopied,size:"18",class:"copied"},null,8,["name"])):(t(),r(n,{key:1,name:(p=i(a).copyButton)==null?void 0:p.iconCopy,size:"18"},null,8,["name"]))]}),_:1})])],2)}}}),F=T(E,[["__scopeId","data-v-5fa3121e"]]);export{F as default}; diff --git a/docs/.output/public/_nuxt/ProseCodeInline.aab68857.css b/docs/.output/public/_nuxt/ProseCodeInline.aab68857.css deleted file mode 100644 index 01cfee5b..00000000 --- a/docs/.output/public/_nuxt/ProseCodeInline.aab68857.css +++ /dev/null @@ -1 +0,0 @@ -code[data-v-924acf67]{background-color:var(--prose-code-inline-backgroundColor);border-radius:var(--prose-code-inline-borderRadius);color:var(--prose-code-inline-color);font-family:var(--typography-font-code);font-size:var(--prose-code-inline-fontSize);font-weight:var(--prose-code-inline-fontWeight);padding:var(--prose-code-inline-padding)}tbody code[data-v-924acf67]{font-size:var(--prose-tbody-code-inline-fontSize)}h1 a code[data-v-924acf67],h2 a code[data-v-924acf67],h3 a code[data-v-924acf67],h4 a code[data-v-924acf67],h5 a code[data-v-924acf67],h6 a code[data-v-924acf67]{border-radius:var(--prose-code-inline-borderRadius);color:inherit;font-size:.777777em;padding:.15em .5em} diff --git a/docs/.output/public/_nuxt/ProseCodeInline.dca1a534.js b/docs/.output/public/_nuxt/ProseCodeInline.dca1a534.js deleted file mode 100644 index 25ca82a8..00000000 --- a/docs/.output/public/_nuxt/ProseCodeInline.dca1a534.js +++ /dev/null @@ -1 +0,0 @@ -import{a as o}from"./Container.f1017aa2.js";import{q as t,x as _,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const r={};function c(e,s){return t(),_("code",null,[n(e.$slots,"default",{},void 0,!0)])}const l=o(r,[["render",c],["__scopeId","data-v-924acf67"]]);export{l as default}; diff --git a/docs/.output/public/_nuxt/ProseEm.35693543.js b/docs/.output/public/_nuxt/ProseEm.35693543.js deleted file mode 100644 index 862cff9b..00000000 --- a/docs/.output/public/_nuxt/ProseEm.35693543.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as r}from"./Container.f1017aa2.js";import{q as o,x as t,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={};function a(e,c){return o(),t("em",null,[n(e.$slots,"default",{},void 0,!0)])}const _=r(s,[["render",a],["__scopeId","data-v-b3b2ffd9"]]);export{_ as default}; diff --git a/docs/.output/public/_nuxt/ProseH1.e8ed25c4.css b/docs/.output/public/_nuxt/ProseH1.e8ed25c4.css deleted file mode 100644 index bf779e79..00000000 --- a/docs/.output/public/_nuxt/ProseH1.e8ed25c4.css +++ /dev/null @@ -1 +0,0 @@ -h1[data-v-d187dd3d]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h1-fontSize);font-weight:var(--prose-h1-fontWeight);letter-spacing:var(--prose-h1-letterSpacing);line-height:var(--prose-h1-lineHeight);margin:var(--prose-h1-margin)}h1[data-v-d187dd3d] .icon{display:inline-block;height:var(--prose-h1-iconSize);margin-left:12px;opacity:0;transition:opacity .1s;width:var(--prose-h1-iconSize)}h1 a[data-v-d187dd3d]:hover .icon{opacity:1} diff --git a/docs/.output/public/_nuxt/ProseH1.ee507e45.js b/docs/.output/public/_nuxt/ProseH1.ee507e45.js deleted file mode 100644 index 6678ca19..00000000 --- a/docs/.output/public/_nuxt/ProseH1.ee507e45.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as d}from"./DocsAsideTree.08d70919.js";import{_ as u}from"./app.config.4114fca6.js";import{e as f}from"./useDocus.edcbeab5.js";import{f as p,h as a,q as c,x as l,G as h,C as x,P as k,u as s,B as C,D as B}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as g}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";const I=["id"],N=p({__name:"ProseH1",props:{id:null},setup(e){const{prose:o}=f(),i=a(()=>{var t,n;return((t=o==null?void 0:o.h1)==null?void 0:t.icon)&&((n=o==null?void 0:o.headings)==null?void 0:n.icon)}),m=a(()=>{var t,n;return((t=o==null?void 0:o.h1)==null?void 0:t.icon)||((n=o==null?void 0:o.headings)==null?void 0:n.icon)});return(t,n)=>{const r=d,_=u;return c(),l("h1",{id:e.id},[h(_,{href:`#${e.id}`},{default:x(()=>[k(t.$slots,"default",{},void 0,!0),s(i)?(c(),C(r,{key:0,name:s(m)},null,8,["name"])):B("",!0)]),_:3},8,["href"])],8,I)}}}),A=g(N,[["__scopeId","data-v-d187dd3d"]]);export{A as default}; diff --git a/docs/.output/public/_nuxt/ProseH2.36291d6d.js b/docs/.output/public/_nuxt/ProseH2.36291d6d.js deleted file mode 100644 index e4f264c5..00000000 --- a/docs/.output/public/_nuxt/ProseH2.36291d6d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as d}from"./DocsAsideTree.08d70919.js";import{_ as f}from"./app.config.4114fca6.js";import{e as u}from"./useDocus.edcbeab5.js";import{f as p,h as c,q as a,x as l,G as h,C as x,P as k,u as s,B as C,D as B}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as g}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";const I=["id"],N=p({__name:"ProseH2",props:{id:null},setup(e){const{prose:o}=u(),i=c(()=>{var t,n;return((t=o==null?void 0:o.h2)==null?void 0:t.icon)&&((n=o==null?void 0:o.headings)==null?void 0:n.icon)}),m=c(()=>{var t,n;return((t=o==null?void 0:o.h2)==null?void 0:t.icon)||((n=o==null?void 0:o.headings)==null?void 0:n.icon)});return(t,n)=>{const r=d,_=f;return a(),l("h2",{id:e.id},[h(_,{href:`#${e.id}`},{default:x(()=>[k(t.$slots,"default",{},void 0,!0),s(i)?(a(),C(r,{key:0,name:s(m)},null,8,["name"])):B("",!0)]),_:3},8,["href"])],8,I)}}}),A=g(N,[["__scopeId","data-v-273f00cc"]]);export{A as default}; diff --git a/docs/.output/public/_nuxt/ProseH2.39cb29c9.css b/docs/.output/public/_nuxt/ProseH2.39cb29c9.css deleted file mode 100644 index feeb94f8..00000000 --- a/docs/.output/public/_nuxt/ProseH2.39cb29c9.css +++ /dev/null @@ -1 +0,0 @@ -h2[data-v-273f00cc]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h2-fontSize);font-weight:var(--prose-h2-fontWeight);letter-spacing:var(--prose-h2-letterSpacing);line-height:var(--prose-h2-lineHeight);margin:var(--prose-h2-margin)}h2[data-v-273f00cc] .icon{display:inline-block;height:var(--prose-h2-iconSize);margin-left:12px;opacity:0;transition:opacity .1s;width:var(--prose-h2-iconSize)}h2 a[data-v-273f00cc]:hover .icon{opacity:1} diff --git a/docs/.output/public/_nuxt/ProseH3.0209a6ec.js b/docs/.output/public/_nuxt/ProseH3.0209a6ec.js deleted file mode 100644 index c917ec18..00000000 --- a/docs/.output/public/_nuxt/ProseH3.0209a6ec.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as d}from"./DocsAsideTree.08d70919.js";import{_ as u}from"./app.config.4114fca6.js";import{e as f}from"./useDocus.edcbeab5.js";import{f as p,h as a,q as c,x as l,G as h,C as x,P as k,u as s,B as C,D as B}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as g}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";const I=["id"],N=p({__name:"ProseH3",props:{id:null},setup(e){const{prose:o}=f(),i=a(()=>{var t,n;return((t=o==null?void 0:o.h3)==null?void 0:t.icon)&&((n=o==null?void 0:o.headings)==null?void 0:n.icon)}),m=a(()=>{var t,n;return((t=o==null?void 0:o.h3)==null?void 0:t.icon)||((n=o==null?void 0:o.headings)==null?void 0:n.icon)});return(t,n)=>{const r=d,_=u;return c(),l("h3",{id:e.id},[h(_,{href:`#${e.id}`},{default:x(()=>[k(t.$slots,"default",{},void 0,!0),s(i)?(c(),C(r,{key:0,name:s(m)},null,8,["name"])):B("",!0)]),_:3},8,["href"])],8,I)}}}),A=g(N,[["__scopeId","data-v-c013d38e"]]);export{A as default}; diff --git a/docs/.output/public/_nuxt/ProseH3.185f3970.css b/docs/.output/public/_nuxt/ProseH3.185f3970.css deleted file mode 100644 index 542447a5..00000000 --- a/docs/.output/public/_nuxt/ProseH3.185f3970.css +++ /dev/null @@ -1 +0,0 @@ -h3[data-v-c013d38e]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h3-fontSize);font-weight:var(--prose-h3-fontWeight);letter-spacing:var(--prose-h3-letterSpacing);line-height:var(--prose-h3-lineHeight);margin:var(--prose-h3-margin)}h3[data-v-c013d38e] .icon{display:inline-block;height:var(--prose-h3-iconSize);margin-left:12px;opacity:0;transition:opacity .1s;width:var(--prose-h3-iconSize)}h3 a[data-v-c013d38e]:hover .icon{opacity:1} diff --git a/docs/.output/public/_nuxt/ProseH4.4ddfc0da.js b/docs/.output/public/_nuxt/ProseH4.4ddfc0da.js deleted file mode 100644 index 7f9f9340..00000000 --- a/docs/.output/public/_nuxt/ProseH4.4ddfc0da.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as d}from"./DocsAsideTree.08d70919.js";import{_ as u}from"./app.config.4114fca6.js";import{e as f}from"./useDocus.edcbeab5.js";import{f as p,h as a,q as _,x as l,G as h,C as x,P as k,u as c,B as C,D as g}from"./runtime-core.esm-bundler.6894272a.js";import{a as v}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";const B=["id"],$=p({__name:"ProseH4",props:{id:null},setup(n){const{prose:e}=f(),s=a(()=>{var o,t;return((o=e==null?void 0:e.h4)==null?void 0:o.icon)&&((t=e==null?void 0:e.headings)==null?void 0:t.icon)}),i=a(()=>{var o,t;return((o=e==null?void 0:e.h4)==null?void 0:o.icon)||((t=e==null?void 0:e.headings)==null?void 0:t.icon)});return(o,t)=>{const m=d,r=u;return _(),l("h4",{id:n.id},[h(r,{href:`#${n.id}`},{default:x(()=>[k(o.$slots,"default",{},void 0,!0),c(s)?(_(),C(m,{key:0,name:c(i)},null,8,["name"])):g("",!0)]),_:3},8,["href"])],8,B)}}});const w=v($,[["__scopeId","data-v-1e5a0afd"]]);export{w as default}; diff --git a/docs/.output/public/_nuxt/ProseH4.63359073.css b/docs/.output/public/_nuxt/ProseH4.63359073.css deleted file mode 100644 index d051cb17..00000000 --- a/docs/.output/public/_nuxt/ProseH4.63359073.css +++ /dev/null @@ -1 +0,0 @@ -h4[data-v-1e5a0afd]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h4-fontSize);font-weight:var(--prose-h4-fontWeight);letter-spacing:var(--prose-h4-letterSpacing);line-height:var(--prose-h4-lineHeight);margin:var(--prose-h4-margin)}h4[data-v-1e5a0afd] .icon{display:inline-block;height:var(--prose-h4-iconSize);margin-left:10px;opacity:0;transition:opacity .1s;width:var(--prose-h4-iconSize)}h4 a[data-v-1e5a0afd]:hover .icon{opacity:1} diff --git a/docs/.output/public/_nuxt/ProseH5.85b0a165.css b/docs/.output/public/_nuxt/ProseH5.85b0a165.css deleted file mode 100644 index d09d35e3..00000000 --- a/docs/.output/public/_nuxt/ProseH5.85b0a165.css +++ /dev/null @@ -1 +0,0 @@ -h5[data-v-35e434df]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h5-fontSize);font-weight:var(--prose-h5-fontWeight);line-height:var(--prose-h5-lineHeight);margin:var(--prose-h5-margin)}h5[data-v-35e434df] .icon{display:inline-block;height:var(--prose-h5-iconSize);margin-left:8px;opacity:0;transition:opacity .1s;width:var(--prose-h5-iconSize)}h5 a[data-v-35e434df]:hover .icon{opacity:1} diff --git a/docs/.output/public/_nuxt/ProseH5.fd3b0c88.js b/docs/.output/public/_nuxt/ProseH5.fd3b0c88.js deleted file mode 100644 index 3142b3ed..00000000 --- a/docs/.output/public/_nuxt/ProseH5.fd3b0c88.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as d}from"./DocsAsideTree.08d70919.js";import{_ as f}from"./app.config.4114fca6.js";import{e as u}from"./useDocus.edcbeab5.js";import{f as p,h as a,q as c,x as l,G as h,C as x,P as k,u as s,B as C,D as B}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as g}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";const I=["id"],N=p({__name:"ProseH5",props:{id:null},setup(e){const{prose:o}=u(),i=a(()=>{var t,n;return((t=o==null?void 0:o.h5)==null?void 0:t.icon)&&((n=o==null?void 0:o.headings)==null?void 0:n.icon)}),m=a(()=>{var t,n;return((t=o==null?void 0:o.h5)==null?void 0:t.icon)||((n=o==null?void 0:o.headings)==null?void 0:n.icon)});return(t,n)=>{const r=d,_=f;return c(),l("h5",{id:e.id},[h(_,{href:`#${e.id}`},{default:x(()=>[k(t.$slots,"default",{},void 0,!0),s(i)?(c(),C(r,{key:0,name:s(m)},null,8,["name"])):B("",!0)]),_:3},8,["href"])],8,I)}}}),A=g(N,[["__scopeId","data-v-35e434df"]]);export{A as default}; diff --git a/docs/.output/public/_nuxt/ProseH6.c2012c78.js b/docs/.output/public/_nuxt/ProseH6.c2012c78.js deleted file mode 100644 index 88163acd..00000000 --- a/docs/.output/public/_nuxt/ProseH6.c2012c78.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as d}from"./DocsAsideTree.08d70919.js";import{_ as f}from"./app.config.4114fca6.js";import{e as u}from"./useDocus.edcbeab5.js";import{f as p,h as a,q as c,x as l,G as h,C as x,P as k,u as s,B as C,D as B}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as g}from"./Container.f1017aa2.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";const I=["id"],N=p({__name:"ProseH6",props:{id:null},setup(e){const{prose:o}=u(),i=a(()=>{var t,n;return((t=o==null?void 0:o.h6)==null?void 0:t.icon)&&((n=o==null?void 0:o.headings)==null?void 0:n.icon)}),m=a(()=>{var t,n;return((t=o==null?void 0:o.h6)==null?void 0:t.icon)||((n=o==null?void 0:o.headings)==null?void 0:n.icon)});return(t,n)=>{const r=d,_=f;return c(),l("h6",{id:e.id},[h(_,{href:`#${e.id}`},{default:x(()=>[k(t.$slots,"default",{},void 0,!0),s(i)?(c(),C(r,{key:0,name:s(m)},null,8,["name"])):B("",!0)]),_:3},8,["href"])],8,I)}}}),y=g(N,[["__scopeId","data-v-dfc5fb9b"]]);export{y as default}; diff --git a/docs/.output/public/_nuxt/ProseH6.c7358255.css b/docs/.output/public/_nuxt/ProseH6.c7358255.css deleted file mode 100644 index 3588955a..00000000 --- a/docs/.output/public/_nuxt/ProseH6.c7358255.css +++ /dev/null @@ -1 +0,0 @@ -h6[data-v-dfc5fb9b]{display:block;font-family:var(--typography-font-display);font-size:var(--prose-h6-fontSize);font-weight:var(--prose-h6-fontWeight);line-height:var(--prose-h6-lineHeight);margin:var(--prose-h6-margin)}h6[data-v-dfc5fb9b] .icon{display:inline-block;height:var(--prose-h6-iconSize);margin-left:8px;opacity:0;transition:opacity .1s;width:var(--prose-h6-iconSize)}h6 a[data-v-dfc5fb9b]:hover .icon{opacity:1} diff --git a/docs/.output/public/_nuxt/ProseHr.75e3ac21.js b/docs/.output/public/_nuxt/ProseHr.75e3ac21.js deleted file mode 100644 index 8ee46d51..00000000 --- a/docs/.output/public/_nuxt/ProseHr.75e3ac21.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as r}from"./Container.f1017aa2.js";import{q as e,x as o}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const t={};function c(a,s){return e(),o("hr")}const d=r(t,[["render",c],["__scopeId","data-v-89dedb08"]]);export{d as default}; diff --git a/docs/.output/public/_nuxt/ProseImg.ff3b8d7e.js b/docs/.output/public/_nuxt/ProseImg.ff3b8d7e.js deleted file mode 100644 index 3ce86d1d..00000000 --- a/docs/.output/public/_nuxt/ProseImg.ff3b8d7e.js +++ /dev/null @@ -1 +0,0 @@ -import{w as a,b as i}from"./app.config.4114fca6.js";import{f as o,h as n,q as c,x as m,ai as h,u}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as d}from"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";const f=["src","alt","width","height"],p=o({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(t){const e=t,s=n(()=>{var r;return(r=e.src)!=null&&r.startsWith("/")&&!e.src.startsWith("//")?a(e.src,i().app.baseURL):e.src});return(r,l)=>(c(),m("img",h(r.$attrs,{src:u(s),alt:t.alt,width:t.width,height:t.height}),null,16,f))}}),y=d(p,[["__scopeId","data-v-2ef15301"]]);export{y as default}; diff --git a/docs/.output/public/_nuxt/ProseLi.171f9b22.js b/docs/.output/public/_nuxt/ProseLi.171f9b22.js deleted file mode 100644 index 53cac91c..00000000 --- a/docs/.output/public/_nuxt/ProseLi.171f9b22.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as r}from"./Container.f1017aa2.js";import{q as o,x as t,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={};function a(e,c){return o(),t("li",null,[n(e.$slots,"default",{},void 0,!0)])}const _=r(s,[["render",a],["__scopeId","data-v-4c2f5fb9"]]);export{_ as default}; diff --git a/docs/.output/public/_nuxt/ProseOl.8e9d7d6a.js b/docs/.output/public/_nuxt/ProseOl.8e9d7d6a.js deleted file mode 100644 index f441ab27..00000000 --- a/docs/.output/public/_nuxt/ProseOl.8e9d7d6a.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as o}from"./Container.f1017aa2.js";import{q as r,x as t,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={};function a(e,c){return r(),t("ol",null,[n(e.$slots,"default",{},void 0,!0)])}const m=o(s,[["render",a],["__scopeId","data-v-3f2b1bed"]]);export{m as default}; diff --git a/docs/.output/public/_nuxt/ProseOl.d78cb0de.css b/docs/.output/public/_nuxt/ProseOl.d78cb0de.css deleted file mode 100644 index 5428d0db..00000000 --- a/docs/.output/public/_nuxt/ProseOl.d78cb0de.css +++ /dev/null @@ -1 +0,0 @@ -ol[data-v-3f2b1bed]{font-family:var(--typography-font-body);list-style-type:var(--prose-ol-listStyleType);margin:var(--prose-ol-margin);padding:var(--prose-ol-padding)}ol[data-v-3f2b1bed]>li::marker{color:var(--prose-ol-li-markerColor)}ol[data-v-3f2b1bed]>li ol,ol[data-v-3f2b1bed]>li ul{margin:0} diff --git a/docs/.output/public/_nuxt/ProseP.9fd9b629.js b/docs/.output/public/_nuxt/ProseP.9fd9b629.js deleted file mode 100644 index e1c4d7a0..00000000 --- a/docs/.output/public/_nuxt/ProseP.9fd9b629.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as _,x as o,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const r={};function c(e,s){return _(),o("p",null,[n(e.$slots,"default",{},void 0,!0)])}const p=t(r,[["render",c],["__scopeId","data-v-9dc9c102"]]);export{p as default}; diff --git a/docs/.output/public/_nuxt/ProseStrong.3de7628e.js b/docs/.output/public/_nuxt/ProseStrong.3de7628e.js deleted file mode 100644 index ff638bde..00000000 --- a/docs/.output/public/_nuxt/ProseStrong.3de7628e.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as r}from"./Container.f1017aa2.js";import{q as o,x as t,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={};function a(e,c){return o(),t("strong",null,[n(e.$slots,"default",{},void 0,!0)])}const m=r(s,[["render",a],["__scopeId","data-v-84b57b07"]]);export{m as default}; diff --git a/docs/.output/public/_nuxt/ProseTable.a85f8bca.js b/docs/.output/public/_nuxt/ProseTable.a85f8bca.js deleted file mode 100644 index 77edd06d..00000000 --- a/docs/.output/public/_nuxt/ProseTable.a85f8bca.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as _,x as o,E as r,P as s}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const a={},n={class:"table-wrapper"};function c(e,d){return _(),o("div",n,[r("table",null,[s(e.$slots,"default",{},void 0,!0)])])}const u=t(a,[["render",c],["__scopeId","data-v-78f198db"]]);export{u as default}; diff --git a/docs/.output/public/_nuxt/ProseTbody.37a7db42.js b/docs/.output/public/_nuxt/ProseTbody.37a7db42.js deleted file mode 100644 index 789123f9..00000000 --- a/docs/.output/public/_nuxt/ProseTbody.37a7db42.js +++ /dev/null @@ -1 +0,0 @@ -import{a as o}from"./Container.f1017aa2.js";import{q as t,x as r,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const c={};function s(e,a){return t(),r("tbody",null,[n(e.$slots,"default")])}const m=o(c,[["render",s]]);export{m as default}; diff --git a/docs/.output/public/_nuxt/ProseTd.4df19d93.css b/docs/.output/public/_nuxt/ProseTd.4df19d93.css deleted file mode 100644 index d2bf2dea..00000000 --- a/docs/.output/public/_nuxt/ProseTd.4df19d93.css +++ /dev/null @@ -1 +0,0 @@ -tbody td[data-v-281e7d4a]{font-family:var(--typography-font-body);padding:var(--prose-tbody-td-padding)}tbody td[data-v-281e7d4a]:first-child{padding-left:0}tbody td[data-v-281e7d4a]:last-child{padding-right:0} diff --git a/docs/.output/public/_nuxt/ProseTd.921f02a8.js b/docs/.output/public/_nuxt/ProseTd.921f02a8.js deleted file mode 100644 index 7af1dd2c..00000000 --- a/docs/.output/public/_nuxt/ProseTd.921f02a8.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as _,x as o,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const r={};function s(e,a){return _(),o("td",null,[n(e.$slots,"default",{},void 0,!0)])}const u=t(r,[["render",s],["__scopeId","data-v-281e7d4a"]]);export{u as default}; diff --git a/docs/.output/public/_nuxt/ProseTh.348cb47e.css b/docs/.output/public/_nuxt/ProseTh.348cb47e.css deleted file mode 100644 index 68597791..00000000 --- a/docs/.output/public/_nuxt/ProseTh.348cb47e.css +++ /dev/null @@ -1 +0,0 @@ -th[data-v-269b758d]{color:var(--prose-th-color);font-family:var(--typography-font-display);font-weight:var(--prose-th-fontWeight);padding:var(--prose-th-padding)}th[data-v-269b758d]:first-child{padding-left:0}th[data-v-269b758d]:last-child{padding-right:0} diff --git a/docs/.output/public/_nuxt/ProseTh.d24c1b52.js b/docs/.output/public/_nuxt/ProseTh.d24c1b52.js deleted file mode 100644 index efc54507..00000000 --- a/docs/.output/public/_nuxt/ProseTh.d24c1b52.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as _,x as o,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const r={};function s(e,a){return _(),o("th",null,[n(e.$slots,"default",{},void 0,!0)])}const u=t(r,[["render",s],["__scopeId","data-v-269b758d"]]);export{u as default}; diff --git a/docs/.output/public/_nuxt/ProseThead.40eb8658.js b/docs/.output/public/_nuxt/ProseThead.40eb8658.js deleted file mode 100644 index 6dba7e05..00000000 --- a/docs/.output/public/_nuxt/ProseThead.40eb8658.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as _,x as o,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const r={};function a(e,s){return _(),o("thead",null,[n(e.$slots,"default",{},void 0,!0)])}const u=t(r,[["render",a],["__scopeId","data-v-81e7d1ab"]]);export{u as default}; diff --git a/docs/.output/public/_nuxt/ProseThead.65d34604.css b/docs/.output/public/_nuxt/ProseThead.65d34604.css deleted file mode 100644 index 80814bbc..00000000 --- a/docs/.output/public/_nuxt/ProseThead.65d34604.css +++ /dev/null @@ -1 +0,0 @@ -thead[data-v-81e7d1ab]{border-color:var(--prose-thead-border-color);border-bottom-color:var(--prose-thead-borderBottom-color);border-style:var(--prose-thead-border-style);border-bottom-style:var(--prose-thead-borderBottom-style);border-width:var(--prose-thead-border-width);border-bottom:var(--prose-thead-borderBottom-width);font-family:var(--typography-font-display)} diff --git a/docs/.output/public/_nuxt/ProseTr.d0d94723.js b/docs/.output/public/_nuxt/ProseTr.d0d94723.js deleted file mode 100644 index 6dc3f064..00000000 --- a/docs/.output/public/_nuxt/ProseTr.d0d94723.js +++ /dev/null @@ -1 +0,0 @@ -import{a as t}from"./Container.f1017aa2.js";import{q as _,x as r,P as o}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const a={};function n(e,s){return _(),r("tr",null,[o(e.$slots,"default",{},void 0,!0)])}const u=t(a,[["render",n],["__scopeId","data-v-759aaa1b"]]);export{u as default}; diff --git a/docs/.output/public/_nuxt/ProseUl.5ba8de5b.js b/docs/.output/public/_nuxt/ProseUl.5ba8de5b.js deleted file mode 100644 index ef42cc2d..00000000 --- a/docs/.output/public/_nuxt/ProseUl.5ba8de5b.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{a as r}from"./Container.f1017aa2.js";import{q as o,x as t,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const s={};function a(e,c){return o(),t("ul",null,[n(e.$slots,"default",{},void 0,!0)])}const m=r(s,[["render",a],["__scopeId","data-v-bb83f3b0"]]);export{m as default}; diff --git a/docs/.output/public/_nuxt/ProseUl.85b434de.css b/docs/.output/public/_nuxt/ProseUl.85b434de.css deleted file mode 100644 index 40df9bb0..00000000 --- a/docs/.output/public/_nuxt/ProseUl.85b434de.css +++ /dev/null @@ -1 +0,0 @@ -ul[data-v-bb83f3b0]{font-family:var(--typography-font-body);list-style-type:var(--prose-ul-listStyleType);margin:var(--prose-ul-margin);padding:var(--prose-ul-padding)}ul[data-v-bb83f3b0]>li::marker{color:var(--prose-ul-li-markerColor)}ul[data-v-bb83f3b0]>li ol,ul[data-v-bb83f3b0]>li ul{margin:0} diff --git a/docs/.output/public/_nuxt/ReadMore.bd9c6b06.js b/docs/.output/public/_nuxt/ReadMore.bd9c6b06.js deleted file mode 100644 index 0fa9f8d8..00000000 --- a/docs/.output/public/_nuxt/ReadMore.bd9c6b06.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as l}from"./DocsAsideTree.08d70919.js";import{_ as u}from"./app.config.4114fca6.js";import d from"./Alert.443f6167.js";import{s as f,u as x}from"./index.d2b0cb5e.js";import{f as k,h as B,q as h,B as y,C as p,G as s,L as o,J as C,u as g}from"./runtime-core.esm-bundler.6894272a.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./ContentSlot.7e1a494f.js";/* empty css */const V=k({__name:"ReadMore",props:{link:{type:String,required:!0},title:{type:String,required:!1,default:void 0}},setup(n){const r=n,m=(i,a)=>i||a.split("/").filter(Boolean).map(t=>f(t).map(e=>x(e)).join(" ")).join(" > ").replace("Api","API"),c=B(()=>m(r.title,r.link));return(i,a)=>{const t=l,e=u,_=d;return h(),y(_,null,{default:p(()=>[s(t,{name:"heroicons-outline:window"}),o(" Read more in "),s(e,{to:n.link},{default:p(()=>[o(C(g(c)),1)]),_:1},8,["to"]),o(". ")]),_:1})}}});export{V as default}; diff --git a/docs/.output/public/_nuxt/Sandbox.21a025fb.js b/docs/.output/public/_nuxt/Sandbox.21a025fb.js deleted file mode 100644 index 117244ba..00000000 --- a/docs/.output/public/_nuxt/Sandbox.21a025fb.js +++ /dev/null @@ -1 +0,0 @@ -import _ from"./TabsHeader.f80c17f8.js";import{u as x}from"./entry.2d43dc03.js";import{f as h,r as s,h as g,O as S,q as n,x as l,B as k,u as c,D as y}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as $}from"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./query.c3f7607a.js";const w={class:"sandbox"},B=["src"],C={key:2},I=h({__name:"Sandbox",props:{src:{type:String,default:""},repo:{type:String,default:""},branch:{type:String,default:""},dir:{type:String,default:""},file:{type:String,default:"app.vue"}},setup(i){const t=i,p=x(),r={CodeSandBox:()=>`https://codesandbox.io/embed/github/${t.repo}/tree/${t.branch}/${t.dir}?hidenavigation=1&theme=${p.value}`,StackBlitz:()=>`https://stackblitz.com/github/${t.repo}/tree/${t.branch}/${t.dir}?embed=1&file=${t.file}&theme=${p.value}`},m=Object.keys(r).map(e=>({label:e})),d=s(-1),u=s(),o=s(""),a=s(""),b=e=>{a.value=e,o.value=t.src||r[a.value](),localStorage.setItem("docus_sandbox",e)};g(()=>{var e;return(e=o.value)==null?void 0:e.replace("?embed=1&","?").replace("/embed/","/s/")});const f=e=>{d.value=e,b(m[e].label)};return S(()=>{a.value=window.localStorage.getItem("docus_sandbox")||"CodeSandBox",o.value=t.src||r[a.value](),d.value=Object.keys(r).indexOf(a.value)}),(e,T)=>{const v=_;return n(),l("div",w,[i.src?y("",!0):(n(),k(v,{key:0,ref_key:"tabs",ref:u,"active-tab-index":c(d),tabs:c(m),"onUpdate:activeTabIndex":f},null,8,["active-tab-index","tabs"])),c(o)?(n(),l("iframe",{key:1,src:c(o),title:"Sandbox editor",sandbox:"allow-modals allow-forms allow-popups allow-scripts allow-same-origin"},null,8,B)):(n(),l("span",C,"Loading Sandbox..."))])}}}),U=$(I,[["__scopeId","data-v-90b7615f"]]);export{U as default}; diff --git a/docs/.output/public/_nuxt/SourceLink.8b39af38.js b/docs/.output/public/_nuxt/SourceLink.8b39af38.js deleted file mode 100644 index f1ae803c..00000000 --- a/docs/.output/public/_nuxt/SourceLink.8b39af38.js +++ /dev/null @@ -1 +0,0 @@ -import e from"./ProseP.9fd9b629.js";import{f as r,q as t,B as n}from"./runtime-core.esm-bundler.6894272a.js";import"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";const u=r({__name:"SourceLink",props:{source:{type:String,required:!0}},setup(p){return(_,c)=>{const o=e;return t(),n(o)}}});export{u as default}; diff --git a/docs/.output/public/_nuxt/TabsHeader.f80c17f8.js b/docs/.output/public/_nuxt/TabsHeader.f80c17f8.js deleted file mode 100644 index 547e34cc..00000000 --- a/docs/.output/public/_nuxt/TabsHeader.f80c17f8.js +++ /dev/null @@ -1 +0,0 @@ -import{f as m,r as l,a as b,q as a,x as s,F as v,A as x,E as u,D as y,P as g,y as k,J as I,M as T,N as C,n as S}from"./runtime-core.esm-bundler.6894272a.js";import{a as $}from"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";const N=t=>(T("data-v-fa060d5c"),t=t(),C(),t),q={class:"tabs-header"},w=["onClick"],B=N(()=>u("span",{class:"tab"},null,-1)),H=[B],U=m({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:_}){const p=t,n=l(),r=l(),i=e=>{e&&(r.value.style.left=`${e.offsetLeft}px`,r.value.style.width=`${e.clientWidth}px`)},f=(e,c)=>{_("update:activeTabIndex",c),S(()=>i(e.target))};return b(n,e=>{e&&setTimeout(()=>{i(n.value.children[p.activeTabIndex])},50)},{immediate:!0}),(e,c)=>(a(),s("div",q,[t.tabs?(a(),s("div",{key:0,ref_key:"tabsRef",ref:n,class:"tabs"},[(a(!0),s(v,null,x(t.tabs,({label:d},o)=>(a(),s("button",{key:`${o}${d}`,class:k([t.activeTabIndex===o?"active":"not-active"]),onClick:h=>f(h,o)},I(d),11,w))),128)),u("span",{ref_key:"highlightUnderline",ref:r,class:"highlight-underline"},H,512)],512)):y("",!0),g(e.$slots,"footer",{},void 0,!0)]))}});const F=$(U,[["__scopeId","data-v-fa060d5c"]]);export{F as default}; diff --git a/docs/.output/public/_nuxt/TabsHeader.fed4d9b4.css b/docs/.output/public/_nuxt/TabsHeader.fed4d9b4.css deleted file mode 100644 index 557d6590..00000000 --- a/docs/.output/public/_nuxt/TabsHeader.fed4d9b4.css +++ /dev/null @@ -1 +0,0 @@ -.tabs-header[data-v-fa060d5c]{background:var(--color-gray-200);color:var(--color-red-700);position:relative}:root.dark .tabs-header[data-v-fa060d5c]{background:var(--color-gray-800);color:var(--color-red-500)}.tabs-header .tabs[data-v-fa060d5c]{display:flex;overflow-x:auto;padding-left:var(--space-2);padding-right:var(--space-2);position:relative;z-index:0}.tabs-header .tabs button[data-v-fa060d5c]{font-family:var(--font-mono);font-size:var(--text-sm-fontSize);letter-spacing:var(--letterSpacing-tight);line-height:var(--text-sm-lineHeight);padding:var(--space-rem-625) var(--space-4);position:relative;transition:color .1s,background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tabs-header .tabs button.not-active[data-v-fa060d5c]{color:var(--color-gray-700)}.tabs-header .tabs button.not-active[data-v-fa060d5c]:hover{background:var(--color-gray-300);color:var(--color-gray-800)}:root.dark .tabs-header .tabs button.not-active[data-v-fa060d5c]{color:var(--color-gray-200)}:root.dark .tabs-header .tabs button.not-active[data-v-fa060d5c]:hover{background:var(--color-gray-700);color:var(--color-gray-200)}.tabs-header .tabs button.active[data-v-fa060d5c]{color:var(--color-gray-500)}:root.dark .tabs-header .tabs button.active[data-v-fa060d5c]{color:var(--color-gray-300)}.tabs-header .tabs .highlight-underline[data-v-fa060d5c]{height:100%;position:absolute;top:0;transition:left .15s,width .15s;z-index:-1}.tabs-header .tabs .highlight-underline .tab[data-v-fa060d5c]{background-color:var(--color-gray-100);display:flex;height:100%;width:100%}:root.dark .tabs-header .tabs .highlight-underline .tab[data-v-fa060d5c]{background-color:var(--color-gray-900)} diff --git a/docs/.output/public/_nuxt/Terminal.55a17588.css b/docs/.output/public/_nuxt/Terminal.55a17588.css deleted file mode 100644 index f845c9ca..00000000 --- a/docs/.output/public/_nuxt/Terminal.55a17588.css +++ /dev/null @@ -1 +0,0 @@ -.terminal[data-v-d84ad68b]{background:var(--elements-surface-background-base);border:1px solid var(--elements-border-secondary-static);border-radius:var(--radii-lg);cursor:pointer;display:flex;flex-direction:column;height:var(--space-64);overflow:hidden;position:relative;width:100%}.terminal .copied[data-v-d84ad68b]{align-items:center;display:flex;justify-content:center;z-index:10}.terminal .copied[data-v-d84ad68b],.terminal .copied .scrim[data-v-d84ad68b]{height:100%;left:0;position:absolute;top:0;width:100%}.terminal .copied .scrim[data-v-d84ad68b]{background:var(--color-gray-500);opacity:.75}:root.dark .terminal .copied .scrim[data-v-d84ad68b]{background:var(--color-gray-900)}.terminal .copied .content[data-v-d84ad68b]{color:var(--color-gray-100);font-size:var(--fontSize-lg);font-weight:var(--fontWeight-semibold);z-index:10}.terminal .header[data-v-d84ad68b]{align-items:center;border-bottom:1px solid var(--elements-border-secondary-static);display:flex;height:var(--space-12);position:relative;width:100%}.terminal .header .controls[data-v-d84ad68b]{display:flex;margin-left:var(--space-4)}.terminal .header .controls div[data-v-d84ad68b]:first-child{background:var(--color-red-400);border-radius:var(--radii-full);height:var(--space-3);width:var(--space-3)}.terminal .header .controls div[data-v-d84ad68b]:nth-child(2){background:var(--color-yellow-400)}.terminal .header .controls div[data-v-d84ad68b]:nth-child(2),.terminal .header .controls div[data-v-d84ad68b]:nth-child(3){border-radius:var(--radii-full);height:var(--space-3);margin-left:var(--space-2);width:var(--space-3)}.terminal .header .controls div[data-v-d84ad68b]:nth-child(3){background:var(--color-green-400)}.terminal .header .title[data-v-d84ad68b]{align-items:center;display:flex;font-family:var(--font-mono);font-weight:var(--fontWeight-semibold);height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.terminal .window[data-v-d84ad68b]{display:flex;flex:1 1 0%;font-family:var(--font-mono);font-size:var(--text-sm-fontSize);padding:var(--space-4)}.terminal .window .sign[data-v-d84ad68b]{display:inline-block;font-weight:var(--fontWeight-bold);margin-right:var(--space-2);-webkit-user-select:none;-moz-user-select:none;user-select:none}.terminal .window .content[data-v-d84ad68b]{display:inline-block}.terminal .prompt[data-v-d84ad68b]{font-weight:var(--fontWeight-semibold);opacity:0;padding-bottom:var(--space-2);padding-top:var(--space-2);text-align:center}.terminal:hover .prompt[data-v-d84ad68b]{opacity:1} diff --git a/docs/.output/public/_nuxt/Terminal.e111a4e9.js b/docs/.output/public/_nuxt/Terminal.e111a4e9.js deleted file mode 100644 index 6351672e..00000000 --- a/docs/.output/public/_nuxt/Terminal.e111a4e9.js +++ /dev/null @@ -1 +0,0 @@ -import{u as _}from"./index.889aa611.js";import{f as m,r as u,q as c,x as n,u as a,D as i,E as o,J as h,M as v,N as f}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as y}from"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";const e=t=>(v("data-v-d84ad68b"),t=t(),f(),t),C={key:0,class:"copied"},k=e(()=>o("div",{class:"scrim"},null,-1)),b=e(()=>o("div",{class:"content"}," Copied! ",-1)),x=[k,b],S=e(()=>o("div",{class:"header"},[o("div",{class:"controls"},[o("div"),o("div"),o("div")]),o("div",{class:"title"}," Bash ")],-1)),w={class:"window"},B=e(()=>o("span",{class:"sign"},"$",-1)),I={class:"content"},g={key:1,class:"prompt"},N=m({__name:"Terminal",props:{content:{type:String,required:!0}},setup(t){const d=t,{copy:p}=_(),s=u("init"),r=l=>{p(d.content).then(()=>{s.value="copied",setTimeout(()=>{s.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(l,T)=>(c(),n("div",{class:"terminal",onClick:r},[a(s)==="copied"?(c(),n("div",C,x)):i("",!0),S,o("div",w,[B,o("span",I,h(t.content),1)]),a(s)!=="copied"?(c(),n("div",g," Click to copy ")):i("",!0)]))}}),M=y(N,[["__scopeId","data-v-d84ad68b"]]);export{M as default}; diff --git a/docs/.output/public/_nuxt/TokensPlayground.961c6dbe.js b/docs/.output/public/_nuxt/TokensPlayground.961c6dbe.js deleted file mode 100644 index c26a4c7f..00000000 --- a/docs/.output/public/_nuxt/TokensPlayground.961c6dbe.js +++ /dev/null @@ -1 +0,0 @@ -import{e as n}from"./Container.f1017aa2.js";import{f as t,q as a,x as o,E as r,J as s,u as l}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const _=t({__name:"TokensPlayground",setup(u){const{theme:e}=n();return(c,i)=>(a(),o("div",null,[r("pre",null,s(JSON.stringify(l(e),null,2)),1)]))}});export{_ as default}; diff --git a/docs/.output/public/_nuxt/VideoPlayer.4efd76f7.js b/docs/.output/public/_nuxt/VideoPlayer.4efd76f7.js deleted file mode 100644 index d5ed58b8..00000000 --- a/docs/.output/public/_nuxt/VideoPlayer.4efd76f7.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as m}from"./NuxtImg.vue.594abc77.js";import{f,h as i,r as _,q as s,x as a,u as e,B as h,D as u,F as v,A as k,y as w,M as g,N as b,E as B}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */import{a as x}from"./Container.f1017aa2.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";const I=t=>(g("data-v-3c798ec4"),t=t(),b(),t),S={key:1,class:"loaded"},V=["poster"],C=["src"],N=["src","type"],$=["autoplay","src"],E=I(()=>B("button",null,null,-1)),P=[E],q=f({__name:"VideoPlayer",props:{poster:{type:String,default:""},src:{type:String,default:""},sources:{type:Array,default:()=>[]},autoplay:{type:Boolean,default:!1}},setup(t){const r=t,c=i(()=>{if(r.src&&r.src.includes("youtube.com/watch")){const o=r.src.match(/\?v=([^&]*)/);return{name:"youtube",src:`https://www.youtube-nocookie.com/embed/${(o==null?void 0:o[1])||""}?autoplay=1`,poster:r.poster||`https://i3.ytimg.com/vi/${(o==null?void 0:o[1])||""}/hqdefault.jpg`}}}),p=_(!1);if(!r.src&&!r.sources.length)throw new Error("VideoPlayer: you need to provide either `src` or `sources` props");const d=i(()=>{var o,n;return r.src||((n=(o=r.sources)==null?void 0:o[0])==null?void 0:n.src)||!1});return(o,n)=>{const y=m;return s(),a("div",{class:w(["video-player",{loaded:e(p)}])},[(e(c)?e(c).poster:t.poster)?(s(),h(y,{key:0,src:e(c)?e(c).poster:t.poster},null,8,["src"])):u("",!0),e(p)?(s(),a("div",S,[e(c)?e(c).name==="youtube"?(s(),a("iframe",{key:1,allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:"true",autoplay:t.autoplay,src:e(c).src},null,8,$)):u("",!0):(s(),a("video",{key:0,poster:t.poster,controls:"",autoplay:""},[e(d)?(s(),a("source",{key:0,src:e(d)},null,8,C)):u("",!0),(s(!0),a(v,null,k(t.sources,l=>(s(),a("source",{key:l.src||l,src:l.src||l,type:l.type},null,8,N))),128))],8,V))])):u("",!0),e(p)?u("",!0):(s(),a("div",{key:2,class:"play-button",onClick:n[0]||(n[0]=l=>p.value=!0)},P))],2)}}}),M=x(q,[["__scopeId","data-v-3c798ec4"]]);export{M as default}; diff --git a/docs/.output/public/_nuxt/VideoPlayer.e2296f21.css b/docs/.output/public/_nuxt/VideoPlayer.e2296f21.css deleted file mode 100644 index 6b8f8ec2..00000000 --- a/docs/.output/public/_nuxt/VideoPlayer.e2296f21.css +++ /dev/null @@ -1 +0,0 @@ -.video-player[data-v-3c798ec4]{background:var(--color-gray-900);border-radius:var(--radii-lg);display:inline-block;margin-bottom:var(--space-8);margin-top:var(--space-8);overflow:hidden;position:relative}.video-player .loaded[data-v-3c798ec4]{height:100%;left:0;position:absolute;top:0;width:100%}.video-player video[data-v-3c798ec4]{width:100%}.video-player iframe[data-v-3c798ec4]{height:100%;width:100%}.video-player .play-button[data-v-3c798ec4]{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.video-player .play-button button[data-v-3c798ec4]{background-color:transparent;background-image:url('data:image/svg+xml;utf8,');background-position:50%;background-repeat:no-repeat;filter:grayscale(100%);height:var(--space-24);left:50%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0);transition:filter .1s cubic-bezier(0,0,.2,1);width:var(--space-24);z-index:1}.video-player .play-button:hover button[data-v-3c798ec4]{filter:none} diff --git a/docs/.output/public/_nuxt/VoltaBoard.1d961799.js b/docs/.output/public/_nuxt/VoltaBoard.1d961799.js deleted file mode 100644 index 57cc7c4d..00000000 --- a/docs/.output/public/_nuxt/VoltaBoard.1d961799.js +++ /dev/null @@ -1 +0,0 @@ -import{f as r,h as s,q as n,x as a,u as c}from"./runtime-core.esm-bundler.6894272a.js";/* empty css */const p=["src"],i=r({__name:"VoltaBoard",props:{token:{type:String,required:!0}},setup(e){const t=e,o=s(()=>`https://volta.net/embed/${t.token}`);return(l,u)=>(n(),a("iframe",{src:c(o),class:"w-full"},null,8,p))}});export{i as default}; diff --git a/docs/.output/public/_nuxt/app.config.4114fca6.js b/docs/.output/public/_nuxt/app.config.4114fca6.js deleted file mode 100644 index 97b44184..00000000 --- a/docs/.output/public/_nuxt/app.config.4114fca6.js +++ /dev/null @@ -1 +0,0 @@ -import{a as V}from"./index.d2b0cb5e.js";import{k as H,g as I,i as K,f as z,h as N,r as L,O as F,o as G,j as T,aa as X}from"./runtime-core.esm-bundler.6894272a.js";const Y=/#/g,Z=/&/g,J=/=/g,U=/\+/g,ee=/%5b/gi,te=/%5d/gi,oe=/%5e/gi,ne=/%60/gi,re=/%7b/gi,se=/%7c/gi,ie=/%7d/gi,ae=/%20/gi;function ce(e){return encodeURI(""+e).replace(se,"|").replace(ee,"[").replace(te,"]")}function x(e){return ce(e).replace(U,"%2B").replace(ae,"+").replace(Y,"%23").replace(Z,"%26").replace(ne,"`").replace(re,"{").replace(ie,"}").replace(oe,"^")}function k(e){return x(e).replace(J,"%3D")}function $(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function le(e){return $(e.replace(U," "))}function ue(e=""){const t={};e[0]==="?"&&(e=e.slice(1));for(const o of e.split("&")){const n=o.match(/([^=]+)=?(.*)/)||[];if(n.length<2)continue;const r=$(n[1]);if(r==="__proto__"||r==="constructor")continue;const s=le(n[2]||"");typeof t[r]<"u"?Array.isArray(t[r])?t[r].push(s):t[r]=[t[r],s]:t[r]=s}return t}function fe(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(o=>`${k(e)}=${x(o)}`).join("&"):`${k(e)}=${x(t)}`:k(e)}function de(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>fe(t,e[t])).join("&")}const he=/^\w{2,}:(\/\/)?/,pe=/^\/\/[^/]+/;function y(e,t=!1){return he.test(e)||t&&pe.test(e)}const ge=/\/$|\/\?/;function C(e="",t=!1){return t?ge.test(e):e.endsWith("/")}function B(e="",t=!1){if(!t)return(C(e)?e.slice(0,-1):e)||"/";if(!C(e,!0))return e||"/";const[o,...n]=e.split("?");return(o.slice(0,-1)||"/")+(n.length>0?`?${n.join("?")}`:"")}function _e(e="",t=!1){if(!t)return e.endsWith("/")?e:e+"/";if(C(e,!0))return e||"/";const[o,...n]=e.split("?");return o+"/"+(n.length>0?`?${n.join("?")}`:"")}function q(e=""){return e.startsWith("/")}function ve(e=""){return(q(e)?e.slice(1):e)||"/"}function Fe(e=""){return q(e)?e:"/"+e}function Ge(e,t){if(M(t)||y(e))return e;const o=B(t);return e.startsWith(o)?e:be(o,e)}function Xe(e,t){if(M(t))return e;const o=B(t);if(!e.startsWith(o))return e;const n=e.slice(o.length);return n[0]==="/"?n:"/"+n}function Ye(e,t){const o=P(e),n={...ue(o.search),...t};return o.search=de(n),ke(o)}function M(e){return!e||e==="/"}function ye(e){return e&&e!=="/"}function be(e,...t){let o=e||"";for(const n of t.filter(r=>ye(r)))o=o?_e(o)+ve(n):n;return o}function P(e="",t){if(!y(e,!0))return t?P(t+e):O(e);const[o="",n,r=""]=(e.replace(/\\/g,"/").match(/([^/:]+:)?\/\/([^/@]+@)?(.*)/)||[]).splice(1),[s="",i=""]=(r.match(/([^#/?]*)(.*)?/)||[]).splice(1),{pathname:a,search:c,hash:l}=O(i.replace(/\/(?=[A-Za-z]:)/,""));return{protocol:o,auth:n?n.slice(0,Math.max(0,n.length-1)):"",host:s,pathname:a,search:c,hash:l}}function O(e=""){const[t="",o="",n=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:o,hash:n}}function ke(e){const t=e.pathname+(e.search?(e.search.startsWith("?")?"":"?")+e.search:"")+e.hash;return e.protocol?e.protocol+"//"+(e.auth?e.auth+"@":"")+e.host+t:t}function w(e,t={},o){for(const n in e){const r=e[n],s=o?`${o}:${n}`:n;typeof r=="object"&&r!==null?w(r,t,s):typeof r=="function"&&(t[s]=r)}return t}function me(e,t){return e.reduce((o,n)=>o.then(()=>n.apply(void 0,t)),Promise.resolve())}function xe(e,t){return Promise.all(e.map(o=>o.apply(void 0,t)))}function m(e,t){for(const o of e)o(t)}class Ce{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,o,n={}){if(!t||typeof o!="function")return()=>{};const r=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!n.allowDeprecated){let i=s.message;i||(i=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(o),()=>{o&&(this.removeHook(t,o),o=void 0)}}hookOnce(t,o){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,o(...s));return n=this.hook(t,r),n}removeHook(t,o){if(this._hooks[t]){const n=this._hooks[t].indexOf(o);n!==-1&&this._hooks[t].splice(n,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,o){this._deprecatedHooks[t]=typeof o=="string"?{to:o}:o;const n=this._hooks[t]||[];this._hooks[t]=void 0;for(const r of n)this.hook(t,r)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const o in t)this.deprecateHook(o,t[o])}addHooks(t){const o=w(t),n=Object.keys(o).map(r=>this.hook(r,o[r]));return()=>{for(const r of n.splice(0,n.length))r()}}removeHooks(t){const o=w(t);for(const n in o)this.removeHook(n,o[n])}callHook(t,...o){return this.callHookWith(me,t,...o)}callHookParallel(t,...o){return this.callHookWith(xe,t,...o)}callHookWith(t,o,...n){const r=this._before||this._after?{name:o,args:n,context:{}}:void 0;this._before&&m(this._before,r);const s=t(this._hooks[o]||[],n);return s instanceof Promise?s.finally(()=>{this._after&&r&&m(this._after,r)}):(this._after&&r&&m(this._after,r),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{const o=this._before.indexOf(t);o!==-1&&this._before.splice(o,1)}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{const o=this._after.indexOf(t);o!==-1&&this._after.splice(o,1)}}}function we(){return new Ce}function Ee(){let e,t=!1;const o=n=>{if(e&&e!==n)throw new Error("Context conflict")};return{use:()=>{if(e===void 0)throw new Error("Context is not available");return e},tryUse:()=>e,set:(n,r)=>{r||o(n),e=n,t=!0},unset:()=>{e=void 0,t=!1},call:(n,r)=>{o(n),e=n;try{return r()}finally{t||(e=void 0)}},async callAsync(n,r){e=n;const s=()=>{e=n},i=()=>e===n?s:void 0;E.add(i);try{const a=r();return t||(e=void 0),await a}finally{E.delete(i)}}}}function Re(){const e={};return{get(t){return e[t]||(e[t]=Ee()),e[t],e[t]}}}const v=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},S="__unctx__",Pe=v[S]||(v[S]=Re()),Ae=e=>Pe.get(e),j="__unctx_async_handlers__",E=v[j]||(v[j]=new Set);function Ze(e){const t=[];for(const r of E){const s=r();s&&t.push(s)}const o=()=>{for(const r of t)r()};let n=e();return n&&typeof n=="object"&&"catch"in n&&(n=n.catch(r=>{throw o(),r})),[n,o]}const W=Ae("nuxt-app"),He="__nuxt_plugin";function Je(e){let t=0;const o={provide:void 0,globalName:"nuxt",payload:H({data:{},state:{},_errors:{},...window.__NUXT__}),static:{data:{}},isHydrating:!0,deferHydration(){if(!o.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return o.isHydrating=!1,o.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:{},...e};o.hooks=we(),o.hook=o.hooks.hook,o.callHook=o.hooks.callHook,o.provide=(s,i)=>{const a="$"+s;_(o,a,i),_(o.vueApp.config.globalProperties,a,i)},_(o.vueApp,"$nuxt",o),_(o.vueApp.config.globalProperties,"$nuxt",o);const n=H(o.payload.config),r=new Proxy(n,{get(s,i){return i==="public"?s.public:s[i]??s.public[i]},set(s,i,a){return i==="public"||i==="app"?!1:(s[i]=a,s.public[i]=a,!0)}});return o.provide("config",r),o}async function Ne(e,t){if(typeof t!="function")return;const{provide:o}=await Le(e,t,[e])||{};if(o&&typeof o=="object")for(const n in o)e.provide(n,o[n])}async function et(e,t){for(const o of t)await Ne(e,o)}function tt(e){return e.map(o=>typeof o!="function"?null:o.length>1?n=>o(n,n.provide):o).filter(Boolean)}function ot(e){return e[He]=!0,e}function Le(e,t,o){const n=()=>o?t(...o):t();return W.set(e),n()}function f(){const e=W.tryUse();if(!e){const t=I();if(!t)throw new Error("nuxt instance unavailable");return t.appContext.app.$nuxt}return e}function nt(){return f().$config}function _(e,t,o){Object.defineProperty(e,t,{get:()=>o})}const A=()=>{var e;return(e=f())==null?void 0:e.$router},rt=()=>I()?K("_route",f()._route):f()._route,st=e=>e,it=(e,t,o={})=>{const n=f();o.global||typeof e=="function"?n._middleware.global.push(typeof e=="function"?e:t):n._middleware.named[e]=t},Te=()=>{try{if(f()._processingMiddleware)return!0}catch{return!0}return!1},Oe=(e,t)=>{e||(e="/");const o=typeof e=="string"?e:e.path||"/",n=y(o,!0);if(n&&!(t!=null&&t.external))throw new Error("Navigating to external URL is not allowed by default. Use `nagivateTo (url, { external: true })`.");if(n&&P(o).protocol==="script:")throw new Error("Cannot navigate to an URL with script protocol.");if(!n&&Te())return e;const r=A();return n?(t!=null&&t.replace?location.replace(o):location.href=o,Promise.resolve()):t!=null&&t.replace?r.replace(e):r.push(e)},R=globalThis.requestIdleCallback||(e=>{const t=Date.now(),o={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(o)},1)}),Se=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),je=e=>{const t=f();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{R(e)}):R(e)};async function D(e,t=A()){if(t._routePreloaded||(t._routePreloaded=new Set),t._routePreloaded.has(e))return;t._routePreloaded.add(e);const o=t._preloadPromises=t._preloadPromises||[];if(o.length>4)return Promise.all(o).then(()=>D(e,t));const n=t.resolve(e).matched.map(r=>{var s;return(s=r.components)==null?void 0:s.default}).filter(r=>typeof r=="function");for(const r of n){const s=Promise.resolve(r()).catch(()=>{}).finally(()=>o.splice(o.indexOf(s)));o.push(s)}await Promise.all(o)}const Ie=(...e)=>e.find(t=>t!==void 0),Ue="noopener noreferrer";function Q(e){const t=e.componentName||"NuxtLink";return z({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},setup(o,{slots:n}){const r=A(),s=N(()=>o.to||o.href||""),i=N(()=>o.external||o.target&&o.target!=="_self"?!0:typeof s.value=="object"?!1:s.value===""||y(s.value,!0)),a=L(!1),c=L(null);if(o.prefetch!==!1&&o.noPrefetch!==!0&&typeof s.value=="string"&&o.target!=="_blank"&&!qe()){const h=f();let d,u=null;F(()=>{const g=Be();je(()=>{d=R(()=>{var p;(p=c==null?void 0:c.value)!=null&&p.tagName&&(u=g.observe(c.value,async()=>{u==null||u(),u=null,await Promise.all([h.hooks.callHook("link:prefetch",s.value).catch(()=>{}),!i.value&&D(s.value,r).catch(()=>{})]),a.value=!0}))})})}),G(()=>{d&&Se(d),u==null||u(),u=null})}return()=>{var g,p;if(!i.value)return T(X("RouterLink"),{ref:b=>{c.value=b==null?void 0:b.$el},to:s.value,...a.value&&!o.custom?{class:o.prefetchedClass||e.prefetchedClass}:{},activeClass:o.activeClass||e.activeClass,exactActiveClass:o.exactActiveClass||e.exactActiveClass,replace:o.replace,ariaCurrentValue:o.ariaCurrentValue,custom:o.custom},n.default);const l=typeof s.value=="object"?((g=r.resolve(s.value))==null?void 0:g.href)??null:s.value||null,h=o.target||null,d=o.noRel?null:Ie(o.rel,e.externalRelAttribute,l?Ue:"")||null,u=()=>Oe(l,{replace:o.replace});return o.custom?n.default?n.default({href:l,navigate:u,route:r.resolve(l),rel:d,target:h,isExternal:i.value,isActive:!1,isExactActive:!1}):null:T("a",{ref:c,href:l,rel:d,target:h},(p=n.default)==null?void 0:p.call(n))}}})}const $e=Q({componentName:"NuxtLink"});function Be(){const e=f();if(e._observer)return e._observer;let t=null;const o=new Map,n=(s,i)=>(t||(t=new IntersectionObserver(a=>{for(const c of a){const l=o.get(c.target);(c.isIntersecting||c.intersectionRatio>0)&&l&&l()}})),o.set(s,i),t.observe(s),()=>{o.delete(s),t.unobserve(s),o.size===0&&(t.disconnect(),t=null)});return e._observer={observe:n}}function qe(){const e=navigator.connection;return!!(e&&(e.saveData||/2g/.test(e.effectiveType)))}const at=Object.freeze(Object.defineProperty({__proto__:null,default:$e,defineNuxtLink:Q},Symbol.toStringTag,{value:"Module"})),Me={github:{owner:"realdecoy",repo:"frontier",branch:"main"},docus:{title:"Frontier",description:"Write pages in markdown, use Vue components and enjoy the power of Nuxt with a blazing fast developer experience.",image:"https://content.nuxtjs.org/preview.png",url:"https://realdecoy.com",socials:{github:"realdecoy/frontier"},github:{dir:"",root:"",edit:!0,releases:!0,owner:"realdecoy",repo:"frontier",branch:"main"},cover:{src:"/cover.jpg",alt:"Tooling maded easy for developers"},aside:{level:1},layout:{fluid:!0},header:{logo:"Logo"},footer:{iconLinks:[{label:"Realdecoy",href:"https://realdecoy.com",icon:"IconNuxt"}]}}},We={docus:{title:"Docus",description:"The best place to start your documentation.",image:"https://user-images.githubusercontent.com/904724/185365452-87b7ca7b-6030-4813-a2db-5e65c785bf88.png",socials:{twitter:"",github:"",facebook:"",instagram:"",youtube:"",medium:""},layout:"default",header:{title:"",logo:!1,showLinkIcon:!1,fluid:!1,exclude:[]},aside:{level:0,collapsed:!1,exclude:[]},footer:{credits:{icon:"IconDocus",text:"Powered by Docus",href:"https://docus.dev"},textLinks:[],iconLinks:[],fluid:!1},github:{dir:void 0,branch:void 0,repo:void 0,owner:void 0,edit:!1}}},De={prose:{copyButton:{iconCopy:"ph:copy",iconCopied:"ph:check"},headings:{icon:"ph:link"}}},Qe={},Ve={},ct=V(Me,We,De,Qe,Ve);export{$e as _,Ye as a,nt as b,we as c,ot as d,st as e,Ze as f,Le as g,Xe as h,A as i,be as j,y as k,rt as l,B as m,Fe as n,it as o,Oe as p,P as q,tt as r,Je as s,et as t,f as u,ct as v,Ge as w,_e as x,at as y}; diff --git a/docs/.output/public/_nuxt/asyncData.2775b491.js b/docs/.output/public/_nuxt/asyncData.2775b491.js deleted file mode 100644 index b1d2a09a..00000000 --- a/docs/.output/public/_nuxt/asyncData.2775b491.js +++ /dev/null @@ -1 +0,0 @@ -import{u as v}from"./app.config.4114fca6.js";import{c as _}from"./entry.2d43dc03.js";import{r as y,af as x,aj as D,a as w,u as b,g as C}from"./runtime-core.esm-bundler.6894272a.js";const O=()=>null;function E(...s){var h;const f=typeof s[s.length-1]=="string"?s.pop():void 0;typeof s[0]!="string"&&s.unshift(f);let[r,l,a={}]=s;if(typeof r!="string")throw new TypeError("[nuxt] [asyncData] key must be a string.");if(typeof l!="function")throw new TypeError("[nuxt] [asyncData] handler must be a function.");a.server=a.server??!0,a.default=a.default??O,a.lazy=a.lazy??!1,a.immediate=a.immediate??!0;const e=v(),u=()=>e.isHydrating?e.payload.data[r]:e.static.data[r],d=()=>u()!==void 0;e._asyncData[r]||(e._asyncData[r]={data:y(u()??((h=a.default)==null?void 0:h.call(a))??null),pending:y(!d()),error:y(e.payload._errors[r]?_(e.payload._errors[r]):null)});const n={...e._asyncData[r]};n.refresh=n.execute=(o={})=>{if(e._asyncDataPromises[r]){if(o.dedupe===!1)return e._asyncDataPromises[r];e._asyncDataPromises[r].cancelled=!0}if(o._initial&&d())return u();n.pending.value=!0;const i=new Promise((t,c)=>{try{t(l(e))}catch(P){c(P)}}).then(t=>{if(i.cancelled)return e._asyncDataPromises[r];a.transform&&(t=a.transform(t)),a.pick&&(t=k(t,a.pick)),n.data.value=t,n.error.value=null}).catch(t=>{var c;if(i.cancelled)return e._asyncDataPromises[r];n.error.value=t,n.data.value=b(((c=a.default)==null?void 0:c.call(a))??null)}).finally(()=>{i.cancelled||(n.pending.value=!1,e.payload.data[r]=n.data.value,n.error.value&&(e.payload._errors[r]=_(n.error.value)),delete e._asyncDataPromises[r])});return e._asyncDataPromises[r]=i,e._asyncDataPromises[r]};const p=()=>n.refresh({_initial:!0}),g=a.server!==!1&&e.payload.serverRendered;{const o=C();if(o&&!o._nuxtOnBeforeMountCbs){o._nuxtOnBeforeMountCbs=[];const t=o._nuxtOnBeforeMountCbs;o&&(x(()=>{t.forEach(c=>{c()}),t.splice(0,t.length)}),D(()=>t.splice(0,t.length)))}g&&e.isHydrating&&d()?n.pending.value=!1:o&&(e.payload.serverRendered&&e.isHydrating||a.lazy)&&a.immediate?o._nuxtOnBeforeMountCbs.push(p):a.immediate&&p(),a.watch&&w(a.watch,()=>n.refresh());const i=e.hook("app:data:refresh",t=>{if(!t||t.includes(r))return n.refresh()});o&&D(i)}const m=Promise.resolve(e._asyncDataPromises[r]).then(()=>n);return Object.assign(m,n),m}async function H(s){const f=s?Array.isArray(s)?s:[s]:void 0;await v().hooks.callHookParallel("app:data:refresh",f)}function k(s,f){const r={};for(const l of f)r[l]=s[l];return r}export{H as r,E as u}; diff --git a/docs/.output/public/_nuxt/client-db.a6af4843.js b/docs/.output/public/_nuxt/client-db.a6af4843.js deleted file mode 100644 index 55e72222..00000000 --- a/docs/.output/public/_nuxt/client-db.a6af4843.js +++ /dev/null @@ -1 +0,0 @@ -import{d as j,u as M}from"./cookie.5bbb58d5.js";import{b as K,u as T,w as W}from"./app.config.4114fca6.js";import{g as B,a as $,e as A,s as J,b as x,w as b,d as H,c as q}from"./query.c3f7607a.js";import{p as G}from"./index.d2b0cb5e.js";import"./runtime-core.esm-bundler.6894272a.js";const Z=()=>{const t=new Map;return{hasItem(e){return t.has(e)},getItem(e){return t.get(e)||null},getItemRaw(e){return t.get(e)||null},setItem(e,n){t.set(e,n)},setItemRaw(e,n){t.set(e,n)},removeItem(e){t.delete(e)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}};function F(t){return!t||typeof t.then!="function"?Promise.resolve(t):t}function p(t,...e){try{return F(t(...e))}catch(n){return Promise.reject(n)}}function k(t){const e=typeof t;return t===null||e!=="object"&&e!=="function"}function Q(t){const e=Object.getPrototypeOf(t);return!e||e.isPrototypeOf(Object)}function z(t){if(k(t))return String(t);if(Q(t)||Array.isArray(t))return JSON.stringify(t);if(typeof t.toJSON=="function")return z(t.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function D(){if(typeof Buffer===void 0)throw new TypeError("[unstorage] Buffer is not supported!")}const _="base64:";function V(t){if(typeof t=="string")return t;D();const e=Buffer.from(t).toString("base64");return _+e}function X(t){return typeof t!="string"||!t.startsWith(_)?t:(D(),Buffer.from(t.slice(_.length),"base64"))}const ee=()=>{const t=new Map;return{hasItem(e){return t.has(e)},getItem(e){return t.get(e)||null},getItemRaw(e){return t.get(e)||null},setItem(e,n){t.set(e,n)},setItemRaw(e,n){t.set(e,n)},removeItem(e){t.delete(e)},getKeys(){return Array.from(t.keys())},clear(){t.clear()},dispose(){t.clear()}}},te=["hasItem","getItem","setItem","removeItem","getMeta","setMeta","removeMeta","getKeys","clear","mount","unmount"];function re(t,e){if(e=I(e),!e)return t;const n={...t};for(const i of te)n[i]=(a="",...s)=>t[i](e+a,...s);return n.getKeys=(i="",...a)=>t.getKeys(e+i,...a).then(s=>s.map(c=>c.slice(e.length))),n}function g(t){return t?t.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function I(t){return t=g(t),t?t+":":""}function ne(t={}){const e={mounts:{"":t.driver||ee()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},n=r=>{for(const u of e.mountpoints)if(r.startsWith(u))return{relativeKey:r.slice(u.length),driver:e.mounts[u]};return{relativeKey:r,driver:e.mounts[""]}},i=(r,u)=>e.mountpoints.filter(o=>o.startsWith(r)||u&&r.startsWith(o)).map(o=>({relativeBase:r.length>o.length?r.slice(o.length):void 0,mountpoint:o,driver:e.mounts[o]})),a=(r,u)=>{if(e.watching){u=g(u);for(const o of e.watchListeners)o(r,u)}},s=async()=>{if(!e.watching){e.watching=!0;for(const r in e.mounts)e.unwatch[r]=await C(e.mounts[r],a,r)}},c=async()=>{if(e.watching){for(const r in e.unwatch)await e.unwatch[r]();e.unwatch={},e.watching=!1}},m={hasItem(r){r=g(r);const{relativeKey:u,driver:o}=n(r);return p(o.hasItem,u)},getItem(r){r=g(r);const{relativeKey:u,driver:o}=n(r);return p(o.getItem,u).then(l=>j(l))},getItemRaw(r){r=g(r);const{relativeKey:u,driver:o}=n(r);return o.getItemRaw?p(o.getItemRaw,u):p(o.getItem,u).then(l=>X(l))},async setItem(r,u){if(u===void 0)return m.removeItem(r);r=g(r);const{relativeKey:o,driver:l}=n(r);l.setItem&&(await p(l.setItem,o,z(u)),l.watch||a("update",r))},async setItemRaw(r,u){if(u===void 0)return m.removeItem(r);r=g(r);const{relativeKey:o,driver:l}=n(r);if(l.setItemRaw)await p(l.setItemRaw,o,u);else if(l.setItem)await p(l.setItem,o,V(u));else return;l.watch||a("update",r)},async removeItem(r,u=!0){r=g(r);const{relativeKey:o,driver:l}=n(r);l.removeItem&&(await p(l.removeItem,o),u&&await p(l.removeItem,o+"$"),l.watch||a("remove",r))},async getMeta(r,u){r=g(r);const{relativeKey:o,driver:l}=n(r),h=Object.create(null);if(l.getMeta&&Object.assign(h,await p(l.getMeta,o)),!u){const f=await p(l.getItem,o+"$").then(d=>j(d));f&&typeof f=="object"&&(typeof f.atime=="string"&&(f.atime=new Date(f.atime)),typeof f.mtime=="string"&&(f.mtime=new Date(f.mtime)),Object.assign(h,f))}return h},setMeta(r,u){return this.setItem(r+"$",u)},removeMeta(r){return this.removeItem(r+"$")},async getKeys(r){r=I(r);const u=i(r,!0);let o=[];const l=[];for(const h of u){const d=(await p(h.driver.getKeys,h.relativeBase)).map(y=>h.mountpoint+g(y)).filter(y=>!o.some(w=>y.startsWith(w)));l.push(...d),o=[h.mountpoint,...o.filter(y=>!y.startsWith(h.mountpoint))]}return r?l.filter(h=>h.startsWith(r)&&!h.endsWith("$")):l.filter(h=>!h.endsWith("$"))},async clear(r){r=I(r),await Promise.all(i(r,!1).map(async u=>{if(u.driver.clear)return p(u.driver.clear);if(u.driver.removeItem){const o=await u.driver.getKeys();return Promise.all(o.map(l=>u.driver.removeItem(l)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(r=>P(r)))},async watch(r){return await s(),e.watchListeners.push(r),async()=>{e.watchListeners=e.watchListeners.filter(u=>u!==r),e.watchListeners.length===0&&await c()}},async unwatch(){e.watchListeners=[],await c()},mount(r,u){if(r=I(r),r&&e.mounts[r])throw new Error(`already mounted at ${r}`);return r&&(e.mountpoints.push(r),e.mountpoints.sort((o,l)=>l.length-o.length)),e.mounts[r]=u,e.watching&&Promise.resolve(C(u,a,r)).then(o=>{e.unwatch[r]=o}).catch(console.error),m},async unmount(r,u=!0){r=I(r),!(!r||!e.mounts[r])&&(e.watching&&r in e.unwatch&&(e.unwatch[r](),delete e.unwatch[r]),u&&await P(e.mounts[r]),e.mountpoints=e.mountpoints.filter(o=>o!==r),delete e.mounts[r])}};return m}function C(t,e,n){return t.watch?t.watch((i,a)=>e(i,n+a)):()=>{}}async function P(t){typeof t.dispose=="function"&&await p(t.dispose)}function ie(t={}){const e=ae(n,t.operators);function n(i,a){return typeof a!="object"||a instanceof RegExp?e.$eq(i,a):Object.keys(a||{}).every(s=>{const c=a[s];if(s.startsWith("$")&&e[s]){const m=e[s];return typeof m=="function"?m(i,c):!1}return n(B(i,s),c)})}return n}function ae(t,e={}){return{$match:(n,i)=>t(n,i),$eq:(n,i)=>i instanceof RegExp?i.test(n):n===i,$ne:(n,i)=>i instanceof RegExp?!i.test(n):n!==i,$not:(n,i)=>!t(n,i),$and:(n,i)=>($(i,"$and requires an array as condition"),i.every(a=>t(n,a))),$or:(n,i)=>($(i,"$or requires an array as condition"),i.some(a=>t(n,a))),$in:(n,i)=>A(i).some(a=>Array.isArray(n)?t(n,{$contains:a}):t(n,a)),$contains:(n,i)=>(n=Array.isArray(n)?n:String(n),A(i).every(a=>n.includes(a))),$icontains:(n,i)=>{if(typeof i!="string")throw new TypeError("$icontains requires a string, use $contains instead");return n=String(n).toLocaleLowerCase(),A(i).every(a=>n.includes(a.toLocaleLowerCase()))},$containsAny:(n,i)=>($(i,"$containsAny requires an array as condition"),n=Array.isArray(n)?n:String(n),i.some(a=>n.includes(a))),$exists:(n,i)=>i?typeof n<"u":typeof n>"u",$type:(n,i)=>typeof n===String(i),$regex:(n,i)=>{if(!(i instanceof RegExp)){const a=String(i).match(/\/(.*)\/([dgimsuy]*)$/);i=a?new RegExp(a[1],a[2]||""):new RegExp(i)}return i.test(String(n||""))},$lt:(n,i)=>nn<=i,$gt:(n,i)=>n>i,$gte:(n,i)=>n>=i,...e||{}}}function R(t){const e=ie(),n=(a,{query:s,before:c,after:m})=>{const r=typeof s=="string"?{_path:s}:s,u=a.findIndex(l=>e(l,r));c=c||1,m=m||1;const o=new Array(c+m).fill(null,0);return u===-1?o:o.map((l,h)=>a[u-c+h+Number(h>=c)]||null)},i=[(a,s)=>a.filter(c=>A(s.where).every(m=>e(c,m))),(a,s)=>A(s.sort).forEach(c=>J(a,c)),(a,s)=>s.surround?n(a,s.surround):a,(a,s)=>s.skip?a.slice(s.skip):a,(a,s)=>s.limit?a.slice(0,s.limit):a,(a,s)=>x(b(s.without))(a),(a,s)=>x(H(s.only))(a)];return async a=>{const s=await t(),c=a.params(),m=i.reduce((r,u)=>u(r,c)||r,s);return c.first?m[0]:m}}var se=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},L={},oe={get exports(){return L},set exports(t){L=t}};(function(t,e){(function(n,i,a){t.exports=a(),t.exports.default=a()})("slugify",se,function(){var n=JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`),i=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');function a(s,c){if(typeof s!="string")throw new Error("slugify: string argument expected");c=typeof c=="string"?{replacement:c}:c||{};var m=i[c.locale]||{},r=c.replacement===void 0?"-":c.replacement,u=c.trim===void 0?!0:c.trim,o=s.normalize().split("").reduce(function(l,h){var f=m[h]||n[h]||h;return f===r&&(f=" "),l+f.replace(c.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return c.strict&&(o=o.replace(/[^A-Za-z0-9\s]/g,"")),u&&(o=o.trim()),o=o.replace(/\s+/g,r),c.lower&&(o=o.toLowerCase()),o}return a.extend=function(s){Object.assign(n,s)},a})})(oe);const ce=t=>t.split(/[\s-]/g).map(G).join(" ");function ue(t,e){const{navigation:n}=K().content,i=s=>({...fe(["title",...n.fields])(s),...me(s==null?void 0:s.navigation)?s.navigation:{}}),a=t.sort((s,c)=>s._path.localeCompare(c._path)).reduce((s,c)=>{const m=c._path.substring(1).split("/"),r=c._id.split(":").slice(1),u=!!r[r.length-1].match(/([1-9][0-9]*\.)?index.md/g),o=f=>({title:f.title,_path:f._path,_file:f._file,children:[],...i(f),...f._draft?{_draft:!0}:{}}),l=o(c);if(u){const f=e[l._path];if(typeof(f==null?void 0:f.navigation)<"u"&&!(f!=null&&f.navigation))return s;if(c._path!=="/"){const d=o(c);l.children.push(d)}Object.assign(l,i(f))}return m.length===1?(s.push(l),s):(m.slice(0,-1).reduce((f,d,y)=>{const w="/"+m.slice(0,y+1).join("/"),v=e[w];if(typeof(v==null?void 0:v.navigation)<"u"&&!v.navigation)return[];let O=f.find(N=>N._path===w);return O||(O={title:ce(d),_path:w,_file:c._file,children:[],...i(v)},f.push(O)),O.children},s).push(l),s)},[]);return U(a)}const le=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function U(t){const e=t.sort((n,i)=>le.compare(n._file,i._file));for(const n of e)n.children.length?U(n.children):delete n.children,delete n._file;return t}function fe(t){return e=>(e=e||{},t&&t.length?t.filter(n=>typeof e[n]<"u").reduce((n,i)=>Object.assign(n,{[i]:e[i]}),{}):e)}function me(t){return Object.prototype.toString.call(t)==="[object Object]"}const he=t=>W(t,K().public.content.api.baseURL),pe=re(ne({driver:Z()}),"@content"),Y=()=>M("previewToken").value;function ge(t){async function e(){const n=new Set(await t.getKeys("cache:")),i=Y();if(i){(await t.getItem(`${i}$`).then(r=>r||{})).ignoreBuiltContents&&n.clear();const c=await t.getKeys(`${i}:`),m=await Promise.all(c.map(r=>t.getItem(r)));for(const r of m)n.delete(`cache:${r._id}`),r.__deleted||n.add(`${i}:${r._id}`)}return await Promise.all(Array.from(n).map(s=>t.getItem(s)))}return{storage:t,fetch:R(e),query:n=>q(R(e),n)}}let S=null,E=null;async function de(){return E?await E:S||(E=ye(),S=await E),S}async function ye(){const t=T(),{content:e}=K().public,n=ge(pe),i=await n.storage.getItem("integrity");if(e.integrity!==+(i||0)){const{contents:a,navigation:s}=await $fetch(he(e.integrity?`cache.${e.integrity}.json`:"cache.json"));await Promise.all(a.map(c=>n.storage.setItem(`cache:${c._id}`,c))),await n.storage.setItem("navigation",s),await n.storage.setItem("integrity",e.integrity)}return await t.callHook("content:storage",n.storage),n}async function Ee(t){const e=await de();if(!Y()&&Object.keys(t||{}).length===0)return e.storage.getItem("navigation");const n=await e.query(t).where({_partial:!1,navigation:{$ne:!1}}).find(),a=(await e.query().where({_path:/\/_dir$/i,_partial:!0}).find()).reduce((s,c)=>{var r;((r=c.title)==null?void 0:r.toLowerCase())==="dir"&&(c.title=void 0);const m=c._path.split("/").slice(0,-1).join("/")||"/";return s[m]={...c,...c.body},s},{});return ue(n,a)}export{pe as contentStorage,ge as createDB,Ee as generateNavigation,Y as getPreview,de as useContentDatabase}; diff --git a/docs/.output/public/_nuxt/cookie.5bbb58d5.js b/docs/.output/public/_nuxt/cookie.5bbb58d5.js deleted file mode 100644 index cd81047f..00000000 --- a/docs/.output/public/_nuxt/cookie.5bbb58d5.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";import{r as l,a as m}from"./runtime-core.esm-bundler.6894272a.js";const w=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,h=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,S=/^\s*["[{]|^\s*-?\d[\d.]{0,14}\s*$/;function y(e,i){if(e!=="__proto__"&&!(e==="constructor"&&i&&typeof i=="object"&&"prototype"in i))return i}function g(e,i={}){if(typeof e!="string")return e;const t=e.toLowerCase().trim();if(t==="true")return!0;if(t==="false")return!1;if(t==="null")return null;if(t==="nan")return Number.NaN;if(t==="infinity")return Number.POSITIVE_INFINITY;if(t!=="undefined"){if(!S.test(e)){if(i.strict)throw new SyntaxError("Invalid JSON");return e}try{return w.test(e)||h.test(e)?JSON.parse(e,y):JSON.parse(e)}catch(r){if(i.strict)throw r;return e}}}const x=decodeURIComponent,C=encodeURIComponent,E=/; */,u=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function k(e,i){if(typeof e!="string")throw new TypeError("argument str must be a string");let t={},r=i||{},n=e.split(E),c=r.decode||x;for(let o=0;og(decodeURIComponent(e)),encode:e=>encodeURIComponent(typeof e=="string"?e:JSON.stringify(e))};function O(e,i){var c;const t={...N,...i},r=b(t)||{},n=l(r[e]??((c=t.default)==null?void 0:c.call(t)));{const o=()=>{R(e,n.value,t)};t.watch?m(n,o,{deep:t.watch!=="shallow"}):o()}return n}function b(e={}){return k(document.cookie,e)}function I(e,i,t={}){return i==null?d(e,i,{...t,maxAge:-1}):d(e,i,t)}function R(e,i,t={}){document.cookie=I(e,i,t)}export{g as d,O as u}; diff --git a/docs/.output/public/_nuxt/debug.ac300508.js b/docs/.output/public/_nuxt/debug.ac300508.js deleted file mode 100644 index 0fbebd27..00000000 --- a/docs/.output/public/_nuxt/debug.ac300508.js +++ /dev/null @@ -1,2 +0,0 @@ -import{n as a}from"./runtime-core.esm-bundler.6894272a.js";function d(t){let o=[],i=!1;const s=(u,l)=>{const{loc:e}=l,n=[`🔑 ${u}`];e!=null&&e.file&&(n.push(""),n.push(`🔗 ${e.file}`)),e!=null&&e.type&&(n.push(""),n.push(`❓ Missing token inside a ${e.type==="v"?"variant":"computed style or CSS prop"}.`)),o.push(n.join(` -`)),i||(a(()=>{console.log("🖌️ Pinceau `runtime` encountered some errors!"),o.forEach(r=>{console.log(r)}),console.log("‼️ This warning will be hidden from production and can be disabled using `dev: false` option.")}),i=!0)};t.onNotFound=s}export{d as usePinceauRuntimeDebug}; diff --git a/docs/.output/public/_nuxt/default.440db00d.js b/docs/.output/public/_nuxt/default.440db00d.js deleted file mode 100644 index 8c8f4f20..00000000 --- a/docs/.output/public/_nuxt/default.440db00d.js +++ /dev/null @@ -1 +0,0 @@ -import r from"./DocsPageLayout.8e541ec6.js";import{a as m}from"./Container.f1017aa2.js";import{q as p,B as i,C as e,P as n}from"./runtime-core.esm-bundler.6894272a.js";import"./DocsAside.44ffd29b.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";/* empty css */import"./ProseCodeInline.dca1a534.js";import"./Alert.443f6167.js";import"./ContentSlot.7e1a494f.js";/* empty css */import"./DocsPageBottom.a96d3867.js";import"./ProseA.c8de8b63.js";/* empty css */import"./EditOnLink.vue.21b8aa9d.js";/* empty css */import"./DocsPrevNext.adb795e8.js";/* empty css */import"./DocsToc.03cf2013.js";import"./DocsTocLinks.c11364e4.js";/* empty css *//* empty css *//* empty css */const a={};function c(o,s){const t=r;return p(),i(t,null,{default:e(()=>[n(o.$slots,"default")]),_:3})}const G=m(a,[["render",c]]);export{G as default}; diff --git a/docs/.output/public/_nuxt/docs-page.436b5c87.js b/docs/.output/public/_nuxt/docs-page.436b5c87.js deleted file mode 100644 index b3d3df57..00000000 --- a/docs/.output/public/_nuxt/docs-page.436b5c87.js +++ /dev/null @@ -1 +0,0 @@ -import{a as o,b as _}from"./Container.f1017aa2.js";import{q as s,x as a,G as n,C as c,P as r}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const d={},l={class:"docs-page"};function p(e,u){const t=_;return s(),a("div",l,[n(t,null,{default:c(()=>[r(e.$slots,"default",{},void 0,!0)]),_:3})])}const x=o(d,[["render",p],["__scopeId","data-v-52761a33"]]);export{x as default}; diff --git a/docs/.output/public/_nuxt/docs-page.5b0d6071.css b/docs/.output/public/_nuxt/docs-page.5b0d6071.css deleted file mode 100644 index a621b59e..00000000 --- a/docs/.output/public/_nuxt/docs-page.5b0d6071.css +++ /dev/null @@ -1 +0,0 @@ -.docs-page[data-v-52761a33]{padding:40px 0} diff --git a/docs/.output/public/_nuxt/document-driven.07c16582.js b/docs/.output/public/_nuxt/document-driven.07c16582.js deleted file mode 100644 index 4f4c0c75..00000000 --- a/docs/.output/public/_nuxt/document-driven.07c16582.js +++ /dev/null @@ -1 +0,0 @@ -import f from"./DocumentDrivenEmpty.7ceddd7c.js";import d from"./ContentRenderer.51874b59.js";import l from"./DocumentDrivenNotFound.25e8b3dc.js";import v from"./layout.732d57d1.js";import{d as x}from"./useDocus.edcbeab5.js";import{a as C}from"./entry.2d43dc03.js";import{u as A}from"./app.config.4114fca6.js";import{f as y,q as o,x as k,G as n,C as m,u as e,B as r}from"./runtime-core.esm-bundler.6894272a.js";import"./ContentRendererMarkdown.1da6a628.js";import"./cookie.5bbb58d5.js";import"./index.d2b0cb5e.js";import"./ButtonLink.2789431f.js";import"./DocsAsideTree.08d70919.js";import"./Container.f1017aa2.js";import"./ContentSlot.7e1a494f.js";/* empty css *//* empty css */import"./query.c3f7607a.js";const B={class:"document-driven-page"},M=y({__name:"document-driven",setup(D){const{page:t,layout:s}=x();return t.value,C(t),(a,E)=>{const p=f,u=d,_=l,c=v;return o(),k("div",B,[n(c,{name:e(s)||"default"},{default:m(()=>[e(t)?(o(),r(u,{key:e(t)._id,value:e(t)},{empty:m(({value:i})=>[n(p,{value:i},null,8,["value"])]),_:1},8,["value"])):(o(),r(_,{key:1}))]),_:1},8,["name"])])}}});export{M as default}; diff --git a/docs/.output/public/_nuxt/empty.9bcab498.js b/docs/.output/public/_nuxt/empty.9bcab498.js deleted file mode 100644 index 85d9a88e..00000000 --- a/docs/.output/public/_nuxt/empty.9bcab498.js +++ /dev/null @@ -1 +0,0 @@ -import{a as e}from"./Container.f1017aa2.js";import{q as r,x as t}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const o={};function c(n,a){return r(),t("div")}const f=e(o,[["render",c]]);export{f as default}; diff --git a/docs/.output/public/_nuxt/entry.2d43dc03.js b/docs/.output/public/_nuxt/entry.2d43dc03.js deleted file mode 100644 index d81f3b76..00000000 --- a/docs/.output/public/_nuxt/entry.2d43dc03.js +++ /dev/null @@ -1,10 +0,0 @@ -import{w as ze,s as fr,T as un,_ as we,a as dn,b as fn,c as pn,d as hn}from"./DocsAsideTree.08d70919.js";import{d as _n,u as Tt}from"./cookie.5bbb58d5.js";import{w as mn,a as gn,j as et,u as G,c as yn,b as te,d as Q,e as vn,f as qe,g as ue,h as jt,i as je,k as pr,l as ae,m as Ct,n as En,o as bn,p as wn,q as Pn,_ as tt,r as Rn,s as Tn,t as Cn}from"./app.config.4114fca6.js";import{_,p as An,a as X,b as hr}from"./Container.f1017aa2.js";import{t as kn,n as Pe,g as _r,i as he,r as J,w as Ln,a as fe,o as mr,b as Sn,c as On,u as R,d as In,v as gr,e as g,s as yt,f as K,h as D,p as Ie,j as W,k as _e,l as $n,m as dt,K as Dn,S as yr,q as L,x as j,y as At,z as Hn,A as We,F as Ve,B as x,C as re,D as ee,E as V,G as U,T as Mn,H as Vn,I as vr,J as Ge,L as Er,M as xn,N as jn,O as br,P as wr,Q as Bn}from"./runtime-core.esm-bundler.6894272a.js";import{u as kt,a as ke,b as Pr,c as me,d as Lt}from"./useDocus.edcbeab5.js";import{c as Nn}from"./query.c3f7607a.js";import{d as Un}from"./index.d2b0cb5e.js";class Kn extends Error{constructor(){super(...arguments),this.name="FetchError"}}function Fn(e,t,n){let r="";e&&n&&(r=`${n.status} ${n.statusText} (${e.toString()})`),t&&(r=`${t.message} (${r})`);const o=new Kn(r);return Object.defineProperty(o,"request",{get(){return e}}),Object.defineProperty(o,"response",{get(){return n}}),Object.defineProperty(o,"data",{get(){return n&&n._data}}),Object.defineProperty(o,"status",{get(){return n&&n.status}}),Object.defineProperty(o,"statusText",{get(){return n&&n.statusText}}),Object.defineProperty(o,"statusCode",{get(){return n&&n.status}}),Object.defineProperty(o,"statusMessage",{get(){return n&&n.statusText}}),o}const zn=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function Bt(e="GET"){return zn.has(e.toUpperCase())}function qn(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Wn=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Gn=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Qn(e=""){if(!e)return"json";const t=e.split(";").shift();return Gn.test(t)?"json":Wn.has(t)||t.startsWith("text/")?"text":"blob"}const Zn=new Set([408,409,425,429,500,502,503,504]);function Rr(e){const{fetch:t,Headers:n}=e;function r(i){const c=i.error&&i.error.name==="AbortError"||!1;if(i.options.retry!==!1&&!c){const a=typeof i.options.retry=="number"?i.options.retry:Bt(i.options.method)?0:1,u=i.response&&i.response.status||500;if(a>0&&Zn.has(u))return o(i.request,{...i.options,retry:a-1})}const l=Fn(i.request,i.error,i.response);throw Error.captureStackTrace&&Error.captureStackTrace(l,o),l}const o=async function(c,l={}){const a={request:c,options:{...e.defaults,...l},response:void 0,error:void 0};a.options.onRequest&&await a.options.onRequest(a),typeof a.request=="string"&&(a.options.baseURL&&(a.request=mn(a.request,a.options.baseURL)),(a.options.query||a.options.params)&&(a.request=gn(a.request,{...a.options.params,...a.options.query})),a.options.body&&Bt(a.options.method)&&qn(a.options.body)&&(a.options.body=typeof a.options.body=="string"?a.options.body:JSON.stringify(a.options.body),a.options.headers=new n(a.options.headers),a.options.headers.has("content-type")||a.options.headers.set("content-type","application/json"),a.options.headers.has("accept")||a.options.headers.set("accept","application/json"))),a.response=await t(a.request,a.options).catch(async h=>(a.error=h,a.options.onRequestError&&await a.options.onRequestError(a),r(a)));const u=(a.options.parseResponse?"json":a.options.responseType)||Qn(a.response.headers.get("content-type")||"");if(u==="json"){const h=await a.response.text(),d=a.options.parseResponse||_n;a.response._data=d(h)}else u==="stream"?a.response._data=a.response.body:a.response._data=await a.response[u]();return a.options.onResponse&&await a.options.onResponse(a),a.response.status>=400&&a.response.status<600?(a.options.onResponseError&&await a.options.onResponseError(a),r(a)):a.response},s=function(c,l){return o(c,l).then(a=>a._data)};return s.raw=o,s.native=t,s.create=(i={})=>Rr({...e,defaults:{...e.defaults,...i}}),s}const Tr=function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}(),Jn=Tr.fetch||(()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!"))),Yn=Tr.Headers,Xn=Rr({fetch:Jn,Headers:Yn}),eo=Xn,to=()=>{var e;return((e=window==null?void 0:window.__NUXT__)==null?void 0:e.config)||{}},Qe=to().app,ro=()=>Qe.baseURL,no=()=>Qe.buildAssetsDir,oo=(...e)=>et(Cr(),no(),...e),Cr=(...e)=>{const t=Qe.cdnURL||Qe.baseURL;return e.length?et(t,...e):t};globalThis.__buildAssetsURL=oo,globalThis.__publicAssetsURL=Cr;class vt extends Error{constructor(){super(...arguments),this.statusCode=500,this.fatal=!1,this.unhandled=!1,this.statusMessage=void 0}toJSON(){const t={message:this.message,statusCode:this.statusCode};return this.statusMessage&&(t.statusMessage=this.statusMessage),this.data!==void 0&&(t.data=this.data),t}}vt.__h3_error__=!0;function Et(e){if(typeof e=="string")return new vt(e);if(so(e))return e;const t=new vt(e.message??e.statusMessage,e.cause?{cause:e.cause}:void 0);if("stack"in e)try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}return e.data&&(t.data=e.data),e.statusCode?t.statusCode=e.statusCode:e.status&&(t.statusCode=e.status),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function so(e){var t;return((t=e==null?void 0:e.constructor)==null?void 0:t.__h3_error__)===!0}const rt=()=>kn(G().payload,"error"),Se=e=>{const t=lo(e);try{G().callHook("app:error",t);const r=rt();r.value=r.value||t}catch{throw t}return t},ao=async(e={})=>{const t=G(),n=rt();t.callHook("app:error:cleared",e),e.redirect&&await t.$router.replace(e.redirect),n.value=null},io=e=>!!(e&&typeof e=="object"&&"__nuxt_error"in e),lo=e=>{const t=Et(e);return t.__nuxt_error=!0,t},co=["script","style","noscript"],uo=["base","meta","link","style","script","noscript"],fo=["base","title","titleTemplate","bodyAttrs","htmlAttrs"];function po(e,t){const{props:n,tag:r}=e;if(fo.includes(r))return r;if(r==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const o=["id"];r==="meta"&&o.push("name","property","http-equiv");for(const s of o)if(typeof n[s]<"u"){const i=String(n[s]);return t&&!t(i)?!1:`${r}:${s}:${i}`}return!1}const Ne=(e,t)=>{const{tag:n,$el:r}=e;r&&(Object.entries(n.props).forEach(([o,s])=>{s=String(s);const i=`attr:${o}`;if(o==="class"){if(!s)return;for(const c of s.split(" ")){const l=`${i}:${c}`;t&&t(e,l,()=>r.classList.remove(c)),r.classList.contains(c)||r.classList.add(c)}return}t&&!o.startsWith("data-h-")&&t(e,i,()=>r.removeAttribute(o)),r.getAttribute(o)!==s&&r.setAttribute(o,s)}),co.includes(n.tag)&&r.innerHTML!==(n.children||"")&&(r.innerHTML=n.children||""))};function St(e){let t=9;for(let n=0;n>>9)+65536).toString(16).substring(1,8).toLowerCase()}async function Ar(e,t={}){var u,h;const n={shouldRender:!0};if(await e.hooks.callHook("dom:beforeRender",n),!n.shouldRender)return;const r=t.document||window.document,o=e._popSideEffectQueue();e.headEntries().map(d=>d._sde).forEach(d=>{Object.entries(d).forEach(([f,p])=>{o[f]=p})});const s=async d=>{const f=e.headEntries().find(b=>b._i===d._e),p={renderId:d._d||St(JSON.stringify({...d,_e:void 0,_p:void 0})),$el:null,shouldRender:!0,tag:d,entry:f,staleSideEffects:o};return await e.hooks.callHook("dom:beforeRenderTag",p),p},i=[],c={body:[],head:[]},l=(d,f,p)=>{f=`${d.renderId}:${f}`,d.entry&&(d.entry._sde[f]=p),delete o[f]},a=d=>{e._elMap[d.renderId]=d.$el,i.push(d),l(d,"el",()=>{var f;(f=d.$el)==null||f.remove(),delete e._elMap[d.renderId]})};for(const d of await e.resolveTags()){const f=await s(d);if(!f.shouldRender)continue;const{tag:p}=f;if(p.tag==="title"){r.title=p.children||"",i.push(f);continue}if(p.tag==="htmlAttrs"||p.tag==="bodyAttrs"){f.$el=r[p.tag==="htmlAttrs"?"documentElement":"body"],Ne(f,l),i.push(f);continue}if(f.$el=e._elMap[f.renderId],!f.$el&&p._hash&&(f.$el=r.querySelector(`${(u=p.tagPosition)!=null&&u.startsWith("body")?"body":"head"} > ${p.tag}[data-h-${p._hash}]`)),f.$el){f.tag._d&&Ne(f),a(f);continue}f.$el=r.createElement(p.tag),Ne(f),c[(h=p.tagPosition)!=null&&h.startsWith("body")?"body":"head"].push(f)}Object.entries(c).forEach(([d,f])=>{var b;if(!f.length)return;const p=(b=r==null?void 0:r[d])==null?void 0:b.children;if(p){for(const m of[...p].reverse()){const v=m.tagName.toLowerCase();if(!uo.includes(v))continue;const E=po({tag:v,props:m.getAttributeNames().reduce((C,k)=>({...C,[k]:m.getAttribute(k)}),{})}),P=f.findIndex(C=>{var k;return C&&(C.tag._d===E||((k=m.isEqualNode)==null?void 0:k.call(m,C.$el)))});if(P!==-1){const C=f[P];C.$el=m,Ne(C),a(C),delete f[P]}}f.forEach(m=>{if(m.$el){switch(m.tag.tagPosition){case"bodyClose":r.body.appendChild(m.$el);break;case"bodyOpen":r.body.insertBefore(m.$el,r.body.firstChild);break;case"head":default:r.head.appendChild(m.$el);break}a(m)}})}});for(const d of i)await e.hooks.callHook("dom:renderTag",d);Object.values(o).forEach(d=>d())}let Fe=null;async function ho(e,t={}){function n(){return Fe=null,Ar(e,t)}const r=t.delayFn||(o=>setTimeout(o,10));return Fe=Fe||new Promise(o=>r(()=>o(n())))}const _o={__proto__:null,debouncedRenderDOMHead:ho,get domUpdatePromise(){return Fe},hashCode:St,renderDOMHead:Ar},mo=["title","titleTemplate","base","htmlAttrs","bodyAttrs","meta","link","style","script","noscript"],go=["tagPosition","tagPriority","tagDuplicateStrategy"];async function yo(e,t){const n={tag:e,props:{}};return e==="title"||e==="titleTemplate"?(n.children=t instanceof Promise?await t:t,n):(n.props=await vo({...t}),["children","innerHtml","innerHTML"].forEach(r=>{typeof n.props[r]<"u"&&(n.children=n.props[r],typeof n.children=="object"&&(n.children=JSON.stringify(n.children)),delete n.props[r])}),Object.keys(n.props).filter(r=>go.includes(r)).forEach(r=>{n[r]=n.props[r],delete n.props[r]}),typeof n.props.class=="object"&&!Array.isArray(n.props.class)&&(n.props.class=Object.keys(n.props.class).filter(r=>n.props.class[r])),Array.isArray(n.props.class)&&(n.props.class=n.props.class.join(" ")),n.props.content&&Array.isArray(n.props.content)?n.props.content.map((r,o)=>{const s={...n,props:{...n.props}};return s.props.content=r,s.key=`${n.props.name||n.props.property}:${o}`,s}):n)}async function vo(e){for(const t of Object.keys(e))e[t]instanceof Promise&&(e[t]=await e[t]),String(e[t])==="true"?e[t]="":String(e[t])==="false"&&delete e[t];return e}const Nt=e=>{if(typeof e.tagPriority=="number")return e.tagPriority;switch(e.tagPriority){case"critical":return 2;case"high":return 9;case"low":return 12}switch(e.tag){case"base":return-1;case"title":return 1;case"meta":return e.props.charset?-2:e.props["http-equiv"]==="content-security-policy"?0:10;default:return 10}},Eo=(e,t)=>Nt(e)-Nt(t),bo=["base","title","titleTemplate","bodyAttrs","htmlAttrs"];function wo(e,t){const{props:n,tag:r}=e;if(bo.includes(r))return r;if(r==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const o=["id"];r==="meta"&&o.push("name","property","http-equiv");for(const s of o)if(typeof n[s]<"u"){const i=String(n[s]);return t&&!t(i)?!1:`${r}:${s}:${i}`}return!1}const Ut=(e,t)=>e==null?t||null:typeof e=="function"?e(t):e.replace("%s",t??"");function Po(e){let t=e.findIndex(r=>r.tag==="titleTemplate");const n=e.findIndex(r=>r.tag==="title");if(n!==-1&&t!==-1){const r=Ut(e[t].children,e[n].children);r!==null?e[n].children=r||e[n].children:delete e[n]}else if(t!==-1){const r=Ut(e[t].children);r!==null&&(e[t].children=r,e[t].tag="title",t=-1)}return t!==-1&&delete e[t],e.filter(Boolean)}const Ro=e=>{e=e||{};const t=e.dedupeKeys||["hid","vmid","key"];return{hooks:{"tag:normalise":function({tag:n}){t.forEach(o=>{n.props[o]&&(n.key=n.props[o],delete n.props[o])});const r=n.key?`${n.tag}:${n.key}`:wo(n);r&&(n._d=r)},"tags:resolve":function(n){const r={};n.tags.forEach(o=>{let s=o._d||o._p;const i=r[s];if(i){let c=o==null?void 0:o.tagDuplicateStrategy;if(!c&&(o.tag==="htmlAttrs"||o.tag==="bodyAttrs")&&(c="merge"),c==="merge"){const a=i.props;["class","style"].forEach(u=>{o.props[u]&&a[u]&&(u==="style"&&!a[u].endsWith(";")&&(a[u]+=";"),o.props[u]=`${a[u]} ${o.props[u]}`)}),r[s].props={...a,...o.props};return}else o._e===i._e&&(s=o._d=`${s}:${o._p}`);const l=Object.keys(o.props).length;if((l===0||l===1&&typeof o.props["data-h-key"]<"u")&&!o.children){delete r[s];return}}r[s]=o}),n.tags=Object.values(r)}}}},To=()=>({hooks:{"tags:resolve":e=>{const t=n=>{var r;return(r=e.tags.find(o=>o._d===n))==null?void 0:r._p};for(const n of e.tags){if(!n.tagPriority||typeof n.tagPriority=="number")continue;const r=[{prefix:"before:",offset:-1},{prefix:"after:",offset:1}];for(const{prefix:o,offset:s}of r)if(n.tagPriority.startsWith(o)){const i=n.tagPriority.replace(o,""),c=t(i);typeof c<"u"&&(n._p=c+s)}}e.tags.sort((n,r)=>n._p-r._p).sort(Eo)}}}),Co=()=>({hooks:{"tags:resolve":e=>{e.tags=Po(e.tags)}}}),Ao=()=>({hooks:{"tag:normalise":function({tag:e}){typeof e.props.body<"u"&&(e.tagPosition="bodyClose",delete e.props.body)}}}),ko=typeof window<"u",Lo=()=>({hooks:{"tag:normalise":e=>{var o,s;const{tag:t,entry:n}=e,r=typeof t.props._dynamic<"u";!kr.includes(t.tag)||!t.key||(t._hash=St(JSON.stringify({tag:t.tag,key:t.key})),!(ko||(s=(o=Sr())==null?void 0:o.resolvedOptions)!=null&&s.document)&&(n._m==="server"||r)&&(t.props[`data-h-${t._hash}`]=""))},"tags:resolve":e=>{e.tags=e.tags.map(t=>(delete t.props._dynamic,t))}}}),So=e=>({hooks:{"entries:updated":function(t){if(typeof(e==null?void 0:e.document)>"u"&&typeof window>"u")return;let n=e==null?void 0:e.delayFn;!n&&typeof requestAnimationFrame<"u"&&(n=requestAnimationFrame),Promise.resolve().then(function(){return _o}).then(({debouncedRenderDOMHead:r})=>{r(t,{document:(e==null?void 0:e.document)||window.document,delayFn:n})})}}}),Oo=()=>{const e=(t,n)=>{const r={},o={};Object.entries(n.props).forEach(([i,c])=>{i.startsWith("on")&&typeof c=="function"?o[i]=c:r[i]=c});let s;return t==="dom"&&n.tag==="script"&&typeof r.src=="string"&&typeof o.onload<"u"&&(s=r.src,delete r.src),{props:r,eventHandlers:o,delayedSrc:s}};return{hooks:{"ssr:render":function(t){t.tags=t.tags.map(n=>(n.props=e("ssr",n).props,n))},"dom:beforeRenderTag":function(t){const{props:n,eventHandlers:r,delayedSrc:o}=e("dom",t.tag);Object.keys(r).length&&(t.tag.props=n,t.tag._eventHandlers=r,t.tag._delayedSrc=o)},"dom:renderTag":function(t){const n=t.$el;if(!t.tag._eventHandlers||!n)return;const r=t.tag.tag==="bodyAttrs"&&typeof window<"u"?window:n;Object.entries(t.tag._eventHandlers).forEach(([o,s])=>{const i=`${t.tag._d||t.tag._p}:${o}`,c=o.slice(2).toLowerCase(),l=`data-h-${c}`;if(delete t.staleSideEffects[i],n.hasAttribute(l))return;const a=s;n.setAttribute(l,""),r.addEventListener(c,a),t.entry&&(t.entry._sde[i]=()=>{r.removeEventListener(c,a),n.removeAttribute(l)})}),t.tag._delayedSrc&&n.setAttribute("src",t.tag._delayedSrc)}}}};function Io(e){return Array.isArray(e)?e:[e]}const kr=["base","meta","link","style","script","noscript"];let Lr;const $o=e=>Lr=e,Sr=()=>Lr,Do=10;async function Ho(e){const t=[];return Object.entries(e.resolvedInput||e.input).filter(([n,r])=>typeof r<"u"&&mo.includes(n)).forEach(([n,r])=>{const o=Io(r);t.push(...o.map(s=>yo(n,s)).flat())}),(await Promise.all(t)).flat().map((n,r)=>(n._e=e._i,n._p=(e._i<[Ro(),To(),Co(),Lo(),Oo(),Ao()],Vo=(e={})=>[So({document:e==null?void 0:e.document,delayFn:e==null?void 0:e.domDelayFn})];function xo(e={}){const t=jo({...e,plugins:[...Vo(e),...(e==null?void 0:e.plugins)||[]]});return $o(t),t}function jo(e={}){let t=[],n={},r=0;const o=yn();e!=null&&e.hooks&&o.addHooks(e.hooks),e.plugins=[...Mo(),...(e==null?void 0:e.plugins)||[]],e.plugins.forEach(c=>c.hooks&&o.addHooks(c.hooks));const s=()=>o.callHook("entries:updated",i),i={resolvedOptions:e,headEntries(){return t},get hooks(){return o},use(c){c.hooks&&o.addHooks(c.hooks)},push(c,l){const a={_i:r++,input:c,_sde:{}};return l!=null&&l.mode&&(a._m=l==null?void 0:l.mode),t.push(a),s(),{dispose(){t=t.filter(u=>u._i!==a._i?!0:(n={...n,...u._sde||{}},u._sde={},s(),!1))},patch(u){t=t.map(h=>(h._i===a._i&&(a.input=h.input=u,s()),h))}}},async resolveTags(){const c={tags:[],entries:[...t]};await o.callHook("entries:resolve",c);for(const l of c.entries)for(const a of await Ho(l)){const u={tag:a,entry:l};await o.callHook("tag:normalise",u),c.tags.push(u.tag)}return await o.callHook("tags:resolve",c),c.tags},_elMap:{},_popSideEffectQueue(){const c={...n};return n={},c}};return i.hooks.callHook("init",i),i}function Bo(e){return typeof e=="function"?e():R(e)}function Ze(e,t=""){if(e instanceof Promise)return e;const n=Bo(e);if(!e||!n)return n;if(Array.isArray(n))return n.map(r=>Ze(r,t));if(typeof n=="object"){let r=!1;const o=Object.fromEntries(Object.entries(n).map(([s,i])=>s==="titleTemplate"||s.startsWith("on")?[s,R(i)]:((typeof i=="function"||In(i))&&(r=!0),[s,Ze(i,s)])));return r&&kr.includes(String(t))&&(o._dynamic=!0),o}return n}const No=gr.startsWith("3"),Uo=typeof window<"u",Or="usehead";function Ot(){return _r()&&he(Or)||Sr()}function Ko(e={}){const t=xo({...e,domDelayFn:r=>setTimeout(()=>Pe(()=>r()),10),plugins:[Fo(),...(e==null?void 0:e.plugins)||[]]}),n={install(r){No&&(r.config.globalProperties.$unhead=t,r.provide(Or,t))}};return t.install=n.install,t}const Fo=()=>({hooks:{"entries:resolve":function(e){for(const t of e.entries)t.resolvedInput=Ze(t.input)}}});function zo(e,t={}){const n=Ot(),r=J(!1),o=J({});Ln(()=>{o.value=Ze(e)});const s=n.push(o.value,t);return fe([o,r],([c,l])=>{l||s.patch(c)}),_r()&&(mr(()=>{s.dispose()}),Sn(()=>{r.value=!0}),On(()=>{r.value=!1})),s}function qo(e,t={}){return Ot().push(e,t)}function Ir(e,t={}){var r;const n=Ot();if(n){const o=Uo||!!((r=n.resolvedOptions)!=null&&r.document);return t.mode==="server"&&o||t.mode==="client"&&!o?void 0:o?zo(e,t):qo(e,t)}}const Wo=["script","style","noscript"],Go=["base","meta","link","style","script","noscript"],Qo=["base","title","titleTemplate","bodyAttrs","htmlAttrs"];function Zo(e,t){const{props:n,tag:r}=e;if(Qo.includes(r))return r;if(r==="link"&&n.rel==="canonical")return"canonical";if(n.charset)return"charset";const o=["id"];r==="meta"&&o.push("name","property","http-equiv");for(const s of o)if(typeof n[s]<"u"){const i=String(n[s]);return t&&!t(i)?!1:`${r}:${s}:${i}`}return!1}const Ue=(e,t)=>{const{tag:n,$el:r}=e;r&&(Object.entries(n.props).forEach(([o,s])=>{s=String(s);const i=`attr:${o}`;if(o==="class"){if(!s)return;for(const c of s.split(" ")){const l=`${i}:${c}`;t&&t(e,l,()=>r.classList.remove(c)),r.classList.contains(c)||r.classList.add(c)}return}t&&!o.startsWith("data-h-")&&t(e,i,()=>r.removeAttribute(o)),r.getAttribute(o)!==s&&r.setAttribute(o,s)}),Wo.includes(n.tag)&&r.innerHTML!==(n.children||"")&&(r.innerHTML=n.children||""))};function Jo(e){let t=9;for(let n=0;n>>9)+65536).toString(16).substring(1,8).toLowerCase()}async function $r(e,t={}){var u,h;const n={shouldRender:!0};if(await e.hooks.callHook("dom:beforeRender",n),!n.shouldRender)return;const r=t.document||window.document,o=e._popSideEffectQueue();e.headEntries().map(d=>d._sde).forEach(d=>{Object.entries(d).forEach(([f,p])=>{o[f]=p})});const s=async d=>{const f=e.headEntries().find(b=>b._i===d._e),p={renderId:d._d||Jo(JSON.stringify({...d,_e:void 0,_p:void 0})),$el:null,shouldRender:!0,tag:d,entry:f,staleSideEffects:o};return await e.hooks.callHook("dom:beforeRenderTag",p),p},i=[],c={body:[],head:[]},l=(d,f,p)=>{f=`${d.renderId}:${f}`,d.entry&&(d.entry._sde[f]=p),delete o[f]},a=d=>{e._elMap[d.renderId]=d.$el,i.push(d),l(d,"el",()=>{var f;(f=d.$el)==null||f.remove(),delete e._elMap[d.renderId]})};for(const d of await e.resolveTags()){const f=await s(d);if(!f.shouldRender)continue;const{tag:p}=f;if(p.tag==="title"){r.title=p.children||"",i.push(f);continue}if(p.tag==="htmlAttrs"||p.tag==="bodyAttrs"){f.$el=r[p.tag==="htmlAttrs"?"documentElement":"body"],Ue(f,l),i.push(f);continue}if(f.$el=e._elMap[f.renderId],!f.$el&&p._hash&&(f.$el=r.querySelector(`${(u=p.tagPosition)!=null&&u.startsWith("body")?"body":"head"} > ${p.tag}[data-h-${p._hash}]`)),f.$el){f.tag._d&&Ue(f),a(f);continue}f.$el=r.createElement(p.tag),Ue(f),c[(h=p.tagPosition)!=null&&h.startsWith("body")?"body":"head"].push(f)}Object.entries(c).forEach(([d,f])=>{var b;if(!f.length)return;const p=(b=r==null?void 0:r[d])==null?void 0:b.children;if(p){for(const m of[...p].reverse()){const v=m.tagName.toLowerCase();if(!Go.includes(v))continue;const E=Zo({tag:v,props:m.getAttributeNames().reduce((C,k)=>({...C,[k]:m.getAttribute(k)}),{})}),P=f.findIndex(C=>{var k;return C&&(C.tag._d===E||((k=m.isEqualNode)==null?void 0:k.call(m,C.$el)))});if(P!==-1){const C=f[P];C.$el=m,Ue(C),a(C),delete f[P]}}f.forEach(m=>{if(m.$el){switch(m.tag.tagPosition){case"bodyClose":r.body.appendChild(m.$el);break;case"bodyOpen":r.body.insertBefore(m.$el,r.body.firstChild);break;case"head":default:r.head.appendChild(m.$el);break}a(m)}})}});for(const d of i)await e.hooks.callHook("dom:renderTag",d);Object.values(o).forEach(d=>d())}let ft=null;async function Yo(e,t={}){function n(){return ft=null,$r(e,t)}const r=t.delayFn||(o=>setTimeout(o,10));return ft=ft||new Promise(o=>r(()=>o(n())))}function Xo(e){const t=Ko(),n={unhead:t,install(r){gr.startsWith("3")&&(r.config.globalProperties.$head=t,r.provide("usehead",t))},use(r){t.use(r)},resolveTags(){return t.resolveTags()},headEntries(){return t.headEntries()},headTags(){return t.resolveTags()},push(r,o){return t.push(r,o)},addEntry(r,o){return t.push(r,o)},addHeadObjs(r,o){return t.push(r,o)},addReactiveEntry(r,o){const s=Ir(r,o);return typeof s<"u"?s.dispose:()=>{}},removeHeadObjs(){},updateDOM(r,o){o?$r(t,{document:r}):Yo(t,{delayFn:s=>setTimeout(()=>s(),50),document:r})},internalHooks:t.hooks,hooks:{"before:dom":[],"resolved:tags":[],"resolved:entries":[]}};return t.addHeadObjs=n.addHeadObjs,t.updateDOM=n.updateDOM,t.hooks.hook("dom:beforeRender",r=>{for(const o of n.hooks["before:dom"])o()===!1&&(r.shouldRender=!1)}),e&&n.addHeadObjs(e),n}function Je(e,t){return G()._useHead(e,t)}const es={ignoreUnknown:!1,respectType:!1,respectFunctionNames:!1,respectFunctionProperties:!1,unorderedObjects:!0,unorderedArrays:!1,unorderedSets:!1};function ts(e,t={}){t={...es,...t};const n=Dr(t);return n.dispatch(e),n.toString()}function Dr(e){const t=[];let n=[];const r=o=>{t.push(o)};return{toString(){return t.join("")},getContext(){return n},dispatch(o){return e.replacer&&(o=e.replacer(o)),this["_"+(o===null?"null":typeof o)](o)},_object(o){const s=/\[object (.*)]/i,i=Object.prototype.toString.call(o),c=s.exec(i),l=c?c[1].toLowerCase():"unknown:["+i.toLowerCase()+"]";let a=null;if((a=n.indexOf(o))>=0)return this.dispatch("[CIRCULAR:"+a+"]");if(n.push(o),typeof Buffer<"u"&&Buffer.isBuffer&&Buffer.isBuffer(o))return r("buffer:"),r(o.toString("utf8"));if(l!=="object"&&l!=="function"&&l!=="asyncfunction")if(this["_"+l])this["_"+l](o);else{if(e.ignoreUnknown)return r("["+l+"]");throw new Error('Unknown object type "'+l+'"')}else{let u=Object.keys(o);e.unorderedObjects&&(u=u.sort()),e.respectType!==!1&&!Kt(o)&&u.splice(0,0,"prototype","__proto__","letructor"),e.excludeKeys&&(u=u.filter(function(h){return!e.excludeKeys(h)})),r("object:"+u.length+":");for(const h of u)this.dispatch(h),r(":"),e.excludeValues||this.dispatch(o[h]),r(",")}},_array(o,s){if(s=typeof s<"u"?s:e.unorderedArrays!==!1,r("array:"+o.length+":"),!s||o.length<=1){for(const l of o)this.dispatch(l);return}const i=[],c=o.map(l=>{const a=Dr(e);return a.dispatch(l),i.push(a.getContext()),a.toString()});return n=[...n,...i],c.sort(),this._array(c,!1)},_date(o){return r("date:"+o.toJSON())},_symbol(o){return r("symbol:"+o.toString())},_error(o){return r("error:"+o.toString())},_boolean(o){return r("bool:"+o.toString())},_string(o){r("string:"+o.length+":"),r(o.toString())},_function(o){r("fn:"),Kt(o)?this.dispatch("[native]"):this.dispatch(o.toString()),e.respectFunctionNames!==!1&&this.dispatch("function-name:"+String(o.name)),e.respectFunctionProperties&&this._object(o)},_number(o){return r("number:"+o.toString())},_xml(o){return r("xml:"+o.toString())},_null(){return r("Null")},_undefined(){return r("Undefined")},_regexp(o){return r("regex:"+o.toString())},_uint8array(o){return r("uint8array:"),this.dispatch(Array.prototype.slice.call(o))},_uint8clampedarray(o){return r("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(o))},_int8array(o){return r("int8array:"),this.dispatch(Array.prototype.slice.call(o))},_uint16array(o){return r("uint16array:"),this.dispatch(Array.prototype.slice.call(o))},_int16array(o){return r("int16array:"),this.dispatch(Array.prototype.slice.call(o))},_uint32array(o){return r("uint32array:"),this.dispatch(Array.prototype.slice.call(o))},_int32array(o){return r("int32array:"),this.dispatch(Array.prototype.slice.call(o))},_float32array(o){return r("float32array:"),this.dispatch(Array.prototype.slice.call(o))},_float64array(o){return r("float64array:"),this.dispatch(Array.prototype.slice.call(o))},_arraybuffer(o){return r("arraybuffer:"),this.dispatch(new Uint8Array(o))},_url(o){return r("url:"+o.toString())},_map(o){r("map:");const s=[...o];return this._array(s,e.unorderedSets!==!1)},_set(o){r("set:");const s=[...o];return this._array(s,e.unorderedSets!==!1)},_file(o){return r("file:"),this.dispatch([o.name,o.size,o.type,o.lastModfied])},_blob(){if(e.ignoreUnknown)return r("[blob]");throw new Error(`Hashing Blob objects is currently not supported -Use "options.replacer" or "options.ignoreUnknown" -`)},_domwindow(){return r("domwindow")},_bigint(o){return r("bigint:"+o.toString())},_process(){return r("process")},_timer(){return r("timer")},_pipe(){return r("pipe")},_tcp(){return r("tcp")},_udp(){return r("udp")},_tty(){return r("tty")},_statwatcher(){return r("statwatcher")},_securecontext(){return r("securecontext")},_connection(){return r("connection")},_zlib(){return r("zlib")},_context(){return r("context")},_nodescript(){return r("nodescript")},_httpparser(){return r("httpparser")},_dataview(){return r("dataview")},_signal(){return r("signal")},_fsevent(){return r("fsevent")},_tlswrap(){return r("tlswrap")}}}function Kt(e){return typeof e!="function"?!1:/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code]\s+}$/i.exec(Function.prototype.toString.call(e))!=null}class ve{constructor(t,n){t=this.words=t||[],this.sigBytes=n!==void 0?n:t.length*4}toString(t){return(t||rs).stringify(this)}concat(t){if(this.clamp(),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];return this.sigBytes+=t.sigBytes,this}clamp(){this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4)}clone(){return new ve([...this.words])}}const rs={stringify(e){const t=[];for(let n=0;n>>2]>>>24-n%4*8&255;t.push((r>>>4).toString(16),(r&15).toString(16))}return t.join("")}},ns={stringify(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=[];for(let r=0;r>>2]>>>24-r%4*8&255,s=e.words[r+1>>>2]>>>24-(r+1)%4*8&255,i=e.words[r+2>>>2]>>>24-(r+2)%4*8&255,c=o<<16|s<<8|i;for(let l=0;l<4&&r*8+l*6>>6*(3-l)&63))}return n.join("")}},os={parse(e){const t=e.length,n=[];for(let r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new ve(n,t)}},ss={parse(e){return os.parse(unescape(encodeURIComponent(e)))}};class as{constructor(){this._minBufferSize=0,this.blockSize=512/32,this.reset()}reset(){this._data=new ve,this._nDataBytes=0}_append(t){typeof t=="string"&&(t=ss.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_doProcessBlock(t,n){}_process(t){let n,r=this._data.sigBytes/(this.blockSize*4);t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const o=r*this.blockSize,s=Math.min(o*4,this._data.sigBytes);if(o){for(let i=0;i>>7)^(P<<14|P>>>18)^P>>>3,k=pe[d-2],I=(k<<15|k>>>17)^(k<<13|k>>>19)^k>>>10;pe[d]=C+pe[d-7]+I+pe[d-16]}const f=l&a^~l&u,p=o&s^o&i^s&i,b=(o<<30|o>>>2)^(o<<19|o>>>13)^(o<<10|o>>>22),m=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),v=h+m+f+cs[d]+pe[d],E=b+p;h=u,u=a,a=l,l=c+v|0,c=i,i=s,s=o,o=v+E|0}r[0]=r[0]+o|0,r[1]=r[1]+s|0,r[2]=r[2]+i|0,r[3]=r[3]+c|0,r[4]=r[4]+l|0,r[5]=r[5]+a|0,r[6]=r[6]+u|0,r[7]=r[7]+h|0}finalize(t){super.finalize(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}}function ds(e){return new us().finalize(e).toString(ns)}function Ye(e,t={}){const n=typeof e=="string"?e:ts(e,t);return ds(n).slice(0,10)}function Ft(e,t={}){const n=fs(e,t),r=G(),o=r._payloadCache=r._payloadCache||{};return o[e]||(o[e]=ps(n).then(s=>s||(delete o[e],null))),o[e]}function fs(e,t={}){const n=new URL(e,"http://localhost");if(n.search)throw new Error("Payload URL cannot contain search params: "+e);if(n.host!=="localhost")throw new Error("Payload URL cannot contain host: "+e);const r=t.hash||(t.fresh?Date.now():"");return et(te().app.baseURL,n.pathname,r?`_payload.${r}.js`:"_payload.js")}async function ps(e){const t=await _(()=>import(e),[],import.meta.url).catch(n=>{console.warn("[nuxt] Cannot load payload ",e,n)});return(t==null?void 0:t.default)||null}function hs(){return!!G().payload.prerenderedAt}const pt={ExampleCard:g(()=>_(()=>import("./ExampleCard.26f9bb19.js"),["./ExampleCard.26f9bb19.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),ExampleHero:g(()=>_(()=>import("./ExampleHero.02aa09cf.js"),["./ExampleHero.02aa09cf.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),ExampleIconCard:g(()=>_(()=>import("./ExampleIconCard.07caa17e.js"),["./ExampleIconCard.07caa17e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(e=>e.default||e)),ExampleMultiselect:g(()=>_(()=>import("./ExampleMultiselect.edfb3bb6.js"),["./ExampleMultiselect.edfb3bb6.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),ExampleTheTitle:g(()=>_(()=>import("./ExampleTheTitle.e4b43830.js"),["./ExampleTheTitle.e4b43830.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(e=>e.default||e)),HeroAnnouncement:g(()=>_(()=>import("./HeroAnnouncement.32859cbb.js"),["./HeroAnnouncement.32859cbb.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./HeroAnnouncement.c8294d82.css"],import.meta.url).then(e=>e.default||e)),IconMarkdown:g(()=>_(()=>import("./IconMarkdown.abd5e80b.js"),["./IconMarkdown.abd5e80b.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),Logo:g(()=>_(()=>Promise.resolve().then(()=>Ci),void 0,import.meta.url).then(e=>e.default||e)),MyButton:g(()=>_(()=>import("./MyButton.d8f00b03.js"),["./MyButton.d8f00b03.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./MyButton.c36465b2.css"],import.meta.url).then(e=>e.default||e)),PropInspector:g(()=>_(()=>import("./PropInspector.83153412.js"),["./PropInspector.83153412.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./PropInspector.8b357721.css"],import.meta.url).then(e=>e.default||e)),ReadMore:g(()=>_(()=>import("./ReadMore.bd9c6b06.js"),["./ReadMore.bd9c6b06.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./Alert.443f6167.js","./ContentSlot.7e1a494f.js","./Alert.f24f4058.css"],import.meta.url).then(e=>e.default||e)),AppFooter:g(()=>_(()=>Promise.resolve().then(()=>ol),void 0,import.meta.url).then(e=>e.default||e)),AppHeader:g(()=>_(()=>Promise.resolve().then(()=>Zi),void 0,import.meta.url).then(e=>e.default||e)),AppHeaderDialog:g(()=>_(()=>Promise.resolve().then(()=>Ei),void 0,import.meta.url).then(e=>e.default||e)),AppHeaderLogo:g(()=>_(()=>Promise.resolve().then(()=>Li),void 0,import.meta.url).then(e=>e.default||e)),AppHeaderNavigation:g(()=>_(()=>Promise.resolve().then(()=>Ii),void 0,import.meta.url).then(e=>e.default||e)),AppLayout:g(()=>_(()=>import("./AppLayout.bec693ec.js"),["./AppLayout.bec693ec.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),AppLoadingBar:g(()=>_(()=>Promise.resolve().then(()=>pi),void 0,import.meta.url).then(e=>e.default||e)),AppSearch:g(()=>_(()=>Promise.resolve().then(()=>xi),void 0,import.meta.url).then(e=>e.default||e)),AppSocialIcons:g(()=>_(()=>Promise.resolve().then(()=>_i),void 0,import.meta.url).then(e=>e.default||e)),DocumentDrivenNotFound:g(()=>_(()=>import("./DocumentDrivenNotFound.25e8b3dc.js"),["./DocumentDrivenNotFound.25e8b3dc.js","./ButtonLink.2789431f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./ButtonLink.1b73392c.css","./DocumentDrivenNotFound.434430ce.css"],import.meta.url).then(e=>e.default||e)),ThemeSelect:g(()=>_(()=>Promise.resolve().then(()=>Fi),void 0,import.meta.url).then(e=>e.default||e)),DocsAside:g(()=>_(()=>import("./DocsAside.44ffd29b.js"),["./DocsAside.44ffd29b.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./DocsAside.d7386185.css"],import.meta.url).then(e=>e.default||e)),DocsAsideTree:g(()=>_(()=>import("./DocsAsideTree.08d70919.js").then(e=>e.D),["./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(e=>e.default||e)),DocsPageBottom:g(()=>_(()=>import("./DocsPageBottom.a96d3867.js"),["./DocsPageBottom.a96d3867.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseA.c8de8b63.js","./ProseA.89c7f0ff.css","./EditOnLink.vue.21b8aa9d.js","./DocsPageBottom.d9d559e1.css"],import.meta.url).then(e=>e.default||e)),DocsPageLayout:g(()=>_(()=>import("./DocsPageLayout.8e541ec6.js"),["./DocsPageLayout.8e541ec6.js","./DocsAside.44ffd29b.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./DocsAside.d7386185.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Alert.443f6167.js","./ContentSlot.7e1a494f.js","./Alert.f24f4058.css","./DocsPageBottom.a96d3867.js","./ProseA.c8de8b63.js","./ProseA.89c7f0ff.css","./EditOnLink.vue.21b8aa9d.js","./DocsPageBottom.d9d559e1.css","./DocsPrevNext.adb795e8.js","./DocsPrevNext.6bb4ff17.css","./DocsToc.03cf2013.js","./DocsTocLinks.c11364e4.js","./DocsTocLinks.2846f127.css","./DocsToc.6b8d2996.css","./DocsPageLayout.0537ea8c.css"],import.meta.url).then(e=>e.default||e)),DocsPrevNext:g(()=>_(()=>import("./DocsPrevNext.adb795e8.js"),["./DocsPrevNext.adb795e8.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./DocsPrevNext.6bb4ff17.css"],import.meta.url).then(e=>e.default||e)),DocsToc:g(()=>_(()=>import("./DocsToc.03cf2013.js"),["./DocsToc.03cf2013.js","./DocsTocLinks.c11364e4.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./app.config.4114fca6.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./DocsTocLinks.2846f127.css","./DocsToc.6b8d2996.css"],import.meta.url).then(e=>e.default||e)),DocsTocLinks:g(()=>_(()=>import("./DocsTocLinks.c11364e4.js"),["./DocsTocLinks.c11364e4.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./app.config.4114fca6.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./DocsTocLinks.2846f127.css"],import.meta.url).then(e=>e.default||e)),EditOnLink:g(()=>_(()=>import("./EditOnLink.f0fb05c8.js"),["./EditOnLink.f0fb05c8.js","./EditOnLink.vue.21b8aa9d.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./useDocus.edcbeab5.js"],import.meta.url).then(e=>e.default||e)),ProseA:g(()=>_(()=>import("./ProseA.c8de8b63.js"),["./ProseA.c8de8b63.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./ProseA.89c7f0ff.css"],import.meta.url).then(e=>e.default||e)),ProseBlockquote:g(()=>_(()=>import("./ProseBlockquote.ecc3d96f.js"),["./ProseBlockquote.ecc3d96f.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseBlockquote.e233c07e.css"],import.meta.url).then(e=>e.default||e)),ProseCode:g(()=>_(()=>import("./ProseCode.2adf04d1.js"),["./ProseCode.2adf04d1.js","./ProseCodeCopyButton.1eec7dbb.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./index.889aa611.js","./ProseCode.69d80bcc.css"],import.meta.url).then(e=>e.default||e)),ProseCodeInline:g(()=>_(()=>import("./ProseCodeInline.dca1a534.js"),["./ProseCodeInline.dca1a534.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseCodeInline.aab68857.css"],import.meta.url).then(e=>e.default||e)),ProseEm:g(()=>_(()=>import("./ProseEm.35693543.js"),["./ProseEm.35693543.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseEm.26a085fc.css"],import.meta.url).then(e=>e.default||e)),ProseH1:g(()=>_(()=>import("./ProseH1.ee507e45.js"),["./ProseH1.ee507e45.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH1.e8ed25c4.css"],import.meta.url).then(e=>e.default||e)),ProseH2:g(()=>_(()=>import("./ProseH2.36291d6d.js"),["./ProseH2.36291d6d.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH2.39cb29c9.css"],import.meta.url).then(e=>e.default||e)),ProseH3:g(()=>_(()=>import("./ProseH3.0209a6ec.js"),["./ProseH3.0209a6ec.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH3.185f3970.css"],import.meta.url).then(e=>e.default||e)),ProseH4:g(()=>_(()=>import("./ProseH4.4ddfc0da.js"),["./ProseH4.4ddfc0da.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH4.63359073.css"],import.meta.url).then(e=>e.default||e)),ProseH5:g(()=>_(()=>import("./ProseH5.fd3b0c88.js"),["./ProseH5.fd3b0c88.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH5.85b0a165.css"],import.meta.url).then(e=>e.default||e)),ProseH6:g(()=>_(()=>import("./ProseH6.c2012c78.js"),["./ProseH6.c2012c78.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH6.c7358255.css"],import.meta.url).then(e=>e.default||e)),ProseHr:g(()=>_(()=>import("./ProseHr.75e3ac21.js"),["./ProseHr.75e3ac21.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseHr.c7c78bbe.css"],import.meta.url).then(e=>e.default||e)),ProseImg:g(()=>_(()=>import("./ProseImg.ff3b8d7e.js"),["./ProseImg.ff3b8d7e.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./ProseImg.018721e2.css"],import.meta.url).then(e=>e.default||e)),ProseLi:g(()=>_(()=>import("./ProseLi.171f9b22.js"),["./ProseLi.171f9b22.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseLi.ac05b421.css"],import.meta.url).then(e=>e.default||e)),ProseOl:g(()=>_(()=>import("./ProseOl.8e9d7d6a.js"),["./ProseOl.8e9d7d6a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseOl.d78cb0de.css"],import.meta.url).then(e=>e.default||e)),ProseP:g(()=>_(()=>import("./ProseP.9fd9b629.js"),["./ProseP.9fd9b629.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseP.945916cd.css"],import.meta.url).then(e=>e.default||e)),ProseStrong:g(()=>_(()=>import("./ProseStrong.3de7628e.js"),["./ProseStrong.3de7628e.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseStrong.263d77e1.css"],import.meta.url).then(e=>e.default||e)),ProseTable:g(()=>_(()=>import("./ProseTable.a85f8bca.js"),["./ProseTable.a85f8bca.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTable.c65fbffe.css"],import.meta.url).then(e=>e.default||e)),ProseTbody:g(()=>_(()=>import("./ProseTbody.37a7db42.js"),["./ProseTbody.37a7db42.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),ProseTd:g(()=>_(()=>import("./ProseTd.921f02a8.js"),["./ProseTd.921f02a8.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTd.4df19d93.css"],import.meta.url).then(e=>e.default||e)),ProseTh:g(()=>_(()=>import("./ProseTh.d24c1b52.js"),["./ProseTh.d24c1b52.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTh.348cb47e.css"],import.meta.url).then(e=>e.default||e)),ProseThead:g(()=>_(()=>import("./ProseThead.40eb8658.js"),["./ProseThead.40eb8658.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseThead.65d34604.css"],import.meta.url).then(e=>e.default||e)),ProseTr:g(()=>_(()=>import("./ProseTr.d0d94723.js"),["./ProseTr.d0d94723.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTr.65bec588.css"],import.meta.url).then(e=>e.default||e)),ProseUl:g(()=>_(()=>import("./ProseUl.5ba8de5b.js"),["./ProseUl.5ba8de5b.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseUl.85b434de.css"],import.meta.url).then(e=>e.default||e)),Alert:g(()=>_(()=>import("./Alert.443f6167.js"),["./Alert.443f6167.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./Alert.f24f4058.css"],import.meta.url).then(e=>e.default||e)),Badge:g(()=>_(()=>import("./Badge.a4f5598b.js"),["./Badge.a4f5598b.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./Badge.05529646.css"],import.meta.url).then(e=>e.default||e)),ButtonLink:g(()=>_(()=>import("./ButtonLink.2789431f.js"),["./ButtonLink.2789431f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./ButtonLink.1b73392c.css"],import.meta.url).then(e=>e.default||e)),Callout:g(()=>_(()=>import("./Callout.e09a04aa.js"),["./Callout.e09a04aa.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./Callout.a5db879a.css"],import.meta.url).then(e=>e.default||e)),CodeBlock:g(()=>_(()=>import("./CodeBlock.163820c8.js"),["./CodeBlock.163820c8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./CodeBlock.e4cadaca.css"],import.meta.url).then(e=>e.default||e)),CodeGroup:g(()=>_(()=>import("./CodeGroup.c21eec3c.js"),["./CodeGroup.c21eec3c.js","./CodeGroup.vue.e138b097.js","./TabsHeader.f80c17f8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./TabsHeader.fed4d9b4.css","./CodeGroup.92ac881c.css"],import.meta.url).then(e=>e.default||e)),Container:g(()=>_(()=>import("./Container.f1017aa2.js").then(e=>e.C),["./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),CopyButton:g(()=>_(()=>import("./CopyButton.c9acc792.js"),["./CopyButton.c9acc792.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./index.889aa611.js"],import.meta.url).then(e=>e.default||e)),Ellipsis:g(()=>_(()=>import("./Ellipsis.50580cd1.js"),["./Ellipsis.50580cd1.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./Ellipsis.f7ff00dc.css"],import.meta.url).then(e=>e.default||e)),List:g(()=>_(()=>import("./List.0c42b342.js"),["./List.0c42b342.js","./List.vue.d5bae865.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./List.a65f0e81.css"],import.meta.url).then(e=>e.default||e)),NuxtImg:g(()=>_(()=>import("./NuxtImg.3bab810e.js"),["./NuxtImg.3bab810e.js","./NuxtImg.vue.594abc77.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(e=>e.default||e)),Props:g(()=>_(()=>import("./Props.80a76d3d.js"),["./Props.80a76d3d.js","./ProseTh.d24c1b52.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseTh.348cb47e.css","./ProseTr.d0d94723.js","./ProseTr.65bec588.css","./ProseThead.40eb8658.js","./ProseThead.65d34604.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./ProseTd.921f02a8.js","./ProseTd.4df19d93.css","./ProseTbody.37a7db42.js","./ProseTable.a85f8bca.js","./ProseTable.c65fbffe.css","./app.config.4114fca6.js","./asyncData.2775b491.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),Sandbox:g(()=>_(()=>import("./Sandbox.21a025fb.js"),["./Sandbox.21a025fb.js","./TabsHeader.f80c17f8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./TabsHeader.fed4d9b4.css","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./Sandbox.68fd6c5d.css"],import.meta.url).then(e=>e.default||e)),SourceLink:g(()=>_(()=>import("./SourceLink.8b39af38.js"),["./SourceLink.8b39af38.js","./ProseP.9fd9b629.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./ProseP.945916cd.css"],import.meta.url).then(e=>e.default||e)),TabsHeader:g(()=>_(()=>import("./TabsHeader.f80c17f8.js"),["./TabsHeader.f80c17f8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./TabsHeader.fed4d9b4.css"],import.meta.url).then(e=>e.default||e)),Terminal:g(()=>_(()=>import("./Terminal.e111a4e9.js"),["./Terminal.e111a4e9.js","./index.889aa611.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./Terminal.55a17588.css"],import.meta.url).then(e=>e.default||e)),VideoPlayer:g(()=>_(()=>import("./VideoPlayer.4efd76f7.js"),["./VideoPlayer.4efd76f7.js","./NuxtImg.vue.594abc77.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./VideoPlayer.e2296f21.css"],import.meta.url).then(e=>e.default||e)),IconCodeSandBox:g(()=>_(()=>import("./IconCodeSandBox.c8242608.js"),["./IconCodeSandBox.c8242608.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),IconDocus:g(()=>_(()=>import("./IconDocus.288d04af.js"),["./IconDocus.288d04af.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),IconNuxt:g(()=>_(()=>import("./IconNuxt.fcd0b256.js"),["./IconNuxt.fcd0b256.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),IconNuxtContent:g(()=>_(()=>import("./IconNuxtContent.e8429861.js"),["./IconNuxtContent.e8429861.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),IconNuxtLabs:g(()=>_(()=>import("./IconNuxtLabs.d57bf3c9.js"),["./IconNuxtLabs.d57bf3c9.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),IconNuxtStudio:g(()=>_(()=>import("./IconNuxtStudio.af5044e4.js"),["./IconNuxtStudio.af5044e4.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./IconNuxtStudio.34390cd8.css"],import.meta.url).then(e=>e.default||e)),IconStackBlitz:g(()=>_(()=>import("./IconStackBlitz.8b1569eb.js"),["./IconStackBlitz.8b1569eb.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),IconVueTelescope:g(()=>_(()=>import("./IconVueTelescope.e930811b.js"),["./IconVueTelescope.e930811b.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),BlockHero:g(()=>_(()=>import("./BlockHero.81a09280.js"),["./BlockHero.81a09280.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ButtonLink.2789431f.js","./ButtonLink.1b73392c.css","./Terminal.e111a4e9.js","./index.889aa611.js","./Terminal.55a17588.css","./BlockHero.4aa0ef8d.css"],import.meta.url).then(e=>e.default||e)),Card:g(()=>_(()=>import("./Card.24a8ff8f.js"),["./Card.24a8ff8f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./Card.5dfb7f30.css"],import.meta.url).then(e=>e.default||e)),CardGrid:g(()=>_(()=>import("./CardGrid.362959de.js"),["./CardGrid.362959de.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./CardGrid.54558efd.css"],import.meta.url).then(e=>e.default||e)),VoltaBoard:g(()=>_(()=>import("./VoltaBoard.1d961799.js"),["./VoltaBoard.1d961799.js","./runtime-core.esm-bundler.6894272a.js","./VoltaBoard.a5d6b336.css"],import.meta.url).then(e=>e.default||e)),ComponentPlayground:g(()=>_(()=>import("./ComponentPlayground.00658939.js"),["./ComponentPlayground.00658939.js","./ComponentPlayground.vue.db6a2f57.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./Ellipsis.50580cd1.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./Ellipsis.f7ff00dc.css","./ComponentPlaygroundData.c394e239.js","./TabsHeader.f80c17f8.js","./TabsHeader.fed4d9b4.css","./ComponentPlaygroundProps.59058ddd.js","./ProseH4.4ddfc0da.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./ProseH4.63359073.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Badge.a4f5598b.js","./ContentSlot.7e1a494f.js","./Badge.05529646.css","./ProseP.9fd9b629.js","./ProseP.945916cd.css","./index.889aa611.js","./ComponentPlaygroundProps.54f42c7a.css","./ComponentPlaygroundSlots.vue.d9207f3c.js","./ComponentPlaygroundTokens.vue.43c587d1.js","./ComponentPlaygroundData.2ba66f99.css","./ComponentPlayground.3f4b16b9.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),ComponentPlaygroundData:g(()=>_(()=>import("./ComponentPlaygroundData.c394e239.js"),["./ComponentPlaygroundData.c394e239.js","./TabsHeader.f80c17f8.js","./runtime-core.esm-bundler.6894272a.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./Container.dc145a5e.css","./TabsHeader.fed4d9b4.css","./ComponentPlaygroundProps.59058ddd.js","./ProseH4.4ddfc0da.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./DocsAsideTree.b13c5d2f.css","./ProseH4.63359073.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Badge.a4f5598b.js","./ContentSlot.7e1a494f.js","./Badge.05529646.css","./ProseP.9fd9b629.js","./ProseP.945916cd.css","./index.889aa611.js","./ComponentPlaygroundProps.54f42c7a.css","./ComponentPlaygroundSlots.vue.d9207f3c.js","./ComponentPlaygroundTokens.vue.43c587d1.js","./ComponentPlaygroundData.2ba66f99.css"],import.meta.url).then(e=>e.default||e)),ComponentPlaygroundProps:g(()=>_(()=>import("./ComponentPlaygroundProps.59058ddd.js"),["./ComponentPlaygroundProps.59058ddd.js","./ProseH4.4ddfc0da.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ProseH4.63359073.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Badge.a4f5598b.js","./ContentSlot.7e1a494f.js","./Badge.05529646.css","./ProseP.9fd9b629.js","./ProseP.945916cd.css","./index.889aa611.js","./ComponentPlaygroundProps.54f42c7a.css"],import.meta.url).then(e=>e.default||e)),ComponentPlaygroundSlots:g(()=>_(()=>import("./ComponentPlaygroundSlots.71fbb170.js"),["./ComponentPlaygroundSlots.71fbb170.js","./ComponentPlaygroundSlots.vue.d9207f3c.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(e=>e.default||e)),ComponentPlaygroundTokens:g(()=>_(()=>import("./ComponentPlaygroundTokens.334d4f7a.js"),["./ComponentPlaygroundTokens.334d4f7a.js","./ComponentPlaygroundTokens.vue.43c587d1.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(e=>e.default||e)),TokensPlayground:g(()=>_(()=>import("./TokensPlayground.961c6dbe.js"),["./TokensPlayground.961c6dbe.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)),ContentDoc:g(()=>_(()=>import("./ContentDoc.08489604.js"),["./ContentDoc.08489604.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./ContentRenderer.51874b59.js","./ContentRendererMarkdown.1da6a628.js","./cookie.5bbb58d5.js","./ContentQuery.7a036327.js","./asyncData.2775b491.js","./DocsAsideTree.08d70919.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),ContentList:g(()=>_(()=>import("./ContentList.394febbe.js"),["./ContentList.394febbe.js","./ContentQuery.7a036327.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),ContentNavigation:g(()=>_(()=>import("./ContentNavigation.d592cbe0.js"),["./ContentNavigation.d592cbe0.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./DocsAsideTree.b13c5d2f.css","./EditOnLink.vue.21b8aa9d.js","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./ProseH4.4ddfc0da.js","./ProseH4.63359073.css","./ProseP.9fd9b629.js","./ProseP.945916cd.css","./ProseTable.a85f8bca.js","./ProseTable.c65fbffe.css","./ProseTd.921f02a8.js","./ProseTd.4df19d93.css","./ProseTh.d24c1b52.js","./ProseTh.348cb47e.css","./ProseThead.40eb8658.js","./ProseThead.65d34604.css","./ProseTr.d0d94723.js","./ProseTr.65bec588.css","./Badge.a4f5598b.js","./Badge.05529646.css","./CodeGroup.vue.e138b097.js","./TabsHeader.f80c17f8.js","./TabsHeader.fed4d9b4.css","./CodeGroup.92ac881c.css","./Ellipsis.50580cd1.js","./Ellipsis.f7ff00dc.css","./List.vue.d5bae865.js","./List.a65f0e81.css","./NuxtImg.vue.594abc77.js","./Props.80a76d3d.js","./ProseTbody.37a7db42.js","./query.c3f7607a.js","./ComponentPlayground.vue.db6a2f57.js","./ComponentPlaygroundData.c394e239.js","./ComponentPlaygroundProps.59058ddd.js","./index.889aa611.js","./ComponentPlaygroundProps.54f42c7a.css","./ComponentPlaygroundSlots.vue.d9207f3c.js","./ComponentPlaygroundTokens.vue.43c587d1.js","./ComponentPlaygroundData.2ba66f99.css","./ComponentPlayground.3f4b16b9.css","./ContentDoc.08489604.js","./ContentRenderer.51874b59.js","./ContentRendererMarkdown.1da6a628.js","./ContentQuery.7a036327.js","./ContentList.394febbe.js","./DocumentDrivenEmpty.7ceddd7c.js","./Markdown.eb6ef861.js","./layout.732d57d1.js","./GithubRepository.bbd436c6.js","./useGithub.916c5979.js","./GithubLink.6e1f1ea3.js","./GithubReadme.3309f143.js","./GithubReleases.54c416e9.js","./GithubLastRelease.7ffc61aa.js","./GithubRelease.fea5f747.js","./GithubContributors.35cdb9ac.js","./GithubFileContributors.2287b161.js","./GithubCommits.e43b30d0.js","./ContentNavigation.df5077be.css","./HeroAnnouncement.c8294d82.css","./MyButton.c36465b2.css","./PropInspector.8b357721.css","./Alert.f24f4058.css","./ButtonLink.1b73392c.css","./DocumentDrivenNotFound.434430ce.css","./DocsAside.d7386185.css","./ProseA.89c7f0ff.css","./DocsPageBottom.d9d559e1.css","./DocsPrevNext.6bb4ff17.css","./DocsTocLinks.2846f127.css","./DocsToc.6b8d2996.css","./DocsPageLayout.0537ea8c.css","./ProseBlockquote.e233c07e.css","./ProseCode.69d80bcc.css","./ProseEm.26a085fc.css","./ProseH1.e8ed25c4.css","./ProseH2.39cb29c9.css","./ProseH3.185f3970.css","./ProseH5.85b0a165.css","./ProseH6.c7358255.css","./ProseHr.c7c78bbe.css","./ProseImg.018721e2.css","./ProseLi.ac05b421.css","./ProseOl.d78cb0de.css","./ProseStrong.263d77e1.css","./ProseUl.85b434de.css","./Callout.a5db879a.css","./CodeBlock.e4cadaca.css","./Sandbox.68fd6c5d.css","./Terminal.55a17588.css","./VideoPlayer.e2296f21.css","./IconNuxtStudio.34390cd8.css","./BlockHero.4aa0ef8d.css","./Card.5dfb7f30.css","./CardGrid.54558efd.css","./VoltaBoard.a5d6b336.css","./ContentPreviewMode.dea45f14.css"],import.meta.url).then(e=>e.default||e)),ContentQuery:g(()=>_(()=>import("./ContentQuery.7a036327.js"),["./ContentQuery.7a036327.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),ContentRenderer:g(()=>_(()=>import("./ContentRenderer.51874b59.js"),["./ContentRenderer.51874b59.js","./ContentRendererMarkdown.1da6a628.js","./cookie.5bbb58d5.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(e=>e.default||e)),ContentRendererMarkdown:g(()=>_(()=>import("./ContentRendererMarkdown.1da6a628.js"),["./ContentRendererMarkdown.1da6a628.js","./cookie.5bbb58d5.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(e=>e.default||e)),ContentSlot:g(()=>_(()=>import("./ContentSlot.7e1a494f.js"),["./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(e=>e.default||e)),DocumentDrivenEmpty:g(()=>_(()=>import("./DocumentDrivenEmpty.7ceddd7c.js"),["./DocumentDrivenEmpty.7ceddd7c.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(e=>e.default||e)),Markdown:g(()=>_(()=>import("./Markdown.eb6ef861.js"),["./Markdown.eb6ef861.js","./ContentSlot.7e1a494f.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(e=>e.default||e)),GithubRepository:g(()=>_(()=>import("./GithubRepository.bbd436c6.js"),["./GithubRepository.bbd436c6.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useGithub.916c5979.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),GithubLink:g(()=>_(()=>import("./GithubLink.6e1f1ea3.js"),["./GithubLink.6e1f1ea3.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js"],import.meta.url).then(e=>e.default||e)),GithubReadme:g(()=>_(()=>import("./GithubReadme.3309f143.js"),["./GithubReadme.3309f143.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useGithub.916c5979.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),GithubReleases:g(()=>_(()=>import("./GithubReleases.54c416e9.js"),["./GithubReleases.54c416e9.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useGithub.916c5979.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),GithubLastRelease:g(()=>_(()=>import("./GithubLastRelease.7ffc61aa.js"),["./GithubLastRelease.7ffc61aa.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useGithub.916c5979.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),GithubRelease:g(()=>_(()=>import("./GithubRelease.fea5f747.js"),["./GithubRelease.fea5f747.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useGithub.916c5979.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),GithubContributors:g(()=>_(()=>import("./GithubContributors.35cdb9ac.js"),["./GithubContributors.35cdb9ac.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useGithub.916c5979.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),GithubFileContributors:g(()=>_(()=>import("./GithubFileContributors.2287b161.js"),["./GithubFileContributors.2287b161.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useGithub.916c5979.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),GithubCommits:g(()=>_(()=>import("./GithubCommits.e43b30d0.js"),["./GithubCommits.e43b30d0.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./asyncData.2775b491.js","./useGithub.916c5979.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)),Icon:g(()=>_(()=>import("./DocsAsideTree.08d70919.js").then(e=>e.I),["./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css"],import.meta.url).then(e=>e.default||e))},_s=Q(e=>{for(const t in pt)e.vueApp.component(t,pt[t]),e.vueApp.component("Lazy"+t,pt[t])}),ms={meta:[{name:"viewport",content:"width=device-width, initial-scale=1"},{charset:"utf-8"}],link:[],style:[],script:[{defer:!0,"data-domain":"frontier.realdecoy.com",src:"https://plausible.io/js/script.js"}],noscript:[]},vl=!1,bt=!1,gs=!1,ys="__nuxt",vs=Q(e=>{const t=Xo();t.push(ms),e.vueApp.use(t);{let n=!0;const r=()=>{n=!1,t.internalHooks.callHook("entries:updated",t.unhead)};t.internalHooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",r),e.hooks.hook("app:mounted",r)}e._useHead=Ir});/*! - * vue-router v4.1.6 - * (c) 2022 Eduardo San Martin Morote - * @license MIT - */const ye=typeof window<"u";function Es(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const $=Object.assign;function ht(e,t){const n={};for(const r in t){const o=t[r];n[r]=Y(o)?o.map(e):e(o)}return n}const $e=()=>{},Y=Array.isArray,bs=/\/$/,ws=e=>e.replace(bs,"");function _t(e,t,n="/"){let r,o={},s="",i="";const c=t.indexOf("#");let l=t.indexOf("?");return c=0&&(l=-1),l>-1&&(r=t.slice(0,l),s=t.slice(l+1,c>-1?c:t.length),o=e(s)),c>-1&&(r=r||t.slice(0,c),i=t.slice(c,t.length)),r=Cs(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:i}}function Ps(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function zt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Rs(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Ee(t.matched[r],n.matched[o])&&Hr(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ee(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Hr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Ts(e[n],t[n]))return!1;return!0}function Ts(e,t){return Y(e)?qt(e,t):Y(t)?qt(t,e):e===t}function qt(e,t){return Y(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Cs(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/");let o=n.length-1,s,i;for(s=0;s1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(s-(s===r.length?1:0)).join("/")}var xe;(function(e){e.pop="pop",e.push="push"})(xe||(xe={}));var De;(function(e){e.back="back",e.forward="forward",e.unknown=""})(De||(De={}));function As(e){if(!e)if(ye){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),ws(e)}const ks=/^[^#]+#/;function Ls(e,t){return e.replace(ks,"#")+t}function Ss(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const nt=()=>({left:window.pageXOffset,top:window.pageYOffset});function Os(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Ss(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Wt(e,t){return(history.state?history.state.position-t:-1)+e}const wt=new Map;function Is(e,t){wt.set(e,t)}function $s(e){const t=wt.get(e);return wt.delete(e),t}let Ds=()=>location.protocol+"//"+location.host;function Mr(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let c=o.includes(e.slice(s))?e.slice(s).length:1,l=o.slice(c);return l[0]!=="/"&&(l="/"+l),zt(l,"")}return zt(n,e)+r+o}function Hs(e,t,n,r){let o=[],s=[],i=null;const c=({state:d})=>{const f=Mr(e,location),p=n.value,b=t.value;let m=0;if(d){if(n.value=f,t.value=d,i&&i===p){i=null;return}m=b?d.position-b.position:0}else r(f);o.forEach(v=>{v(n.value,p,{delta:m,type:xe.pop,direction:m?m>0?De.forward:De.back:De.unknown})})};function l(){i=n.value}function a(d){o.push(d);const f=()=>{const p=o.indexOf(d);p>-1&&o.splice(p,1)};return s.push(f),f}function u(){const{history:d}=window;d.state&&d.replaceState($({},d.state,{scroll:nt()}),"")}function h(){for(const d of s)d();s=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",u),{pauseListeners:l,listen:a,destroy:h}}function Gt(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?nt():null}}function Ms(e){const{history:t,location:n}=window,r={value:Mr(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(l,a,u){const h=e.indexOf("#"),d=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+l:Ds()+e+l;try{t[u?"replaceState":"pushState"](a,"",d),o.value=a}catch(f){console.error(f),n[u?"replace":"assign"](d)}}function i(l,a){const u=$({},t.state,Gt(o.value.back,l,o.value.forward,!0),a,{position:o.value.position});s(l,u,!0),r.value=l}function c(l,a){const u=$({},o.value,t.state,{forward:l,scroll:nt()});s(u.current,u,!0);const h=$({},Gt(r.value,l,null),{position:u.position+1},a);s(l,h,!1),r.value=l}return{location:r,state:o,push:c,replace:i}}function Vr(e){e=As(e);const t=Ms(e),n=Hs(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=$({location:"",base:e,go:r,createHref:Ls.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function Vs(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Vr(e)}function xs(e){return typeof e=="string"||e&&typeof e=="object"}function xr(e){return typeof e=="string"||typeof e=="symbol"}const ce={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},jr=Symbol("");var Qt;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Qt||(Qt={}));function be(e,t){return $(new Error,{type:e,[jr]:!0},t)}function ne(e,t){return e instanceof Error&&jr in e&&(t==null||!!(e.type&t))}const Zt="[^/]+?",js={sensitive:!1,strict:!1,start:!0,end:!0},Bs=/[.+*?^${}()[\]/\\]/g;function Ns(e,t){const n=$({},js,t),r=[];let o=n.start?"^":"";const s=[];for(const a of e){const u=a.length?[]:[90];n.strict&&!a.length&&(o+="/");for(let h=0;ht.length?t.length===1&&t[0]===40+40?1:-1:0}function Ks(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Fs={type:0,value:""},zs=/[a-zA-Z0-9_]/;function qs(e){if(!e)return[[]];if(e==="/")return[[Fs]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(f){throw new Error(`ERR (${n})/"${a}": ${f}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let c=0,l,a="",u="";function h(){a&&(n===0?s.push({type:0,value:a}):n===1||n===2||n===3?(s.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:a,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),a="")}function d(){a+=l}for(;c{i(E)}:$e}function i(u){if(xr(u)){const h=r.get(u);h&&(r.delete(u),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(u);h>-1&&(n.splice(h,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function c(){return n}function l(u){let h=0;for(;h=0&&(u.record.path!==n[h].record.path||!Br(u,n[h]));)h++;n.splice(h,0,u),u.record.name&&!Xt(u)&&r.set(u.record.name,u)}function a(u,h){let d,f={},p,b;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw be(1,{location:u});b=d.record.name,f=$(Yt(h.params,d.keys.filter(E=>!E.optional).map(E=>E.name)),u.params&&Yt(u.params,d.keys.map(E=>E.name))),p=d.stringify(f)}else if("path"in u)p=u.path,d=n.find(E=>E.re.test(p)),d&&(f=d.parse(p),b=d.record.name);else{if(d=h.name?r.get(h.name):n.find(E=>E.re.test(h.path)),!d)throw be(1,{location:u,currentLocation:h});b=d.record.name,f=$({},h.params,u.params),p=d.stringify(f)}const m=[];let v=d;for(;v;)m.unshift(v.record),v=v.parent;return{name:b,path:p,params:f,matched:m,meta:Js(m)}}return e.forEach(u=>s(u)),{addRoute:s,resolve:a,removeRoute:i,getRoutes:c,getRecordMatcher:o}}function Yt(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Qs(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Zs(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Zs(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="boolean"?n:n[r];return t}function Xt(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Js(e){return e.reduce((t,n)=>$(t,n.meta),{})}function er(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Br(e,t){return t.children.some(n=>n===e||Br(e,n))}const Nr=/#/g,Ys=/&/g,Xs=/\//g,ea=/=/g,ta=/\?/g,Ur=/\+/g,ra=/%5B/g,na=/%5D/g,Kr=/%5E/g,oa=/%60/g,Fr=/%7B/g,sa=/%7C/g,zr=/%7D/g,aa=/%20/g;function It(e){return encodeURI(""+e).replace(sa,"|").replace(ra,"[").replace(na,"]")}function ia(e){return It(e).replace(Fr,"{").replace(zr,"}").replace(Kr,"^")}function Pt(e){return It(e).replace(Ur,"%2B").replace(aa,"+").replace(Nr,"%23").replace(Ys,"%26").replace(oa,"`").replace(Fr,"{").replace(zr,"}").replace(Kr,"^")}function la(e){return Pt(e).replace(ea,"%3D")}function ca(e){return It(e).replace(Nr,"%23").replace(ta,"%3F")}function ua(e){return e==null?"":ca(e).replace(Xs,"%2F")}function Xe(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function da(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Pt(s)):[r&&Pt(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function fa(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Y(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const pa=Symbol(""),rr=Symbol(""),$t=Symbol(""),Dt=Symbol(""),Rt=Symbol("");function Le(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e,reset:n}}function de(e,t,n,r,o){const s=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,c)=>{const l=h=>{h===!1?c(be(4,{from:n,to:t})):h instanceof Error?c(h):xs(h)?c(be(2,{from:t,to:h})):(s&&r.enterCallbacks[o]===s&&typeof h=="function"&&s.push(h),i())},a=e.call(r&&r.instances[o],t,n,l);let u=Promise.resolve(a);e.length<3&&(u=u.then(l)),u.catch(h=>c(h))})}function mt(e,t,n,r){const o=[];for(const s of e)for(const i in s.components){let c=s.components[i];if(!(t!=="beforeRouteEnter"&&!s.instances[i]))if(ha(c)){const a=(c.__vccOpts||c)[t];a&&o.push(de(a,n,r,s,i))}else{let l=c();o.push(()=>l.then(a=>{if(!a)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${s.path}"`));const u=Es(a)?a.default:a;s.components[i]=u;const d=(u.__vccOpts||u)[t];return d&&de(d,n,r,s,i)()}))}}return o}function ha(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function nr(e){const t=he($t),n=he(Dt),r=D(()=>t.resolve(R(e.to))),o=D(()=>{const{matched:l}=r.value,{length:a}=l,u=l[a-1],h=n.matched;if(!u||!h.length)return-1;const d=h.findIndex(Ee.bind(null,u));if(d>-1)return d;const f=or(l[a-2]);return a>1&&or(u)===f&&h[h.length-1].path!==f?h.findIndex(Ee.bind(null,l[a-2])):d}),s=D(()=>o.value>-1&&ya(n.params,r.value.params)),i=D(()=>o.value>-1&&o.value===n.matched.length-1&&Hr(n.params,r.value.params));function c(l={}){return ga(l)?t[R(e.replace)?"replace":"push"](R(e.to)).catch($e):Promise.resolve()}return{route:r,href:D(()=>r.value.href),isActive:s,isExactActive:i,navigate:c}}const _a=K({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:nr,setup(e,{slots:t}){const n=_e(nr(e)),{options:r}=he($t),o=D(()=>({[sr(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[sr(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:W("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),ma=_a;function ga(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ya(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!Y(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function or(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const sr=(e,t,n)=>e??t??n,va=K({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=he(Rt),o=D(()=>e.route||r.value),s=he(rr,0),i=D(()=>{let a=R(s);const{matched:u}=o.value;let h;for(;(h=u[a])&&!h.components;)a++;return a}),c=D(()=>o.value.matched[i.value]);Ie(rr,D(()=>i.value+1)),Ie(pa,c),Ie(Rt,o);const l=J();return fe(()=>[l.value,c.value,e.name],([a,u,h],[d,f,p])=>{u&&(u.instances[h]=a,f&&f!==u&&a&&a===d&&(u.leaveGuards.size||(u.leaveGuards=f.leaveGuards),u.updateGuards.size||(u.updateGuards=f.updateGuards))),a&&u&&(!f||!Ee(u,f)||!d)&&(u.enterCallbacks[h]||[]).forEach(b=>b(a))},{flush:"post"}),()=>{const a=o.value,u=e.name,h=c.value,d=h&&h.components[u];if(!d)return ar(n.default,{Component:d,route:a});const f=h.props[u],p=f?f===!0?a.params:typeof f=="function"?f(a):f:null,m=W(d,$({},p,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(h.instances[u]=null)},ref:l}));return ar(n.default,{Component:m,route:a})||m}}});function ar(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qr=va;function Ea(e){const t=Gs(e.routes,e),n=e.parseQuery||da,r=e.stringifyQuery||tr,o=e.history,s=Le(),i=Le(),c=Le(),l=yt(ce);let a=ce;ye&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ht.bind(null,y=>""+y),h=ht.bind(null,ua),d=ht.bind(null,Xe);function f(y,T){let w,A;return xr(y)?(w=t.getRecordMatcher(y),A=T):A=y,t.addRoute(A,w)}function p(y){const T=t.getRecordMatcher(y);T&&t.removeRoute(T)}function b(){return t.getRoutes().map(y=>y.record)}function m(y){return!!t.getRecordMatcher(y)}function v(y,T){if(T=$({},T||l.value),typeof y=="string"){const S=_t(n,y,T.path),N=t.resolve({path:S.path},T),Ae=o.createHref(S.fullPath);return $(S,N,{params:d(N.params),hash:Xe(S.hash),redirectedFrom:void 0,href:Ae})}let w;if("path"in y)w=$({},y,{path:_t(n,y.path,T.path).path});else{const S=$({},y.params);for(const N in S)S[N]==null&&delete S[N];w=$({},y,{params:h(y.params)}),T.params=h(T.params)}const A=t.resolve(w,T),H=y.hash||"";A.params=u(d(A.params));const B=Ps(r,$({},y,{hash:ia(H),path:A.path})),O=o.createHref(B);return $({fullPath:B,hash:H,query:r===tr?fa(y.query):y.query||{}},A,{redirectedFrom:void 0,href:O})}function E(y){return typeof y=="string"?_t(n,y,l.value.path):$({},y)}function P(y,T){if(a!==y)return be(8,{from:T,to:y})}function C(y){return M(y)}function k(y){return C($(E(y),{replace:!0}))}function I(y){const T=y.matched[y.matched.length-1];if(T&&T.redirect){const{redirect:w}=T;let A=typeof w=="function"?w(y):w;return typeof A=="string"&&(A=A.includes("?")||A.includes("#")?A=E(A):{path:A},A.params={}),$({query:y.query,hash:y.hash,params:"path"in A?{}:y.params},A)}}function M(y,T){const w=a=v(y),A=l.value,H=y.state,B=y.force,O=y.replace===!0,S=I(w);if(S)return M($(E(S),{state:typeof S=="object"?$({},H,S.state):H,force:B,replace:O}),T||w);const N=w;N.redirectedFrom=T;let Ae;return!B&&Rs(r,A,w)&&(Ae=be(16,{to:N,from:A}),Vt(A,A,!0,!1)),(Ae?Promise.resolve(Ae):Re(N,A)).catch(F=>ne(F)?ne(F,2)?F:it(F):at(F,N,A)).then(F=>{if(F){if(ne(F,2))return M($({replace:O},E(F.to),{state:typeof F.to=="object"?$({},H,F.to.state):H,force:B}),T||N)}else F=Ce(N,A,!0,O,H);return Te(N,A,F),F})}function ie(y,T){const w=P(y,T);return w?Promise.reject(w):Promise.resolve()}function Re(y,T){let w;const[A,H,B]=ba(y,T);w=mt(A.reverse(),"beforeRouteLeave",y,T);for(const S of A)S.leaveGuards.forEach(N=>{w.push(de(N,y,T))});const O=ie.bind(null,y,T);return w.push(O),ge(w).then(()=>{w=[];for(const S of s.list())w.push(de(S,y,T));return w.push(O),ge(w)}).then(()=>{w=mt(H,"beforeRouteUpdate",y,T);for(const S of H)S.updateGuards.forEach(N=>{w.push(de(N,y,T))});return w.push(O),ge(w)}).then(()=>{w=[];for(const S of y.matched)if(S.beforeEnter&&!T.matched.includes(S))if(Y(S.beforeEnter))for(const N of S.beforeEnter)w.push(de(N,y,T));else w.push(de(S.beforeEnter,y,T));return w.push(O),ge(w)}).then(()=>(y.matched.forEach(S=>S.enterCallbacks={}),w=mt(B,"beforeRouteEnter",y,T),w.push(O),ge(w))).then(()=>{w=[];for(const S of i.list())w.push(de(S,y,T));return w.push(O),ge(w)}).catch(S=>ne(S,8)?S:Promise.reject(S))}function Te(y,T,w){for(const A of c.list())A(y,T,w)}function Ce(y,T,w,A,H){const B=P(y,T);if(B)return B;const O=T===ce,S=ye?history.state:{};w&&(A||O?o.replace(y.fullPath,$({scroll:O&&S&&S.scroll},H)):o.push(y.fullPath,H)),l.value=y,Vt(y,T,w,O),it()}let le;function Z(){le||(le=o.listen((y,T,w)=>{if(!xt.listening)return;const A=v(y),H=I(A);if(H){M($(H,{replace:!0}),A).catch($e);return}a=A;const B=l.value;ye&&Is(Wt(B.fullPath,w.delta),nt()),Re(A,B).catch(O=>ne(O,12)?O:ne(O,2)?(M(O.to,A).then(S=>{ne(S,20)&&!w.delta&&w.type===xe.pop&&o.go(-1,!1)}).catch($e),Promise.reject()):(w.delta&&o.go(-w.delta,!1),at(O,A,B))).then(O=>{O=O||Ce(A,B,!1),O&&(w.delta&&!ne(O,8)?o.go(-w.delta,!1):w.type===xe.pop&&ne(O,20)&&o.go(-1,!1)),Te(A,B,O)}).catch($e)}))}let st=Le(),Mt=Le(),Be;function at(y,T,w){it(y);const A=Mt.list();return A.length?A.forEach(H=>H(y,T,w)):console.error(y),Promise.reject(y)}function cn(){return Be&&l.value!==ce?Promise.resolve():new Promise((y,T)=>{st.add([y,T])})}function it(y){return Be||(Be=!y,Z(),st.list().forEach(([T,w])=>y?w(y):T()),st.reset()),y}function Vt(y,T,w,A){const{scrollBehavior:H}=e;if(!ye||!H)return Promise.resolve();const B=!w&&$s(Wt(y.fullPath,0))||(A||!w)&&history.state&&history.state.scroll||null;return Pe().then(()=>H(y,T,B)).then(O=>O&&Os(O)).catch(O=>at(O,y,T))}const lt=y=>o.go(y);let ct;const ut=new Set,xt={currentRoute:l,listening:!0,addRoute:f,removeRoute:p,hasRoute:m,getRoutes:b,resolve:v,options:e,push:C,replace:k,go:lt,back:()=>lt(-1),forward:()=>lt(1),beforeEach:s.add,beforeResolve:i.add,afterEach:c.add,onError:Mt.add,isReady:cn,install(y){const T=this;y.component("RouterLink",ma),y.component("RouterView",qr),y.config.globalProperties.$router=T,Object.defineProperty(y.config.globalProperties,"$route",{enumerable:!0,get:()=>R(l)}),ye&&!ct&&l.value===ce&&(ct=!0,C(o.location).catch(H=>{}));const w={};for(const H in ce)w[H]=D(()=>l.value[H]);y.provide($t,T),y.provide(Dt,_e(w)),y.provide(Rt,l);const A=y.unmount;ut.add(y),y.unmount=function(){ut.delete(y),ut.size<1&&(a=ce,le&&le(),le=null,l.value=ce,ct=!1,Be=!1),A()}}};return xt}function ge(e){return e.reduce((t,n)=>t.then(()=>n()),Promise.resolve())}function ba(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iEe(a,c))?r.push(c):n.push(c));const l=e.matched[i];l&&(t.matched.find(a=>Ee(a,l))||o.push(l))}return[n,r,o]}function El(){return he(Dt)}const z={},q={},ir=[{name:(z==null?void 0:z.name)??"slug",path:(z==null?void 0:z.path)??"/:slug(.*)*",children:[],meta:z,alias:(z==null?void 0:z.alias)||[],redirect:(z==null?void 0:z.redirect)||void 0,component:()=>_(()=>import("./document-driven.07c16582.js"),["./document-driven.07c16582.js","./DocumentDrivenEmpty.7ceddd7c.js","./runtime-core.esm-bundler.6894272a.js","./ContentRenderer.51874b59.js","./ContentRendererMarkdown.1da6a628.js","./cookie.5bbb58d5.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./DocumentDrivenNotFound.25e8b3dc.js","./ButtonLink.2789431f.js","./DocsAsideTree.08d70919.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./ContentSlot.7e1a494f.js","./ButtonLink.1b73392c.css","./DocumentDrivenNotFound.434430ce.css","./layout.732d57d1.js","./query.c3f7607a.js"],import.meta.url).then(e=>e.default||e)},{name:(q==null?void 0:q.name)??"__app_config.json",path:(q==null?void 0:q.path)??"/__app_config.json",children:[],meta:q,alias:(q==null?void 0:q.alias)||[],redirect:(q==null?void 0:q.redirect)||void 0,component:()=>_(()=>import("./empty.9bcab498.js"),["./empty.9bcab498.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(e=>e.default||e)}],wa={scrollBehavior(e,t,n){if(!history.state.stop){if(history.state.smooth)return{el:history.state.smooth,behavior:"smooth"};if(e.hash){const r=document.querySelector(e.hash);if(!r)return;const{marginTop:o}=getComputedStyle(r),s=parseInt(o);return{top:document.querySelector(e.hash).offsetTop-s,behavior:"smooth"}}return n||{top:0}}}},Pa={scrollBehavior(e,t,n){const r=G();let o=n||void 0;if(!o&&t&&e&&e.meta.scrollToTop!==!1&&Ra(t,e)&&(o={left:0,top:0}),e.path===t.path){if(t.hash&&!e.hash)return{left:0,top:0};if(e.hash)return{el:e.hash,top:lr(e.hash)}}const s=c=>!!(c.meta.pageTransition??bt),i=s(t)&&s(e)?"page:transition:finish":"page:finish";return new Promise(c=>{r.hooks.hookOnce(i,async()=>{await Pe(),e.hash&&(o={el:e.hash,top:lr(e.hash)}),c(o)})})}};function lr(e){try{const t=document.querySelector(e);if(t)return parseFloat(getComputedStyle(t).scrollMarginTop)}catch{}return 0}function Ra(e,t){const n=e.matched[0]===t.matched[0];return!!(!n||n&&JSON.stringify(e.params)!==JSON.stringify(t.params))}const Ta={},oe={...Ta,...Pa,...wa},Ca=vn(async e=>{var o;let t,n;if(!((o=e.meta)!=null&&o.validate))return;const r=([t,n]=qe(()=>Promise.resolve(e.meta.validate(e))),t=await t,n(),t);if(r!==!0)return r}),Aa=[Ca],He={};function ka(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){const c=o.includes(e.slice(s))?e.slice(s).length:1;let l=o.slice(c);return l[0]!=="/"&&(l="/"+l),jt(l,"")}return jt(n,e)+r+o}const La=Q(async e=>{var p,b;let t,n,r=te().app.baseURL;oe.hashMode&&!r.includes("#")&&(r+="#");const o=((p=oe.history)==null?void 0:p.call(oe,r))??(oe.hashMode?Vs(r):Vr(r)),s=((b=oe.routes)==null?void 0:b.call(oe,ir))??ir,i=ka(r,window.location),c=Ea({...oe,history:o,routes:s});e.vueApp.use(c);const l=yt(c.currentRoute.value);c.afterEach((m,v)=>{l.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const a=yt(c.resolve(i)),u=()=>{a.value=c.currentRoute.value};e.hook("page:finish",u),c.afterEach((m,v)=>{var E,P,C,k;((P=(E=m.matched[0])==null?void 0:E.components)==null?void 0:P.default)===((k=(C=v.matched[0])==null?void 0:C.components)==null?void 0:k.default)&&u()});const h={};for(const m in a.value)h[m]=D(()=>a.value[m]);e._route=_e(h),e._middleware=e._middleware||{global:[],named:{}};const d=rt();try{[t,n]=qe(()=>c.isReady()),await t,n()}catch(m){[t,n]=qe(()=>ue(e,Se,[m])),await t,n()}const f=kt("_layout");return c.beforeEach(async(m,v)=>{var P;m.meta=_e(m.meta),e.isHydrating&&f.value&&!$n(m.meta.layout)&&(m.meta.layout=f.value),e._processingMiddleware=!0;const E=new Set([...Aa,...e._middleware.global]);for(const C of m.matched){const k=C.meta.middleware;if(k)if(Array.isArray(k))for(const I of k)E.add(I);else E.add(k)}for(const C of E){const k=typeof C=="string"?e._middleware.named[C]||await((P=He[C])==null?void 0:P.call(He).then(M=>M.default||M)):C;if(!k)throw new Error(`Unknown route middleware: '${C}'.`);const I=await ue(e,k,[m,v]);if(!e.payload.serverRendered&&e.isHydrating&&(I===!1||I instanceof Error)){const M=I||Et({statusCode:404,statusMessage:`Page Not Found: ${i}`});return await ue(e,Se,[M]),!1}if(I||I===!1)return I}}),c.afterEach(async m=>{delete e._processingMiddleware,!e.isHydrating&&d.value&&await ue(e,ao),m.matched.length===0&&await ue(e,Se,[Et({statusCode:404,fatal:!1,statusMessage:`Page not found: ${m.fullPath}`})])}),e.hooks.hookOnce("app:created",async()=>{try{await c.replace({...c.resolve(i),name:void 0,force:!0})}catch(m){await ue(e,Se,[m])}}),{provide:{router:c}}}),Oe={"docs-page":()=>_(()=>import("./docs-page.436b5c87.js"),["./docs-page.436b5c87.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./docs-page.5b0d6071.css"],import.meta.url).then(e=>e.default||e),default:()=>_(()=>import("./default.440db00d.js"),["./default.440db00d.js","./DocsPageLayout.8e541ec6.js","./DocsAside.44ffd29b.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./DocsAside.d7386185.css","./ProseCodeInline.dca1a534.js","./ProseCodeInline.aab68857.css","./Alert.443f6167.js","./ContentSlot.7e1a494f.js","./Alert.f24f4058.css","./DocsPageBottom.a96d3867.js","./ProseA.c8de8b63.js","./ProseA.89c7f0ff.css","./EditOnLink.vue.21b8aa9d.js","./DocsPageBottom.d9d559e1.css","./DocsPrevNext.adb795e8.js","./DocsPrevNext.6bb4ff17.css","./DocsToc.03cf2013.js","./DocsTocLinks.c11364e4.js","./DocsTocLinks.2846f127.css","./DocsToc.6b8d2996.css","./DocsPageLayout.0537ea8c.css"],import.meta.url).then(e=>e.default||e),page:()=>_(()=>import("./page.57ff23a3.js"),["./page.57ff23a3.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css","./useDocus.edcbeab5.js","./app.config.4114fca6.js","./page.70291227.css"],import.meta.url).then(e=>e.default||e)},Sa=Q(()=>{const e=G(),t=je();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{var o;const r=(o=n==null?void 0:n.meta)==null?void 0:o.layout;r&&typeof Oe[r]=="function"&&await Oe[r]()})}),e.hooks.hook("link:prefetch",n=>{var i,c,l,a;if(pr(n))return;const r=t.resolve(n);if(!r)return;const o=(i=r==null?void 0:r.meta)==null?void 0:i.layout;let s=Array.isArray((c=r==null?void 0:r.meta)==null?void 0:c.middleware)?(l=r==null?void 0:r.meta)==null?void 0:l.middleware:[(a=r==null?void 0:r.meta)==null?void 0:a.middleware];s=s.filter(u=>typeof u=="string");for(const u of s)typeof He[u]=="function"&&He[u]();o&&typeof Oe[o]=="function"&&Oe[o]()})}),Oa=Q(()=>{const e=te(),t=J(),n=D(()=>{var r,o;return(o=(r=e==null?void 0:e.public)==null?void 0:r.algolia)==null?void 0:o.docSearch});if(n.value){const r=ae(),o=je(),s=D(()=>{const{algolia:a}=te();return a&&a.docSearch?a:{}}),i=a=>a.button===1||a.altKey||a.ctrlKey||a.metaKey||a.shiftKey,c=a=>{const{pathname:u,hash:h}=new URL(a),d=window.location.origin,f=u.replace(d,"/");return Ct(f)+h};(async a=>{const u=document.createElement("div");u.id="#docsearch-container",u.style.width="0",u.style.height="0",u.style.display="none",document.body.appendChild(u),t.value=u;const h=await Promise.all([_(()=>import("./index.ade63bb5.js"),[],import.meta.url),_(()=>Promise.resolve({}),["./style.6a49f87f.css"],import.meta.url)]).then(([b])=>b.default),d=(a==null?void 0:a.lang)||"en",f=`${a.langAttribute||"language"}:${d}`,p=a.docSearch.facetFilters||[];h({container:u,appId:a.applicationId,apiKey:a.apiKey,indexName:a.docSearch.indexName,searchParameters:{...d?{facetFilters:[f].concat(p)}:{facetFilters:p},...a.searchParameters},transformItems:a.transformItems?a.transformItems:b=>b.map(m=>({...m,url:c(m.url)})),navigator:a.navigator?a.navigator:{navigate:({itemUrl:b})=>{const{pathname:m}=new URL(window.location.origin+b);r.path===m?window.location.assign(window.location.origin+b):o.push(b)}},hitComponent:a.hitComponent?a.hitComponent:({hit:b,children:m})=>({type:"a",constructor:void 0,__v:1,props:{href:b.url,children:m,onClick:v=>{if(i(v)||r.fullPath===b.url)return;const{pathname:E}=new URL(window.location.origin+b.url);r.path!==E&&v.preventDefault(),o.push(b.url)}}}),...Object.entries(a).filter(([b])=>!["applicationId","apiKey","indexName","transformItems","navigator","hitComponent","facetFilters","langAttribute","lang"].includes(b)).reduce((b,[m,v])=>(b[m]=v,b),{})})})(s.value)}return{provide:{docSearch:{element:t,hasDocSearch:n}}}});function Ht(e){return JSON.stringify(e,Ia)}function Ia(e,t){return t instanceof RegExp?`--REGEX ${t.toString()}`:t}const Wr=e=>{let t=Ht(e);return t=typeof Buffer<"u"?Buffer.from(t).toString("base64"):btoa(t),t=t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),(t.match(/.{1,100}/g)||[]).join("/")},$a=()=>async e=>{const{content:t}=te().public,n=e.params(),r=t.experimental.stripQueryParameters?ze(`/query/${`${Ye(n)}.${t.integrity}`}/${Wr(n)}.json`):ze(`/query/${Ye(n)}.${t.integrity}.json`);if(fr())return(await _(()=>import("./client-db.a6af4843.js"),["./client-db.a6af4843.js","./cookie.5bbb58d5.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./query.c3f7607a.js"],import.meta.url).then(i=>i.useContentDatabase())).fetch(e);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:Ht(n),previewToken:Tt("previewToken").value}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o};function Me(e,...t){const{content:n}=te().public,r=Nn($a(),typeof e!="string"?e:{});let o;typeof e=="string"&&(o=En(et(e,...t)));const s=r.params;return r.params=()=>{var c,l,a;const i=s();return o&&(i.where=i.where||[],i.first&&(i.where||[]).length===0?i.where.push({_path:Ct(o)}):i.where.push({_path:new RegExp(`^${o.replace(/[-[\]{}()*+.,^$\s/]/g,"\\$&")}`)})),(c=i.sort)!=null&&c.length||(i.sort=[{_file:1,$numeric:!0}]),n.locales.length&&((a=(l=i.where)==null?void 0:l.find(h=>h._locale))!=null&&a._locale||(i.where=i.where||[],i.where.push({_locale:n.defaultLocale}))),i},r}const Da=async e=>{const{content:t}=te().public;typeof(e==null?void 0:e.params)!="function"&&(e=Me(e));const n=e.params(),r=t.experimental.stripQueryParameters?ze(`/navigation/${`${Ye(n)}.${t.integrity}`}/${Wr(n)}.json`):ze(`/navigation/${Ye(n)}.${t.integrity}.json`);if(fr())return(await _(()=>import("./client-db.a6af4843.js"),["./client-db.a6af4843.js","./cookie.5bbb58d5.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./query.c3f7607a.js"],import.meta.url).then(i=>i.generateNavigation))(n);const o=await $fetch(r,{method:"GET",responseType:"json",params:t.experimental.stripQueryParameters?void 0:{_params:Ht(n),previewToken:Tt("previewToken").value}});if(typeof o=="string"&&o.startsWith(""))throw new Error("Not found");return o},Ha=Q(e=>{var s,i;const{documentDriven:t,experimental:n}=(i=(s=te())==null?void 0:s.public)==null?void 0:i.content,r=(c,l,a,u)=>{var h;if(l&&(l!=null&&l.layout))return l.layout;if(c.matched.length&&((h=c.matched[0].meta)!=null&&h.layout))return c.matched[0].meta.layout;if(a&&l){const{navKeyFromPath:d}=Pr(),f=d(l._path,"layout",a);if(f)return f}if(t.layoutFallbacks&&u){let d;for(const f of t.layoutFallbacks)if(u[f]&&u[f].layout){d=u[f].layout;break}if(d)return d}return"default"},o=async(c,l=!1)=>{e.callHook("content:document-driven:start",{route:c,dedup:l});const a=c.meta.documentDriven||{};if(c.meta.documentDriven===!1)return;const{navigation:u,pages:h,globals:d,surrounds:f}=ke(),p=Ct(c.path),b=[];if(t.navigation&&a.navigation!==!1){const m=()=>{const{navigation:v}=ke();return v.value&&!l?v.value:Da().then(E=>(v.value=E,E)).catch(()=>null)};b.push(m)}else b.push(()=>Promise.resolve(null));if(t.globals){const m=()=>{const{globals:v}=ke();if(typeof t.globals=="object"&&Array.isArray(t.globals)){console.log("Globals must be a list of keys with QueryBuilderParams as a value.");return}return Promise.all(Object.entries(t.globals).map(([E,P])=>{if(!l&&v.value[E])return v.value[E];let C="findOne";return P!=null&&P.type&&(C=P.type),Me(P)[C]().catch(()=>null)})).then(E=>E.reduce((P,C,k)=>{const I=Object.keys(t.globals)[k];return P[I]=C,P},{}))};b.push(m)}else b.push(()=>Promise.resolve(null));if(t.page&&a.page!==!1){let m={_path:p};typeof a.page=="string"&&(m={_path:a.page}),typeof a.page=="object"&&(m=a.page);const v=()=>{const{pages:E}=ke();return!l&&E.value[p]&&E.value[p]._path===p?E.value[p]:Me().where(m).findOne().catch(()=>null)};b.push(v)}else b.push(()=>Promise.resolve(null));if(t.surround&&a.surround!==!1){let m=p;["string","object"].includes(typeof a.page)&&(m=a.page),["string","object"].includes(typeof a.surround)&&(m=a.surround);const v=()=>{const{surrounds:E}=ke();return!l&&E.value[p]?E.value[p]:Me().where({_partial:{$not:!0},navigation:{$not:!1}}).without(["body"]).findSurround(m).catch(()=>null)};b.push(v)}else b.push(()=>Promise.resolve(null));return await Promise.all(b.map(m=>m())).then(async([m,v,E,P])=>{var k,I;m&&(u.value=m),v&&(d.value=v),P&&(f.value[p]=P);const C=(E==null?void 0:E.redirect)||((I=(k=E==null?void 0:E._dir)==null?void 0:k.navigation)==null?void 0:I.redirect);if(C)return h.value[p]=E,C;if(E){const M=r(c,E,m,v),ie=Oe[M];ie&&typeof ie=="function"&&await ie(),c.meta.layout=M,E.layout=M,h.value[p]=E}await e.callHook("content:document-driven:finish",{route:c,dedup:l,page:E,navigation:m,globals:v,surround:P})})};bn(async(c,l)=>{if(c.path.includes("favicon.ico")||!n.clientDB&&c.path===l.path)return;const a=await o(c,!1);if(a)return pr(a)?ue(e,wn,[a,{external:!0}]):a}),e.hook("app:data:refresh",async()=>await o(ae(),!0))});const Ma=e=>({color:`{elements.state.${e}.color.primary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.primary} !important`,borderColor:`{elements.state.${e}.borderColor.primary} !important`,":deep(p code)":{color:`{elements.state.${e}.color.secondary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`},":deep(code)":{color:`{elements.state.${e}.color.primary} !important`,backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`},":deep(a code)":{borderColor:`{elements.state.${e}.borderColor.primary} !important`},":deep(a)":{borderColor:"currentColor",code:{backgroundColor:`{elements.state.${e}.backgroundColor.primary} !important`},"&:hover":{color:`{elements.state.${e}.color.secondary} !important`,borderColor:"currentColor !important",code:{backgroundColor:`{elements.state.${e}.backgroundColor.secondary} !important`,color:`{elements.state.${e}.color.secondary} !important`,borderColor:`{elements.state.${e}.borderColor.secondary} !important`}}}}),Va=e=>({marginTop:e,marginBottom:e}),xa=e=>({marginLeft:e,marginRight:e}),ja=e=>({paddingTop:e,paddingBottom:e}),Ba=e=>({paddingLeft:e,paddingRight:e}),Na={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},Ua=e=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":e}),Ka=e=>({fontSize:`{text.${e}.fontSize}`,lineHeight:`{text.${e}.lineHeight}`}),Fa={stateColors:Ma,my:Va,mx:xa,py:ja,px:Ba,truncate:Na,lineClamp:Ua,text:Ka},za=Q(async e=>{e.vueApp.use(An,{colorSchemeMode:"class",utils:Fa})}),qa="__NUXT_COLOR_MODE__",Wa="ColorScheme",Ga="theme",Qa="nuxt-color-mode",se=window[qa],Za=Q(e=>{const t=kt("color-mode",()=>_e({preference:se.preference,value:se.value,unknown:!1,forced:!1})).value;Je({htmlAttrs:{[`data-${Ga}`]:D(()=>t.value)}}),je().afterEach(o=>{const s=o.meta.colorMode;s&&s!=="system"?(t.value=s,t.forced=!0):(s==="system"&&console.warn("You cannot force the colorMode to system at the page level."),t.forced=!1,t.value=t.preference==="system"?se.getColorScheme():t.preference)});let n;function r(){n||!window.matchMedia||(n=window.matchMedia("(prefers-color-scheme: dark)"),n.addEventListener("change",()=>{!t.forced&&t.preference==="system"&&(t.value=se.getColorScheme())}))}fe(()=>t.preference,o=>{var s;t.forced||(o==="system"?(t.value=se.getColorScheme(),r()):t.value=o,(s=window.localStorage)==null||s.setItem(Qa,o))},{immediate:!0}),fe(()=>t.value,(o,s)=>{se.removeColorScheme(s),se.addColorScheme(o)}),t.preference==="system"&&r(),e.hook("app:mounted",()=>{t.unknown&&(t.preference=se.preference,t.value=se.value,t.unknown=!1)}),e.provide("colorMode",t)}),cr=".studio",Ke={appConfig:`${cr}/app.config.json`,tokensConfig:`${cr}/tokens.config.json`},bl=e=>{let t;return(...n)=>(t||(t=e()),t)};function Ja(e,t){for(const n in e){const r=t[n];n in t||delete e[n],r!==null&&typeof r=="object"&&Ja(e[n],t[n])}}function Ya(e,t){for(const n in t){const r=t[n];r!==null&&typeof r=="object"?(e[n]=e[n]||{},Ya(e[n],r)):e[n]=r}}const Xa=Q(async e=>{let t,n;if(!window.parent||window.self===window.parent)return;const r=je(),o=J(""),s=J(!0),i=p=>({path:p.path,query:dt(p.query),params:dt(p.params),fullPath:p.fullPath,meta:dt(p.meta)}),c=([t,n]=qe(()=>_(()=>import("./useStudio.a9d51910.js"),["./useStudio.a9d51910.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./asyncData.2775b491.js","./ContentPreviewMode.0a29e9d3.js","./query.c3f7607a.js","./ContentPreviewMode.dea45f14.css"],import.meta.url).then(p=>p.useStudio)),t=await t,n(),t),{findContentWithId:l,updateContent:a,removeContentWithId:u,requestRerender:h,syncPreviewAppConfig:d,syncPreviewTokensConfig:f}=c();window.addEventListener("keydown",p=>{(p.metaKey||p.ctrlKey||p.altKey||p.shiftKey)&&window.parent.postMessage({type:"nuxt-studio:preview:keydown",payload:{key:p.key,metaKey:p.metaKey,ctrlKey:p.ctrlKey,shiftKey:p.shiftKey,altKey:p.altKey}},"*")}),window.addEventListener("message",async p=>{const{type:b,payload:m={}}=p.data||{};switch(b){case"nuxt-studio:editor:file-selected":{const v=await l(m.path);v?v._partial||v._path!==ae().path&&(o.value=v._path,r.push(v._path)):(o.value="/",ae().path!=="/"&&r.push("/"));break}case"nuxt-studio:editor:file-changed":{const{additions:v=[],deletions:E=[]}=m;for(const P of v)await a(P);for(const P of E)await u(P.path);h();break}case"nuxt-studio:config:file-changed":{const{additions:v=[],deletions:E=[]}=m,P=v.find(M=>M.path===Ke.appConfig);P&&d(P==null?void 0:P.parsed),E.find(M=>M.path===Ke.appConfig)&&d(void 0);const k=v.find(M=>M.path===Ke.tokensConfig);k&&f(k==null?void 0:k.parsed),E.find(M=>M.path===Ke.tokensConfig)&&f(void 0);break}}}),e.hook("content:document-driven:finish",({route:p,page:b,dedup:m})=>{if(m||s.value){s.value=!1;return}if(b&&o.value===b._path){o.value="";return}window.parent.postMessage({type:"nuxt-studio:preview:document-driven:finish",payload:{...i(p),contentId:b==null?void 0:b._id}},"*")}),r==null||r.afterEach(p=>{window.parent.postMessage({type:"nuxt-studio:preview:route-changed",payload:i(p)},"*")}),e.hook("nuxt-studio:preview:ready",()=>{window.parent.postMessage({type:"nuxt-studio:preview:ready",payload:i(ae())},"*")})}),ei=Q(e=>{const t=te().public.studio||{},n=ae(),r=Tt("previewToken",{sameSite:"none",secure:!0});async function o(){const s=await _(()=>import("./useStudio.a9d51910.js"),["./useStudio.a9d51910.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./asyncData.2775b491.js","./ContentPreviewMode.0a29e9d3.js","./query.c3f7607a.js","./ContentPreviewMode.dea45f14.css"],import.meta.url).then(c=>c.useStudio),{mountPreviewUI:i}=s();i(),Me("/non-existing-path").findOne()}if(t.apiURL){if(Object.prototype.hasOwnProperty.call(n.query,"preview")&&!n.query.preview||!n.query.preview&&!r.value)return;n.query.preview&&r.value!==n.query.preview&&(r.value=String(n.query.preview)),e.hook("app:mounted",async()=>{await o()})}}),ti=Q(e=>{hs()&&(e.hooks.hook("link:prefetch",t=>{if(!Pn(t).protocol)return Ft(t)}),je().beforeResolve(async(t,n)=>{if(t.path===n.path)return;const r=await Ft(t.path);r&&Object.assign(e.static.data,r.data)}))}),ri=Q(e=>{const t=J(!1),n=()=>t.value=!0,r=()=>t.value=!1,o=()=>t.value=!t.value;return e.$router.afterEach(()=>setTimeout(r,50)),fe(t,s=>{const i=document.documentElement;s?i.style.overflow="hidden":setTimeout(()=>{i.style.overflow=""},100)},{immediate:!0}),{provide:{menu:{visible:t,close:r,open:n,toggle:o}}}}),ni=Q(()=>{navigator&&navigator.userAgent&&navigator.userAgent.match(/Win[a-z0-9]*;/)&&document.documentElement.classList.add("docus-scrollbars")}),oi=[_s,vs,La,Sa,Oa,Ha,za,Za,Xa,ei,ti,ri,ni],si=(e,t)=>t.path.replace(/(:\w+)\([^)]+\)/g,"$1").replace(/(:\w+)[?+*]/g,"$1").replace(/:\w+/g,n=>{var r;return((r=e.params[n.slice(1)])==null?void 0:r.toString())||""}),ai=(e,t)=>{const n=e.route.matched.find(o=>{var s;return((s=o.components)==null?void 0:s.default)===e.Component.type}),r=t??(n==null?void 0:n.meta.key)??(n&&si(e.route,n));return typeof r=="function"?r(e.route):r},ii=(e,t)=>({default:()=>e?W(Dn,e===!0?{}:e,t):t}),li=K({name:"FragmentWrapper",setup(e,{slots:t}){return()=>{var n;return(n=t.default)==null?void 0:n.call(t)}}}),ci=(e,t,n)=>({default:()=>t?W(e,t===!0?{}:t,n):W(li,{},n)}),Gr=K({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t}){const n=G();return()=>W(qr,{name:e.name,route:e.route,...t},{default:r=>{if(!r.Component)return;const o=ai(r,e.pageKey),s=n.deferHydration(),i=!!(e.transition??r.route.meta.pageTransition??bt),c=i&&di([e.transition,r.route.meta.pageTransition,bt,{onAfterLeave:()=>{n.callHook("page:transition:finish",r.Component)}}].filter(Boolean));return ci(un,i&&c,ii(e.keepalive??r.route.meta.keepalive??gs,W(yr,{onPending:()=>n.callHook("page:start",r.Component),onResolve:()=>{Pe(()=>n.callHook("page:finish",r.Component).finally(s))}},{default:()=>W(fi,{key:o,routeProps:r,pageKey:o,hasTransition:i})}))).default()}})}});function ui(e){return Array.isArray(e)?e:e?[e]:[]}function di(e){const t=e.map(n=>({...n,onAfterLeave:ui(n.onAfterLeave)}));return Un(...t)}const fi=K({name:"RouteProvider",props:["routeProps","pageKey","hasTransition"],setup(e){const t=e.pageKey,n=e.routeProps.route,r={};for(const o in e.routeProps.route)r[o]=D(()=>t===e.pageKey?e.routeProps.route[o]:n[o]);return Ie("_route",_e(r)),()=>W(e.routeProps.Component)}}),wl=Object.freeze(Object.defineProperty({__proto__:null,default:Gr},Symbol.toStringTag,{value:"Module"}));const Qr={__name:"AppLoadingBar",props:{throttle:{type:Number,default:200},duration:{type:Number,default:2e3}},setup(e){const t=e,n=G(),r=_e({percent:0,show:!1,canSucceed:!0});let o=null,s=null,i;function c(){o&&clearInterval(o),s&&clearTimeout(s),o=null}function l(){r.show||(c(),r.percent=0,r.canSucceed=!0,t.throttle?s=setTimeout(d,t.throttle):d())}function a(f){r.percent=Math.min(100,Math.floor(r.percent+f))}function u(){r.percent=100,h()}function h(){c(),setTimeout(()=>{r.show=!1,setTimeout(()=>{r.percent=0},400)},500)}function d(){r.show=!0,i=1e4/Math.floor(t.duration),o=setInterval(()=>{a(i)},100)}return n.hook("content:middleware:start",l),n.hook("page:start",l),n.hook("page:finish",u),mr(()=>c),(f,p)=>(L(),j("div",{class:At(["nuxt-progress",{"nuxt-progress-failed":!R(r).canSucceed}]),style:Hn({width:`${R(r).percent}%`,left:R(r).left,opacity:R(r).show?1:0,backgroundSize:`${100/R(r).percent*100}% auto`})},null,6))}},pi=Object.freeze(Object.defineProperty({__proto__:null,default:Qr},Symbol.toStringTag,{value:"Module"})),hi=K({__name:"AppSocialIcons",setup(e){const t=["twitter","facebook","instagram","youtube","github","medium"],{config:n}=me(),r=D(()=>Object.entries(n.value.socials||{}).map(([o,s])=>typeof s=="object"?s:typeof s=="string"&&s&&t.includes(o)?{href:`https://${o}.com/${s}`,icon:`fa-brands:${o}`,label:s}:null).filter(Boolean));return(o,s)=>{const i=we,c=tt;return L(!0),j(Ve,null,We(R(r),l=>(L(),x(c,{key:l.label,rel:"noopener noreferrer",title:l.label,"aria-label":l.label,href:l.href,target:"_blank"},{default:re(()=>[l.icon?(L(),x(i,{key:0,name:l.icon},null,8,["name"])):ee("",!0)]),_:2},1032,["title","aria-label","href"]))),128)}}});const ot=X(hi,[["__scopeId","data-v-224b171c"]]),_i=Object.freeze(Object.defineProperty({__proto__:null,default:ot},Symbol.toStringTag,{value:"Module"})),mi=()=>{const{$menu:e}=G();return e},gi={class:"wrapper"},yi={class:"icons"},vi=K({__name:"AppHeaderDialog",setup(e){const{navigation:t}=Lt(),{config:n}=me(),r=D(()=>{var l;return((l=n.value.aside)==null?void 0:l.exclude)||[]}),o=D(()=>(t.value||[]).filter(l=>!r.value.includes(l._path))),{visible:s,open:i,close:c}=mi();return fe(s,l=>l?i():c()),(l,a)=>{const u=we,h=ot,d=fn;return L(),j(Ve,null,[V("button",{"aria-label":"Menu",onClick:a[0]||(a[0]=(...f)=>R(i)&&R(i)(...f))},[U(u,{name:"heroicons-outline:menu","aria-hidden":"”true”"})]),(L(),x(Mn,{to:"body"},[R(s)?(L(),j("nav",{key:0,class:"dialog",onClick:a[3]||(a[3]=(...f)=>R(c)&&R(c)(...f))},[V("div",{onClick:a[2]||(a[2]=dn(()=>{},["stop"]))},[V("div",gi,[V("button",{"aria-label":"Menu",onClick:a[1]||(a[1]=(...f)=>R(c)&&R(c)(...f))},[U(u,{name:"heroicons-outline:x","aria-hidden":"”true”"})]),V("div",yi,[U(h)])]),U(d,{links:R(o)},null,8,["links"])])])):ee("",!0)]))],64)}}});const Zr=X(vi,[["__scopeId","data-v-291983a4"]]),Ei=Object.freeze(Object.defineProperty({__proto__:null,default:Zr},Symbol.toStringTag,{value:"Module"})),bi={},wi={viewBox:"133.827 188.259 264.992 112.316",width:"100",height:"50",style:{height:"50px"}},Pi=Vn('',10),Ri=[Pi];function Ti(e,t){return L(),j("svg",wi,Ri)}const Jr=X(bi,[["render",Ti]]),Ci=Object.freeze(Object.defineProperty({__proto__:null,default:Jr},Symbol.toStringTag,{value:"Module"})),Ai={key:2},ki=K({__name:"AppHeaderLogo",setup(e){const{config:t}=me(),n=D(()=>{var o;return((o=t.value.header)==null?void 0:o.logo)||!1}),r=D(()=>{var o;return((o=t.value.header)==null?void 0:o.title)||t.value.title});return(o,s)=>{const i=Jr,c=tt;return L(),x(c,{class:"navbar-logo",to:"/","aria-label":R(r)},{default:re(()=>[R(n)&&typeof R(n)=="string"?(L(),x(vr(R(n)),{key:0})):R(n)?(L(),x(i,{key:1})):(L(),j("span",Ai,Ge(R(r)),1))]),_:1},8,["aria-label"])}}});const Yr=X(ki,[["__scopeId","data-v-0e437bbb"]]),Li=Object.freeze(Object.defineProperty({__proto__:null,default:Yr},Symbol.toStringTag,{value:"Module"})),Si={key:0},Oi=K({__name:"AppHeaderNavigation",setup(e){const t=ae(),{navBottomLink:n}=Pr(),{navigation:r}=Lt(),{config:o}=me(),s=D(()=>{var a;return!!((a=o.value.aside)!=null&&a.level)}),i=D(()=>{var a;return((a=o.value.header)==null?void 0:a.exclude)||[]}),c=D(()=>(r.value||[]).filter(a=>!i.value.includes(a._path))),l=a=>a.exact?t.fullPath===a._path:t.fullPath.startsWith(a._path);return(a,u)=>{const h=we,d=tt;return R(s)?(L(),j("nav",Si,[V("ul",null,[(L(!0),j(Ve,null,We(R(c),f=>(L(),j("li",{key:f._path},[U(d,{class:At(["link",{active:l(f)}]),to:f.redirect?f.redirect:R(n)(f)},{default:re(()=>{var p,b;return[f.icon&&((b=(p=R(o))==null?void 0:p.header)!=null&&b.showLinkIcon)?(L(),x(h,{key:0,name:f.icon},null,8,["name"])):ee("",!0),Er(" "+Ge(f.title),1)]}),_:2},1032,["to","class"])]))),128))])])):ee("",!0)}}});const Xr=X(Oi,[["__scopeId","data-v-01b60614"]]),Ii=Object.freeze(Object.defineProperty({__proto__:null,default:Xr},Symbol.toStringTag,{value:"Module"})),en=()=>{const{$docSearch:e}=G();return e||{hasDocSearch:J(!1)}},tn=e=>(xn("data-v-1e99f08b"),e=e(),jn(),e),$i={type:"button","aria-label":"Search"},Di={class:"content"},Hi=tn(()=>V("span",null,"Search",-1)),Mi=tn(()=>V("span",null,[V("kbd",null,"⌘"),V("kbd",null,"K")],-1)),Vi=K({__name:"AppSearch",setup(e){const{element:t}=en(),n=()=>t.value.querySelector("button").click();return(r,o)=>{const s=we;return L(),j("div",{class:"doc-search",onClick:n},[V("button",$i,[V("span",Di,[U(s,{name:"heroicons-outline:search"}),Hi,Mi])])])}}});const rn=X(Vi,[["__scopeId","data-v-1e99f08b"]]),xi=Object.freeze(Object.defineProperty({__proto__:null,default:rn},Symbol.toStringTag,{value:"Module"})),nn=K({name:"ClientOnly",inheritAttrs:!1,props:["fallback","placeholder","placeholderTag","fallbackTag"],setup(e,{slots:t,attrs:n}){const r=J(!1);return br(()=>{r.value=!0}),o=>{var l;if(r.value)return(l=t.default)==null?void 0:l.call(t);const s=t.fallback||t.placeholder;if(s)return s();const i=o.fallback||o.placeholder||"",c=o.fallbackTag||o.placeholderTag||"span";return j(c,n,i)}}}),gt=new WeakMap;function ji(e){if(gt.has(e))return gt.get(e);const t={...e};return t.render?t.render=(n,...r)=>{if(n.mounted$){const o=e.render(n,...r);return o.children===null||typeof o.children=="string"?V(o.type,o.props,o.children,o.patchFlag,o.dynamicProps,o.shapeFlag):W(o)}else return W("div",n.$attrs??n._.attrs)}:t.template&&(t.template=` - - - `),t.setup=(n,r)=>{var s;const o=J(!1);return br(()=>{o.value=!0}),Promise.resolve(((s=e.setup)==null?void 0:s.call(e,n,r))||{}).then(i=>typeof i!="function"?{...i,mounted$:o}:(...c)=>{if(o.value){const l=i(...c);return l.children===null||typeof l.children=="string"?V(l.type,l.props,l.children,l.patchFlag,l.dynamicProps,l.shapeFlag):W(l)}else return W("div",r.attrs)})},gt.set(e,t),t}const Pl=Object.freeze(Object.defineProperty({__proto__:null,createClientOnly:ji,default:nn},Symbol.toStringTag,{value:"Module"})),Bi={name:Wa,props:{placeholder:String,tag:{type:String,default:"span"}}};function Ni(e,t,n,r,o,s){const i=nn;return L(),x(i,{placeholder:n.placeholder,"placeholder-tag":n.tag},{default:re(()=>[wr(e.$slots,"default")]),_:3},8,["placeholder","placeholder-tag"])}const on=X(Bi,[["render",Ni]]),Rl=Object.freeze(Object.defineProperty({__proto__:null,default:on},Symbol.toStringTag,{value:"Module"})),Ui=()=>kt("color-mode").value,Ki=K({__name:"ThemeSelect",setup(e){const t=Ui(),n=()=>{const r=["system","light","dark"],s=(r.indexOf(t.preference)+1)%r.length;t.preference=r[s]};return(r,o)=>{const s=we,i=on;return L(),j("button",{"aria-label":"Color Mode",onClick:n},[U(i,{placeholder:"..."},{default:re(()=>[R(t).preference==="dark"?(L(),x(s,{key:0,name:"uil:moon"})):R(t).preference==="light"?(L(),x(s,{key:1,name:"uil:sun"})):(L(),x(s,{key:2,name:"uil:desktop"}))]),_:1})])}}});const sn=X(Ki,[["__scopeId","data-v-4a6c39b0"]]),Fi=Object.freeze(Object.defineProperty({__proto__:null,default:sn},Symbol.toStringTag,{value:"Module"})),zi={class:"section left"},qi={class:"section center"},Wi={class:"section right"},Gi={class:"social-icons"},Qi=K({__name:"AppHeader",props:{},setup(e){const{config:t}=me(),{navigation:n}=Lt(),{hasDocSearch:r}=en(),o=D(()=>{var s;return((s=n.value)==null?void 0:s.length)>1});return(s,i)=>{var p,b;const c=Zr,l=Yr,a=Xr,u=rn,h=sn,d=ot,f=hr;return L(),j("header",{class:At({"has-dialog":R(o),"has-doc-search":R(r)})},[U(f,{fluid:(b=(p=R(t))==null?void 0:p.header)==null?void 0:b.fluid},{default:re(()=>[V("div",zi,[R(o)?(L(),x(c,{key:0})):ee("",!0),U(l)]),V("div",qi,[R(o)?(L(),x(l,{key:0})):ee("",!0),U(a)]),V("div",Wi,[R(r)?(L(),x(u,{key:0})):ee("",!0),U(h),V("div",Gi,[U(d)])])]),_:1},8,["fluid"])],2)}}});const an=X(Qi,[["__scopeId","data-v-8375ebf7"]]),Zi=Object.freeze(Object.defineProperty({__proto__:null,default:an},Symbol.toStringTag,{value:"Module"})),Ji={class:"left"},Yi=["href"],Xi={key:1},el={class:"center"},tl={class:"right"},rl=["aria-label","href"],nl=K({__name:"AppFooter",setup(e){const{config:t}=me(),n=J(null),r=D(()=>{var c,l;return((l=(c=t.value)==null?void 0:c.footer)==null?void 0:l.iconLinks)||[]}),o=D(()=>{var c,l;return((l=(c=t.value)==null?void 0:c.footer)==null?void 0:l.textLinks)||[]}),s=D(()=>{var c;return Object.entries(((c=t.value)==null?void 0:c.socials)||{}).filter(([l,a])=>a).length}),i=D(()=>n.value?s.value:0);return(c,l)=>{var f,p;const a=tt,u=we,h=ot,d=hr;return L(),j("footer",null,[U(d,{fluid:(p=(f=R(t))==null?void 0:f.footer)==null?void 0:p.fluid,padded:"",class:"footer-container"},{default:re(()=>{var b,m,v,E,P,C,k,I,M,ie,Re,Te,Ce,le;return[V("div",Ji,[(m=(b=R(t))==null?void 0:b.footer)!=null&&m.credits?(L(),j("a",{key:0,href:((P=(E=(v=R(t))==null?void 0:v.footer)==null?void 0:E.credits)==null?void 0:P.href)||"#",rel:"noopener",target:"_blank"},[(I=(k=(C=R(t))==null?void 0:C.footer)==null?void 0:k.credits)!=null&&I.icon?(L(),x(vr((Re=(ie=(M=R(t))==null?void 0:M.footer)==null?void 0:ie.credits)==null?void 0:Re.icon),{key:0,class:"left-icon"})):ee("",!0),(le=(Ce=(Te=R(t))==null?void 0:Te.footer)==null?void 0:Ce.credits)!=null&&le.text?(L(),j("p",Xi,Ge(R(t).footer.credits.text),1)):ee("",!0)],8,Yi)):ee("",!0)]),V("div",el,[(L(!0),j(Ve,null,We(R(o),Z=>(L(),x(a,{key:Z.href,class:"text-link","aria-label":Z.text,href:Z.href,target:Z.target||"_self"},{default:re(()=>[Er(Ge(Z.text),1)]),_:2},1032,["aria-label","href","target"]))),128))]),V("div",tl,[(L(!0),j(Ve,null,We(R(r).slice(0,6-R(i)),Z=>(L(),j("a",{key:Z.label,class:"icon-link",rel:"noopener","aria-label":Z.label,href:Z.href,target:"_blank"},[U(u,{name:Z.icon},null,8,["name"])],8,rl))),128)),U(h,{ref_key:"socialIcons",ref:n},null,512)])]}),_:1},8,["fluid"])])}}});const ln=X(nl,[["__scopeId","data-v-eebf8ee0"]]),ol=Object.freeze(Object.defineProperty({__proto__:null,default:ln},Symbol.toStringTag,{value:"Module"})),sl=(e,t=ae())=>{const n=R(e),r=te();fe(()=>R(e),(s=n)=>{if(!t.path||!s)return;const i=Object.assign({},(s==null?void 0:s.head)||{});i.meta=[...i.meta||[]],i.link=[...i.link||[]];const c=i.title||(s==null?void 0:s.title);c&&(i.title=c),r.public.content.host;const l=(i==null?void 0:i.description)||(s==null?void 0:s.description);l&&i.meta.filter(a=>a.name==="description").length===0&&i.meta.push({name:"description",content:l}),i!=null&&i.image||(s==null||s.image),Pe(()=>Je(i))},{immediate:!0})},al=K({__name:"AppLayout",setup(e){const{config:t}=me();return Je({titleTemplate:t.value.titleTemplate,meta:[{name:"twitter:card",content:"summary_large_image"}]}),fe(()=>t.value.titleTemplate,()=>Je({titleTemplate:t.value.titleTemplate})),sl(t.value),(n,r)=>{const o=Qr,s=an,i=ln;return L(),j("div",null,[U(o),U(s),wr(n.$slots,"default"),U(i)])}}}),il={};function ll(e,t){const n=Gr,r=al;return L(),x(r,null,{default:re(()=>[U(n)]),_:1})}const cl=X(il,[["render",ll]]),ur={__name:"nuxt-root",setup(e){const t=g(()=>_(()=>import("./error-component.a846670f.js"),["./error-component.a846670f.js","./Container.f1017aa2.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./Container.dc145a5e.css"],import.meta.url).then(c=>c.default||c)),n=()=>null,r=G(),o=r.deferHydration();Ie("_route",ae()),r.hooks.callHookWith(c=>c.map(l=>l()),"vue:setup");const s=rt();Bn((c,l,a)=>{r.hooks.callHook("vue:error",c,l,a).catch(u=>console.error("[nuxt] Error in `vue:error` hook",u)),io(c)&&(c.fatal||c.unhandled)&&ue(r,Se,[c])});const{islandContext:i}=!1;return(c,l)=>(L(),x(yr,{onResolve:R(o)},{default:re(()=>[R(s)?(L(),x(R(t),{key:0,error:R(s)},null,8,["error"])):R(i)?(L(),x(R(n),{key:1,context:R(i)},null,8,["context"])):(L(),x(R(cl),{key:2}))]),_:1},8,["onResolve"]))}};globalThis.$fetch||(globalThis.$fetch=eo.create({baseURL:ro()}));let dr;const ul=Rn(oi);dr=async function(){var o;const n=Boolean((o=window.__NUXT__)==null?void 0:o.serverRendered)?pn(ur):hn(ur),r=Tn({vueApp:n});try{await Cn(r,ul)}catch(s){await r.callHook("app:error",s),r.payload.error=r.payload.error||s}try{await r.hooks.callHook("app:created",n),await r.hooks.callHook("app:beforeMount",n),n.mount("#"+ys),await r.hooks.callHook("app:mounted",n),await Pe()}catch(s){await r.callHook("app:error",s),r.payload.error=r.payload.error||s}},dr().catch(e=>{console.error("Error while mounting app:",e)});export{pi as A,Ci as L,cr as S,Fi as T,al as _,sl as a,Je as b,lo as c,El as d,vl as e,Da as f,ci as g,Ye as h,bl as i,Ya as j,Ja as k,Oe as l,Ke as m,_i as n,Ei as o,wl as p,Me as q,Li as r,Ii as s,xi as t,Ui as u,Pl as v,Rl as w,Zi as x,ol as y}; diff --git a/docs/.output/public/_nuxt/entry.2e7e04dc.css b/docs/.output/public/_nuxt/entry.2e7e04dc.css deleted file mode 100644 index fbc59033..00000000 --- a/docs/.output/public/_nuxt/entry.2e7e04dc.css +++ /dev/null @@ -1 +0,0 @@ -.light-img{display:block}@media (prefers-color-scheme:dark){html:not(.light) .light-img{display:hidden}}.dark-img,html.dark .light-img{display:hidden}@media (prefers-color-scheme:dark){html:not(.light) .dark-img{display:block}}html.dark .dark-img{display:block}.dark:root,:root{--docsearch-primary-color:var(--color-primary-500)!important}.dark:root{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497;color-scheme:dark}.DocSearch-Input:focus{box-shadow:none!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-white);color:var(--color-gray-700);font-family:var(--font-sans);min-width:var(--size-xs);overflow-y:scroll}@media (prefers-color-scheme:dark){html:not(.light) body{background:var(--color-black);color:var(--color-gray-200)}}html.dark body{background:var(--color-black);color:var(--color-gray-200)}.docus-scrollbars ::-webkit-scrollbar{background:transparent;height:.6em;width:.6em}.docus-scrollbars ::-webkit-scrollbar-track{background:var(--color-gray-100)}.docus-scrollbars ::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:.6em}.docus-scrollbars ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.docus-scrollbars ::-webkit-scrollbar-thumb:active{background:var(--color-gray-500)}.docus-scrollbars.dark ::-webkit-scrollbar-track{background:var(--color-gray-800)}.docus-scrollbars.dark ::-webkit-scrollbar-thumb{background:var(--color-gray-700)}.docus-scrollbars.dark ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}.docus-scrollbars.dark ::-webkit-scrollbar-thumb:active{background:var(--color-gray-500)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-black)}html.dark{color:var(--color-white)}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}.nuxt-progress{background:repeating-linear-gradient(to right,var(--docus-loadingBar-gradientColorStop1) 0,var(--docus-loadingBar-gradientColorStop2) 50%,var(--docus-loadingBar-gradientColorStop3) 100%);height:var(--docus-loadingBar-height);left:0;opacity:1;position:fixed;right:0;top:0;transition:width .1s,height .4s,opacity .4s;width:0;z-index:999999}a[data-v-224b171c]{color:var(--color-gray-500);display:flex;padding:var(--space-4)}:root.dark a[data-v-224b171c]{color:var(--color-gray-400)}a[data-v-224b171c]:hover{color:var(--color-gray-700)}:root.dark a[data-v-224b171c]:hover{color:var(--color-gray-200)}button[data-v-291983a4]{display:flex;padding:var(--space-4) var(--space-4) var(--space-4) 0;position:relative;z-index:10}@media (min-width:1024px){button[data-v-291983a4]{display:none}}button[data-v-291983a4]{color:var(--color-gray-500)}:root.dark button[data-v-291983a4]{color:var(--color-gray-400)}button[data-v-291983a4]:hover{color:var(--color-gray-700)}:root.dark button[data-v-291983a4]:hover{color:var(--color-gray-200)}.dialog[data-v-291983a4]{align-items:flex-start;-webkit-backdrop-filter:var(--elements-backdrop-filter);backdrop-filter:var(--elements-backdrop-filter);background-color:#ffffff80;display:flex;inset:0 0 0 0;overflow-y:auto;position:fixed;z-index:50}:root.dark .dialog[data-v-291983a4]{background-color:#00000080}@media (min-width:1024px){.dialog[data-v-291983a4]{display:none}}.dialog .icons[data-v-291983a4]{overflow:auto}.dialog>div[data-v-291983a4]{background-color:var(--color-white);box-shadow:var(--shadow-md);max-width:var(--size-xs);min-height:100%;padding-left:var(--space-4);padding-right:var(--space-4);width:100%}:root.dark .dialog>div[data-v-291983a4]{background-color:var(--color-black)}@media (min-width:640px){.dialog>div[data-v-291983a4]{padding-left:var(--space-6);padding-right:var(--space-6)}}.dialog>div>div[data-v-291983a4]{border-bottom:1px solid transparent;gap:var(--space-2);height:var(--docus-header-height);justify-content:space-between}.dialog>div>div[data-v-291983a4],.dialog>div>div .icons[data-v-291983a4]{align-items:center;display:flex}[data-v-291983a4] .icon{height:var(--space-4);width:var(--space-4)}a[data-v-0e437bbb]{align-items:center;display:flex;flex:none}a span[data-v-0e437bbb]{color:var(--color-gray-900);font-size:var(--fontSize-xl);font-weight:var(--fontWeight-bold)}:root.dark a span[data-v-0e437bbb]{color:var(--color-gray-100)}a span[data-v-0e437bbb]:hover{color:var(--color-gray-500)}nav[data-v-01b60614]{display:none}@media (min-width:1024px){nav[data-v-01b60614]{display:block}}nav ul[data-v-01b60614]{align-items:center;display:flex;flex:1;justify-content:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav ul>*+*[data-v-01b60614]{margin-left:var(--space-2)}nav ul li[data-v-01b60614]{display:inline-flex;gap:var(--space-1)}nav ul .link[data-v-01b60614]{align-items:center;border-radius:var(--radii-md);display:flex;font-size:var(--fontSize-sm);gap:var(--space-2);outline:none;padding:var(--space-2) var(--space-4);transition:background .2s ease}nav ul .link svg[data-v-01b60614]{display:inline-block}nav ul .link.active[data-v-01b60614],nav ul .link[data-v-01b60614]:active,nav ul .link[data-v-01b60614]:hover{background-color:var(--color-gray-100)}:root.dark nav ul .link.active[data-v-01b60614],:root.dark nav ul .link[data-v-01b60614]:active,:root.dark nav ul .link[data-v-01b60614]:hover{background-color:var(--color-gray-900)}nav ul .link.active[data-v-01b60614]{box-shadow:inset 0 2px 4px #0000000d;font-weight:var(--fontWeight-semibold)}.doc-search:hover button[data-v-1e99f08b]{border-color:var(--color-gray-300)}.doc-search button[data-v-1e99f08b]{padding:var(--space-2) var(--space-4)}.doc-search button .content[data-v-1e99f08b]{align-items:center;border-color:var(--color-gray-100);border-radius:var(--radii-md);border-style:solid;border-width:1px;color:var(--color-gray-500);display:flex;font-size:var(--fontSize-xs);gap:var(--space-2);padding:var(--space-rem-375)}:root.dark .doc-search button .content[data-v-1e99f08b]{border-color:var(--color-gray-900);color:var(--color-gray-400)}.doc-search button .content[data-v-1e99f08b]:hover{border-color:var(--color-gray-400);color:var(--color-gray-700)}:root.dark .doc-search button .content[data-v-1e99f08b]:hover{border-color:var(--color-gray-700);color:var(--color-gray-200)}.doc-search button .content span[data-v-1e99f08b]:first-child{display:block;font-size:var(--fontSize-xs);font-weight:var(--fontWeight-medium)}.doc-search button .content span[data-v-1e99f08b]:nth-child(2){display:none;flex:none;font-size:var(--fontSize-xs);font-weight:var(--fontWeight-semibold)}@media (min-width:640px){.doc-search button .content span[data-v-1e99f08b]:nth-child(2){display:block}}button[data-v-4a6c39b0]{color:var(--color-gray-500);display:flex;padding:var(--space-4)}:root.dark button[data-v-4a6c39b0]{color:var(--color-gray-400)}button[data-v-4a6c39b0]:hover{color:var(--color-gray-700)}:root.dark button[data-v-4a6c39b0]:hover{color:var(--color-gray-200)}[data-v-8375ebf7] .icon{height:var(--space-4);width:var(--space-4)}.has-dialog .left .navbar-logo[data-v-8375ebf7]{display:none}@media (min-width:1024px){.has-dialog .left .navbar-logo[data-v-8375ebf7]{display:block}}.center .navbar-logo[data-v-8375ebf7]{display:block}@media (min-width:1024px){.center .navbar-logo[data-v-8375ebf7]{display:none}}header[data-v-8375ebf7]{-webkit-backdrop-filter:var(--elements-backdrop-filter);backdrop-filter:var(--elements-backdrop-filter);background-color:var(--elements-backdrop-background);border-bottom:1px solid var(--elements-border-primary-static);height:var(--docus-header-height);position:sticky;top:0;width:100%;z-index:10}header .container[data-v-8375ebf7]{display:grid;gap:var(--space-2);grid-template-columns:repeat(12,minmax(0,1fr));height:100%}header .section[data-v-8375ebf7]{align-items:center;display:flex;flex:none}header .section.left[data-v-8375ebf7]{grid-column:span 4/span 4}@media (min-width:1024px){header .section.left[data-v-8375ebf7]{margin-left:0}}header .section.center[data-v-8375ebf7]{flex:1;grid-column:span 4/span 4;justify-content:center}header .section.right[data-v-8375ebf7]{align-items:center;display:flex;flex:none;grid-column:span 4/span 4;justify-content:flex-end;margin-right:calc(0px - var(--space-4))}header .section.right .social-icons[data-v-8375ebf7]{display:none}@media (min-width:768px){header .section.right .social-icons[data-v-8375ebf7]{align-items:center;display:flex}}footer[data-v-eebf8ee0]{border-top:1px solid var(--elements-border-primary-static);padding:var(--docus-footer-padding)}footer .footer-container[data-v-eebf8ee0]{display:grid;gap:var(--space-2);grid-template-columns:repeat(12,minmax(0,1fr));justify-items:center}@media (min-width:640px){footer .footer-container[data-v-eebf8ee0]{justify-items:legacy}}footer .footer-container[data-v-eebf8ee0] .icon{height:var(--space-4);width:var(--space-4)}footer .footer-container a[data-v-eebf8ee0]{color:var(--color-gray-500)}:root.dark footer .footer-container a[data-v-eebf8ee0]{color:var(--color-gray-400)}footer .footer-container a[data-v-eebf8ee0]:hover{color:var(--color-gray-700)}:root.dark footer .footer-container a[data-v-eebf8ee0]:hover{color:var(--color-gray-200)}footer .footer-container .left[data-v-eebf8ee0]{display:flex;grid-column:span 12/span 12;order:1;padding-bottom:var(--space-4);padding-top:var(--space-4)}@media (min-width:640px){footer .footer-container .left[data-v-eebf8ee0]{grid-column:span 3/span 3;order:0}}footer .footer-container .left a[data-v-eebf8ee0]{align-items:center;display:flex}footer .footer-container .left p[data-v-eebf8ee0]{font-size:var(--text-xs-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-xs-lineHeight)}footer .footer-container .left-icon[data-v-eebf8ee0]{fill:currentcolor;flex-shrink:0;height:var(--space-4);margin-right:var(--space-2);width:var(--space-4)}footer .footer-container .center[data-v-eebf8ee0]{align-items:center;display:flex;flex-direction:column;grid-column:span 12/span 12}@media (min-width:640px){footer .footer-container .center[data-v-eebf8ee0]{flex-direction:row;grid-column:span 6/span 6;justify-content:center}}footer .footer-container .center .text-link[data-v-eebf8ee0]{font-size:var(--text-sm-fontSize);font-weight:var(--fontWeight-medium);line-height:var(--text-sm-lineHeight);padding:var(--space-2)}footer .footer-container .right[data-v-eebf8ee0]{align-items:center;display:flex;grid-column:span 12/span 12;justify-content:flex-end}@media (min-width:640px){footer .footer-container .right[data-v-eebf8ee0]{grid-column:span 3/span 3;margin-right:calc(0px - var(--space-4))}}footer .footer-container .right .icon-link[data-v-eebf8ee0]{display:flex;padding:var(--space-4)} diff --git a/docs/.output/public/_nuxt/error-404.e92ccfb2.js b/docs/.output/public/_nuxt/error-404.e92ccfb2.js deleted file mode 100644 index 6c2de511..00000000 --- a/docs/.output/public/_nuxt/error-404.e92ccfb2.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r}from"./app.config.4114fca6.js";import{b as a}from"./entry.2d43dc03.js";import{a as n}from"./Container.f1017aa2.js";import{q as d,x as l,E as e,J as s,G as c,C as p,L as m,M as f,N as x}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./DocsAsideTree.08d70919.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./query.c3f7607a.js";const h=t=>(f("data-v-30d2164e"),t=t(),x(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=h(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),_={class:"max-w-520px text-center z-20"},b=["textContent"],y=["textContent"],w={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,N)=>{const i=r;return d(),l("div",u,[g,e("div",_,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,b),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,y),e("div",w,[c(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:p(()=>[m(s(t.backHome),1)]),_:1})])])])}}},U=n(S,[["__scopeId","data-v-30d2164e"]]);export{U as default}; diff --git a/docs/.output/public/_nuxt/error-500.e0cdca3b.js b/docs/.output/public/_nuxt/error-500.e0cdca3b.js deleted file mode 100644 index b447aaab..00000000 --- a/docs/.output/public/_nuxt/error-500.e0cdca3b.js +++ /dev/null @@ -1 +0,0 @@ -import{b as i}from"./entry.2d43dc03.js";import{a as r}from"./Container.f1017aa2.js";import{q as a,x as n,E as e,J as s,M as l,N as d}from"./runtime-core.esm-bundler.6894272a.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./query.c3f7607a.js";const p=t=>(l("data-v-32388612"),t=t(),d(),t),c={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},m=p(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},f=["textContent"],g=["textContent"],x={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return i({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(b,u)=>(a(),n("div",c,[m,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,f),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,g)])]))}},I=r(x,[["__scopeId","data-v-32388612"]]);export{I as default}; diff --git a/docs/.output/public/_nuxt/error-component.a846670f.js b/docs/.output/public/_nuxt/error-component.a846670f.js deleted file mode 100644 index 320b602d..00000000 --- a/docs/.output/public/_nuxt/error-component.a846670f.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as o}from"./Container.f1017aa2.js";import{e as n,q as f,B as g,ac as E,ad as k,u as s}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";const P={__name:"nuxt-error-page",props:{error:Object},setup(c){const{error:t}=c;(t.stack||"").split(` -`).splice(1).map(e=>({text:e.replace("webpack:/","").replace(".vue",".js").trim(),internal:e.includes("node_modules")&&!e.includes(".cache")||e.includes("internal")||e.includes("new Promise")})).map(e=>`${e.text}`).join(` -`);const r=Number(t.statusCode||500),a=r===404,u=t.statusMessage??(a?"Page Not Found":"Internal Server Error"),i=t.message||t.toString(),p=void 0,m=n(()=>o(()=>import("./error-404.e92ccfb2.js"),["./error-404.e92ccfb2.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./error-404.97011ca1.css"],import.meta.url).then(e=>e.default||e)),_=n(()=>o(()=>import("./error-500.e0cdca3b.js"),["./error-500.e0cdca3b.js","./entry.2d43dc03.js","./DocsAsideTree.08d70919.js","./app.config.4114fca6.js","./index.d2b0cb5e.js","./runtime-core.esm-bundler.6894272a.js","./cookie.5bbb58d5.js","./useDocus.edcbeab5.js","./Container.f1017aa2.js","./Container.dc145a5e.css","./DocsAsideTree.b13c5d2f.css","./query.c3f7607a.js","./entry.2e7e04dc.css","./error-500.82e14f63.css"],import.meta.url).then(e=>e.default||e)),d=a?m:_;return(e,l)=>(f(),g(s(d),E(k({statusCode:s(r),statusMessage:s(u),description:s(i),stack:s(p)})),null,16))}},C=P;export{C as default}; diff --git a/docs/.output/public/_nuxt/index.889aa611.js b/docs/.output/public/_nuxt/index.889aa611.js deleted file mode 100644 index 5d09042a..00000000 --- a/docs/.output/public/_nuxt/index.889aa611.js +++ /dev/null @@ -1 +0,0 @@ -import{r as O,ag as F,u as V,g as N,O as L,n as B,ah as M,ab as W,h as A,a as I}from"./runtime-core.esm-bundler.6894272a.js";var x;const g=typeof window<"u",$=e=>typeof e<"u",D=e=>typeof e=="function",J=e=>typeof e=="string",R=()=>{};g&&((x=window==null?void 0:window.navigator)!=null&&x.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function E(e){return typeof e=="function"?e():V(e)}function U(e){return e}function Q(e){return M()?(W(e),!0):!1}function j(e,t=!0){N()?L(e):t?e():B(e)}function G(e,t,n={}){const{immediate:i=!0}=n,s=O(!1);let r=null;function f(){r&&(clearTimeout(r),r=null)}function c(){s.value=!1,f()}function p(...d){f(),s.value=!0,r=setTimeout(()=>{s.value=!1,r=null,e(...d)},E(t))}return i&&(s.value=!0,g&&p()),Q(c),{isPending:F(s),start:p,stop:c}}function H(e){var t;const n=E(e);return(t=n==null?void 0:n.$el)!=null?t:n}const K=g?window:void 0;g&&window.document;const q=g?window.navigator:void 0;g&&window.location;function z(...e){let t,n,i,s;if(J(e[0])||Array.isArray(e[0])?([n,i,s]=e,t=K):[t,n,i,s]=e,!t)return R;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const r=[],f=()=>{r.forEach(l=>l()),r.length=0},c=(l,v,u)=>(l.addEventListener(v,u,s),()=>l.removeEventListener(v,u,s)),p=I(()=>H(t),l=>{f(),l&&r.push(...n.flatMap(v=>i.map(u=>c(l,v,u))))},{immediate:!0,flush:"post"}),d=()=>{p(),f()};return Q(d),d}function X(e,t=!1){const n=O(),i=()=>n.value=Boolean(e());return i(),j(i,t),n}function ae(e={}){const{navigator:t=q,read:n=!1,source:i,copiedDuring:s=1500,legacy:r=!1}=e,f=["copy","cut"],c=X(()=>t&&"clipboard"in t),p=A(()=>c.value||r),d=O(""),l=O(!1),v=G(()=>l.value=!1,s);function u(){c.value?t.clipboard.readText().then(o=>{d.value=o}):d.value=w()}if(p.value&&n)for(const o of f)z(o,u);async function _(o=E(i)){p.value&&o!=null&&(c.value?await t.clipboard.writeText(o):m(o),d.value=o,l.value=!0,v.start())}function m(o){const a=document.createElement("textarea");a.value=o??"",a.style.position="absolute",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),a.remove()}function w(){var o,a,y;return(y=(a=(o=document==null?void 0:document.getSelection)==null?void 0:o.call(document))==null?void 0:a.toString())!=null?y:""}return{isSupported:p,text:d,copied:l,copy:_}}function Y(e){return JSON.parse(JSON.stringify(e))}const h=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},S="__vueuse_ssr_handlers__";h[S]=h[S]||{};h[S];var C;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(C||(C={}));var Z=Object.defineProperty,T=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable,P=(e,t,n)=>t in e?Z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,te=(e,t)=>{for(var n in t||(t={}))k.call(t,n)&&P(e,n,t[n]);if(T)for(var n of T(t))ee.call(t,n)&&P(e,n,t[n]);return e};const ne={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};te({linear:U},ne);function ue(e,t,n,i={}){var s,r,f;const{clone:c=!1,passive:p=!1,eventName:d,deep:l=!1,defaultValue:v}=i,u=N(),_=n||(u==null?void 0:u.emit)||((s=u==null?void 0:u.$emit)==null?void 0:s.bind(u))||((f=(r=u==null?void 0:u.proxy)==null?void 0:r.$emit)==null?void 0:f.bind(u==null?void 0:u.proxy));let m=d;t||(t="modelValue"),m=d||m||`update:${t.toString()}`;const w=a=>c?D(c)?c(a):Y(a):a,o=()=>$(e[t])?w(e[t]):v;if(p){const a=o(),y=O(a);return I(()=>e[t],b=>y.value=w(b)),I(y,b=>{(b!==e[t]||l)&&_(m,b)},{deep:l}),y}else return A({get(){return o()},set(a){_(m,a)}})}export{ue as a,ae as u}; diff --git a/docs/.output/public/_nuxt/index.d2b0cb5e.js b/docs/.output/public/_nuxt/index.d2b0cb5e.js deleted file mode 100644 index 0081c1a2..00000000 --- a/docs/.output/public/_nuxt/index.d2b0cb5e.js +++ /dev/null @@ -1 +0,0 @@ -function c(t){return t!==null&&typeof t=="object"}function p(t,o,r=".",u){if(!c(o))return p(t,{},r,u);const n=Object.assign({},o);for(const e in t){if(e==="__proto__"||e==="constructor")continue;const i=t[e];i!=null&&(u&&u(n,e,i,r)||(Array.isArray(i)&&Array.isArray(n[e])?n[e]=[...i,...n[e]]:c(i)&&c(n[e])?n[e]=p(i,n[e],(r?`${r}.`:"")+e.toString(),u):n[e]=i))}return n}function l(t){return(...o)=>o.reduce((r,u)=>p(r,u,"",t),{})}const U=l(),v=l((t,o,r)=>{if(typeof t[o]<"u"&&typeof r=="function")return t[o]=r(t[o]),!0}),A=/\d/,h=["-","_","/","."];function C(t=""){if(!A.test(t))return t.toUpperCase()===t}function y(t,o){const r=o??h,u=[];if(!t||typeof t!="string")return u;let n="",e,i;for(const s of t){const a=r.includes(s);if(a===!0){u.push(n),n="",e=void 0;continue}const f=C(s);if(i===!1){if(e===!1&&f===!0){u.push(n),n=s,e=f;continue}if(e===!0&&f===!1&&n.length>1){const d=n[n.length-1];u.push(n.slice(0,Math.max(0,n.length-1))),n=d+s,e=f;continue}}n+=s,e=f,i=a}return u.push(n),u}function S(t){return t?t[0].toUpperCase()+t.slice(1):""}function R(t){return t?(Array.isArray(t)?t:y(t)).map(o=>S(o)).join(""):""}function E(t,o){return t?(Array.isArray(t)?t:y(t)).map(r=>r.toLowerCase()).join(o??"-"):""}export{v as a,U as d,E as k,R as p,y as s,S as u}; diff --git a/docs/.output/public/_nuxt/index.e2533f77.js b/docs/.output/public/_nuxt/index.e2533f77.js deleted file mode 100644 index c33157c0..00000000 --- a/docs/.output/public/_nuxt/index.e2533f77.js +++ /dev/null @@ -1 +0,0 @@ -const d=Object.create(null);d.open="0";d.close="1";d.ping="2";d.pong="3";d.message="4";d.upgrade="5";d.noop="6";const R=Object.create(null);Object.keys(d).forEach(i=>{R[d[i]]=i});const oe={type:"error",data:"parser error"},ce=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",he=typeof ArrayBuffer=="function",ae=i=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(i):i&&i.buffer instanceof ArrayBuffer,z=({type:i,data:e},t,s)=>ce&&e instanceof Blob?t?s(e):I(e,s):he&&(e instanceof ArrayBuffer||ae(e))?t?s(e):I(new Blob([e]),s):s(d[i]+(e||"")),I=(i,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(i)},D="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let i=0;i{let e=i.length*.75,t=i.length,s,n=0,r,o,a,l;i[i.length-1]==="="&&(e--,i[i.length-2]==="="&&e--);const w=new ArrayBuffer(e),y=new Uint8Array(w);for(s=0;s>4,y[n++]=(o&15)<<4|a>>2,y[n++]=(a&3)<<6|l&63;return w},fe=typeof ArrayBuffer=="function",Y=(i,e)=>{if(typeof i!="string")return{type:"message",data:$(i,e)};const t=i.charAt(0);return t==="b"?{type:"message",data:le(i.substring(1),e)}:R[t]?i.length>1?{type:R[t],data:i.substring(1)}:{type:R[t]}:oe},le=(i,e)=>{if(fe){const t=ue(i);return $(t,e)}else return{base64:!0,data:i}},$=(i,e)=>{switch(e){case"blob":return i instanceof ArrayBuffer?new Blob([i]):i;case"arraybuffer":default:return i}},W=String.fromCharCode(30),pe=(i,e)=>{const t=i.length,s=new Array(t);let n=0;i.forEach((r,o)=>{z(r,!1,a=>{s[o]=a,++n===t&&e(s.join(W))})})},de=(i,e)=>{const t=i.split(W),s=[];for(let n=0;ntypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function Q(i,...e){return e.reduce((t,s)=>(i.hasOwnProperty(s)&&(t[s]=i[s]),t),{})}const me=u.setTimeout,ge=u.clearTimeout;function T(i,e){e.useNativeTimers?(i.setTimeoutFn=me.bind(u),i.clearTimeoutFn=ge.bind(u)):(i.setTimeoutFn=u.setTimeout.bind(u),i.clearTimeoutFn=u.clearTimeout.bind(u))}const be=1.33;function we(i){return typeof i=="string"?ve(i):Math.ceil((i.byteLength||i.size)*be)}function ve(i){let e=0,t=0;for(let s=0,n=i.length;s=57344?t+=3:(s++,t+=4);return t}class _e extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}class X extends h{constructor(e){super(),this.writable=!1,T(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,s){return super.emitReserved("error",new _e(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=Y(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}}const G="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),B=64,ke={};let F=0,E=0,V;function M(i){let e="";do e=G[i%B]+e,i=Math.floor(i/B);while(i>0);return e}function Z(){const i=M(+new Date);return i!==V?(F=0,V=i):i+"."+M(F++)}for(;E{this.readyState="paused",e()};if(this.polling||!this.writable){let s=0;this.polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};de(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,pe(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.query||{};const t=this.opts.secure?"https":"http";let s="";this.opts.timestampRequests!==!1&&(e[this.opts.timestampParam]=Z()),!this.supportsBinary&&!e.sid&&(e.b64=1),this.opts.port&&(t==="https"&&Number(this.opts.port)!==443||t==="http"&&Number(this.opts.port)!==80)&&(s=":"+this.opts.port);const n=j(e),r=this.opts.hostname.indexOf(":")!==-1;return t+"://"+(r?"["+this.opts.hostname+"]":this.opts.hostname)+s+this.opts.path+(n.length?"?"+n:"")}request(e={}){return Object.assign(e,{xd:this.xd,xs:this.xs},this.opts),new p(this.uri(),e)}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(n,r)=>{this.onError("xhr post error",n,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}}class p extends h{constructor(e,t){super(),T(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.async=t.async!==!1,this.data=t.data!==void 0?t.data:null,this.create()}create(){const e=Q(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;const t=this.xhr=new te(e);try{t.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){t.setDisableHeaderCheck&&t.setDisableHeaderCheck(!0);for(let s in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(s)&&t.setRequestHeader(s,this.opts.extraHeaders[s])}}catch{}if(this.method==="POST")try{t.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{t.setRequestHeader("Accept","*/*")}catch{}"withCredentials"in t&&(t.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(t.timeout=this.opts.requestTimeout),t.onreadystatechange=()=>{t.readyState===4&&(t.status===200||t.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof t.status=="number"?t.status:0)},0))},t.send(this.data)}catch(s){this.setTimeoutFn(()=>{this.onError(s)},0);return}typeof document<"u"&&(this.index=p.requestsCount++,p.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=Re,e)try{this.xhr.abort()}catch{}typeof document<"u"&&delete p.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}p.requestsCount=0;p.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",U);else if(typeof addEventListener=="function"){const i="onpagehide"in u?"pagehide":"unload";addEventListener(i,U,!1)}}function U(){for(let i in p.requests)p.requests.hasOwnProperty(i)&&p.requests[i].abort()}const se=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?e=>Promise.resolve().then(e):(e,t)=>t(e,0))(),A=u.WebSocket||u.MozWebSocket,H=!0,Ce="arraybuffer",K=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Be extends X{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,s=K?{}:Q(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=H&&!K?t?new A(e,t):new A(e):new A(e,t,s)}catch(n){return this.emitReserved("error",n)}this.ws.binaryType=this.socket.binaryType||Ce,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{const o={};try{H&&this.ws.send(r)}catch{}n&&se(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){let e=this.query||{};const t=this.opts.secure?"wss":"ws";let s="";this.opts.port&&(t==="wss"&&Number(this.opts.port)!==443||t==="ws"&&Number(this.opts.port)!==80)&&(s=":"+this.opts.port),this.opts.timestampRequests&&(e[this.opts.timestampParam]=Z()),this.supportsBinary||(e.b64=1);const n=j(e),r=this.opts.hostname.indexOf(":")!==-1;return t+"://"+(r?"["+this.opts.hostname+"]":this.opts.hostname)+s+this.opts.path+(n.length?"?"+n:"")}check(){return!!A}}const Se={websocket:Be,polling:Te},Ne=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,xe=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function S(i){const e=i,t=i.indexOf("["),s=i.indexOf("]");t!=-1&&s!=-1&&(i=i.substring(0,t)+i.substring(t,s).replace(/:/g,";")+i.substring(s,i.length));let n=Ne.exec(i||""),r={},o=14;for(;o--;)r[xe[o]]=n[o]||"";return t!=-1&&s!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=Le(r,r.path),r.queryKey=Pe(r,r.query),r}function Le(i,e){const t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function Pe(i,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,n,r){n&&(t[n]=r)}),t}let ie=class g extends h{constructor(e,t={}){super(),this.writeBuffer=[],e&&typeof e=="object"&&(t=e,e=null),e?(e=S(e),t.hostname=e.host,t.secure=e.protocol==="https"||e.protocol==="wss",t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=S(t.host).host),T(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Ee(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=J,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts.transportOptions[e],this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new Se[e](s)}open(){let e;if(this.opts.rememberUpgrade&&g.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)e="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else e=this.transports[0];this.readyState="opening";try{e=this.createTransport(e)}catch{this.transports.shift(),this.open();return}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",t=>this.onClose("transport close",t))}probe(e){let t=this.createTransport(e),s=!1;g.priorWebsocketSuccess=!1;const n=()=>{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",m=>{if(!s)if(m.type==="pong"&&m.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;g.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(y(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const v=new Error("probe error");v.transport=t.name,this.emitReserved("upgradeError",v)}}))};function r(){s||(s=!0,y(),t.close(),t=null)}const o=m=>{const v=new Error("probe error: "+m);v.transport=t.name,r(),this.emitReserved("upgradeError",v)};function a(){o("transport closed")}function l(){o("socket closed")}function w(m){t&&m.name!==t.name&&r()}const y=()=>{t.removeListener("open",n),t.removeListener("error",o),t.removeListener("close",a),this.off("close",l),this.off("upgrading",w)};t.once("open",n),t.once("error",o),t.once("close",a),this.once("close",l),this.once("upgrading",w),t.open()}onOpen(){if(this.readyState="open",g.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s0&&t>this.maxPayload)return this.writeBuffer.slice(0,s);t+=2}return this.writeBuffer}write(e,t,s){return this.sendPacket("message",e,t,s),this}send(e,t,s){return this.sendPacket("message",e,t,s),this}sendPacket(e,t,s,n){if(typeof t=="function"&&(n=t,t=void 0),typeof s=="function"&&(n=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const r={type:e,data:t,options:s};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),n&&this.once("flush",n),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}onError(e){g.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let s=0;const n=e.length;for(;stypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(i):i.buffer instanceof ArrayBuffer,ne=Object.prototype.toString,Fe=typeof Blob=="function"||typeof Blob<"u"&&ne.call(Blob)==="[object BlobConstructor]",Ve=typeof File=="function"||typeof File<"u"&&ne.call(File)==="[object FileConstructor]";function P(i){return Ie&&(i instanceof ArrayBuffer||De(i))||Fe&&i instanceof Blob||Ve&&i instanceof File}function O(i,e){if(!i||typeof i!="object")return!1;if(Array.isArray(i)){for(let t=0,s=i.length;t=0&&i.num0;case c.ACK:case c.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class ze{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const t=Ue(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const Ye=Object.freeze(Object.defineProperty({__proto__:null,Decoder:q,Encoder:Ke,get PacketType(){return c},protocol:He},Symbol.toStringTag,{value:"Module"}));function f(i,e,t){return i.on(e,t),function(){i.off(e,t)}}const $e=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class re extends h{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[f(e,"open",this.onopen.bind(this)),f(e,"packet",this.onpacket.bind(this)),f(e,"error",this.onerror.bind(this)),f(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if($e.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const s={type:c.EVENT,data:t};if(s.options={},s.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){const o=this.ids++,a=t.pop();this._registerAckCallback(o,a),s.id=o}const n=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!n||!this.connected)||(this.connected?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s)),this.flags={},this}_registerAckCallback(e,t){var s;const n=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(n===void 0){this.acks[e]=t;return}const r=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let o=0;o{this.io.clearTimeoutFn(r),t.apply(this,[null,...o])}}emitWithAck(e,...t){const s=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((n,r)=>{t.push((o,a)=>s?o?r(o):n(a):n(o)),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const s={id:this.ids++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((n,...r)=>s!==this._queue[0]?void 0:(n!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(n)):(this._queue.shift(),t&&t(null,...r)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(){if(this._queue.length===0)return;const e=this._queue[0];if(e.pending)return;e.pending=!0,e.tryCount++;const t=this.ids;this.ids=e.id,this.flags=e.flags,this.emit.apply(this,e.args),this.ids=t}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:c.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case c.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case c.EVENT:case c.BINARY_EVENT:this.onevent(e);break;case c.ACK:case c.BINARY_ACK:this.onack(e);break;case c.DISCONNECT:this.ondisconnect();break;case c.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...n){s||(s=!0,t.packet({type:c.ACK,id:e,data:n}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:c.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s0&&i.jitter<=1?i.jitter:0,this.attempts=0}b.prototype.duration=function(){var i=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*i);i=Math.floor(e*10)&1?i+t:i-t}return Math.min(i,this.max)|0};b.prototype.reset=function(){this.attempts=0};b.prototype.setMin=function(i){this.ms=i};b.prototype.setMax=function(i){this.max=i};b.prototype.setJitter=function(i){this.jitter=i};class L extends h{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,T(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new b({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const n=t.parser||Ye;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new ie(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const n=f(t,"open",function(){s.onopen(),e&&e()}),r=f(t,"error",o=>{s.cleanup(),s._readyState="closed",this.emitReserved("error",o),e?e(o):s.maybeReconnectOnOpen()});if(this._timeout!==!1){const o=this._timeout;o===0&&n();const a=this.setTimeoutFn(()=>{n(),t.close(),t.emit("error",new Error("timeout"))},o);this.opts.autoUnref&&a.unref(),this.subs.push(function(){clearTimeout(a)})}return this.subs.push(n),this.subs.push(r),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(f(e,"ping",this.onping.bind(this)),f(e,"data",this.ondata.bind(this)),f(e,"error",this.onerror.bind(this)),f(e,"close",this.onclose.bind(this)),f(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){se(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s||(s=new re(this,e,t),this.nsps[e]=s),this._autoConnect&&s.connect(),s}_destroy(e){const t=Object.keys(this.nsps);for(const s of t)if(this.nsps[s].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;se()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(n=>{n?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",n)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(function(){clearTimeout(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const _={};function C(i,e){typeof i=="object"&&(e=i,i=void 0),e=e||{};const t=qe(i,e.path||"/socket.io"),s=t.source,n=t.id,r=t.path,o=_[n]&&r in _[n].nsps,a=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let l;return a?l=new L(s,e):(_[n]||(_[n]=new L(s,e)),l=_[n]),t.query&&!e.query&&(e.query=t.queryKey),l.socket(t.path,e)}Object.assign(C,{Manager:L,Socket:re,io:C,connect:C});export{L as Manager,re as Socket,C as connect,C as default,C as io,He as protocol}; diff --git a/docs/.output/public/_nuxt/layout.732d57d1.js b/docs/.output/public/_nuxt/layout.732d57d1.js deleted file mode 100644 index 043ac1f7..00000000 --- a/docs/.output/public/_nuxt/layout.732d57d1.js +++ /dev/null @@ -1 +0,0 @@ -import{T as p}from"./DocsAsideTree.08d70919.js";import{l as u,d as l,e as f,g as r}from"./entry.2d43dc03.js";import{l as d}from"./app.config.4114fca6.js";import{f as i,j as y,h as c,i as L,u as h}from"./runtime-core.esm-bundler.6894272a.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./Container.f1017aa2.js";import"./index.d2b0cb5e.js";import"./query.c3f7607a.js";const _=i({name:"LayoutLoader",inheritAttrs:!1,props:{name:String},async setup(n,t){const o=await u[n.name]().then(a=>a.default||a);return()=>y(o,t.attrs,t.slots)}}),b=i({name:"NuxtLayout",inheritAttrs:!1,props:{name:{type:[String,Boolean,Object],default:null}},setup(n,t){const o=L("_route"),a=o===d()?l():o,e=c(()=>h(n.name)??a.meta.layout??"default");return()=>{const s=e.value&&e.value in u,m=a.meta.layoutTransition??f;return r(p,s&&m,{default:()=>r(_,s&&{key:e.value,name:e.value,...t.attrs},t.slots).default()}).default()}}});export{b as default}; diff --git a/docs/.output/public/_nuxt/page.57ff23a3.js b/docs/.output/public/_nuxt/page.57ff23a3.js deleted file mode 100644 index 5ecb04d1..00000000 --- a/docs/.output/public/_nuxt/page.57ff23a3.js +++ /dev/null @@ -1 +0,0 @@ -import{b as r,a as c}from"./Container.f1017aa2.js";import{c as p}from"./useDocus.edcbeab5.js";import{f as i,q as u,x as l,G as m,C as f,u as n,E as g,P as x}from"./runtime-core.esm-bundler.6894272a.js";import"./index.d2b0cb5e.js";import"./app.config.4114fca6.js";const v={class:"page-layout"},C=i({__name:"page",setup(b){const{config:e}=p();return(_,h)=>{var t,a,o,s;const d=r;return u(),l("div",v,[m(d,{fluid:(a=(t=n(e))==null?void 0:t.main)==null?void 0:a.fluid,padded:(s=(o=n(e))==null?void 0:o.main)==null?void 0:s.padded},{default:f(()=>[g("article",null,[x(_.$slots,"default",{},void 0,!0)])]),_:3},8,["fluid","padded"])])}}});const V=c(C,[["__scopeId","data-v-415bdc86"]]);export{V as default}; diff --git a/docs/.output/public/_nuxt/query.c3f7607a.js b/docs/.output/public/_nuxt/query.c3f7607a.js deleted file mode 100644 index b6184a4d..00000000 --- a/docs/.output/public/_nuxt/query.c3f7607a.js +++ /dev/null @@ -1 +0,0 @@ -const p=(r,t)=>t.split(".").reduce((e,s)=>e&&e[s],r),a=(r,t)=>Object.keys(r).filter(t).reduce((e,s)=>Object.assign(e,{[s]:r[s]}),{}),h=r=>t=>Array.isArray(t)?t.map(e=>r(e)):r(t),l=r=>{const t=[],e=[];for(const s of r)["$","_"].includes(s)?t.push(s):e.push(s);return{prefixes:t,properties:e}},w=(r=[])=>t=>{if(r.length===0||!t)return t;const{prefixes:e,properties:s}=l(r);return a(t,i=>!s.includes(i)&&!e.includes(i[0]))},d=(r=[])=>t=>{if(r.length===0||!t)return t;const{prefixes:e,properties:s}=l(r);return a(t,i=>s.includes(i)||e.includes(i[0]))},g=(r,t)=>{const e=new Intl.Collator(t.$locale,{numeric:t.$numeric,caseFirst:t.$caseFirst,sensitivity:t.$sensitivity}),s=Object.keys(t).filter(i=>!i.startsWith("$"));for(const i of s)r=r.sort((n,u)=>{const o=[p(n,i),p(u,i)].map(y=>{if(y!==null)return y instanceof Date?y.toISOString():y});return t[i]===-1&&o.reverse(),e.compare(o[0],o[1])});return r},A=(r,t="Expected an array")=>{if(!Array.isArray(r))throw new TypeError(t)},c=r=>Array.isArray(r)?r:r?[r]:[],f=["sort","where","only","without"],$=(r,t)=>{const e={...t};for(const n of f)e[n]&&(e[n]=c(e[n]));const s=(n,u=o=>o)=>(...o)=>(e[n]=u(...o),i),i={params:()=>e,only:s("only",c),without:s("without",c),where:s("where",n=>[...c(e.where),n]),sort:s("sort",n=>[...c(e.sort),...c(n)]),limit:s("limit",n=>parseInt(String(n),10)),skip:s("skip",n=>parseInt(String(n),10)),find:()=>r(i),findOne:()=>(e.first=!0,r(i)),findSurround:(n,u)=>(e.surround={query:n,...u},r(i)),locale:n=>i.where({_locale:n})};return i};export{A as a,h as b,$ as c,d,c as e,p as g,g as s,w}; diff --git a/docs/.output/public/_nuxt/runtime-core.esm-bundler.6894272a.js b/docs/.output/public/_nuxt/runtime-core.esm-bundler.6894272a.js deleted file mode 100644 index 76ba2017..00000000 --- a/docs/.output/public/_nuxt/runtime-core.esm-bundler.6894272a.js +++ /dev/null @@ -1 +0,0 @@ -function Nn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function Gt(e){if($(e)){const t={};for(let n=0;n{if(n){const s=n.split(Kr);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function en(e){let t="";if(le(e))t=e;else if($(e))for(let n=0;nle(e)?e:e==null?"":$(e)||ee(e)&&(e.toString===js||!S(e.toString))?JSON.stringify(e,ks,2):String(e),ks=(e,t)=>t&&t.__v_isRef?ks(e,t.value):st(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:Hs(t)?{[`Set(${t.size})`]:[...t.values()]}:ee(t)&&!$(t)&&!Ls(t)?String(t):t,G={},nt=[],Fe=()=>{},Sr=()=>!1,qr=/^on[^a-z]/,tn=e=>qr.test(e),Ns=e=>e.startsWith("onUpdate:"),ge=Object.assign,Hn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Vr=Object.prototype.hasOwnProperty,V=(e,t)=>Vr.call(e,t),$=Array.isArray,st=e=>vt(e)==="[object Map]",Hs=e=>vt(e)==="[object Set]",Jr=e=>vt(e)==="[object RegExp]",S=e=>typeof e=="function",le=e=>typeof e=="string",jn=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Ln=e=>ee(e)&&S(e.then)&&S(e.catch),js=Object.prototype.toString,vt=e=>js.call(e),Yr=e=>vt(e).slice(8,-1),Ls=e=>vt(e)==="[object Object]",Un=e=>le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,yt=Nn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),nn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Zr=/-(\w)/g,ke=nn(e=>e.replace(Zr,(t,n)=>n?n.toUpperCase():"")),Qr=/\B([A-Z])/g,sn=nn(e=>e.replace(Qr,"-$1").toLowerCase()),Kn=nn(e=>e.charAt(0).toUpperCase()+e.slice(1)),gn=nn(e=>e?`on${Kn(e)}`:""),Tt=(e,t)=>!Object.is(e,t),bt=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Xr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},zr=e=>{const t=le(e)?Number(e):NaN;return isNaN(t)?e:t};let ds;const Gr=()=>ds||(ds=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let ye;class el{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ye,!t&&ye&&(this.index=(ye.scopes||(ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ye;try{return ye=this,t()}finally{ye=n}}}on(){ye=this}off(){ye=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Us=e=>(e.w&Se)>0,Ks=e=>(e.n&Se)>0,sl=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(p==="length"||p>=f)&&o.push(d)})}else switch(n!==void 0&&o.push(i.get(n)),t){case"add":$(e)?Un(n)&&o.push(i.get("length")):(o.push(i.get(ze)),st(e)&&o.push(i.get(Tn)));break;case"delete":$(e)||(o.push(i.get(ze)),st(e)&&o.push(i.get(Tn)));break;case"set":st(e)&&o.push(i.get(ze));break}if(o.length===1)o[0]&&Fn(o[0]);else{const f=[];for(const d of o)d&&f.push(...d);Fn(Dn(f))}}function Fn(e,t){const n=$(e)?e:[...e];for(const s of n)s.computed&&ps(s);for(const s of n)s.computed||ps(s)}function ps(e,t){(e!==Ee||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function ll(e,t){var n;return(n=Vt.get(e))===null||n===void 0?void 0:n.get(t)}const il=Nn("__proto__,__v_isRef,__isVue"),Ws=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(jn)),ol=Wn(),cl=Wn(!1,!0),fl=Wn(!0),gs=ul();function ul(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=J(this);for(let l=0,i=this.length;l{e[t]=function(...n){dt();const s=J(this)[t].apply(this,n);return ht(),s}}),e}function al(e){const t=J(this);return _e(t,"has",e),t.hasOwnProperty(e)}function Wn(e=!1,t=!1){return function(s,r,l){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&l===(e?t?Ml:Ys:t?Js:Vs).get(s))return s;const i=$(s);if(!e){if(i&&V(gs,r))return Reflect.get(gs,r,l);if(r==="hasOwnProperty")return al}const o=Reflect.get(s,r,l);return(jn(r)?Ws.has(r):il(r))||(e||_e(s,"get",r),t)?o:ce(o)?i&&Un(r)?o:o.value:ee(o)?e?Zs(o):Vn(o):o}}const dl=Ss(),hl=Ss(!0);function Ss(e=!1){return function(n,s,r,l){let i=n[s];if(ot(i)&&ce(i)&&!ce(r))return!1;if(!e&&(!Jt(r)&&!ot(r)&&(i=J(i),r=J(r)),!$(n)&&ce(i)&&!ce(r)))return i.value=r,!0;const o=$(n)&&Un(s)?Number(s)e,rn=e=>Reflect.getPrototypeOf(e);function Bt(e,t,n=!1,s=!1){e=e.__v_raw;const r=J(e),l=J(t);n||(t!==l&&_e(r,"get",t),_e(r,"get",l));const{has:i}=rn(r),o=s?Sn:n?Yn:Ft;if(i.call(r,t))return o(e.get(t));if(i.call(r,l))return o(e.get(l));e!==r&&e.get(t)}function kt(e,t=!1){const n=this.__v_raw,s=J(n),r=J(e);return t||(e!==r&&_e(s,"has",e),_e(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Nt(e,t=!1){return e=e.__v_raw,!t&&_e(J(e),"iterate",ze),Reflect.get(e,"size",e)}function _s(e){e=J(e);const t=J(this);return rn(t).has.call(t,e)||(t.add(e),Ne(t,"add",e,e)),this}function ms(e,t){t=J(t);const n=J(this),{has:s,get:r}=rn(n);let l=s.call(n,e);l||(e=J(e),l=s.call(n,e));const i=r.call(n,e);return n.set(e,t),l?Tt(t,i)&&Ne(n,"set",e,t):Ne(n,"add",e,t),this}function ys(e){const t=J(this),{has:n,get:s}=rn(t);let r=n.call(t,e);r||(e=J(e),r=n.call(t,e)),s&&s.call(t,e);const l=t.delete(e);return r&&Ne(t,"delete",e,void 0),l}function bs(){const e=J(this),t=e.size!==0,n=e.clear();return t&&Ne(e,"clear",void 0,void 0),n}function Ht(e,t){return function(s,r){const l=this,i=l.__v_raw,o=J(i),f=t?Sn:e?Yn:Ft;return!e&&_e(o,"iterate",ze),i.forEach((d,p)=>s.call(r,f(d),f(p),l))}}function jt(e,t,n){return function(...s){const r=this.__v_raw,l=J(r),i=st(l),o=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,d=r[e](...s),p=n?Sn:t?Yn:Ft;return!t&&_e(l,"iterate",f?Tn:ze),{next(){const{value:h,done:m}=d.next();return m?{value:h,done:m}:{value:o?[p(h[0]),p(h[1])]:p(h),done:m}},[Symbol.iterator](){return this}}}}function Le(e){return function(...t){return e==="delete"?!1:this}}function bl(){const e={get(l){return Bt(this,l)},get size(){return Nt(this)},has:kt,add:_s,set:ms,delete:ys,clear:bs,forEach:Ht(!1,!1)},t={get(l){return Bt(this,l,!1,!0)},get size(){return Nt(this)},has:kt,add:_s,set:ms,delete:ys,clear:bs,forEach:Ht(!1,!0)},n={get(l){return Bt(this,l,!0)},get size(){return Nt(this,!0)},has(l){return kt.call(this,l,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:Ht(!0,!1)},s={get(l){return Bt(this,l,!0,!0)},get size(){return Nt(this,!0)},has(l){return kt.call(this,l,!0)},add:Le("add"),set:Le("set"),delete:Le("delete"),clear:Le("clear"),forEach:Ht(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=jt(l,!1,!1),n[l]=jt(l,!0,!1),t[l]=jt(l,!1,!0),s[l]=jt(l,!0,!0)}),[e,n,t,s]}const[xl,Cl,wl,El]=bl();function qn(e,t){const n=t?e?El:wl:e?Cl:xl;return(s,r,l)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(V(n,r)&&r in s?n:s,r,l)}const Tl={get:qn(!1,!1)},Fl={get:qn(!1,!0)},Al={get:qn(!0,!1)},Vs=new WeakMap,Js=new WeakMap,Ys=new WeakMap,Ml=new WeakMap;function Ol(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function vl(e){return e.__v_skip||!Object.isExtensible(e)?0:Ol(Yr(e))}function Vn(e){return ot(e)?e:Jn(e,!1,qs,Tl,Vs)}function Il(e){return Jn(e,!1,yl,Fl,Js)}function Zs(e){return Jn(e,!0,ml,Al,Ys)}function Jn(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=r.get(e);if(l)return l;const i=vl(e);if(i===0)return e;const o=new Proxy(e,i===2?s:n);return r.set(e,o),o}function rt(e){return ot(e)?rt(e.__v_raw):!!(e&&e.__v_isReactive)}function ot(e){return!!(e&&e.__v_isReadonly)}function Jt(e){return!!(e&&e.__v_isShallow)}function Qs(e){return rt(e)||ot(e)}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function Xs(e){return qt(e,"__v_skip",!0),e}const Ft=e=>ee(e)?Vn(e):e,Yn=e=>ee(e)?Zs(e):e;function zs(e){De&&Ee&&(e=J(e),$s(e.dep||(e.dep=Dn())))}function Gs(e,t){e=J(e);const n=e.dep;n&&Fn(n)}function ce(e){return!!(e&&e.__v_isRef===!0)}function _n(e){return er(e,!1)}function Gi(e){return er(e,!0)}function er(e,t){return ce(e)?e:new Rl(e,t)}class Rl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Ft(t)}get value(){return zs(this),this._value}set value(t){const n=this.__v_isShallow||Jt(t)||ot(t);t=n?t:J(t),Tt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ft(t),Gs(this))}}function Pl(e){return ce(e)?e.value:e}const Bl={get:(e,t,n)=>Pl(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ce(r)&&!ce(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function tr(e){return rt(e)?e:new Proxy(e,Bl)}function eo(e){const t=$(e)?new Array(e.length):{};for(const n in e)t[n]=Nl(e,n);return t}class kl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return ll(J(this._object),this._key)}}function Nl(e,t,n){const s=e[t];return ce(s)?s:new kl(e,t,n)}var nr;class Hl{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[nr]=!1,this._dirty=!0,this.effect=new $n(t,()=>{this._dirty||(this._dirty=!0,Gs(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=J(this);return zs(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}nr="__v_isReadonly";function jl(e,t,n=!1){let s,r;const l=S(e);return l?(s=e,r=Fe):(s=e.get,r=e.set),new Hl(s,r,l||!r,n)}function $e(e,t,n,s){let r;try{r=s?e(...s):e()}catch(l){pt(l,t,n)}return r}function Ae(e,t,n,s){if(S(e)){const l=$e(e,t,n,s);return l&&Ln(l)&&l.catch(i=>{pt(i,t,n)}),l}const r=[];for(let l=0;l>>1;Mt(ue[s])Re&&ue.splice(t,1)}function lr(e){$(e)?lt.push(...e):(!Be||!Be.includes(e,e.allowRecurse?Qe+1:Qe))&<.push(e),rr()}function xs(e,t=At?Re+1:0){for(;tMt(n)-Mt(s)),Qe=0;Qee.id==null?1/0:e.id,$l=(e,t)=>{const n=Mt(e)-Mt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ir(e){An=!1,At=!0,ue.sort($l);const t=Fe;try{for(Re=0;Rele(F)?F.trim():F)),h&&(r=n.map(Xr))}let o,f=s[o=gn(t)]||s[o=gn(ke(t))];!f&&l&&(f=s[o=gn(sn(t))]),f&&Ae(f,e,6,r);const d=s[o+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Ae(d,e,6,r)}}function or(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const l=e.emits;let i={},o=!1;if(!S(e)){const f=d=>{const p=or(d,t,!0);p&&(o=!0,ge(i,p))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!l&&!o?(ee(e)&&s.set(e,null),null):($(l)?l.forEach(f=>i[f]=null):ge(i,l),ee(e)&&s.set(e,i),i)}function on(e,t){return!e||!tn(t)?!1:(t=t.slice(2).replace(/Once$/,""),V(e,t[0].toLowerCase()+t.slice(1))||V(e,sn(t))||V(e,t))}let fe=null,cn=null;function Zt(e){const t=fe;return fe=e,cn=e&&e.type.__scopeId||null,t}function to(e){cn=e}function no(){cn=null}function Sl(e,t=fe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ps(-1);const l=Zt(t);let i;try{i=e(...r)}finally{Zt(l),s._d&&Ps(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function mn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:l,propsOptions:[i],slots:o,attrs:f,emit:d,render:p,renderCache:h,data:m,setupState:F,ctx:O,inheritAttrs:I}=e;let W,y;const a=Zt(e);try{if(n.shapeFlag&4){const E=r||s;W=xe(p.call(E,E,h,l,F,m,O)),y=f}else{const E=t;W=xe(E.length>1?E(l,{attrs:f,slots:o,emit:d}):E(l,null)),y=t.props?f:Vl(f)}}catch(E){Et.length=0,pt(E,e,1),W=se(de)}let g=W;if(y&&I!==!1){const E=Object.keys(y),{shapeFlag:R}=g;E.length&&R&7&&(i&&E.some(Ns)&&(y=Jl(y,i)),g=He(g,y))}return n.dirs&&(g=He(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),W=g,Zt(a),W}function ql(e){let t;for(let n=0;n{let t;for(const n in e)(n==="class"||n==="style"||tn(n))&&((t||(t={}))[n]=e[n]);return t},Jl=(e,t)=>{const n={};for(const s in e)(!Ns(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Yl(e,t,n){const{props:s,children:r,component:l}=e,{props:i,children:o,patchFlag:f}=t,d=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?Cs(s,i,d):!!i;if(f&8){const p=t.dynamicProps;for(let h=0;he.__isSuspense,Zl={name:"Suspense",__isSuspense:!0,process(e,t,n,s,r,l,i,o,f,d){e==null?Ql(t,n,s,r,l,i,o,f,d):Xl(e,t,n,s,r,i,o,f,d)},hydrate:zl,create:Xn,normalize:Gl},so=Zl;function Ot(e,t){const n=e.props&&e.props[t];S(n)&&n()}function Ql(e,t,n,s,r,l,i,o,f){const{p:d,o:{createElement:p}}=f,h=p("div"),m=e.suspense=Xn(e,r,s,t,h,n,l,i,o,f);d(null,m.pendingBranch=e.ssContent,h,null,s,m,l,i),m.deps>0?(Ot(e,"onPending"),Ot(e,"onFallback"),d(null,e.ssFallback,t,n,s,null,l,i),it(m,e.ssFallback)):m.resolve()}function Xl(e,t,n,s,r,l,i,o,{p:f,um:d,o:{createElement:p}}){const h=t.suspense=e.suspense;h.vnode=t,t.el=e.el;const m=t.ssContent,F=t.ssFallback,{activeBranch:O,pendingBranch:I,isInFallback:W,isHydrating:y}=h;if(I)h.pendingBranch=m,Te(m,I)?(f(I,m,h.hiddenContainer,null,r,h,l,i,o),h.deps<=0?h.resolve():W&&(f(O,F,n,s,r,null,l,i,o),it(h,F))):(h.pendingId++,y?(h.isHydrating=!1,h.activeBranch=I):d(I,r,h),h.deps=0,h.effects.length=0,h.hiddenContainer=p("div"),W?(f(null,m,h.hiddenContainer,null,r,h,l,i,o),h.deps<=0?h.resolve():(f(O,F,n,s,r,null,l,i,o),it(h,F))):O&&Te(m,O)?(f(O,m,n,s,r,h,l,i,o),h.resolve(!0)):(f(null,m,h.hiddenContainer,null,r,h,l,i,o),h.deps<=0&&h.resolve()));else if(O&&Te(m,O))f(O,m,n,s,r,h,l,i,o),it(h,m);else if(Ot(t,"onPending"),h.pendingBranch=m,h.pendingId++,f(null,m,h.hiddenContainer,null,r,h,l,i,o),h.deps<=0)h.resolve();else{const{timeout:a,pendingId:g}=h;a>0?setTimeout(()=>{h.pendingId===g&&h.fallback(F)},a):a===0&&h.fallback(F)}}function Xn(e,t,n,s,r,l,i,o,f,d,p=!1){const{p:h,m,um:F,n:O,o:{parentNode:I,remove:W}}=d,y=e.props?zr(e.props.timeout):void 0,a={vnode:e,parent:t,parentComponent:n,isSVG:i,container:s,hiddenContainer:r,anchor:l,deps:0,pendingId:0,timeout:typeof y=="number"?y:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:p,isUnmounted:!1,effects:[],resolve(g=!1){const{vnode:E,activeBranch:R,pendingBranch:k,pendingId:B,effects:w,parentComponent:U,container:N}=a;if(a.isHydrating)a.isHydrating=!1;else if(!g){const Z=R&&k.transition&&k.transition.mode==="out-in";Z&&(R.transition.afterLeave=()=>{B===a.pendingId&&m(k,N,L,0)});let{anchor:L}=a;R&&(L=O(R),F(R,U,a,!0)),Z||m(k,N,L,0)}it(a,k),a.pendingBranch=null,a.isInFallback=!1;let K=a.parent,ie=!1;for(;K;){if(K.pendingBranch){K.effects.push(...w),ie=!0;break}K=K.parent}ie||lr(w),a.effects=[],Ot(E,"onResolve")},fallback(g){if(!a.pendingBranch)return;const{vnode:E,activeBranch:R,parentComponent:k,container:B,isSVG:w}=a;Ot(E,"onFallback");const U=O(R),N=()=>{a.isInFallback&&(h(null,g,B,U,k,null,w,o,f),it(a,g))},K=g.transition&&g.transition.mode==="out-in";K&&(R.transition.afterLeave=N),a.isInFallback=!0,F(R,k,null,!0),K||N()},move(g,E,R){a.activeBranch&&m(a.activeBranch,g,E,R),a.container=g},next(){return a.activeBranch&&O(a.activeBranch)},registerDep(g,E){const R=!!a.pendingBranch;R&&a.deps++;const k=g.vnode.el;g.asyncDep.catch(B=>{pt(B,g,0)}).then(B=>{if(g.isUnmounted||a.isUnmounted||a.pendingId!==g.suspenseId)return;g.asyncResolved=!0;const{vnode:w}=g;Bn(g,B,!1),k&&(w.el=k);const U=!k&&g.subTree.el;E(g,w,I(k||g.subTree.el),k?null:O(g.subTree),a,i,f),U&&W(U),Qn(g,w.el),R&&--a.deps===0&&a.resolve()})},unmount(g,E){a.isUnmounted=!0,a.activeBranch&&F(a.activeBranch,n,g,E),a.pendingBranch&&F(a.pendingBranch,n,g,E)}};return a}function zl(e,t,n,s,r,l,i,o,f){const d=t.suspense=Xn(t,s,n,e.parentNode,document.createElement("div"),null,r,l,i,o,!0),p=f(e,d.pendingBranch=t.ssContent,n,d,l,i);return d.deps===0&&d.resolve(),p}function Gl(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=ws(s?n.default:n),e.ssFallback=s?ws(n.fallback):se(de)}function ws(e){let t;if(S(e)){const n=ft&&e._c;n&&(e._d=!1,ls()),e=e(),n&&(e._d=!0,t=Ce,Or())}return $(e)&&(e=ql(e)),e=xe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function fr(e,t){t&&t.pendingBranch?$(e)?t.effects.push(...e):t.effects.push(e):lr(e)}function it(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e,r=n.el=t.el;s&&s.subTree===n&&(s.vnode.el=r,Qn(s,r))}function ei(e,t){if(ne){let n=ne.provides;const s=ne.parent&&ne.parent.provides;s===n&&(n=ne.provides=Object.create(s)),n[e]=t}}function $t(e,t,n=!1){const s=ne||fe;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&S(t)?t.call(s.proxy):t}}function ro(e,t){return zn(e,null,t)}const Lt={};function Wt(e,t,n){return zn(e,t,n)}function zn(e,t,{immediate:n,deep:s,flush:r,onTrack:l,onTrigger:i}=G){const o=nl()===(ne==null?void 0:ne.scope)?ne:null;let f,d=!1,p=!1;if(ce(e)?(f=()=>e.value,d=Jt(e)):rt(e)?(f=()=>e,s=!0):$(e)?(p=!0,d=e.some(g=>rt(g)||Jt(g)),f=()=>e.map(g=>{if(ce(g))return g.value;if(rt(g))return Xe(g);if(S(g))return $e(g,o,2)})):S(e)?t?f=()=>$e(e,o,2):f=()=>{if(!(o&&o.isUnmounted))return h&&h(),Ae(e,o,3,[m])}:f=Fe,t&&s){const g=f;f=()=>Xe(g())}let h,m=g=>{h=y.onStop=()=>{$e(g,o,4)}},F;if(at)if(m=Fe,t?n&&Ae(t,o,3,[f(),p?[]:void 0,m]):f(),r==="sync"){const g=Vi();F=g.__watcherHandles||(g.__watcherHandles=[])}else return Fe;let O=p?new Array(e.length).fill(Lt):Lt;const I=()=>{if(y.active)if(t){const g=y.run();(s||d||(p?g.some((E,R)=>Tt(E,O[R])):Tt(g,O)))&&(h&&h(),Ae(t,o,3,[g,O===Lt?void 0:p&&O[0]===Lt?[]:O,m]),O=g)}else y.run()};I.allowRecurse=!!t;let W;r==="sync"?W=I:r==="post"?W=()=>oe(I,o&&o.suspense):(I.pre=!0,o&&(I.id=o.uid),W=()=>ln(I));const y=new $n(f,W);t?n?I():O=y.run():r==="post"?oe(y.run.bind(y),o&&o.suspense):y.run();const a=()=>{y.stop(),o&&o.scope&&Hn(o.scope.effects,y)};return F&&F.push(a),a}function ti(e,t,n){const s=this.proxy,r=le(e)?e.includes(".")?ur(s,e):()=>s[e]:e.bind(s,s);let l;S(t)?l=t:(l=t.handler,n=t);const i=ne;qe(this);const o=zn(r,l.bind(s),n);return i?qe(i):We(),o}function ur(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{Xe(n,t)});else if(Ls(e))for(const n in e)Xe(e[n],t);return e}function ni(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Gn(()=>{e.isMounted=!0}),es(()=>{e.isUnmounting=!0}),e}const be=[Function,Array],si={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:be,onEnter:be,onAfterEnter:be,onEnterCancelled:be,onBeforeLeave:be,onLeave:be,onAfterLeave:be,onLeaveCancelled:be,onBeforeAppear:be,onAppear:be,onAfterAppear:be,onAppearCancelled:be},setup(e,{slots:t}){const n=an(),s=ni();let r;return()=>{const l=t.default&&dr(t.default(),!0);if(!l||!l.length)return;let i=l[0];if(l.length>1){for(const I of l)if(I.type!==de){i=I;break}}const o=J(e),{mode:f}=o;if(s.isLeaving)return yn(i);const d=Es(i);if(!d)return yn(i);const p=Mn(d,o,s,n);Qt(d,p);const h=n.subTree,m=h&&Es(h);let F=!1;const{getTransitionKey:O}=d.type;if(O){const I=O();r===void 0?r=I:I!==r&&(r=I,F=!0)}if(m&&m.type!==de&&(!Te(d,m)||F)){const I=Mn(m,o,s,n);if(Qt(m,I),f==="out-in")return s.isLeaving=!0,I.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},yn(i);f==="in-out"&&d.type!==de&&(I.delayLeave=(W,y,a)=>{const g=ar(s,m);g[String(m.key)]=m,W._leaveCb=()=>{y(),W._leaveCb=void 0,delete p.delayedLeave},p.delayedLeave=a})}return i}}},lo=si;function ar(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Mn(e,t,n,s){const{appear:r,mode:l,persisted:i=!1,onBeforeEnter:o,onEnter:f,onAfterEnter:d,onEnterCancelled:p,onBeforeLeave:h,onLeave:m,onAfterLeave:F,onLeaveCancelled:O,onBeforeAppear:I,onAppear:W,onAfterAppear:y,onAppearCancelled:a}=t,g=String(e.key),E=ar(n,e),R=(w,U)=>{w&&Ae(w,s,9,U)},k=(w,U)=>{const N=U[1];R(w,U),$(w)?w.every(K=>K.length<=1)&&N():w.length<=1&&N()},B={mode:l,persisted:i,beforeEnter(w){let U=o;if(!n.isMounted)if(r)U=I||o;else return;w._leaveCb&&w._leaveCb(!0);const N=E[g];N&&Te(e,N)&&N.el._leaveCb&&N.el._leaveCb(),R(U,[w])},enter(w){let U=f,N=d,K=p;if(!n.isMounted)if(r)U=W||f,N=y||d,K=a||p;else return;let ie=!1;const Z=w._enterCb=L=>{ie||(ie=!0,L?R(K,[w]):R(N,[w]),B.delayedLeave&&B.delayedLeave(),w._enterCb=void 0)};U?k(U,[w,Z]):Z()},leave(w,U){const N=String(e.key);if(w._enterCb&&w._enterCb(!0),n.isUnmounting)return U();R(h,[w]);let K=!1;const ie=w._leaveCb=Z=>{K||(K=!0,U(),Z?R(O,[w]):R(F,[w]),w._leaveCb=void 0,E[N]===e&&delete E[N])};E[N]=e,m?k(m,[w,ie]):ie()},clone(w){return Mn(w,t,n,s)}};return B}function yn(e){if(It(e))return e=He(e),e.children=null,e}function Es(e){return It(e)?e.children?e.children[0]:void 0:e}function Qt(e,t){e.shapeFlag&6&&e.component?Qt(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function dr(e,t=!1,n){let s=[],r=0;for(let l=0;l1)for(let l=0;l!!e.type.__asyncLoader;function io(e){S(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:l,suspensible:i=!0,onError:o}=e;let f=null,d,p=0;const h=()=>(p++,f=null,m()),m=()=>{let F;return f||(F=f=t().catch(O=>{if(O=O instanceof Error?O:new Error(String(O)),o)return new Promise((I,W)=>{o(O,()=>I(h()),()=>W(O),p+1)});throw O}).then(O=>F!==f&&f?f:(O&&(O.__esModule||O[Symbol.toStringTag]==="Module")&&(O=O.default),d=O,O)))};return ri({name:"AsyncComponentWrapper",__asyncLoader:m,get __asyncResolved(){return d},setup(){const F=ne;if(d)return()=>bn(d,F);const O=a=>{f=null,pt(a,F,13,!s)};if(i&&F.suspense||at)return m().then(a=>()=>bn(a,F)).catch(a=>(O(a),()=>s?se(s,{error:a}):null));const I=_n(!1),W=_n(),y=_n(!!r);return r&&setTimeout(()=>{y.value=!1},r),l!=null&&setTimeout(()=>{if(!I.value&&!W.value){const a=new Error(`Async component timed out after ${l}ms.`);O(a),W.value=a}},l),m().then(()=>{I.value=!0,F.parent&&It(F.parent.vnode)&&ln(F.parent.update)}).catch(a=>{O(a),W.value=a}),()=>{if(I.value&&d)return bn(d,F);if(W.value&&s)return se(s,{error:W.value});if(n&&!y.value)return se(n)}}})}function bn(e,t){const{ref:n,props:s,children:r,ce:l}=t.vnode,i=se(e,s,r);return i.ref=n,i.ce=l,delete t.vnode.ce,i}const It=e=>e.type.__isKeepAlive,li={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=an(),s=n.ctx;if(!s.renderer)return()=>{const a=t.default&&t.default();return a&&a.length===1?a[0]:a};const r=new Map,l=new Set;let i=null;const o=n.suspense,{renderer:{p:f,m:d,um:p,o:{createElement:h}}}=s,m=h("div");s.activate=(a,g,E,R,k)=>{const B=a.component;d(a,g,E,0,o),f(B.vnode,a,g,E,B,o,R,a.slotScopeIds,k),oe(()=>{B.isDeactivated=!1,B.a&&bt(B.a);const w=a.props&&a.props.onVnodeMounted;w&&he(w,B.parent,a)},o)},s.deactivate=a=>{const g=a.component;d(a,m,null,1,o),oe(()=>{g.da&&bt(g.da);const E=a.props&&a.props.onVnodeUnmounted;E&&he(E,g.parent,a),g.isDeactivated=!0},o)};function F(a){xn(a),p(a,n,o,!0)}function O(a){r.forEach((g,E)=>{const R=kn(g.type);R&&(!a||!a(R))&&I(E)})}function I(a){const g=r.get(a);!i||!Te(g,i)?F(g):i&&xn(i),r.delete(a),l.delete(a)}Wt(()=>[e.include,e.exclude],([a,g])=>{a&&O(E=>mt(a,E)),g&&O(E=>!mt(g,E))},{flush:"post",deep:!0});let W=null;const y=()=>{W!=null&&r.set(W,Cn(n.subTree))};return Gn(y),pr(y),es(()=>{r.forEach(a=>{const{subTree:g,suspense:E}=n,R=Cn(g);if(a.type===R.type&&a.key===R.key){xn(R);const k=R.component.da;k&&oe(k,E);return}F(a)})}),()=>{if(W=null,!t.default)return null;const a=t.default(),g=a[0];if(a.length>1)return i=null,a;if(!ut(g)||!(g.shapeFlag&4)&&!(g.shapeFlag&128))return i=null,g;let E=Cn(g);const R=E.type,k=kn(Ge(E)?E.type.__asyncResolved||{}:R),{include:B,exclude:w,max:U}=e;if(B&&(!k||!mt(B,k))||w&&k&&mt(w,k))return i=E,g;const N=E.key==null?R:E.key,K=r.get(N);return E.el&&(E=He(E),g.shapeFlag&128&&(g.ssContent=E)),W=N,K?(E.el=K.el,E.component=K.component,E.transition&&Qt(E,E.transition),E.shapeFlag|=512,l.delete(N),l.add(N)):(l.add(N),U&&l.size>parseInt(U,10)&&I(l.values().next().value)),E.shapeFlag|=256,i=E,cr(g.type)?g:E}}},oo=li;function mt(e,t){return $(e)?e.some(n=>mt(n,t)):le(e)?e.split(",").includes(t):Jr(e)?e.test(t):!1}function ii(e,t){hr(e,"a",t)}function oi(e,t){hr(e,"da",t)}function hr(e,t,n=ne){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(fn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)It(r.parent.vnode)&&ci(s,t,n,r),r=r.parent}}function ci(e,t,n,s){const r=fn(t,e,s,!0);gr(()=>{Hn(s[t],r)},n)}function xn(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Cn(e){return e.shapeFlag&128?e.ssContent:e}function fn(e,t,n=ne,s=!1){if(n){const r=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt(),qe(n);const o=Ae(t,n,e,i);return We(),ht(),o});return s?r.unshift(l):r.push(l),l}}const je=e=>(t,n=ne)=>(!at||e==="sp")&&fn(e,(...s)=>t(...s),n),fi=je("bm"),Gn=je("m"),ui=je("bu"),pr=je("u"),es=je("bum"),gr=je("um"),ai=je("sp"),di=je("rtg"),hi=je("rtc");function pi(e,t=ne){fn("ec",e,t)}function co(e,t){const n=fe;if(n===null)return e;const s=dn(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let l=0;lt(i,o,void 0,l&&l[o]));else{const i=Object.keys(e);r=new Array(i.length);for(let o=0,f=i.length;out(t)?!(t.type===de||t.type===pe&&!yr(t.children)):!0)?e:null}const On=e=>e?kr(e)?dn(e)||e.proxy:On(e.parent):null,xt=ge(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>On(e.parent),$root:e=>On(e.root),$emit:e=>e.emit,$options:e=>ns(e),$forceUpdate:e=>e.f||(e.f=()=>ln(e.update)),$nextTick:e=>e.n||(e.n=Ul.bind(e.proxy)),$watch:e=>ti.bind(e)}),wn=(e,t)=>e!==G&&!e.__isScriptSetup&&V(e,t),gi={get({_:e},t){const{ctx:n,setupState:s,data:r,props:l,accessCache:i,type:o,appContext:f}=e;let d;if(t[0]!=="$"){const F=i[t];if(F!==void 0)switch(F){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return l[t]}else{if(wn(s,t))return i[t]=1,s[t];if(r!==G&&V(r,t))return i[t]=2,r[t];if((d=e.propsOptions[0])&&V(d,t))return i[t]=3,l[t];if(n!==G&&V(n,t))return i[t]=4,n[t];vn&&(i[t]=0)}}const p=xt[t];let h,m;if(p)return t==="$attrs"&&_e(e,"get",t),p(e);if((h=o.__cssModules)&&(h=h[t]))return h;if(n!==G&&V(n,t))return i[t]=4,n[t];if(m=f.config.globalProperties,V(m,t))return m[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:l}=e;return wn(r,t)?(r[t]=n,!0):s!==G&&V(s,t)?(s[t]=n,!0):V(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:l}},i){let o;return!!n[i]||e!==G&&V(e,i)||wn(t,i)||(o=l[0])&&V(o,i)||V(s,i)||V(xt,i)||V(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:V(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let vn=!0;function _i(e){const t=ns(e),n=e.proxy,s=e.ctx;vn=!1,t.beforeCreate&&Fs(t.beforeCreate,e,"bc");const{data:r,computed:l,methods:i,watch:o,provide:f,inject:d,created:p,beforeMount:h,mounted:m,beforeUpdate:F,updated:O,activated:I,deactivated:W,beforeDestroy:y,beforeUnmount:a,destroyed:g,unmounted:E,render:R,renderTracked:k,renderTriggered:B,errorCaptured:w,serverPrefetch:U,expose:N,inheritAttrs:K,components:ie,directives:Z,filters:L}=t;if(d&&mi(d,s,null,e.appContext.config.unwrapInjectedRef),i)for(const te in i){const Q=i[te];S(Q)&&(s[te]=Q.bind(n))}if(r){const te=r.call(n,n);ee(te)&&(e.data=Vn(te))}if(vn=!0,l)for(const te in l){const Q=l[te],Ve=S(Q)?Q.bind(n,n):S(Q.get)?Q.get.bind(n,n):Fe,Rt=!S(Q)&&S(Q.set)?Q.set.bind(n):Fe,Je=Wi({get:Ve,set:Rt});Object.defineProperty(s,te,{enumerable:!0,configurable:!0,get:()=>Je.value,set:Oe=>Je.value=Oe})}if(o)for(const te in o)br(o[te],s,n,te);if(f){const te=S(f)?f.call(n):f;Reflect.ownKeys(te).forEach(Q=>{ei(Q,te[Q])})}p&&Fs(p,e,"c");function z(te,Q){$(Q)?Q.forEach(Ve=>te(Ve.bind(n))):Q&&te(Q.bind(n))}if(z(fi,h),z(Gn,m),z(ui,F),z(pr,O),z(ii,I),z(oi,W),z(pi,w),z(hi,k),z(di,B),z(es,a),z(gr,E),z(ai,U),$(N))if(N.length){const te=e.exposed||(e.exposed={});N.forEach(Q=>{Object.defineProperty(te,Q,{get:()=>n[Q],set:Ve=>n[Q]=Ve})})}else e.exposed||(e.exposed={});R&&e.render===Fe&&(e.render=R),K!=null&&(e.inheritAttrs=K),ie&&(e.components=ie),Z&&(e.directives=Z)}function mi(e,t,n=Fe,s=!1){$(e)&&(e=In(e));for(const r in e){const l=e[r];let i;ee(l)?"default"in l?i=$t(l.from||r,l.default,!0):i=$t(l.from||r):i=$t(l),ce(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function Fs(e,t,n){Ae($(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function br(e,t,n,s){const r=s.includes(".")?ur(n,s):()=>n[s];if(le(e)){const l=t[e];S(l)&&Wt(r,l)}else if(S(e))Wt(r,e.bind(n));else if(ee(e))if($(e))e.forEach(l=>br(l,t,n,s));else{const l=S(e.handler)?e.handler.bind(n):t[e.handler];S(l)&&Wt(r,l,e)}}function ns(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:l,config:{optionMergeStrategies:i}}=e.appContext,o=l.get(t);let f;return o?f=o:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(d=>Xt(f,d,i,!0)),Xt(f,t,i)),ee(t)&&l.set(t,f),f}function Xt(e,t,n,s=!1){const{mixins:r,extends:l}=t;l&&Xt(e,l,n,!0),r&&r.forEach(i=>Xt(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const o=yi[i]||n&&n[i];e[i]=o?o(e[i],t[i]):t[i]}return e}const yi={data:As,props:Ze,emits:Ze,methods:Ze,computed:Ze,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Ze,directives:Ze,watch:xi,provide:As,inject:bi};function As(e,t){return t?e?function(){return ge(S(e)?e.call(this,this):e,S(t)?t.call(this,this):t)}:t:e}function bi(e,t){return Ze(In(e),In(t))}function In(e){if($(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const p=e.vnode.dynamicProps;for(let h=0;h{f=!0;const[m,F]=Cr(h,t,!0);ge(i,m),F&&o.push(...F)};!n&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!l&&!f)return ee(e)&&s.set(e,nt),nt;if($(l))for(let p=0;p-1,F[1]=I<0||O-1||V(F,"default"))&&o.push(h)}}}const d=[i,o];return ee(e)&&s.set(e,d),d}function Ms(e){return e[0]!=="$"}function Os(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function vs(e,t){return Os(e)===Os(t)}function Is(e,t){return $(t)?t.findIndex(n=>vs(n,e)):S(t)&&vs(t,e)?0:-1}const wr=e=>e[0]==="_"||e==="$stable",ss=e=>$(e)?e.map(xe):[xe(e)],Ei=(e,t,n)=>{if(t._n)return t;const s=Sl((...r)=>ss(t(...r)),n);return s._c=!1,s},Er=(e,t,n)=>{const s=e._ctx;for(const r in e){if(wr(r))continue;const l=e[r];if(S(l))t[r]=Ei(r,l,s);else if(l!=null){const i=ss(l);t[r]=()=>i}}},Tr=(e,t)=>{const n=ss(t);e.slots.default=()=>n},Ti=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=J(t),qt(t,"_",n)):Er(t,e.slots={})}else e.slots={},t&&Tr(e,t);qt(e.slots,un,1)},Fi=(e,t,n)=>{const{vnode:s,slots:r}=e;let l=!0,i=G;if(s.shapeFlag&32){const o=t._;o?n&&o===1?l=!1:(ge(r,t),!n&&o===1&&delete r._):(l=!t.$stable,Er(t,r)),i=t}else t&&(Tr(e,t),i={default:1});if(l)for(const o in r)!wr(o)&&!(o in i)&&delete r[o]};function Fr(){return{app:null,config:{isNativeTag:Sr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ai=0;function Mi(e,t){return function(s,r=null){S(s)||(s=Object.assign({},s)),r!=null&&!ee(r)&&(r=null);const l=Fr(),i=new Set;let o=!1;const f=l.app={_uid:Ai++,_component:s,_props:r,_container:null,_context:l,_instance:null,version:Ji,get config(){return l.config},set config(d){},use(d,...p){return i.has(d)||(d&&S(d.install)?(i.add(d),d.install(f,...p)):S(d)&&(i.add(d),d(f,...p))),f},mixin(d){return l.mixins.includes(d)||l.mixins.push(d),f},component(d,p){return p?(l.components[d]=p,f):l.components[d]},directive(d,p){return p?(l.directives[d]=p,f):l.directives[d]},mount(d,p,h){if(!o){const m=se(s,r);return m.appContext=l,p&&t?t(m,d):e(m,d,h),o=!0,f._container=d,d.__vue_app__=f,dn(m.component)||m.component.proxy}},unmount(){o&&(e(null,f._container),delete f._container.__vue_app__)},provide(d,p){return l.provides[d]=p,f}};return f}}function zt(e,t,n,s,r=!1){if($(e)){e.forEach((m,F)=>zt(m,t&&($(t)?t[F]:t),n,s,r));return}if(Ge(s)&&!r)return;const l=s.shapeFlag&4?dn(s.component)||s.component.proxy:s.el,i=r?null:l,{i:o,r:f}=e,d=t&&t.r,p=o.refs===G?o.refs={}:o.refs,h=o.setupState;if(d!=null&&d!==f&&(le(d)?(p[d]=null,V(h,d)&&(h[d]=null)):ce(d)&&(d.value=null)),S(f))$e(f,o,12,[i,p]);else{const m=le(f),F=ce(f);if(m||F){const O=()=>{if(e.f){const I=m?V(h,f)?h[f]:p[f]:f.value;r?$(I)&&Hn(I,l):$(I)?I.includes(l)||I.push(l):m?(p[f]=[l],V(h,f)&&(h[f]=p[f])):(f.value=[l],e.k&&(p[e.k]=f.value))}else m?(p[f]=i,V(h,f)&&(h[f]=i)):F&&(f.value=i,e.k&&(p[e.k]=i))};i?(O.id=-1,oe(O,n)):O()}}}let Ue=!1;const Ut=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Kt=e=>e.nodeType===8;function Oi(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:l,parentNode:i,remove:o,insert:f,createComment:d}}=e,p=(y,a)=>{if(!a.hasChildNodes()){n(null,y,a),Yt(),a._vnode=y;return}Ue=!1,h(a.firstChild,y,null,null,null),Yt(),a._vnode=y,Ue&&console.error("Hydration completed but contains mismatches.")},h=(y,a,g,E,R,k=!1)=>{const B=Kt(y)&&y.data==="[",w=()=>I(y,a,g,E,R,B),{type:U,ref:N,shapeFlag:K,patchFlag:ie}=a;let Z=y.nodeType;a.el=y,ie===-2&&(k=!1,a.dynamicChildren=null);let L=null;switch(U){case ct:Z!==3?a.children===""?(f(a.el=r(""),i(y),y),L=y):L=w():(y.data!==a.children&&(Ue=!0,y.data=a.children),L=l(y));break;case de:Z!==8||B?L=w():L=l(y);break;case wt:if(B&&(y=l(y),Z=y.nodeType),Z===1||Z===3){L=y;const Me=!a.children.length;for(let z=0;z{k=k||!!a.dynamicChildren;const{type:B,props:w,patchFlag:U,shapeFlag:N,dirs:K}=a,ie=B==="input"&&K||B==="option";if(ie||U!==-1){if(K&&Ie(a,null,g,"created"),w)if(ie||!k||U&48)for(const L in w)(ie&&L.endsWith("value")||tn(L)&&!yt(L))&&s(y,L,null,w[L],!1,void 0,g);else w.onClick&&s(y,"onClick",null,w.onClick,!1,void 0,g);let Z;if((Z=w&&w.onVnodeBeforeMount)&&he(Z,g,a),K&&Ie(a,null,g,"beforeMount"),((Z=w&&w.onVnodeMounted)||K)&&fr(()=>{Z&&he(Z,g,a),K&&Ie(a,null,g,"mounted")},E),N&16&&!(w&&(w.innerHTML||w.textContent))){let L=F(y.firstChild,a,y,g,E,R,k);for(;L;){Ue=!0;const Me=L;L=L.nextSibling,o(Me)}}else N&8&&y.textContent!==a.children&&(Ue=!0,y.textContent=a.children)}return y.nextSibling},F=(y,a,g,E,R,k,B)=>{B=B||!!a.dynamicChildren;const w=a.children,U=w.length;for(let N=0;N{const{slotScopeIds:B}=a;B&&(R=R?R.concat(B):B);const w=i(y),U=F(l(y),a,w,g,E,R,k);return U&&Kt(U)&&U.data==="]"?l(a.anchor=U):(Ue=!0,f(a.anchor=d("]"),w,U),U)},I=(y,a,g,E,R,k)=>{if(Ue=!0,a.el=null,k){const U=W(y);for(;;){const N=l(y);if(N&&N!==U)o(N);else break}}const B=l(y),w=i(y);return o(y),n(null,a,w,B,g,E,Ut(w),R),B},W=y=>{let a=0;for(;y;)if(y=l(y),y&&Kt(y)&&(y.data==="["&&a++,y.data==="]")){if(a===0)return l(y);a--}return y};return[p,h]}const oe=fr;function po(e){return Ar(e)}function go(e){return Ar(e,Oi)}function Ar(e,t){const n=Gr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:l,createElement:i,createText:o,createComment:f,setText:d,setElementText:p,parentNode:h,nextSibling:m,setScopeId:F=Fe,insertStaticContent:O}=e,I=(c,u,_,x=null,b=null,A=null,v=!1,T=null,M=!!u.dynamicChildren)=>{if(c===u)return;c&&!Te(c,u)&&(x=Pt(c),Oe(c,b,A,!0),c=null),u.patchFlag===-2&&(M=!1,u.dynamicChildren=null);const{type:C,ref:H,shapeFlag:P}=u;switch(C){case ct:W(c,u,_,x);break;case de:y(c,u,_,x);break;case wt:c==null&&a(u,_,x,v);break;case pe:ie(c,u,_,x,b,A,v,T,M);break;default:P&1?R(c,u,_,x,b,A,v,T,M):P&6?Z(c,u,_,x,b,A,v,T,M):(P&64||P&128)&&C.process(c,u,_,x,b,A,v,T,M,et)}H!=null&&b&&zt(H,c&&c.ref,A,u||c,!u)},W=(c,u,_,x)=>{if(c==null)s(u.el=o(u.children),_,x);else{const b=u.el=c.el;u.children!==c.children&&d(b,u.children)}},y=(c,u,_,x)=>{c==null?s(u.el=f(u.children||""),_,x):u.el=c.el},a=(c,u,_,x)=>{[c.el,c.anchor]=O(c.children,u,_,x,c.el,c.anchor)},g=({el:c,anchor:u},_,x)=>{let b;for(;c&&c!==u;)b=m(c),s(c,_,x),c=b;s(u,_,x)},E=({el:c,anchor:u})=>{let _;for(;c&&c!==u;)_=m(c),r(c),c=_;r(u)},R=(c,u,_,x,b,A,v,T,M)=>{v=v||u.type==="svg",c==null?k(u,_,x,b,A,v,T,M):U(c,u,b,A,v,T,M)},k=(c,u,_,x,b,A,v,T)=>{let M,C;const{type:H,props:P,shapeFlag:j,transition:D,dirs:q}=c;if(M=c.el=i(c.type,A,P&&P.is,P),j&8?p(M,c.children):j&16&&w(c.children,M,null,x,b,A&&H!=="foreignObject",v,T),q&&Ie(c,null,x,"created"),B(M,c,c.scopeId,v,x),P){for(const Y in P)Y!=="value"&&!yt(Y)&&l(M,Y,null,P[Y],A,c.children,x,b,Pe);"value"in P&&l(M,"value",null,P.value),(C=P.onVnodeBeforeMount)&&he(C,x,c)}q&&Ie(c,null,x,"beforeMount");const X=(!b||b&&!b.pendingBranch)&&D&&!D.persisted;X&&D.beforeEnter(M),s(M,u,_),((C=P&&P.onVnodeMounted)||X||q)&&oe(()=>{C&&he(C,x,c),X&&D.enter(M),q&&Ie(c,null,x,"mounted")},b)},B=(c,u,_,x,b)=>{if(_&&F(c,_),x)for(let A=0;A{for(let C=M;C{const T=u.el=c.el;let{patchFlag:M,dynamicChildren:C,dirs:H}=u;M|=c.patchFlag&16;const P=c.props||G,j=u.props||G;let D;_&&Ye(_,!1),(D=j.onVnodeBeforeUpdate)&&he(D,_,u,c),H&&Ie(u,c,_,"beforeUpdate"),_&&Ye(_,!0);const q=b&&u.type!=="foreignObject";if(C?N(c.dynamicChildren,C,T,_,x,q,A):v||Q(c,u,T,null,_,x,q,A,!1),M>0){if(M&16)K(T,u,P,j,_,x,b);else if(M&2&&P.class!==j.class&&l(T,"class",null,j.class,b),M&4&&l(T,"style",P.style,j.style,b),M&8){const X=u.dynamicProps;for(let Y=0;Y{D&&he(D,_,u,c),H&&Ie(u,c,_,"updated")},x)},N=(c,u,_,x,b,A,v)=>{for(let T=0;T{if(_!==x){if(_!==G)for(const T in _)!yt(T)&&!(T in x)&&l(c,T,_[T],null,v,u.children,b,A,Pe);for(const T in x){if(yt(T))continue;const M=x[T],C=_[T];M!==C&&T!=="value"&&l(c,T,C,M,v,u.children,b,A,Pe)}"value"in x&&l(c,"value",_.value,x.value)}},ie=(c,u,_,x,b,A,v,T,M)=>{const C=u.el=c?c.el:o(""),H=u.anchor=c?c.anchor:o("");let{patchFlag:P,dynamicChildren:j,slotScopeIds:D}=u;D&&(T=T?T.concat(D):D),c==null?(s(C,_,x),s(H,_,x),w(u.children,_,H,b,A,v,T,M)):P>0&&P&64&&j&&c.dynamicChildren?(N(c.dynamicChildren,j,_,b,A,v,T),(u.key!=null||b&&u===b.subTree)&&rs(c,u,!0)):Q(c,u,_,H,b,A,v,T,M)},Z=(c,u,_,x,b,A,v,T,M)=>{u.slotScopeIds=T,c==null?u.shapeFlag&512?b.ctx.activate(u,_,x,v,M):L(u,_,x,b,A,v,M):Me(c,u,M)},L=(c,u,_,x,b,A,v)=>{const T=c.component=Li(c,x,b);if(It(c)&&(T.ctx.renderer=et),Ui(T),T.asyncDep){if(b&&b.registerDep(T,z),!c.el){const M=T.subTree=se(de);y(null,M,u,_)}return}z(T,c,u,_,b,A,v)},Me=(c,u,_)=>{const x=u.component=c.component;if(Yl(c,u,_))if(x.asyncDep&&!x.asyncResolved){te(x,u,_);return}else x.next=u,Dl(x.update),x.update();else u.el=c.el,x.vnode=u},z=(c,u,_,x,b,A,v)=>{const T=()=>{if(c.isMounted){let{next:H,bu:P,u:j,parent:D,vnode:q}=c,X=H,Y;Ye(c,!1),H?(H.el=q.el,te(c,H,v)):H=q,P&&bt(P),(Y=H.props&&H.props.onVnodeBeforeUpdate)&&he(Y,D,H,q),Ye(c,!0);const re=mn(c),we=c.subTree;c.subTree=re,I(we,re,h(we.el),Pt(we),c,b,A),H.el=re.el,X===null&&Qn(c,re.el),j&&oe(j,b),(Y=H.props&&H.props.onVnodeUpdated)&&oe(()=>he(Y,D,H,q),b)}else{let H;const{el:P,props:j}=u,{bm:D,m:q,parent:X}=c,Y=Ge(u);if(Ye(c,!1),D&&bt(D),!Y&&(H=j&&j.onVnodeBeforeMount)&&he(H,X,u),Ye(c,!0),P&&pn){const re=()=>{c.subTree=mn(c),pn(P,c.subTree,c,b,null)};Y?u.type.__asyncLoader().then(()=>!c.isUnmounted&&re()):re()}else{const re=c.subTree=mn(c);I(null,re,_,x,c,b,A),u.el=re.el}if(q&&oe(q,b),!Y&&(H=j&&j.onVnodeMounted)){const re=u;oe(()=>he(H,X,re),b)}(u.shapeFlag&256||X&&Ge(X.vnode)&&X.vnode.shapeFlag&256)&&c.a&&oe(c.a,b),c.isMounted=!0,u=_=x=null}},M=c.effect=new $n(T,()=>ln(C),c.scope),C=c.update=()=>M.run();C.id=c.uid,Ye(c,!0),C()},te=(c,u,_)=>{u.component=c;const x=c.vnode.props;c.vnode=u,c.next=null,wi(c,u.props,x,_),Fi(c,u.children,_),dt(),xs(),ht()},Q=(c,u,_,x,b,A,v,T,M=!1)=>{const C=c&&c.children,H=c?c.shapeFlag:0,P=u.children,{patchFlag:j,shapeFlag:D}=u;if(j>0){if(j&128){Rt(C,P,_,x,b,A,v,T,M);return}else if(j&256){Ve(C,P,_,x,b,A,v,T,M);return}}D&8?(H&16&&Pe(C,b,A),P!==C&&p(_,P)):H&16?D&16?Rt(C,P,_,x,b,A,v,T,M):Pe(C,b,A,!0):(H&8&&p(_,""),D&16&&w(P,_,x,b,A,v,T,M))},Ve=(c,u,_,x,b,A,v,T,M)=>{c=c||nt,u=u||nt;const C=c.length,H=u.length,P=Math.min(C,H);let j;for(j=0;jH?Pe(c,b,A,!0,!1,P):w(u,_,x,b,A,v,T,M,P)},Rt=(c,u,_,x,b,A,v,T,M)=>{let C=0;const H=u.length;let P=c.length-1,j=H-1;for(;C<=P&&C<=j;){const D=c[C],q=u[C]=M?Ke(u[C]):xe(u[C]);if(Te(D,q))I(D,q,_,null,b,A,v,T,M);else break;C++}for(;C<=P&&C<=j;){const D=c[P],q=u[j]=M?Ke(u[j]):xe(u[j]);if(Te(D,q))I(D,q,_,null,b,A,v,T,M);else break;P--,j--}if(C>P){if(C<=j){const D=j+1,q=Dj)for(;C<=P;)Oe(c[C],b,A,!0),C++;else{const D=C,q=C,X=new Map;for(C=q;C<=j;C++){const me=u[C]=M?Ke(u[C]):xe(u[C]);me.key!=null&&X.set(me.key,C)}let Y,re=0;const we=j-q+1;let tt=!1,fs=0;const gt=new Array(we);for(C=0;C=we){Oe(me,b,A,!0);continue}let ve;if(me.key!=null)ve=X.get(me.key);else for(Y=q;Y<=j;Y++)if(gt[Y-q]===0&&Te(me,u[Y])){ve=Y;break}ve===void 0?Oe(me,b,A,!0):(gt[ve-q]=C+1,ve>=fs?fs=ve:tt=!0,I(me,u[ve],_,null,b,A,v,T,M),re++)}const us=tt?vi(gt):nt;for(Y=us.length-1,C=we-1;C>=0;C--){const me=q+C,ve=u[me],as=me+1{const{el:A,type:v,transition:T,children:M,shapeFlag:C}=c;if(C&6){Je(c.component.subTree,u,_,x);return}if(C&128){c.suspense.move(u,_,x);return}if(C&64){v.move(c,u,_,et);return}if(v===pe){s(A,u,_);for(let P=0;PT.enter(A),b);else{const{leave:P,delayLeave:j,afterLeave:D}=T,q=()=>s(A,u,_),X=()=>{P(A,()=>{q(),D&&D()})};j?j(A,q,X):X()}else s(A,u,_)},Oe=(c,u,_,x=!1,b=!1)=>{const{type:A,props:v,ref:T,children:M,dynamicChildren:C,shapeFlag:H,patchFlag:P,dirs:j}=c;if(T!=null&&zt(T,null,_,c,!0),H&256){u.ctx.deactivate(c);return}const D=H&1&&j,q=!Ge(c);let X;if(q&&(X=v&&v.onVnodeBeforeUnmount)&&he(X,u,c),H&6)Lr(c.component,_,x);else{if(H&128){c.suspense.unmount(_,x);return}D&&Ie(c,null,u,"beforeUnmount"),H&64?c.type.remove(c,u,_,b,et,x):C&&(A!==pe||P>0&&P&64)?Pe(C,u,_,!1,!0):(A===pe&&P&384||!b&&H&16)&&Pe(M,u,_),x&&os(c)}(q&&(X=v&&v.onVnodeUnmounted)||D)&&oe(()=>{X&&he(X,u,c),D&&Ie(c,null,u,"unmounted")},_)},os=c=>{const{type:u,el:_,anchor:x,transition:b}=c;if(u===pe){jr(_,x);return}if(u===wt){E(c);return}const A=()=>{r(_),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(c.shapeFlag&1&&b&&!b.persisted){const{leave:v,delayLeave:T}=b,M=()=>v(_,A);T?T(c.el,A,M):M()}else A()},jr=(c,u)=>{let _;for(;c!==u;)_=m(c),r(c),c=_;r(u)},Lr=(c,u,_)=>{const{bum:x,scope:b,update:A,subTree:v,um:T}=c;x&&bt(x),b.stop(),A&&(A.active=!1,Oe(v,c,u,_)),T&&oe(T,u),oe(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Pe=(c,u,_,x=!1,b=!1,A=0)=>{for(let v=A;vc.shapeFlag&6?Pt(c.component.subTree):c.shapeFlag&128?c.suspense.next():m(c.anchor||c.el),cs=(c,u,_)=>{c==null?u._vnode&&Oe(u._vnode,null,null,!0):I(u._vnode||null,c,u,null,null,null,_),xs(),Yt(),u._vnode=c},et={p:I,um:Oe,m:Je,r:os,mt:L,mc:w,pc:Q,pbc:N,n:Pt,o:e};let hn,pn;return t&&([hn,pn]=t(et)),{render:cs,hydrate:hn,createApp:Mi(cs,hn)}}function Ye({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function rs(e,t,n=!1){const s=e.children,r=t.children;if($(s)&&$(r))for(let l=0;l>1,e[n[o]]0&&(t[s]=n[l-1]),n[l]=s)}}for(l=n.length,i=n[l-1];l-- >0;)n[l]=i,i=t[i];return n}const Ii=e=>e.__isTeleport,Ct=e=>e&&(e.disabled||e.disabled===""),Rs=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Pn=(e,t)=>{const n=e&&e.to;return le(n)?t?t(n):null:n},Ri={__isTeleport:!0,process(e,t,n,s,r,l,i,o,f,d){const{mc:p,pc:h,pbc:m,o:{insert:F,querySelector:O,createText:I,createComment:W}}=d,y=Ct(t.props);let{shapeFlag:a,children:g,dynamicChildren:E}=t;if(e==null){const R=t.el=I(""),k=t.anchor=I("");F(R,n,s),F(k,n,s);const B=t.target=Pn(t.props,O),w=t.targetAnchor=I("");B&&(F(w,B),i=i||Rs(B));const U=(N,K)=>{a&16&&p(g,N,K,r,l,i,o,f)};y?U(n,k):B&&U(B,w)}else{t.el=e.el;const R=t.anchor=e.anchor,k=t.target=e.target,B=t.targetAnchor=e.targetAnchor,w=Ct(e.props),U=w?n:k,N=w?R:B;if(i=i||Rs(k),E?(m(e.dynamicChildren,E,U,r,l,i,o),rs(e,t,!0)):f||h(e,t,U,N,r,l,i,o,!1),y)w||Dt(t,n,R,d,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=Pn(t.props,O);K&&Dt(t,K,null,d,0)}else w&&Dt(t,k,B,d,1)}Mr(t)},remove(e,t,n,s,{um:r,o:{remove:l}},i){const{shapeFlag:o,children:f,anchor:d,targetAnchor:p,target:h,props:m}=e;if(h&&l(p),(i||!Ct(m))&&(l(d),o&16))for(let F=0;F0?Ce||nt:null,Or(),ft>0&&Ce&&Ce.push(e),e}function mo(e,t,n,s,r,l){return vr(Pr(e,t,n,s,r,l,!0))}function Ir(e,t,n,s,r){return vr(se(e,t,n,s,r,!0))}function ut(e){return e?e.__v_isVNode===!0:!1}function Te(e,t){return e.type===t.type&&e.key===t.key}const un="__vInternal",Rr=({key:e})=>e??null,St=({ref:e,ref_key:t,ref_for:n})=>e!=null?le(e)||ce(e)||S(e)?{i:fe,r:e,k:t,f:!!n}:e:null;function Pr(e,t=null,n=null,s=0,r=null,l=e===pe?0:1,i=!1,o=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Rr(t),ref:t&&St(t),scopeId:cn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:fe};return o?(is(f,n),l&128&&e.normalize(f)):n&&(f.shapeFlag|=le(n)?8:16),ft>0&&!i&&Ce&&(f.patchFlag>0||l&6)&&f.patchFlag!==32&&Ce.push(f),f}const se=Bi;function Bi(e,t=null,n=null,s=0,r=null,l=!1){if((!e||e===_r)&&(e=de),ut(e)){const o=He(e,t,!0);return n&&is(o,n),ft>0&&!l&&Ce&&(o.shapeFlag&6?Ce[Ce.indexOf(e)]=o:Ce.push(o)),o.patchFlag|=-2,o}if($i(e)&&(e=e.__vccOpts),t){t=ki(t);let{class:o,style:f}=t;o&&!le(o)&&(t.class=en(o)),ee(f)&&(Qs(f)&&!$(f)&&(f=ge({},f)),t.style=Gt(f))}const i=le(e)?1:cr(e)?128:Ii(e)?64:ee(e)?4:S(e)?2:0;return Pr(e,t,n,s,r,i,l,!0)}function ki(e){return e?Qs(e)||un in e?ge({},e):e:null}function He(e,t,n=!1){const{props:s,ref:r,patchFlag:l,children:i}=e,o=t?Ni(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:o,key:o&&Rr(o),ref:t&&t.ref?n&&r?$(r)?r.concat(St(t)):[r,St(t)]:St(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==pe?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&He(e.ssContent),ssFallback:e.ssFallback&&He(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Br(e=" ",t=0){return se(ct,null,e,t)}function yo(e,t){const n=se(wt,null,e);return n.staticCount=t,n}function bo(e="",t=!1){return t?(ls(),Ir(de,null,e)):se(de,null,e)}function xe(e){return e==null||typeof e=="boolean"?se(de):$(e)?se(pe,null,e.slice()):typeof e=="object"?Ke(e):se(ct,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:He(e)}function is(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if($(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),is(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(un in t)?t._ctx=fe:r===3&&fe&&(fe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else S(t)?(t={default:t,_ctx:fe},n=32):(t=String(t),s&64?(n=16,t=[Br(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ni(...e){const t={};for(let n=0;nne||fe,qe=e=>{ne=e,e.scope.on()},We=()=>{ne&&ne.scope.off(),ne=null};function kr(e){return e.vnode.shapeFlag&4}let at=!1;function Ui(e,t=!1){at=t;const{props:n,children:s}=e.vnode,r=kr(e);Ci(e,n,r,t),Ti(e,s);const l=r?Ki(e,t):void 0;return at=!1,l}function Ki(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Xs(new Proxy(e.ctx,gi));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Hr(e):null;qe(e),dt();const l=$e(s,e,0,[e.props,r]);if(ht(),We(),Ln(l)){if(l.then(We,We),t)return l.then(i=>{Bn(e,i,t)}).catch(i=>{pt(i,e,0)});e.asyncDep=l}else Bn(e,l,t)}else Nr(e,t)}function Bn(e,t,n){S(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=tr(t)),Nr(e,n)}let Bs;function Nr(e,t,n){const s=e.type;if(!e.render){if(!t&&Bs&&!s.render){const r=s.template||ns(e).template;if(r){const{isCustomElement:l,compilerOptions:i}=e.appContext.config,{delimiters:o,compilerOptions:f}=s,d=ge(ge({isCustomElement:l,delimiters:o},i),f);s.render=Bs(r,d)}}e.render=s.render||Fe}qe(e),dt(),_i(e),ht(),We()}function Di(e){return new Proxy(e.attrs,{get(t,n){return _e(e,"get","$attrs"),t[n]}})}function Hr(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Di(e))},slots:e.slots,emit:e.emit,expose:t}}function dn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(tr(Xs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in xt)return xt[n](e)},has(t,n){return n in t||n in xt}}))}function kn(e,t=!0){return S(e)?e.displayName||e.name:e.name||t&&e.__name}function $i(e){return S(e)&&"__vccOpts"in e}const Wi=(e,t)=>jl(e,t,at);function xo(){return Si().slots}function Si(){const e=an();return e.setupContext||(e.setupContext=Hr(e))}function Co(e){const t=an();let n=e();return We(),Ln(n)&&(n=n.catch(s=>{throw qe(t),s})),[n,()=>qe(t)]}function wo(e,t,n){const s=arguments.length;return s===2?ee(t)&&!$(t)?ut(t)?se(e,null,[t]):se(e,t):se(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&ut(n)&&(n=[n]),se(e,t,n))}const qi=Symbol(""),Vi=()=>$t(qi),Ji="3.2.47";export{go as $,ao as A,Ir as B,Sl as C,bo as D,Pr as E,pe as F,se as G,yo as H,uo as I,Xi as J,oo as K,Br as L,to as M,no as N,Gn as O,ho as P,pi as Q,lo as R,so as S,_o as T,ge as U,ee as V,S as W,le as X,$ as Y,zr as Z,po as _,Wt as a,tn as a0,Ns as a1,sn as a2,ke as a3,Kn as a4,Zi as a5,Qi as a6,Ae as a7,Co as a8,co as a9,fo as aa,zi as ab,Yi as ac,ki as ad,xo as ae,fi as af,Zs as ag,nl as ah,Ni as ai,gr as aj,eo as ak,ct as al,oi as b,ii as c,ce as d,io as e,ri as f,an as g,Wi as h,$t as i,wo as j,Vn as k,ot as l,J as m,Ul as n,es as o,ei as p,ls as q,_n as r,Gi as s,Nl as t,Pl as u,Ji as v,ro as w,mo as x,en as y,Gt as z}; diff --git a/docs/.output/public/_nuxt/useDocus.edcbeab5.js b/docs/.output/public/_nuxt/useDocus.edcbeab5.js deleted file mode 100644 index 64a42db6..00000000 --- a/docs/.output/public/_nuxt/useDocus.edcbeab5.js +++ /dev/null @@ -1 +0,0 @@ -import{u as D,v as E,m as $,l as S}from"./app.config.4114fca6.js";import{t as j,d as B,k as H,h as c}from"./runtime-core.esm-bundler.6894272a.js";function x(...t){const i=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(i);const[e,a]=t;if(!e||typeof e!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+e);if(a!==void 0&&typeof a!="function")throw new Error("[nuxt] [useState] init must be a function: "+a);const u="$s"+e,n=D(),l=j(n.payload.state,u);if(l.value===void 0&&a){const r=a();if(B(r))return n.payload.state[u]=r,r;l.value=r}return l}function L(){const t=D();return t._appConfig||(t._appConfig=H(E)),t._appConfig}const T=t=>{if(!t.children)return t._path;for(const i of(t==null?void 0:t.children)||[]){const e=T(i);if(e)return e}},K=(t,i)=>{for(const e of i){if(e._path===t&&!e._id)return e.children;if(e.children){const a=K(t,e.children);if(a)return a}}},R=(t,i)=>{for(const e of i){if(e._path===t)return e;if(e.children){const a=R(t,e.children);if(a)return a}}},N=(t,i,e)=>{let a;const u=(n,l)=>{for(const r of l){if(n!=null&&n.startsWith(r._path)&&r[i]&&(a=r[i]),r._path===n)return;r.children&&u(n,r.children)}};return u(t,e),a},V=()=>({navBottomLink:T,navDirFromPath:K,navPageFromPath:R,navKeyFromPath:N}),W=()=>{const t=x("dd-pages",()=>({})),i=x("dd-surrounds",()=>({})),e=x("dd-navigation"),a=x("dd-globals",()=>({}));return{pages:t,surrounds:i,navigation:e,globals:a}},q=()=>{const{navigation:t,pages:i,surrounds:e,globals:a}=W(),u=c(()=>$(S().path)),n=c(()=>i.value[u.value]),l=c(()=>e.value[u.value]),r=c(()=>{var o,f;return(f=(o=n==null?void 0:n.value)==null?void 0:o.body)==null?void 0:f.toc}),P=c(()=>{var o;return(o=n.value)==null?void 0:o.type}),s=c(()=>{var o;return(o=n.value)==null?void 0:o.excerpt}),p=c(()=>{var o;return(o=n.value)==null?void 0:o.layout}),v=c(()=>{var o;return(o=l.value)==null?void 0:o[1]}),h=c(()=>{var o;return(o=l.value)==null?void 0:o[0]});return{globals:a,navigation:t,surround:l,page:n,excerpt:s,toc:r,type:P,layout:p,next:v,prev:h}},I=()=>{const t=c(()=>{var s;return((s=L())==null?void 0:s.docus)||{}}),{navPageFromPath:i,navDirFromPath:e,navKeyFromPath:a}=V(),{navigation:u,page:n}=q(),l=S(),r=c(()=>{var f,d,m,y,_,g,C,b,A,F,w;const s=((f=t==null?void 0:t.value)==null?void 0:f.titleTemplate)||a((d=n==null?void 0:n.value)==null?void 0:d._path,"titleTemplate",u.value||[])||`%s · ${((m=t==null?void 0:t.value)==null?void 0:m.title)||"Docus"}`,p=((y=t==null?void 0:t.value)==null?void 0:y.main)||{},v=((_=t==null?void 0:t.value)==null?void 0:_.header)||{},h=((g=t==null?void 0:t.value)==null?void 0:g.aside)||{},o=((C=t==null?void 0:t.value)==null?void 0:C.footer)||{};return{...t.value,titleTemplate:s,main:{...p,...a(l.path,"main",u.value||[]),...(b=n.value)==null?void 0:b.main},header:{...v,...a(l.path,"header",u.value||[]),...(A=n.value)==null?void 0:A.header},aside:{...h,...a(l.path,"aside",u.value||[]),...(F=n.value)==null?void 0:F.aside},footer:{...o,...a(l.path,"footer",u.value||[]),...(w=n.value)==null?void 0:w.footer}}});return{tree:c(()=>{var o,f,d,m,y;let s=u.value||[];const p=l.path,v=((f=(o=r==null?void 0:r.value)==null?void 0:o.aside)==null?void 0:f.level)||0,h=((m=(d=r==null?void 0:r.value)==null?void 0:d.aside)==null?void 0:m.exclude)||[];if(v){const g=p.split("/").splice(0,1+v).join("/");s=e(g,s)||[],Array.isArray(s)||(s=[s])}if(s.length===0){if(s=i(((y=n.value)==null?void 0:y._path)||"/",u.value||[]),!s)return[];Array.isArray(s)||(s=[s])}return s.filter(_=>!h.includes(_._path))}),config:r}};export{W as a,V as b,I as c,q as d,L as e,x as u}; diff --git a/docs/.output/public/_nuxt/useGithub.916c5979.js b/docs/.output/public/_nuxt/useGithub.916c5979.js deleted file mode 100644 index 5ce2ffa6..00000000 --- a/docs/.output/public/_nuxt/useGithub.916c5979.js +++ /dev/null @@ -1 +0,0 @@ -import"./app.config.4114fca6.js";const f=()=>({fetchRepository:e=>{const t=`/api/_github/repository/${s(e)}.json`;return $fetch(t,{responseType:"json"})},fetchReleases:e=>{const t=`/api/_github/releases/${s(e)}.json`;return $fetch(t,{responseType:"json"})},fetchRelease:e=>{const t=`/api/_github/releases/${s(e)}.json`;return $fetch(t,{responseType:"json"})},fetchLastRelease:e=>{const t=`/api/_github/releases/${s({...e,last:!0})}.json`;return $fetch(t,{responseType:"json"})},fetchContributors:e=>{const t=`/api/_github/contributors/${s(e)}.json`;return $fetch(t,{responseType:"json"})},fetchFileContributors:e=>{const t=`/api/_github/contributors/file/${s(e)}.json`;return $fetch(t,{responseType:"json"})},fetchReadme:e=>{const t=`/api/_github/readme/${s(e)}.json`;return $fetch(t,{responseType:"json"})},fetchCommits:e=>{const t=`/api/_github/commits/${s(e)}.json`;return $fetch(t,{responseType:"json"})}});function s(o){return Object.entries(o).map(([n,r])=>`${n}_${String(r)}`).join(":")}export{f as u}; diff --git a/docs/.output/public/_nuxt/useStudio.a9d51910.js b/docs/.output/public/_nuxt/useStudio.a9d51910.js deleted file mode 100644 index 286b902a..00000000 --- a/docs/.output/public/_nuxt/useStudio.a9d51910.js +++ /dev/null @@ -1 +0,0 @@ -import{u as _,b as O,g}from"./app.config.4114fca6.js";import{d as b}from"./DocsAsideTree.08d70919.js";import{r as x}from"./asyncData.2775b491.js";import{u as P,e as k}from"./useDocus.edcbeab5.js";import{u as m}from"./cookie.5bbb58d5.js";import J from"./ContentPreviewMode.0a29e9d3.js";import{i as R,j as A,k as U,S as F,m as S}from"./entry.2d43dc03.js";import"./index.d2b0cb5e.js";import"./runtime-core.esm-bundler.6894272a.js";import"./Container.f1017aa2.js";/* empty css */import"./query.c3f7607a.js";const L=(u=[],v,h)=>{const f=[...v||[]],n=[...h||[]],p=JSON.parse(JSON.stringify(u));for(const i of f)if(i.oldPath)if(n.splice(n.findIndex(r=>r.path===i.oldPath),1),f.find(r=>r.path===i.oldPath))p.push({path:i.path,parsed:i.parsed});else{const r=p.find(d=>d.path===i.oldPath);r&&(r.path=i.path,i.parsed?r.parsed=i.parsed:i.pathMeta&&["_file","_path","_id","_locale"].forEach(d=>{r.parsed[d]=i.pathMeta[d]}))}else if(i.new)p.push({path:i.path,parsed:i.parsed});else{const l=p.find(r=>r.path===i.path);l&&Object.assign(l,{path:i.path,parsed:i.parsed})}for(const i of n)p.splice(p.findIndex(l=>l.path===i.path),1);const w=new Intl.Collator(void 0,{numeric:!0});return p.sort((i,l)=>w.compare(i.path,l.path)),p},D=R(()=>JSON.parse(JSON.stringify(k()))),X=()=>{const u=_(),v=O().public.studio||{},h=D();let f;const n=P("studio-client-db",()=>null),p=P("studio-preview-db-files",()=>[]);u.hook("content:storage",e=>{n.value=e});const w=async(e,t,s=!0)=>{const o=m("previewToken",{sameSite:"none",secure:!0}),c=await e.getKeys(`${o.value}:`);await Promise.all(c.map(a=>e.removeItem(a))),await e.setItem(`${o.value}$`,JSON.stringify({ignoreBuiltContents:s})),await Promise.all(t.map(a=>{var C;return e.setItem(`${o.value}:${(C=a.parsed)==null?void 0:C._id}`,JSON.stringify(a.parsed))}))},i=e=>{const t=g(u,k);A(t,e||h),e||U(t,h)},l=e=>{var s,o,c,a;const t=(a=(c=(o=(s=u==null?void 0:u.vueApp)==null?void 0:s._context)==null?void 0:o.config)==null?void 0:c.globalProperties)==null?void 0:a.$pinceauTheme;!t||!(t!=null&&t.updateTheme)||(f||(f=JSON.parse(JSON.stringify((t==null?void 0:t.theme.value)||{}))),g(u,t.updateTheme,[e||f]))},r=async e=>{if(p.value=e.files=e.files||p.value||[],!n.value)return!1;const t=L(e.files,e.additions,e.deletions),s=t.filter(a=>!a.path.startsWith(F));await w(n.value,s,(e.files||[]).length!==0);const o=t.find(a=>a.path===S.appConfig);i(o==null?void 0:o.parsed);const c=t.find(a=>a.path===S.tokensConfig);return l(c==null?void 0:c.parsed),y(),!0},d=async()=>{const e=m("previewToken",{sameSite:"none",secure:!0});await $fetch("api/projects/preview/sync",{baseURL:v.apiURL,method:"POST",params:{token:e.value}})},T=()=>{const e=m("previewToken",{sameSite:"none",secure:!0}),t=document.createElement("div");t.id="__nuxt_preview_wrapper",document.body.appendChild(t),b(J,{previewToken:e,apiURL:v.apiURL,syncPreview:r,requestPreviewSyncAPI:d}).mount(t)},I=async e=>{var o,c;const t=m("previewToken",{sameSite:"none",secure:!0});if(!e)return null;e=e.replace(/\/$/,"");let s=await((o=n.value)==null?void 0:o.getItem(`${t.value}:${e}`));return s||(s=await((c=n.value)==null?void 0:c.getItem(e))),s},$=e=>{var s;const t=m("previewToken",{sameSite:"none",secure:!0});n.value&&n.value.setItem(`${t.value}:${(s=e.parsed)==null?void 0:s._id}`,JSON.stringify(e.parsed))},N=async e=>{var s;const t=m("previewToken",{sameSite:"none",secure:!0});await((s=n.value)==null?void 0:s.removeItem(`${t.value}:${e}`))},y=()=>{g(u,x)};return{apiURL:v.apiURL,contentStorage:n,syncPreviewFiles:w,syncPreviewAppConfig:i,syncPreviewTokensConfig:l,requestPreviewSynchronization:d,mountPreviewUI:T,findContentWithId:I,updateContent:$,removeContentWithId:N,requestRerender:y}};export{X as useStudio}; diff --git a/docs/.output/public/_nuxt/welcome.0953e899.js b/docs/.output/public/_nuxt/welcome.0953e899.js deleted file mode 100644 index 4e940959..00000000 --- a/docs/.output/public/_nuxt/welcome.0953e899.js +++ /dev/null @@ -1 +0,0 @@ -import{b as i}from"./entry.2d43dc03.js";import"./ContentNavigation.d592cbe0.js";import{a as r}from"./Container.f1017aa2.js";import{q as o,x as C,E as t,J as s,H as e}from"./runtime-core.esm-bundler.6894272a.js";import"./DocsAsideTree.08d70919.js";import"./app.config.4114fca6.js";import"./index.d2b0cb5e.js";import"./cookie.5bbb58d5.js";import"./useDocus.edcbeab5.js";import"./query.c3f7607a.js";import"./asyncData.2775b491.js";import"./ContentSlot.7e1a494f.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./EditOnLink.vue.21b8aa9d.js";/* empty css */import"./ProseCodeInline.dca1a534.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./ProseH4.4ddfc0da.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./ProseP.9fd9b629.js";/* empty css */import"./ProseTable.a85f8bca.js";import"./ProseTd.921f02a8.js";import"./ProseTh.d24c1b52.js";import"./ProseThead.40eb8658.js";import"./ProseTr.d0d94723.js";/* empty css */import"./Badge.a4f5598b.js";/* empty css *//* empty css */import"./CodeGroup.vue.e138b097.js";import"./TabsHeader.f80c17f8.js";import"./Ellipsis.50580cd1.js";import"./List.vue.d5bae865.js";import"./NuxtImg.vue.594abc77.js";import"./Props.80a76d3d.js";import"./ProseTbody.37a7db42.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./ComponentPlayground.vue.db6a2f57.js";import"./ComponentPlaygroundData.c394e239.js";import"./ComponentPlaygroundProps.59058ddd.js";import"./index.889aa611.js";import"./ComponentPlaygroundSlots.vue.d9207f3c.js";import"./ComponentPlaygroundTokens.vue.43c587d1.js";/* empty css */import"./ContentDoc.08489604.js";import"./ContentRenderer.51874b59.js";import"./ContentRendererMarkdown.1da6a628.js";import"./ContentQuery.7a036327.js";import"./ContentList.394febbe.js";import"./DocumentDrivenEmpty.7ceddd7c.js";import"./Markdown.eb6ef861.js";import"./layout.732d57d1.js";import"./GithubRepository.bbd436c6.js";import"./useGithub.916c5979.js";import"./GithubLink.6e1f1ea3.js";import"./GithubReadme.3309f143.js";import"./GithubReleases.54c416e9.js";import"./GithubLastRelease.7ffc61aa.js";import"./GithubRelease.fea5f747.js";import"./GithubContributors.35cdb9ac.js";import"./GithubFileContributors.2287b161.js";import"./GithubCommits.e43b30d0.js";const l={class:"antialiased bg-white dark:bg-black text-black dark:text-white min-h-screen place-content-center flex flex-col items-center justify-center text-sm sm:text-base"},D=e('',1),d={class:"relative border-t bg-white dark:bg-black border-gray-200 dark:border-gray-900 w-full h-[70px] flex items-center"},n=e('
',1),p={class:"mx-auto sm:px-6 lg:px-8 px-4 w-full"},c={class:"flex flex-col items-center gap-3 sm:flex-row sm:justify-between"},E={class:"flex flex-col-reverse items-center gap-3 sm:flex-row"},h={class:"text-sm text-gray-700 dark:text-gray-300"},A=e('
',1),f={__name:"welcome",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},title:{type:String,default:"Welcome to Nuxt!"},readDocs:{type:String,default:"We highly recommend you take a look at the Nuxt documentation, whether you are new or have previous experience with the framework."},followTwitter:{type:String,default:"Follow the Nuxt Twitter account to get latest news about releases, new modules, tutorials and tips."},starGitHub:{type:String,default:"Nuxt is open source and the code is available on GitHub, feel free to star it, participate in discussions or dive into the source."}},setup(a){return i({title:`${a.title}`,script:[],style:[{children:`@property --gradient-angle{syntax:'';inherits:false;initial-value:180deg}@keyframes gradient-rotate{0%{--gradient-angle:0deg}100%{--gradient-angle:360deg}}*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p,h2,h3{margin:0}h1,h2,h3{font-size:inherit;font-weight:inherit}img{border-style:solid;max-width:100%;height:auto}svg,img{display:block;vertical-align:middle}ul{list-style:none;margin:0;padding:0}`}]}),(g,m)=>(o(),C("div",l,[D,t("footer",d,[n,t("div",p,[t("div",c,[t("div",E,[t("span",h,"© 2022-"+s(new Date().getFullYear())+" Nuxt - MIT License",1)]),A])])])]))}},r0=r(f,[["__scopeId","data-v-a75d3b4d"]]);export{r0 as default}; diff --git a/docs/.output/public/api/_content/cache.1677768033312.json b/docs/.output/public/api/_content/cache.1677768033312.json deleted file mode 100644 index c3c59bbf..00000000 --- a/docs/.output/public/api/_content/cache.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"generatedAt":1677768075666,"generateTime":33,"contents":[{"_path":"/_partials/hello-world","_dir":"_partials","_draft":false,"_partial":true,"_locale":"","_empty":false,"title":"I am a partial","description":"With some Hello World text.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"i-am-a-partial"},"children":[{"type":"text","value":"I am a partial"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"With some Hello World text."}]},{"type":"element","tag":"button-link","props":{":blank":"true","class":"mr-2","href":"https://stackblitz.com/github/nuxt/starter/tree/content"},"children":[{"type":"text","value":"Play on StackBlitz"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:_partials:hello-world.md","_source":"content","_file":"_partials/hello-world.md","_extension":"md"},{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Frontier","description":"The file-based CMS for your Nuxt application, powered by Markdown and Vue components.","navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/frontier/introduction\"]",":secondary":"[\"Star on GitHub\",\"https://github.com/realdecoy/frontier\"]","snippet":"npm i -g @rdfrontier/cli"},"children":[{"type":"element","tag":"template","props":{"v-slot:announce":""},"children":[{"type":"element","tag":"hero-announcement","props":{"label":"Discover the all new ","to":"/frontier/introduction/whats-frontier"},"children":[]}]},{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Frontier - by Realdecoy"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A full service toolset for building "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"web"}]},{"type":"text","value":" and "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mobile"}]},{"type":"text","value":" software products. With "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"templates"}]},{"type":"text","value":" and "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"libraries"}]},{"type":"text","value":", Frontier delivers a designed development experience to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"10x"}]},{"type":"text","value":" your software development."}]}]},{"type":"element","tag":"template","props":{"v-slot:support":""},"children":[]}]},{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Powerful Features"}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CLI"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Take advantage of the Frontier CLI powering tools for: RDVue, RDMobile, and Spectre."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Standard Library"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Leverage battle-hardened code from the standard library."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"TypeKit"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use Common type definition and data structures from the typekit."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"RDVue"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A beautifully structured vue template and cli for authoring frontend applications."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Spectre"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Test your applications to the moon with the Spectre testing suite."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Mobile"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Build Mobile applications with ease with structures React Native foundation."}]}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{},"children":[]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:1.index.md","_source":"content","_file":"1.index.md","_extension":"md"},{"_path":"/frontier/_dir","_dir":"frontier","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:2.frontier:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/_dir.yml","_extension":"yml"},{"_path":"/frontier/introduction/_dir","_dir":"introduction","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:pencil-alt","_id":"content:2.frontier:1.introduction:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/1.introduction/_dir.yml","_extension":"yml"},{"_path":"/frontier/introduction/whats-frontier","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"What is Frontier?","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"what-is-frontier"},"children":[{"type":"text","value":"What is Frontier?"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:1.whats-frontier.md","_source":"content","_file":"2.frontier/1.introduction/1.whats-frontier.md","_extension":"md"},{"_path":"/frontier/introduction/content-directory","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Content directory","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"content-directory"},"children":[{"type":"text","value":"Content directory"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:2.content-directory.md","_source":"content","_file":"2.frontier/1.introduction/2.content-directory.md","_extension":"md"},{"_path":"/frontier/introduction/philosophy","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Philosophy","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"philosophy"},"children":[{"type":"text","value":"Philosophy"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:3.philosophy.md","_source":"content","_file":"2.frontier/1.introduction/3.philosophy.md","_extension":"md"},{"_path":"/frontier/installation/_dir","_dir":"installation","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:document-text","_id":"content:2.frontier:2.installation:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/2.installation/_dir.yml","_extension":"yml"},{"_path":"/frontier/installation/general","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"General Use","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"general-use"},"children":[{"type":"text","value":"General Use"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:2.installation:1.general.md","_source":"content","_file":"2.frontier/2.installation/1.general.md","_extension":"md"},{"_path":"/frontier/installation/development","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"development"},"children":[{"type":"text","value":"Development"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:2.installation:2.development.md","_source":"content","_file":"2.frontier/2.installation/2.development.md","_extension":"md"},{"_path":"/frontier/installation/navigation","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Navigation","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"navigation"},"children":[{"type":"text","value":"Navigation"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:2.installation:3.navigation.md","_source":"content","_file":"2.frontier/2.installation/3.navigation.md","_extension":"md"},{"_path":"/frontier/cli/_dir","_dir":"cli","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:2.frontier:3.cli:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/3.cli/_dir.yml","_extension":"yml"},{"_path":"/frontier/cli/usage","_dir":"cli","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Usage","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:3.cli:1.usage.md","_source":"content","_file":"2.frontier/3.cli/1.usage.md","_extension":"md"},{"_path":"/frontier/cli/development","_dir":"cli","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"development"},"children":[{"type":"text","value":"Development"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:3.cli:2.development.md","_source":"content","_file":"2.frontier/3.cli/2.development.md","_extension":"md"},{"_path":"/frontier/plugins/_dir","_dir":"plugins","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:2.frontier:4.plugins:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/4.plugins/_dir.yml","_extension":"yml"},{"_path":"/frontier/plugins/frontend","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Frontend","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"frontend"},"children":[{"type":"text","value":"Frontend"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.plugins:1.frontend.md","_source":"content","_file":"2.frontier/4.plugins/1.frontend.md","_extension":"md"},{"_path":"/frontier/plugins/mobile","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Mobile","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"mobile"},"children":[{"type":"text","value":"Mobile"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.plugins:2.mobile.md","_source":"content","_file":"2.frontier/4.plugins/2.mobile.md","_extension":"md"},{"_path":"/frontier/plugins/quality","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Quality","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"quality"},"children":[{"type":"text","value":"Quality"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.plugins:2.quality.md","_source":"content","_file":"2.frontier/4.plugins/2.quality.md","_extension":"md"},{"_path":"/frontier/libraries/_dir","_dir":"libraries","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:2.frontier:5.libraries:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/5.libraries/_dir.yml","_extension":"yml"},{"_path":"/frontier/libraries/typekit","_dir":"libraries","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"TypeKit","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"typekit"},"children":[{"type":"text","value":"TypeKit"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:5.libraries:1.typekit.md","_source":"content","_file":"2.frontier/5.libraries/1.typekit.md","_extension":"md"},{"_path":"/frontier/libraries/standard-library","_dir":"libraries","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Standard Library","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"standard-library"},"children":[{"type":"text","value":"Standard Library"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:5.libraries:2.standard-library.md","_source":"content","_file":"2.frontier/5.libraries/2.standard-library.md","_extension":"md"},{"_path":"/frontier/templates/_dir","_dir":"templates","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:2.frontier:6.templates:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"2.frontier/6.templates/_dir.yml","_extension":"yml"},{"_path":"/frontier/templates/dotnet","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Backend - Dot Net","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"backend-dot-net"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Backend"}]},{"type":"text","value":" - Dot Net"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:6.templates:1.dotNet.md","_source":"content","_file":"2.frontier/6.templates/1.dotNet.md","_extension":"md"},{"_path":"/frontier/templates/typescript","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Backend - Typescript","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"backend-typescript"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Backend"}]},{"type":"text","value":" - Typescript"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:6.templates:2.typescript.md","_source":"content","_file":"2.frontier/6.templates/2.typescript.md","_extension":"md"},{"_path":"/frontier/templates/nuxt","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Frontend - Nuxtjs","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"frontend-nuxtjs"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Frontend"}]},{"type":"text","value":" - Nuxtjs"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:6.templates:3.nuxt.md","_source":"content","_file":"2.frontier/6.templates/3.nuxt.md","_extension":"md"},{"_path":"/rdvue/_dir","_dir":"rdvue","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:3.rdvue:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.rdvue/_dir.yml","_extension":"yml"},{"_path":"/rdvue/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:pencil-alt","_id":"content:3.rdvue:1.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.rdvue/1.getting-started/_dir.yml","_extension":"yml"},{"_path":"/rdvue/getting-started/overview","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Getting Started","description":"RDVue is an opinionated CLI for generating Vue.js projects. We do so by adopting\na development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models,\nand a data-layer design promoting unified consumption through Stores and Services.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"getting-started"},"children":[{"type":"text","value":"Getting Started"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/realdecoy/rdvue","rel":["nofollow"]},"children":[{"type":"text","value":"RDVue"}]},{"type":"text","value":" is an opinionated CLI for generating Vue.js projects. We do so by adopting\na development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models,\nand a data-layer design promoting unified consumption through Stores and Services."}]},{"type":"element","tag":"h2","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier vue:\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-38d936"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"vue:"}]},{"type":"element","tag":"span","props":{"class":"ct-2d107e"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"actio"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":"n"}]},{"type":"element","tag":"span","props":{"class":"ct-2d107e"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Global installation:"}]},{"type":"element","tag":"code","props":{"code":"frontier plugins:install vue\nfrontier vue \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-38d936"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"plugins:install"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"vue"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-38d936"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2d107e"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"actio"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":"n"}]},{"type":"element","tag":"span","props":{"class":"ct-2d107e"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"code","props":{"code":"frontier vue::\n\nActions:\n create-project - Scaffold a new rdvue project\n add - Add a feature to a project\n plugin - Inject a utility to extend project functionality\n upgrade - Specify the rdvue template version for a project\n \nOptions:\n --help | -h - Show help information\n\n","language":"txt","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"frontier vue::\n\nActions:\n create-project - Scaffold a new rdvue project\n add - Add a feature to a project\n plugin - Inject a utility to extend project functionality\n upgrade - Specify the rdvue template version for a project\n \nOptions:\n --help | -h - Show help information"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"validate-installation"},"children":[{"type":"text","value":"Validate Installation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We can confirm the successful installation of RDvue in three simple steps:"}]},{"type":"element","tag":"h3","props":{"id":"step-1-create-a-project"},"children":[{"type":"text","value":"Step 1: Create a project"}]},{"type":"element","tag":"code","props":{"code":"frontier vue:create-project \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"frontier vue:create-project "}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Replace "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":""}]},{"type":"text","value":" with the actual name of your project."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Generated folders are named in kebab-case."}]},{"type":"element","tag":"h3","props":{"id":"step-2-install-project-dependencies"},"children":[{"type":"text","value":"Step 2: Install project dependencies"}]},{"type":"element","tag":"code","props":{"code":"cd \nnpm install\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"cd \nnpm install"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"step-3-serve-project"},"children":[{"type":"text","value":"Step 3: Serve project"}]},{"type":"element","tag":"code","props":{"code":"npm run serve\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"npm run serve"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The project will be served at "},{"type":"element","tag":"a","props":{"href":"http://localhost:8080/","rel":["nofollow"]},"children":[{"type":"text","value":"http://localhost:8080/"}]},{"type":"text","value":" by default. This information will also be printed out in your terminal. Visiting the link the app is served on will display a default page which was created on project creation."}]},{"type":"element","tag":"h2","props":{"id":"next-steps"},"children":[{"type":"text","value":"Next Steps"}]},{"type":"element","tag":"h3","props":{"id":"generating-a-page"},"children":[{"type":"text","value":"Generating a Page"}]},{"type":"element","tag":"code","props":{"code":"frontier vue:add:page \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"frontier vue:add:page "}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Page gets its own dedicated folder. The folder will be given the name of the page. This folder is located at /src/pages/ ."}]},{"type":"element","tag":"h3","props":{"id":"generating-a-component"},"children":[{"type":"text","value":"Generating a Component"}]},{"type":"element","tag":"code","props":{"code":"frontier vue:generate component \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"frontier vue:generate component "}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-2d107e{color:#CF222E}\n.ct-f73c94{color:#0A3069}\n.ct-923ce8{color:#24292F}\n.ct-38d936{color:#953800}\n.dark .ct-38d936{color:#FFA657}\n.dark .ct-923ce8{color:#C9D1D9}\n.dark .ct-f73c94{color:#A5D6FF}\n.dark .ct-2d107e{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage","depth":2,"text":"Usage"},{"id":"options","depth":2,"text":"Options"},{"id":"validate-installation","depth":2,"text":"Validate Installation","children":[{"id":"step-1-create-a-project","depth":3,"text":"Step 1: Create a project"},{"id":"step-2-install-project-dependencies","depth":3,"text":"Step 2: Install project dependencies"},{"id":"step-3-serve-project","depth":3,"text":"Step 3: Serve project"}]},{"id":"next-steps","depth":2,"text":"Next Steps","children":[{"id":"generating-a-page","depth":3,"text":"Generating a Page"},{"id":"generating-a-component","depth":3,"text":"Generating a Component"}]}]}},"_type":"markdown","_id":"content:3.rdvue:1.getting-started:1.overview.md","_source":"content","_file":"3.rdvue/1.getting-started/1.overview.md","_extension":"md"},{"_path":"/rdvue/cli-commands/_dir","_dir":"cli-commands","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:document-text","_id":"content:3.rdvue:2.cli-commands:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.rdvue/2.cli-commands/_dir.yml","_extension":"yml"},{"_path":"/rdvue/cli-commands/usage","_dir":"cli-commands","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"CLI Commands","description":"The Rdvue command line tool (CLI) is the main entry point for getting up and running with the Vue application. Similar documentation is available in the rdvue-cli README.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"cli-commands"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The Rdvue command line tool (CLI) is the main entry point for getting up and running with the Vue application. Similar documentation is available in the rdvue-cli "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"README."}]}]},{"type":"element","tag":"h2","props":{"id":"how-to-use-rdvue-cli"},"children":[{"type":"text","value":"How to use rdvue-cli"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All commands will follow the basic structure:"}]},{"type":"element","tag":"code","props":{"code":"npx rdvue \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"npx rdvue "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"cli-options"},"children":[{"type":"text","value":"CLI Options"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Run the cli option below for a list of commands and options"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Option"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"--h, --help"}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Displays the help menu."}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"cli-commands-1"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"RDVue includes the following sub-commands:"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Command"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#create-project"},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Scaffold a new rdvue project"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#add"},"children":[{"type":"text","value":"add"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Add a feature to a project"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#plugin"},"children":[{"type":"text","value":"plugin"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Inject a utility to extend project functionality"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#upgrade"},"children":[{"type":"text","value":"upgrade"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Specify the rdvue template version for a project"}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"create-project"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"create-project will scaffold a new project for you, using one of the presets selected from its interactive shell."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"$ npx rdvue create-project \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"$ npx rdvue create-project "}]}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"add"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"add"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Adds a feature to the project."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"$ npx rdvue add: \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"$ npx rdvue add: "}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Features"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#components"},"children":[{"type":"text","value":"component"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#pages"},"children":[{"type":"text","value":"page"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#services"},"children":[{"type":"text","value":"service"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#stores"},"children":[{"type":"text","value":"store"}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"plugin"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"plugin"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Injects a utility to extend the project's functionality"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"$ frontier vue:plugin:\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"$ frontier vue:plugin:"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Libraries"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"buefy"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#localization"},"children":[{"type":"text","value":"localization"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"vuetify"}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"upgrade"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"upgrade"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Attempts to upgrade the project's rdvue template to the specified version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"$ frontier vue:upgrade \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"$ frontier vue:upgrade "}]}]}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"how-to-use-rdvue-cli","depth":2,"text":"How to use rdvue-cli"},{"id":"cli-options","depth":2,"text":"CLI Options"},{"id":"cli-commands-1","depth":2,"text":"CLI Commands","children":[{"id":"create-project","depth":3,"text":"create-project"},{"id":"add","depth":3,"text":"add"},{"id":"plugin","depth":3,"text":"plugin"},{"id":"upgrade","depth":3,"text":"upgrade"}]}]}},"_type":"markdown","_id":"content:3.rdvue:2.cli-commands:1.usage.md","_source":"content","_file":"3.rdvue/2.cli-commands/1.usage.md","_extension":"md"},{"_path":"/rdvue/scaffilding/_dir","_dir":"scaffilding","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:book-open","_id":"content:3.rdvue:3.scaffilding:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.rdvue/3.scaffilding/_dir.yml","_extension":"yml"},{"_path":"/rdvue/scaffilding/sitemap","_dir":"scaffilding","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Sitemap","description":"A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"sitemap"},"children":[{"type":"text","value":"Sitemap"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This can be created by utilising the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sitemap"}]},{"type":"text","value":" library, which can be installed as follows:"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"pnpm add --save-dev sitemap\n","filename":"pnpm","language":"bash","meta":"[pnpm]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"pnpm"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"--save-dev"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"yarn add --dev sitemap\n","filename":"yarn","language":"bash","meta":"[yarn]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"--dev"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"npm install --save-dev sitemap\n","filename":"npm","language":"bash","meta":"[npm]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"install"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"--save-dev"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"server-route"},"children":[{"type":"text","value":"Server Route"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We will be utilising the "},{"type":"element","tag":"a","props":{"href":"https://nuxt.com/docs/guide/directory-structure/server#server-routes","rel":["nofollow"]},"children":[{"type":"text","value":"server routes"}]},{"type":"text","value":" available within Nuxt, and to do so you'll need to create the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"server/"}]},{"type":"text","value":" directory within your website's root directly."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Once this is done, create a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"routes/"}]},{"type":"text","value":" directory inside this, and add a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sitemap.xml.ts"}]},{"type":"text","value":" file, this will translate to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"/sitemap.xml"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You'll need to add the following:"}]},{"type":"element","tag":"code","props":{"code":"import { serverQueryContent } from '#content/server'\nimport { SitemapStream, streamToPromise } from 'sitemap'\n\nexport default defineEventHandler(async (event) => {\n // Fetch all documents\n const docs = await serverQueryContent(event).find()\n const sitemap = new SitemapStream({\n hostname: 'https://example.com'\n })\n\n for (const doc of docs) {\n sitemap.write({\n url: doc._path,\n changefreq: 'monthly'\n })\n }\n sitemap.end()\n\n return streamToPromise(sitemap)\n})\n","filename":"server/routes/sitemap.xml.ts","language":"ts","meta":"[server/routes/sitemap.xml.ts]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" { serverQueryContent } "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'#content/server'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" { SitemapStream, streamToPromise } "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'sitemap'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"defineEventHandler"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" (event) "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5d8bef"},"children":[{"type":"text","value":"// Fetch all documents"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"docs"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"serverQueryContent"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"(event)."}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"find"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"sitemap"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"SitemapStream"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" hostname: "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'https://example.com'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"for"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"doc"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"of"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" docs) {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" sitemap."}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"write"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" url: doc._path,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" changefreq: "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'monthly'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" sitemap."}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"end"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"streamToPromise"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"(sitemap)"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":")"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now, once users go to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"https://example.com/sitemap.xml"}]},{"type":"text","value":", you'll find the generated XML file with all your pages."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When using "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt generate"}]},{"type":"text","value":", you may want to pre-render the sitemap since the server route won't be able to run on a static hosting."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can do this using the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nitro.prerender"}]},{"type":"text","value":" option in your "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt.config"}]},{"type":"text","value":":"}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n // ...\n nitro: {\n prerender: {\n routes: ['/sitemap.xml']\n }\n }\n})\n","filename":"nuxt.config.ts","language":"ts","meta":"[nuxt.config.ts]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5d8bef"},"children":[{"type":"text","value":"// ..."}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"nitro: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" prerender: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" routes: ["}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'/sitemap.xml'"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-5d8bef{color:#6E7781}\n.ct-7b736c{color:#8250DF}\n.ct-8d792c{color:#CF222E}\n.ct-dfa0b0{color:#0550AE}\n.ct-4e09e8{color:#0A3069}\n.ct-e4e3aa{color:#24292F}\n.ct-a5892a{color:#953800}\n.dark .ct-a5892a{color:#FFA657}\n.dark .ct-e4e3aa{color:#C9D1D9}\n.dark .ct-4e09e8{color:#A5D6FF}\n.dark .ct-dfa0b0{color:#79C0FF}\n.dark .ct-8d792c{color:#FF7B72}\n.dark .ct-7b736c{color:#D2A8FF}\n.dark .ct-5d8bef{color:#8B949E}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"server-route","depth":2,"text":"Server Route"}]}},"_type":"markdown","_id":"content:3.rdvue:3.scaffilding:1.sitemap.md","_source":"content","_file":"3.rdvue/3.scaffilding/1.sitemap.md","_extension":"md"},{"_path":"/rdvue/template-schema/_dir","_dir":"template-schema","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:3.rdvue:4.template-schema:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.rdvue/4.template-schema/_dir.yml","_extension":"yml"},{"_path":"/rdvue/template-schema/schema","_dir":"template-schema","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Template Schema","description":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"template-schema"},"children":[{"type":"text","value":"Template Schema"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module."}]},{"type":"element","tag":"h2","props":{"id":"templatejson"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"template.json"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The template.json file keeps a record of each abstracted template module. This file directs how the CLI will navigate and parse each subsequent template module. The following is a breakdown of the sections that make up template.json."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The template.json file includes the following properties:"}]},{"type":"element","tag":"h3","props":{"id":"version"},"children":[{"type":"text","value":"version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A number representing the current version of the file."}]},{"type":"element","tag":"code","props":{"code":"{\n \"version\": 1\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"1"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sourcedirectory"},"children":[{"type":"text","value":"sourceDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Source directory for module files that will be copied into a project. Normally points to the base folder of a module."}]},{"type":"element","tag":"code","props":{"code":"{\n \"sourceDirectory\": \"./\",\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"sourceDirectory\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"./\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"features"},"children":[{"type":"text","value":"features"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The features section holds a list of objects with each representing a single feature. Each object holds two properties, name & private."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The name property holds the name of a feature, this the name that you must use when running a command on any of these features."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The private is a boolean which determines whether or not the files of a feature can be overwritten after been initially added to the project. Also, features whose private property is set to true cannot be added by a user."}]},{"type":"element","tag":"code","props":{"code":" \"features\": [\n {\n \"name\": \"config\",\n \"private\": true\n },\n {\n \"name\": \"store\",\n \"private\": true\n },\n {\n \"name\": \"component\",\n \"private\": false\n },\n {\n \"name\": \"service\",\n \"private\": false\n },\n {\n \"name\": \"model\",\n \"private\": false\n },\n {\n \"name\": \"page\",\n \"private\": false\n },\n {\n \"name\": \"sm\",\n \"private\": false\n }\n ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"service\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"model\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"page\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"sm\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"plugins"},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The plugins section holds a list of names of the plugins available in RDvue. After setting up your configuration files for a plugin, simply add the name (the name of the module folder for the configuration files of your plugin) to this list to make it available to the CLI for usage."}]},{"type":"element","tag":"code","props":{"code":"\"plugins\": [\n \"auth\",\n \"localization\",\n \"storybook\"\n]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"auth\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"project"},"children":[{"type":"text","value":"project"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The project section is an object which defines what will be installed at project creation. Currently, there are two properties/keys on this object, features & plugin."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The features property/key is an array holding the name of all features which will be automatically generated at project creation."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The plugins property/key is an array holding the name of all plugins which will be automatically generated at project creation."}]},{"type":"element","tag":"code","props":{"code":"\"project\": {\n    \"features\": [\n      \"config\",\n      \"store\"\n    ],\n    \"plugins\": [\n      \"storybook\"\n    ]\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"groups"},"children":[{"type":"text","value":"groups"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The groups section is used to group plugins that offer similar functionalities."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For example, imagine if we had the following two UI libraries Buefy & Vuetify, we could create a group called ui-library which holds these two plugins."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each group is represented as an object. Each object has the following properties:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name of the group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"isMultipleChoice - boolean indicating if more than one option can be selected from this group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"plugins - a list of the names of the plugins that belong to the group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"question - the question prompted to a user when they run the command to add a plugin from a group"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Running rdvue add-group would prompt a user with the question that belongs to the requested group along with the list of plugins in that group to choose from."}]},{"type":"element","tag":"code","props":{"code":"\"project\": {\n    \"features\": [\n      \"config\",\n      \"store\"\n    ],\n    \"plugins\": [\n      \"storybook\"\n    ]\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"presets"},"children":[{"type":"text","value":"presets"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"presets are available for a user to quickly scaffold in plugins when creating a project. The presets section of the template.json contains a list of objects. each representing an individual preset. A preset object contains the following properties:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name of the preset"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"description - description of the preset. Conventionally used to list out the plugins that comes with the preset"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"plugins- a list of the plugins which the preset will install"}]}]},{"type":"element","tag":"code","props":{"code":" \"presets\": [\n    {\n      \"name\": \"Sample Preset 1\",\n      \"description\": \"Installs storybook, and localization\",\n      \"plugins\": [\n        \"storybook\",\n        \"localization\"\n      ]\n    }\n  ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Sample Preset 1\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"description\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Installs storybook, and localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"custompreset"},"children":[{"type":"text","value":"customPreset"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A user can decide to manually select plugins from different groups that they’d like at project creation instead of choosing a preset. The cutomPreset object describes the groups available to a user. It includes the following:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name displayed to the user"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"groups - a list containing the names of the Feature Groups which the user will be able to choose from"}]}]},{"type":"element","tag":"code","props":{"code":" \"customPreset\": {\n    \"groups\": [\n      \"authentication\",\n      \"locale\"\n    ],\n    \"name\": \"custom\"\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"customPreset\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"locale\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"custom\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"example-templatejson-file"},"children":[{"type":"text","value":"Example "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"template.json"}]},{"type":"text","value":" file"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here is a sample of what a complete template.json file would look like."}]},{"type":"element","tag":"code","props":{"code":"{\n  \"version\": 1,\n  \"sourceDirectory\": \"./\",\n  \"features\": [\n    {\n      \"name\": \"config\",\n      \"private\": true\n    },\n    {\n      \"name\": \"store\",\n      \"private\": true\n    },\n    {\n      \"name\": \"component\",\n      \"private\": false\n    },\n    {\n      \"name\": \"service\",\n      \"private\": false\n    },\n    {\n      \"name\": \"model\",\n      \"private\": false\n    },\n    {\n      \"name\": \"page\",\n      \"private\": false\n    },\n    {\n      \"name\": \"sm\",\n      \"private\": false\n    }\n  ],\n  \"plugins\": [\n    \"auth\",\n    \"localization\",\n    \"storybook\"\n  ],\n  \"project\": {\n    \"features\": [\n      \"config\",\n      \"store\"\n    ],\n    \"plugins\": [\n      \"storybook\"\n    ]\n  },\n  \"groups\": [\n    {\n      \"name\": \"authentication\",\n      \"isMultipleChoice\": false,\n      \"plugins\": [\n        \"auth\"\n      ],\n      \"question\": \"Which Authentication Library would you like to install?\"\n    },\n    {\n      \"name\": \"locale\",\n      \"isMultipleChoice\": false,\n      \"plugins\": [\n        \"localization\"\n      ],\n      \"question\": \"Which Localization Library would you like to install?\"\n    }\n  ],\n  \"presets\": [\n    {\n      \"name\": \"Sample Preset 1\",\n      \"description\": \"Installs storybook, and localization\",\n      \"plugins\": [\n        \"storybook\",\n        \"localization\"\n      ]\n    }\n  ],\n  \"customPreset\": {\n    \"groups\": [\n      \"authentication\",\n      \"locale\"\n    ],\n    \"name\": \"custom\"\n  }\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"sourceDirectory\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"./\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"service\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"model\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"page\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"sm\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"auth\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"isMultipleChoice\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"auth\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"question\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Which Authentication Library would you like to install?\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"locale\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"isMultipleChoice\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"question\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Which Localization Library would you like to install?\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Sample Preset 1\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"description\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Installs storybook, and localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"customPreset\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"locale\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"custom\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h1","props":{"id":"template-module"},"children":[{"type":"text","value":"Template Module"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Modules are self-contained building blocks of a full Vue project. Each module must contain a manifest.json file."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A module.json file is built with the following section. Not all sections will be needed inside every module.json file created. A module.json is composed of the following sections:"}]},{"type":"element","tag":"h3","props":{"id":"version-1"},"children":[{"type":"text","value":"version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The current version of the file."}]},{"type":"element","tag":"code","props":{"code":"\"version\": 1\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"version\": 1"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"name"},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Name of the module (e.g component)"}]},{"type":"element","tag":"code","props":{"code":" \"name\": \"component\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"name\": \"component\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"description"},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A description of the module. This is also displayed inside the CLI help menu for each Module."}]},{"type":"element","tag":"code","props":{"code":"\"description\": \"Generate a basic components needed for basic authenticaton.\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"description\": \"Generate a basic components needed for basic authenticaton.\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sourcedirectory-1"},"children":[{"type":"text","value":"sourceDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Source directory for module files that get copied into a project. Normally points to the base folder of a module."}]},{"type":"element","tag":"code","props":{"code":" \"sourceDirectory\": \"./\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"sourceDirectory\": \"./\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"installdirectory"},"children":[{"type":"text","value":"installDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"the location that the module should be generated in the Vue project."}]},{"type":"element","tag":"h3","props":{"id":"files"},"children":[{"type":"text","value":"files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"a list of files that exist in the module that needs to be copied to the install directory. The files in this list can either be either of the following:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"a string (if the file should be copied as-is)"}]}]},{"type":"element","tag":"code","props":{"code":"\"files\": [\n {\n \"source\": \"store/auth.ts\",\n \"target\": \"store/auth.ts\"\n },\n {\n \"source\": \"services/auth.ts\",\n \"target\": \"services/auth.ts\"\n },\n {\n \"source\": \"model/user.ts\",\n \"target\": \"model/user.ts\"\n },\n {\n \"source\": \"pages/register/index.ts\",\n \"target\": \"pages/auth/register/index.ts\"\n },\n {\n \"source\": \"pages/register/register.ts\",\n \"target\": \"pages/auth/register/register.ts\"\n },\n {\n \"source\": \"pages/register/register.scss\",\n \"target\": \"pages/auth/register/register.scss\"\n },\n {\n \"source\": \"pages/register/register.vue\",\n \"target\": \"pages/auth/register/register.vue\"\n },\n {\n \"source\": \"pages/login/index.ts\",\n \"target\": \"pages/auth/login/index.ts\"\n },\n {\n \"source\": \"pages/login/login.ts\",\n \"target\": \"pages/auth/login/login.ts\"\n },\n {\n \"source\": \"pages/login/login.scss\",\n \"target\": \"pages/auth/login/login.scss\"\n },\n {\n \"source\": \"pages/login/login.vue\",\n \"target\": \"pages/auth/login/login.vue\"\n },\n {\n \"source\": \"pages/forget-password/index.ts\",\n \"target\": \"pages/auth/forget-password/index.ts\"\n },\n {\n \"source\": \"pages/forget-password/forget-password.ts\",\n \"target\": \"pages/auth/forget-password/forget-password.ts\"\n },\n {\n \"source\": \"pages/forget-password/forget-password.scss\",\n \"target\": \"pages/auth/forget-password/forget-password.scss\"\n },\n {\n \"source\": \"pages/forget-password/forget-password.vue\",\n \"target\": \"pages/auth/forget-password/forget-password.vue\"\n }\n ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store/auth.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store/auth.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"services/auth.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"services/auth.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"model/user.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"model/user.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/register/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/register/index.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/register/register.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/register/register.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/register/register.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/register/register.scss\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/register/register.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/register/register.vue\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/login/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/login/index.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/login/login.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/login/login.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/login/login.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/login/login.scss\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/login/login.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/login/login.vue\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/forget-password/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/forget-password/index.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.scss\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.vue\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"object with required properties:"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"source and target (for change of name if necessary)"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"and an optional content list of objects for finding and replacing content within the file -"}]}]},{"type":"element","tag":"code","props":{"code":"\"files\": [\n {\n \"source\": \"index.ts\",\n \"target\": \"index.ts\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\n \"replace\": \"${componentNameKebab}\"\n }\n ]\n },\n {\n \"source\": \"component.scss\",\n \"target\": \"${componentNameKebab}.scss\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__\",\n \"replace\": \"${componentNameKebab}\"\n }\n ]\n },\n {\n \"source\": \"component.ts\",\n \"target\": \"${componentNameKebab}.ts\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\n \"replace\": \"${componentNameKebab}\"\n },\n {\n \"matchRegex\": \"__COMPONENT__\",\n \"replace\": \"${componentName}\"\n }\n ]\n },\n {\n \"source\": \"component.spec.js\",\n \"target\": \"${componentNameKebab}.spec.js\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\n \"replace\": \"${componentNameKebab}\"\n },\n {\n \"matchRegex\": \"__COMPONENT__\",\n \"replace\": \"${componentName}\"\n }\n ]\n },\n {\n \"source\": \"component.vue\",\n \"target\": \"${componentNameKebab}.vue\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__\",\n \"replace\": \"${componentNameKebab}\"\n }\n ]\n }\n]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentName}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component.spec.js\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}.spec.js\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentName}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"]"}]}]}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"\n _Note: files section can be a combination of both types mentioned above._\n\n### packages\nThis section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.\n\nThe dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.\n\n```json\n \"packages\": {\n \"dependencies\": [\"vue-i18n\"],\n \"devDependencies\": [\"vue-cli-plugin-i18n\"]\n }\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\n _Note: files section can be a combination of both types mentioned above._\n\n### packages\nThis section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.\n\nThe dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.\n\n```json\n \"packages\": {\n \"dependencies\": [\"vue-i18n\"],\n \"devDependencies\": [\"vue-cli-plugin-i18n\"]\n }"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"There’s currently no support for specifying package versions."}]}]},{"type":"element","tag":"h3","props":{"id":"routes"},"children":[{"type":"text","value":"routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You have the ability to inject a route into the application to allow users to preview a module (feature or plugin) after installing it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The routes section of the manifest.json allows you to define an array of routes. Here’s an example:"}]},{"type":"element","tag":"code","props":{"code":" \"routes\": [\n {\n \"path\": \"'/buefy-sample'\",\n \"name\": \"'buefy-sample'\",\n \"component\": \"`require('@/pages/buefy-sample/buefy-sample.vue').default`\"\n }\n ]\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"routes\": [\n {\n \"path\": \"'/buefy-sample'\",\n \"name\": \"'buefy-sample'\",\n \"component\": \"`require('@/pages/buefy-sample/buefy-sample.vue').default`\"\n }\n ]"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"path: relative URL where module component (.vue file) can be viewed"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name: name of the route"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"component: the sample component created as a part of your module"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Any number of modules can have a routes section. Therefore, each route definition is programmatically added to an array of route definitions found in .rdvue/routes.js at the root of an RDvue project. The definitions found in this array are then automatically loaded into the router.ts file. Here’s an example:"}]},{"type":"element","tag":"code","props":{"code":"export default [{\n path: '/buefy-sample',\n name: 'buefy-sample',\n component: require('@/pages/buefy-sample/buefy-sample.vue').default\n },];\n","language":"javascript","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-3a2a22"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3a2a22"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" [{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"path: "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"'/buefy-sample'"}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"name: "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"'buefy-sample'"}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"component: "}]},{"type":"element","tag":"span","props":{"class":"ct-a08c72"},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"'@/pages/buefy-sample/buefy-sample.vue'"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":").default"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":"},]"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":";"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"vueoptions"},"children":[{"type":"text","value":"vueOptions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Plugin options needed in vue.config for module to work"}]},{"type":"element","tag":"code","props":{"code":"\"vueOptions\": {\n \"transpileDependencies\": [\n \"'vuetify'\"\n ]\n }\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"vueOptions\": {\n \"transpileDependencies\": [\n \"'vuetify'\"\n ]\n }"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All vueOptions are automatically added to the exports object in .rdvue/options.js. This module is then loaded in vue.config.js and used as part of its plugin options."}]},{"type":"element","tag":"code","props":{"code":"module.exports = {\n transpileDependencies: 'vuetify',\n};\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"module.exports = {\n transpileDependencies: 'vuetify',\n};"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"modules"},"children":[{"type":"text","value":"modules"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Configuration imports needed for your module to work. These configs are store in the src/config folder."}]},{"type":"element","tag":"code","props":{"code":" \"modules\": {\n \"vuetify\": \"`require('@/config/vuetify').default`\"\n } \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"modules\": {\n \"vuetify\": \"`require('@/config/vuetify').default`\"\n } "}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-a08c72{color:#8250DF}\n.ct-c403f1{color:#953800}\n.ct-3a2a22{color:#CF222E}\n.ct-0eab8f{color:#0A3069}\n.ct-194c67{color:#0550AE}\n.ct-dea269{color:#116329}\n.ct-0e4fc8{color:#24292F}\n.dark .ct-0e4fc8{color:#C9D1D9}\n.dark .ct-dea269{color:#7EE787}\n.dark .ct-194c67{color:#79C0FF}\n.dark .ct-0eab8f{color:#A5D6FF}\n.dark .ct-3a2a22{color:#FF7B72}\n.dark .ct-c403f1{color:#FFA657}\n.dark .ct-a08c72{color:#D2A8FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"templatejson","depth":2,"text":"template.json","children":[{"id":"version","depth":3,"text":"version"},{"id":"sourcedirectory","depth":3,"text":"sourceDirectory"},{"id":"features","depth":3,"text":"features"},{"id":"plugins","depth":3,"text":"plugins"},{"id":"project","depth":3,"text":"project"},{"id":"groups","depth":3,"text":"groups"},{"id":"presets","depth":3,"text":"presets"},{"id":"custompreset","depth":3,"text":"customPreset"},{"id":"example-templatejson-file","depth":3,"text":"Example template.json file"},{"id":"version-1","depth":3,"text":"version"},{"id":"name","depth":3,"text":"name"},{"id":"description","depth":3,"text":"description"},{"id":"sourcedirectory-1","depth":3,"text":"sourceDirectory"},{"id":"installdirectory","depth":3,"text":"installDirectory"},{"id":"files","depth":3,"text":"files"},{"id":"routes","depth":3,"text":"routes"},{"id":"vueoptions","depth":3,"text":"vueOptions"},{"id":"modules","depth":3,"text":"modules"}]}]}},"_type":"markdown","_id":"content:3.rdvue:4.template-schema:1.schema.md","_source":"content","_file":"3.rdvue/4.template-schema/1.schema.md","_extension":"md"},{"_path":"/rdvue/features/_dir","_dir":"features","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:3.rdvue:5.features:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.rdvue/5.features/_dir.yml","_extension":"yml"},{"_path":"/rdvue/features/features","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Rdvue Features","description":"This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"rdvue-features"},"children":[{"type":"text","value":"Rdvue Features"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Reading through this section will get you comfortable with the CLI."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An in depth look at the command used in this section, along with all available commands, can be found in "},{"type":"element","tag":"a","props":{"href":"CLI-Commands.md#cli-commands-1"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"RDvue provides an elegant way for generating features."}]},{"type":"element","tag":"h2","props":{"id":"services"},"children":[{"type":"text","value":"Services"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"only interact with a single domain"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"only provide features from the domain which are relevant to the theme of the service. Eg. A user service should be focused on methods support such; adding order related data would make for poor encapsulation."}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"While each generated service resides in its own file and class, all services extend a predefined BaseService class in order to provide centralized functionality."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Each service is able to specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (Eg. wrapper storage mechanism over LocalStorage)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Each service has access to the following protected memebers:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Member"}]}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"api (field) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: Axios"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Helper to invoke web APIs. Individual service methods need only specify their endpoint paths relative to the registered root domain."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onRequest(request: AxiosRequestConfig) => void"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked before requests are sent to the web API endpoint."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onResponse(response: AxiosResponse) => void"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked before responses are handled by a Service’s methods."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onError(data: any)"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked for errors during request or response."}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Page is a conceptual grouping for Vue Components used in routing. Pages are "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"not"}]},{"type":"text","value":" to be imported by other Pages, Components or Layouts."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A special feature of Pages are that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The "},{"type":"element","tag":"a","props":{"href":"#layouts"},"children":[{"type":"text","value":"Layouts"}]},{"type":"text","value":" section goes into more detail on this approach."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?> A Page needs to be added to the "},{"type":"element","tag":"a","props":{"href":"#routing"},"children":[{"type":"text","value":"Router"}]},{"type":"text","value":" before it can be previewed within a web browser."}]},{"type":"element","tag":"h3","props":{"id":"technical-1"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Page is contained within it’s own sub-folder within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/pages"}]},{"type":"text","value":" directory. The directory contains the following files which each carry out a specific role in developing a Page:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"vue"}]},{"type":"text","value":": This contains the Vue template markup used to implement the structure and layout of a Page. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"ts"}]},{"type":"text","value":": This contains the TypeScript controller which provides the procedural code-behind logical needed to add integrations to a page. Through this file you may expose data and handle events generated by Page elements."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"scss"}]},{"type":"text","value":": This contains the SASS stylesheet to be applied to the page - and that page only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [page].vue template file."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?> Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"spec.ts"}]},{"type":"text","value":": This contains the unit-level tests for the page. Read the "},{"type":"element","tag":"a","props":{"href":"Testing.md#unit-tests-with-jest"},"children":[{"type":"text","value":"testing section"}]},{"type":"text","value":" for more details about writing tests."}]}]},{"type":"element","tag":"h2","props":{"id":"routing"},"children":[{"type":"text","value":"Routing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below is an example of a Route definition for a sample Login page:"}]},{"type":"element","tag":"code","props":{"code":"{\n path: '/login',\n name: 'login',\n meta: { layout: 'default' },\n component: () => import(/* webpackChunkName: \"login\" */ '@/pages/login'),\n},\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"{\n path: '/login',\n name: 'login',\n meta: { layout: 'default' },\n component: () => import(/* webpackChunkName: \"login\" */ '@/pages/login'),\n},"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"path"}]},{"type":"text","value":" property specifies where the page will be accessible under the domain, for example: localhost:8080**/login**."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"name"}]},{"type":"text","value":" field provides an alternative means of identifying and navigation to defined pages programatically. This approach is preferable because the route names can be externalized into global constants and shared throughout your code for navigational consistency."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"meta"}]},{"type":"text","value":" property allows specifying arbitrary data that will get passed along to the loaded Page. The CLI recognizes a sub-property called layout which it will use to attach a "},{"type":"element","tag":"a","props":{"href":"#layouts"},"children":[{"type":"text","value":"Layout"}]},{"type":"text","value":" to a page."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"component"}]},{"type":"text","value":" property specifies the Page to load for the given path. Here we used the recommended approach of dynamically loading the Page component using the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"import()"}]},{"type":"text","value":" function."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?> The import function is not the same as the import statements found at the top of a module file. The former is an asynchronous function that will load a module on-demand at runtime, while the latter only does static, compile-time, imports that always get bundled into the core application’s JavaScript payload."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The comment within the import statement is a directive for the Webpack pre-processor that compiles to project to create a new file which only contains the code needed to construct and execute the respective Page."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!>The comment inside the brackets of the import function are important and should be made unique to support proper code separation - or Chunking as it’s technically referred to. Do not delete them and ensure the value for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"webpackChunkName"}]},{"type":"text","value":" is unique for each route."}]},{"type":"element","tag":"h2","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Component is a conceptual grouping for Vue components which are imported by "},{"type":"element","tag":"a","props":{"href":"#pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"text","value":" and other Components."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Unlike Pages, Components are never used in Routing. That would deviate from the RDVue development style guide."}]},{"type":"element","tag":"h3","props":{"id":"technical-2"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Component contains all the files present for "},{"type":"element","tag":"a","props":{"href":"#pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"text","value":" with the addition of:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[component]"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":".story.ts"}]},{"type":"text","value":": This contains the list of stories which describe the component’s usage. This is helpful for documentation purposes in providing live examples of key ways a Component can be used through the included Storybook preview tool."}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Components use special decorators within their TypeScript file to add metadata useful for generating its documentation within Storybook:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryComponent","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryComponent"}]}]}]},{"type":"text","value":": decorates the Component’s class, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Component","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Component"}]}]},{"type":"text","value":" (used in pages) with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the component’s overall purpose."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"module"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Text stating the module used in the import statement (eg. “@/components/foo”)"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"playground"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: boolean, default: true"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Toggles the Playground feature for this component within the Storybook preview."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"api"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: boolean, default: true"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Display the Component’s list of props, slots and events on the API tab within the Storybook preview tool."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"slots (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: {[key: string]: string}, default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the slots available within the component. Eg."},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"
slots: {
header: ‘The header component goes here’,
...
}
"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryProp","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryProp"}]}]}]},{"type":"text","value":": decorates the Component’s Props, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Prop","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Prop"}]}]},{"type":"text","value":" with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the prop's overall purpose."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"values"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"[array; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"An optional list of values which are considered acceptable for the prop. This is great for constraining Props that are bound to an enum type."}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryEvent","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryEvent"}]}]}]},{"type":"text","value":": decorates the Component’s Events, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Event","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Event"}]}]},{"type":"text","value":" with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the event’s overall purpose."}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"layouts"},"children":[{"type":"text","value":"Layouts"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Layout is a conceptual grouping given to components which serve the purpose of rendering re-usable pieces of UI shared by many pages. An easy example is the header and footer information displayed on many sites: though the body of the page changes often, those elements remain the same."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>A Layout allows us to define the common elements while leaving a slot (router-view) to inject the actual body of the Page."}]},{"type":"element","tag":"h3","props":{"id":"technical-3"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To get a Page to use a Layout, edit it’s definition in the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"router.ts"}]},{"type":"text","value":" file and add the following option:"}]},{"type":"element","tag":"code","props":{"code":"meta: {\n layout: '',\n}\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"meta: {\n layout: '',\n}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For example:"}]},{"type":"element","tag":"code","props":{"code":" routes: [\n {\n path: '/',\n name: 'home',\n component: [...],\n meta: {\n layout: 'two-column',\n },\n },\n ]\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" routes: [\n {\n path: '/',\n name: 'home',\n component: [...],\n meta: {\n layout: 'two-column',\n },\n },\n ]"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Above, the Layout refers to a component within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/layouts"}]},{"type":"text","value":" directory called "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"two-column"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Layout must contain a router-view to display the Page within the area designated for it’s content."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Layout is contained within it’s own sub-folder within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/layouts"}]},{"type":"text","value":" directory. The directory contains the following files which each carry out a specific role in developing a Layout:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"vue"}]},{"type":"text","value":": This contains the Vue template markup used to implement the structure and layout of a Layout. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"ts"}]},{"type":"text","value":": This contains the controller which provides the procedural code-behind logical needed to add integrations to a Layout. Through this file you may expose data and handle events generated by Layout elements."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"scss"}]},{"type":"text","value":": This contains the stylesheet to be applied to the Layout- and that Layout only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [layout].vue template file."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the "},{"type":"element","tag":"a","props":{"href":"Theming.md#global-styles"},"children":[{"type":"text","value":"Theme"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"spec.ts"}]},{"type":"text","value":": This contains the unit-level tests for the Layout. Read the "},{"type":"element","tag":"a","props":{"href":"Testing.md#unit-tests-with-jest"},"children":[{"type":"text","value":"testing section"}]},{"type":"text","value":" for more details about writing tests."}]}]},{"type":"element","tag":"h2","props":{"id":"stores"},"children":[{"type":"text","value":"Stores"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Store is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for [re]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a Vue Store differs in two distinct ways:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Properties are reactive. Changing Store values will automatically propagate to the component-level bindings which use them."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Stores enforce a strong process-control for mutating values. Every change within a store "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"must"}]},{"type":"text","value":" go through a specially designed method, called a "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Mutation"}]},{"type":"text","value":", in order to update an internal value. This also produces the side-effect of making state manipulation atomic and track-able (using the "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=en","rel":["nofollow"]},"children":[{"type":"text","value":"Vue DevTools"}]},{"type":"text","value":")."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An application can have as many Stores as needed to logically group state concerns. The RDVue CLI creates strongly typed Stores, enabling full Intellisense and compiler support when writing code against them."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Data within a Store can be managed using 3 intrinsic functionalities of every Store:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Getters: Retrieve a value within the store."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Actions - Arbitrary, asynchronous, functions which can perform business logic and invoke mutations."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Mutations - Special, synchronous, functions which only update the values in Store. The operate atomically, meaning their changes are indivisible."}]}]},{"type":"element","tag":"h3","props":{"id":"technical-4"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Store consists of a standard Class, with "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Decorators"}]},{"type":"text","value":" providing the special functionality:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Module","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Module"}]}]}]},{"type":"text","value":" Decorator is added to the class itself and will be preconfigured with the necessary options whenever you use the CLI to create a new Store."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]}]},{"type":"text","value":" Decorator is added to the class’ methods that want to carry-out business logic and be able to persist the result of that into state. "},{"type":"element","tag":"a","props":{"href":"https://github.com/MultiParamAction","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@MultiParamAction"}]}]},{"type":"text","value":" is preferred over this Decorator due to Vuex quirks in how multiple parameters are handled."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>If multiple parameters are used in a base "},{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]},{"type":"text","value":", the real value of the first parameter will be an array with a payload object, and the second parameter will be an options object. This will likely be entirely misaligned from the type information you specified in TypeScript."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/MultiParamAction","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@MultiParamAction"}]}]}]},{"type":"text","value":" Decorator is the preferred alternative to "},{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]},{"type":"text","value":" because it allows methods to receive multiple parameters."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Mutation","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Mutation"}]}]}]},{"type":"text","value":" Decorator flags a method as being able to update the Store’s state. That means any fields which belong to the class may be set within the execution context of these methods."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!>Attempting to modify a field outside of a method marked with "},{"type":"element","tag":"a","props":{"href":"https://github.com/Mutation","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Mutation"}]}]},{"type":"text","value":" will result in a runtime error with the Vuex framework."}]},{"type":"element","tag":"h2","props":{"id":"localization"},"children":[{"type":"text","value":"Localization"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Localization refers to the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"adaptation"}]},{"type":"text","value":" of an application or website content to meet the language, cultural and other requirements of a specific target market (a "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":"). This feature has two parts that is required to work:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"A JSON file named as the respective "},{"type":"element","tag":"mark","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"i18n language codes,"}]}]},{"type":"text","value":" stored in the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"locales"}]},{"type":"text","value":" folder"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Function call with respective key"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Based of the current "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":", the matching JSON file would be searched for the matching key/s."}]},{"type":"element","tag":"h3","props":{"id":"technical-5"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Examples:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"A JSON file named “en.json” with structure as follows:"}]}]}]},{"type":"element","tag":"code","props":{"code":"{\n \"message\": \"hello i18n!!\"\n}\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"{\n \"message\": \"hello i18n!!\"\n}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"2. "},{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"Function"}]},{"type":"text","value":" called within "},{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"document"}]},{"type":"text","value":" as follows:"}]},{"type":"element","tag":"code","props":{"code":"
\n

{{ $t(\"message\") }}

\n
\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"
\n

{{ $t(\"message\") }}

\n
"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The call above would print the value of the message key "},{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"if the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":" is set to English (en)"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!>If no matching key was found, the key would be returned instead. In this case "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"message"}]}]},{"type":"element","tag":"h2","props":{"id":"bundle-analysis"},"children":[{"type":"text","value":"Bundle Analysis"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Bundle Analysis is the method of examining the detailed structure of individual elements within your application output build files. This allows for visualize and analyse build statistics pinpointing areas that can optimized in the next iteration of your build output. This process becomes increasingly important as your bundle size grow which has a direct impact on the end users load time."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Bundle Analyzer"}]},{"type":"text","value":" allows for the creation of statistical data that is used for visualizing webpack outputs which helps in understanding the composition of your bundles."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"RDVUE and Bundle Analysis Using Webpack Bundle Analyser Plugin"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To generate build files for bundle analysis we run the following command"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"$ npm run build"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This will build production ready files for deployment, additionally spinning up the integrated webpack bundle analysis server:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Webpack Bundle Analyzer is started at http://127.0.0.1:8888"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Expected terminal output:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/bundle-image1.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Expected browser output Treemap:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/bundle-image2.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This module will help you:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Realize what's "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"really"}]},{"type":"text","value":" inside your bundle"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Find out what modules make up the most of its size"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Find modules that got there by mistake"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Optimize it!"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"And the best thing is it supports minified bundles! It parses them to get real size of bundled modules. And it also shows their gzipped sizes!"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>For additional plugin options and configurations please visit: "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/webpack-bundle-analyzer","rel":["nofollow"]},"children":[{"type":"text","value":"https://www.npmjs.com/package/webpack-bundle-analyzer"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"services","depth":2,"text":"Services","children":[{"id":"technical","depth":3,"text":"Technical"}]},{"id":"pages","depth":2,"text":"Pages","children":[{"id":"technical-1","depth":3,"text":"Technical"}]},{"id":"routing","depth":2,"text":"Routing"},{"id":"components","depth":2,"text":"Components","children":[{"id":"technical-2","depth":3,"text":"Technical"}]},{"id":"layouts","depth":2,"text":"Layouts","children":[{"id":"technical-3","depth":3,"text":"Technical"}]},{"id":"stores","depth":2,"text":"Stores","children":[{"id":"technical-4","depth":3,"text":"Technical"}]},{"id":"localization","depth":2,"text":"Localization","children":[{"id":"technical-5","depth":3,"text":"Technical"}]},{"id":"bundle-analysis","depth":2,"text":"Bundle Analysis"}]}},"_type":"markdown","_id":"content:3.rdvue:5.features:1.features.md","_source":"content","_file":"3.rdvue/5.features/1.features.md","_extension":"md"},{"_path":"/rdvue/themeing/_dir","_dir":"themeing","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:3.rdvue:6.themeing:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.rdvue/6.themeing/_dir.yml","_extension":"yml"},{"_path":"/rdvue/themeing/theming","_dir":"themeing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Theming","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"theming"},"children":[{"type":"text","value":"Theming"}]},{"type":"element","tag":"h2","props":{"id":"global-styles"},"children":[{"type":"text","value":"Global Styles"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Custom styles can be added into the project to provide global-level styling. This is useful for providing defaults which will be used by all instances of an element - such as overriding a UI framework’s defaults."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>Global styles can be added to the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/theme"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"h3","props":{"id":"dos-and-dont"},"children":[{"type":"text","value":"Do’s and Don’t"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" use global styles to apply application level defaults to HTML elements"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do not"}]},{"type":"text","value":" use global styles to customize the imperative look/feel of specific Components. (Use "},{"type":"element","tag":"a","props":{"href":"Features.md#components"},"children":[{"type":"text","value":"Component-level"}]},{"type":"text","value":" styles and "},{"type":"element","tag":"a","props":{"href":"#tailwind"},"children":[{"type":"text","value":"Tailwind"}]},{"type":"text","value":" for that)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" use global styles to override imported UI components' look and feel (Eg. to customize Buefy)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" import global styles within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"main.ts"}]},{"type":"text","value":" app bootstrap file. This will allow unused selectors to be tree-shaken."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" import global styles from a CDN within the public/index.html file."}]}]},{"type":"element","tag":"h2","props":{"id":"tailwind"},"children":[{"type":"text","value":"Tailwind"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/","rel":["nofollow"]},"children":[{"type":"text","value":"Tailwind"}]},{"type":"text","value":" is a utility-first CSS framework which provides standardized classes for layout, colors and responsiveness. It is unique through its approach of providing low-level utility classes which can be rapidly combined to produce complex functionality. It does not provide custom UI elements like Buttons or Dropdowns, but rather focuses on building blocks which are agnostic of a specific visual design."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>Tailwind is the best practice approach for styling Components and Pages within RDVue."}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"tailwind.config.js"}]},{"type":"text","value":" file allows custom utilities to be created or existing ones overridden. Eg. new standardized margin or padding values."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Tailwind utilities can be combined within your custom CSS selectors using the "},{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/docs/functions-and-directives#apply","rel":["nofollow"]},"children":[{"type":"text","value":"@apply"}]},{"type":"text","value":" directive."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"New utility classes can "},{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/docs/adding-new-utilities","rel":["nofollow"]},"children":[{"type":"text","value":"implemented"}]},{"type":"text","value":" using CSS. They can be used with psuedo class and responsive variants - like native Tailwind utilities."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>The color section in tailwind.config.js should be overridden for new projects and the colors matching your style guide listed instead."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"global-styles","depth":2,"text":"Global Styles","children":[{"id":"dos-and-dont","depth":3,"text":"Do’s and Don’t"}]},{"id":"tailwind","depth":2,"text":"Tailwind","children":[{"id":"technical","depth":3,"text":"Technical"}]}]}},"_type":"markdown","_id":"content:3.rdvue:6.themeing:1.theming.md","_source":"content","_file":"3.rdvue/6.themeing/1.theming.md","_extension":"md"},{"_path":"/rdvue/testing/_dir","_dir":"testing","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:code","_id":"content:3.rdvue:7.testing:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"3.rdvue/7.testing/_dir.yml","_extension":"yml"},{"_path":"/rdvue/testing/testing","_dir":"testing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Testing","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"testing"},"children":[{"type":"text","value":"Testing"}]},{"type":"element","tag":"h2","props":{"id":"cypress"},"children":[{"type":"text","value":"Cypress"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Cypress is a JavaScript end-to-end testing framework that makes it easy to get started with structuring your tests for web applications. At its core, Cypress is not based on "},{"type":"element","tag":"a","props":{"href":"https://www.selenium.dev/projects/","rel":["nofollow"]},"children":[{"type":"text","value":"Selenium"}]},{"type":"text","value":", instead, it is based on a architecture that runs in the same run-loop as your web application. Cypress offers a "},{"type":"element","tag":"a","props":{"href":"https://docs.cypress.io/api/api/table-of-contents.html","rel":["nofollow"]},"children":[{"type":"text","value":"API"}]},{"type":"text","value":" that allows developers and QA Engineers a lot of flexibility to make tests. Examples would be offering the ability to do mocking of network requests, taking screenshots or recording your network activity."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"End-to-End (e2e) tests are usually tests that are focused on simulating user interactions. Cypress provides all the necessary dependencies to create these e2e tests and also to debug them if necessary."}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Within a project generated by the CLI tool, the following folder structure will be created:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/cypress.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All the e2e tests created by Cypress will live in the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"cypress/integration/specs"}]},{"type":"text","value":" directory. All these test files will have a .ts extension as they are written in TypeScript."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An example of a test file written in Cypress can be seen below:"}]},{"type":"element","tag":"code","props":{"code":"// Example spec file to see the different methods that can be used in Cypress to set the current viewport\n/// \n\ncontext('Viewport Examples', () => {\n beforeEach(() => {\n cy.visit('https://example.cypress.io/commands/viewport');\n });\n\n it('cy.viewport() - set the viewport size and dimension', () => {\n // https://on.cypress.io/viewport\n\n cy.get('#navbar').should('be.visible');\n cy.viewport(320, 480);\n\n // the navbar should have collapse since our screen is smaller\n cy.get('#navbar').should('not.be.visible');\n cy.get('.navbar-toggle').should('be.visible').click();\n cy.get('.nav').find('a').should('be.visible');\n\n // lets see what our app looks like on a super large screen\n cy.viewport(2999, 2999);\n\n // cy.viewport() accepts a set of preset sizes\n // to easily set the screen to a device's width and height\n\n // We added a cy.wait() between each viewport change so you can see\n // the change otherwise it is a little too fast to see :)\n\n cy.viewport('macbook-15');\n cy.wait(200);\n cy.viewport('macbook-13');\n cy.wait(200);\n cy.viewport('macbook-11');\n cy.wait(200);\n cy.viewport('ipad-2');\n cy.wait(200);\n cy.viewport('ipad-mini');\n cy.wait(200);\n cy.viewport('iphone-6+');\n cy.wait(200);\n cy.viewport('iphone-6');\n cy.wait(200);\n cy.viewport('iphone-5');\n cy.wait(200);\n cy.viewport('iphone-4');\n cy.wait(200);\n cy.viewport('iphone-3');\n cy.wait(200);\n\n // cy.viewport() accepts an orientation for all presets\n // the default orientation is 'portrait'\n cy.viewport('ipad-2', 'portrait');\n cy.wait(200);\n cy.viewport('iphone-4', 'landscape');\n cy.wait(200);\n\n // The viewport will be reset back to the default dimensions\n // in between tests (the default can be set in cypress.json)\n });\n });\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"// Example spec file to see the different methods that can be used in Cypress to set the current viewport\n/// \n\ncontext('Viewport Examples', () => {\n beforeEach(() => {\n cy.visit('https://example.cypress.io/commands/viewport');\n });\n\n it('cy.viewport() - set the viewport size and dimension', () => {\n // https://on.cypress.io/viewport\n\n cy.get('#navbar').should('be.visible');\n cy.viewport(320, 480);\n\n // the navbar should have collapse since our screen is smaller\n cy.get('#navbar').should('not.be.visible');\n cy.get('.navbar-toggle').should('be.visible').click();\n cy.get('.nav').find('a').should('be.visible');\n\n // lets see what our app looks like on a super large screen\n cy.viewport(2999, 2999);\n\n // cy.viewport() accepts a set of preset sizes\n // to easily set the screen to a device's width and height\n\n // We added a cy.wait() between each viewport change so you can see\n // the change otherwise it is a little too fast to see :)\n\n cy.viewport('macbook-15');\n cy.wait(200);\n cy.viewport('macbook-13');\n cy.wait(200);\n cy.viewport('macbook-11');\n cy.wait(200);\n cy.viewport('ipad-2');\n cy.wait(200);\n cy.viewport('ipad-mini');\n cy.wait(200);\n cy.viewport('iphone-6+');\n cy.wait(200);\n cy.viewport('iphone-6');\n cy.wait(200);\n cy.viewport('iphone-5');\n cy.wait(200);\n cy.viewport('iphone-4');\n cy.wait(200);\n cy.viewport('iphone-3');\n cy.wait(200);\n\n // cy.viewport() accepts an orientation for all presets\n // the default orientation is 'portrait'\n cy.viewport('ipad-2', 'portrait');\n cy.wait(200);\n cy.viewport('iphone-4', 'landscape');\n cy.wait(200);\n\n // The viewport will be reset back to the default dimensions\n // in between tests (the default can be set in cypress.json)\n });\n });"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default, all projects get sample tests generated for them which contain several examples for selecting elements, automating navigation and changing view ports for more responsive UI tests."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>When you are testing the connection between pages and user flows, a Cypress test should be created."}]},{"type":"element","tag":"h3","props":{"id":"running-tests"},"children":[{"type":"text","value":"Running tests"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In order to run your Cypress tests, execute "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"npm run test:e2e"}]},{"type":"text","value":" and the following dialog will open"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/inspection.png?raw=true"},"children":[]},{"type":"text","value":" \n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"From here, you can click on the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Run all specs"}]},{"type":"text","value":" option and see all the tests execute or you can click on a specific test file and see that test execute."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>Your application should be running on localhost or hosted at a url before trying to setup e2e tests."}]},{"type":"element","tag":"h2","props":{"id":"unit-tests-with-jest"},"children":[{"type":"text","value":"Unit Tests with Jest"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Unit tests are focused on validating small bits of functionality in a software product. Unit tests can be done manually or they can be automated. If you wish to learn more about unit testing and approaches that can be taken."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you wish to automate your unit tests, "},{"type":"element","tag":"a","props":{"href":"https://jestjs.io/","rel":["nofollow"]},"children":[{"type":"text","value":"Jest"}]},{"type":"text","value":" can be used. Jest is a JavaScript testing framework that can be integrated into several different JavaScript frameworks and it is very useful for certain use cases."}]},{"type":"element","tag":"h3","props":{"id":"technical-1"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each component generated by the RDVue CLI comes with a "},{"type":"element","tag":"component-name","props":{},"children":[{"type":"text","value":".spec.js file and the folder structure will look like the following:"}]}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/unitTest1.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The spec file generated will contain the following basic test by default:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/unitTest2.png?raw=true"},"children":[]},{"type":"text","value":"\n)\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This file is using the expect assertion library that comes with Jest and also the shallowMount method that is available to us through the ‘"},{"type":"element","tag":"a","props":{"href":"https://github.com/vue/test-utils","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@vue/test-utils"}]}]},{"type":"text","value":"' library. Jest comes pre-packaged with Mocha which is enables us to use the 'describe/it’ setup to describe our test suite and our specific test case respectively."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"shallowMount is used to mock or simulate what would happen to the component if it was actually mounted to the DOM. The .exists() method is used with shallowMount in order to check that the component was actually mounted and it does exist in the DOM."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"cypress","depth":2,"text":"Cypress","children":[{"id":"technical","depth":3,"text":"Technical"},{"id":"running-tests","depth":3,"text":"Running tests"}]},{"id":"unit-tests-with-jest","depth":2,"text":"Unit Tests with Jest","children":[{"id":"technical-1","depth":3,"text":"Technical"}]}]}},"_type":"markdown","_id":"content:3.rdvue:7.testing:1.testing.md","_source":"content","_file":"3.rdvue/7.testing/1.testing.md","_extension":"md"},{"_path":"/spectre/_dir","_dir":"spectre","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:bookmark-alt","_id":"content:4.Spectre:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.Spectre/_dir.yml","_extension":"yml"},{"_path":"/spectre/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:cube","_id":"content:4.Spectre:1.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"4.Spectre/1.getting-started/_dir.yml","_extension":"yml"},{"_path":"/spectre/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:4.Spectre:1.getting-started:1.introduction.md","_source":"content","_file":"4.Spectre/1.getting-started/1.introduction.md","_extension":"md"},{"_path":"/mobile/_dir","_dir":"mobile","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:play","_id":"content:5.mobile:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"5.mobile/_dir.yml","_extension":"yml"},{"_path":"/mobile/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:flag","_id":"content:5.mobile:1.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"5.mobile/1.getting-started/_dir.yml","_extension":"yml"},{"_path":"/mobile/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:5.mobile:1.getting-started:2.introduction.md","_source":"content","_file":"5.mobile/1.getting-started/2.introduction.md","_extension":"md"},{"_path":"/design/_dir","_dir":"design","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:play","_id":"content:6.design:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"6.design/_dir.yml","_extension":"yml"},{"_path":"/design/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:flag","_id":"content:6.design:1.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"6.design/1.getting-started/_dir.yml","_extension":"yml"},{"_path":"/design/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:6.design:1.getting-started:2.introduction.md","_source":"content","_file":"6.design/1.getting-started/2.introduction.md","_extension":"md"},{"_path":"/iac/_dir","_dir":"iac","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:play","_id":"content:7.IAC:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"7.IAC/_dir.yml","_extension":"yml"},{"_path":"/iac/getting-started/_dir","_dir":"getting-started","_draft":false,"_partial":true,"_locale":"","icon":"heroicons-outline:flag","_id":"content:7.IAC:1.getting-started:_dir.yml","_type":"yaml","title":"Dir","_source":"content","_file":"7.IAC/1.getting-started/_dir.yml","_extension":"yml"},{"_path":"/iac/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:7.IAC:1.getting-started:2.introduction.md","_source":"content","_file":"7.IAC/1.getting-started/2.introduction.md","_extension":"md"}],"navigation":[{"title":"Frontier","_path":"/frontier","children":[{"title":"Introduction","_path":"/frontier/introduction","children":[{"title":"What is Frontier?","_path":"/frontier/introduction/whats-frontier"},{"title":"Content directory","_path":"/frontier/introduction/content-directory"},{"title":"Philosophy","_path":"/frontier/introduction/philosophy"}],"icon":"heroicons-outline:pencil-alt"},{"title":"Installation","_path":"/frontier/installation","children":[{"title":"General Use","_path":"/frontier/installation/general"},{"title":"Development","_path":"/frontier/installation/development"},{"title":"Navigation","_path":"/frontier/installation/navigation"}],"icon":"heroicons-outline:document-text"},{"title":"Cli","_path":"/frontier/cli","children":[{"title":"Usage","_path":"/frontier/cli/usage"},{"title":"Development","_path":"/frontier/cli/development"}],"icon":"heroicons-outline:book-open"},{"title":"Plugins","_path":"/frontier/plugins","children":[{"title":"Frontend","_path":"/frontier/plugins/frontend"},{"title":"Mobile","_path":"/frontier/plugins/mobile"},{"title":"Quality","_path":"/frontier/plugins/quality"}],"icon":"heroicons-outline:book-open"},{"title":"Libraries","_path":"/frontier/libraries","children":[{"title":"TypeKit","_path":"/frontier/libraries/typekit"},{"title":"Standard Library","_path":"/frontier/libraries/standard-library"}],"icon":"heroicons-outline:code"},{"title":"Templates","_path":"/frontier/templates","children":[{"title":" Backend - Dot Net","_path":"/frontier/templates/dotnet"},{"title":" Backend - Typescript","_path":"/frontier/templates/typescript"},{"title":" Frontend - Nuxtjs","_path":"/frontier/templates/nuxt"}],"icon":"heroicons-outline:code"}],"icon":"heroicons-outline:book-open"},{"title":"Rdvue","_path":"/rdvue","children":[{"title":"Getting Started","_path":"/rdvue/getting-started","children":[{"title":"Getting Started","_path":"/rdvue/getting-started/overview"}],"icon":"heroicons-outline:pencil-alt"},{"title":"Cli Commands","_path":"/rdvue/cli-commands","children":[{"title":"CLI Commands","_path":"/rdvue/cli-commands/usage"}],"icon":"heroicons-outline:document-text"},{"title":"Scaffilding","_path":"/rdvue/scaffilding","children":[{"title":"Sitemap","_path":"/rdvue/scaffilding/sitemap"}],"icon":"heroicons-outline:book-open"},{"title":"Template Schema","_path":"/rdvue/template-schema","children":[{"title":"Template Schema","_path":"/rdvue/template-schema/schema"}],"icon":"heroicons-outline:code"},{"title":"Features","_path":"/rdvue/features","children":[{"title":"Rdvue Features","_path":"/rdvue/features/features"}],"icon":"heroicons-outline:code"},{"title":"Themeing","_path":"/rdvue/themeing","children":[{"title":"Theming","_path":"/rdvue/themeing/theming"}],"icon":"heroicons-outline:code"},{"title":"Testing","_path":"/rdvue/testing","children":[{"title":"Testing","_path":"/rdvue/testing/testing"}],"icon":"heroicons-outline:code"}],"icon":"heroicons-outline:book-open"},{"title":"Spectre","_path":"/spectre","children":[{"title":"Getting Started","_path":"/spectre/getting-started","children":[{"title":"Coming Soon","_path":"/spectre/getting-started/introduction"}],"icon":"heroicons-outline:cube"}],"icon":"heroicons-outline:bookmark-alt"},{"title":"Mobile","_path":"/mobile","children":[{"title":"Getting Started","_path":"/mobile/getting-started","children":[{"title":"Coming Soon","_path":"/mobile/getting-started/introduction"}],"icon":"heroicons-outline:flag"}],"icon":"heroicons-outline:play"},{"title":"Design","_path":"/design","children":[{"title":"Getting Started","_path":"/design/getting-started","children":[{"title":"Coming Soon","_path":"/design/getting-started/introduction"}],"icon":"heroicons-outline:flag"}],"icon":"heroicons-outline:play"},{"title":"Iac","_path":"/iac","children":[{"title":"Getting Started","_path":"/iac/getting-started","children":[{"title":"Coming Soon","_path":"/iac/getting-started/introduction"}],"icon":"heroicons-outline:flag"}],"icon":"heroicons-outline:play"}]} \ No newline at end of file diff --git a/docs/.output/public/api/_content/navigation/u7BbTyuhiE.1677768033312.json b/docs/.output/public/api/_content/navigation/u7BbTyuhiE.1677768033312.json deleted file mode 100644 index 0555d536..00000000 --- a/docs/.output/public/api/_content/navigation/u7BbTyuhiE.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"title":"Frontier","_path":"/frontier","children":[{"title":"Introduction","_path":"/frontier/introduction","children":[{"title":"What is Frontier?","_path":"/frontier/introduction/whats-frontier"},{"title":"Content directory","_path":"/frontier/introduction/content-directory"},{"title":"Philosophy","_path":"/frontier/introduction/philosophy"}],"icon":"heroicons-outline:pencil-alt"},{"title":"Installation","_path":"/frontier/installation","children":[{"title":"General Use","_path":"/frontier/installation/general"},{"title":"Development","_path":"/frontier/installation/development"},{"title":"Navigation","_path":"/frontier/installation/navigation"}],"icon":"heroicons-outline:document-text"},{"title":"Cli","_path":"/frontier/cli","children":[{"title":"Usage","_path":"/frontier/cli/usage"},{"title":"Development","_path":"/frontier/cli/development"}],"icon":"heroicons-outline:book-open"},{"title":"Plugins","_path":"/frontier/plugins","children":[{"title":"Frontend","_path":"/frontier/plugins/frontend"},{"title":"Mobile","_path":"/frontier/plugins/mobile"},{"title":"Quality","_path":"/frontier/plugins/quality"}],"icon":"heroicons-outline:book-open"},{"title":"Libraries","_path":"/frontier/libraries","children":[{"title":"TypeKit","_path":"/frontier/libraries/typekit"},{"title":"Standard Library","_path":"/frontier/libraries/standard-library"}],"icon":"heroicons-outline:code"},{"title":"Templates","_path":"/frontier/templates","children":[{"title":" Backend - Dot Net","_path":"/frontier/templates/dotnet"},{"title":" Backend - Typescript","_path":"/frontier/templates/typescript"},{"title":" Frontend - Nuxtjs","_path":"/frontier/templates/nuxt"}],"icon":"heroicons-outline:code"}],"icon":"heroicons-outline:book-open"},{"title":"Rdvue","_path":"/rdvue","children":[{"title":"Getting Started","_path":"/rdvue/getting-started","children":[{"title":"Getting Started","_path":"/rdvue/getting-started/overview"}],"icon":"heroicons-outline:pencil-alt"},{"title":"Cli Commands","_path":"/rdvue/cli-commands","children":[{"title":"CLI Commands","_path":"/rdvue/cli-commands/usage"}],"icon":"heroicons-outline:document-text"},{"title":"Scaffilding","_path":"/rdvue/scaffilding","children":[{"title":"Sitemap","_path":"/rdvue/scaffilding/sitemap"}],"icon":"heroicons-outline:book-open"},{"title":"Template Schema","_path":"/rdvue/template-schema","children":[{"title":"Template Schema","_path":"/rdvue/template-schema/schema"}],"icon":"heroicons-outline:code"},{"title":"Features","_path":"/rdvue/features","children":[{"title":"Rdvue Features","_path":"/rdvue/features/features"}],"icon":"heroicons-outline:code"},{"title":"Themeing","_path":"/rdvue/themeing","children":[{"title":"Theming","_path":"/rdvue/themeing/theming"}],"icon":"heroicons-outline:code"},{"title":"Testing","_path":"/rdvue/testing","children":[{"title":"Testing","_path":"/rdvue/testing/testing"}],"icon":"heroicons-outline:code"}],"icon":"heroicons-outline:book-open"},{"title":"Spectre","_path":"/spectre","children":[{"title":"Getting Started","_path":"/spectre/getting-started","children":[{"title":"Coming Soon","_path":"/spectre/getting-started/introduction"}],"icon":"heroicons-outline:cube"}],"icon":"heroicons-outline:bookmark-alt"},{"title":"Mobile","_path":"/mobile","children":[{"title":"Getting Started","_path":"/mobile/getting-started","children":[{"title":"Coming Soon","_path":"/mobile/getting-started/introduction"}],"icon":"heroicons-outline:flag"}],"icon":"heroicons-outline:play"},{"title":"Design","_path":"/design","children":[{"title":"Getting Started","_path":"/design/getting-started","children":[{"title":"Coming Soon","_path":"/design/getting-started/introduction"}],"icon":"heroicons-outline:flag"}],"icon":"heroicons-outline:play"},{"title":"Iac","_path":"/iac","children":[{"title":"Getting Started","_path":"/iac/getting-started","children":[{"title":"Coming Soon","_path":"/iac/getting-started/introduction"}],"icon":"heroicons-outline:flag"}],"icon":"heroicons-outline:play"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/19ZwhtnBsu.1677768033312.json b/docs/.output/public/api/_content/query/19ZwhtnBsu.1677768033312.json deleted file mode 100644 index 33cb8420..00000000 --- a/docs/.output/public/api/_content/query/19ZwhtnBsu.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/templates/dotnet","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Backend - Dot Net","description":"","_type":"markdown","_id":"content:2.frontier:6.templates:1.dotNet.md","_source":"content","_file":"2.frontier/6.templates/1.dotNet.md","_extension":"md"},{"_path":"/frontier/templates/nuxt","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Frontend - Nuxtjs","description":"","_type":"markdown","_id":"content:2.frontier:6.templates:3.nuxt.md","_source":"content","_file":"2.frontier/6.templates/3.nuxt.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/429l0g1JsL.1677768033312.json b/docs/.output/public/api/_content/query/429l0g1JsL.1677768033312.json deleted file mode 100644 index ce30a0bf..00000000 --- a/docs/.output/public/api/_content/query/429l0g1JsL.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/plugins/frontend","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Frontend","description":"","_type":"markdown","_id":"content:2.frontier:4.plugins:1.frontend.md","_source":"content","_file":"2.frontier/4.plugins/1.frontend.md","_extension":"md"},{"_path":"/frontier/plugins/quality","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Quality","description":"","_type":"markdown","_id":"content:2.frontier:4.plugins:2.quality.md","_source":"content","_file":"2.frontier/4.plugins/2.quality.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/47rOsvYKsq.1677768033312.json b/docs/.output/public/api/_content/query/47rOsvYKsq.1677768033312.json deleted file mode 100644 index 69c09008..00000000 --- a/docs/.output/public/api/_content/query/47rOsvYKsq.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/templates/nuxt","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Frontend - Nuxtjs","description":"","_type":"markdown","_id":"content:2.frontier:6.templates:3.nuxt.md","_source":"content","_file":"2.frontier/6.templates/3.nuxt.md","_extension":"md"},{"_path":"/rdvue/cli-commands/usage","_dir":"cli-commands","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"CLI Commands","description":"The Rdvue command line tool (CLI) is the main entry point for getting up and running with the Vue application. Similar documentation is available in the rdvue-cli README.","_type":"markdown","_id":"content:3.rdvue:2.cli-commands:1.usage.md","_source":"content","_file":"3.rdvue/2.cli-commands/1.usage.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/4yp2Okse4m.1677768033312.json b/docs/.output/public/api/_content/query/4yp2Okse4m.1677768033312.json deleted file mode 100644 index 52e757fd..00000000 --- a/docs/.output/public/api/_content/query/4yp2Okse4m.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/introduction/philosophy","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Philosophy","description":"","_type":"markdown","_id":"content:2.frontier:1.introduction:3.philosophy.md","_source":"content","_file":"2.frontier/1.introduction/3.philosophy.md","_extension":"md"},{"_path":"/frontier/installation/development","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","_type":"markdown","_id":"content:2.frontier:2.installation:2.development.md","_source":"content","_file":"2.frontier/2.installation/2.development.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/5CKmdxNney.1677768033312.json b/docs/.output/public/api/_content/query/5CKmdxNney.1677768033312.json deleted file mode 100644 index e99b593d..00000000 --- a/docs/.output/public/api/_content/query/5CKmdxNney.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/introduction","_dir":{"icon":"heroicons-outline:pencil-alt","title":"Dir"}} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/6p0u3YetMp.1677768033312.json b/docs/.output/public/api/_content/query/6p0u3YetMp.1677768033312.json deleted file mode 100644 index a982f349..00000000 --- a/docs/.output/public/api/_content/query/6p0u3YetMp.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/rdvue/features/features","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Rdvue Features","description":"This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"rdvue-features"},"children":[{"type":"text","value":"Rdvue Features"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Reading through this section will get you comfortable with the CLI."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An in depth look at the command used in this section, along with all available commands, can be found in "},{"type":"element","tag":"a","props":{"href":"CLI-Commands.md#cli-commands-1"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"RDvue provides an elegant way for generating features."}]},{"type":"element","tag":"h2","props":{"id":"services"},"children":[{"type":"text","value":"Services"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"only interact with a single domain"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"only provide features from the domain which are relevant to the theme of the service. Eg. A user service should be focused on methods support such; adding order related data would make for poor encapsulation."}]}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"While each generated service resides in its own file and class, all services extend a predefined BaseService class in order to provide centralized functionality."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Each service is able to specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (Eg. wrapper storage mechanism over LocalStorage)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Each service has access to the following protected memebers:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Member"}]}]},{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"api (field) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: Axios"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Helper to invoke web APIs. Individual service methods need only specify their endpoint paths relative to the registered root domain."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onRequest(request: AxiosRequestConfig) => void"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked before requests are sent to the web API endpoint."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onResponse(response: AxiosResponse) => void"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked before responses are handled by a Service’s methods."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"onError(data: any)"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Invoked for errors during request or response."}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Page is a conceptual grouping for Vue Components used in routing. Pages are "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"not"}]},{"type":"text","value":" to be imported by other Pages, Components or Layouts."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A special feature of Pages are that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The "},{"type":"element","tag":"a","props":{"href":"#layouts"},"children":[{"type":"text","value":"Layouts"}]},{"type":"text","value":" section goes into more detail on this approach."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?> A Page needs to be added to the "},{"type":"element","tag":"a","props":{"href":"#routing"},"children":[{"type":"text","value":"Router"}]},{"type":"text","value":" before it can be previewed within a web browser."}]},{"type":"element","tag":"h3","props":{"id":"technical-1"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Page is contained within it’s own sub-folder within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/pages"}]},{"type":"text","value":" directory. The directory contains the following files which each carry out a specific role in developing a Page:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"vue"}]},{"type":"text","value":": This contains the Vue template markup used to implement the structure and layout of a Page. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"ts"}]},{"type":"text","value":": This contains the TypeScript controller which provides the procedural code-behind logical needed to add integrations to a page. Through this file you may expose data and handle events generated by Page elements."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"scss"}]},{"type":"text","value":": This contains the SASS stylesheet to be applied to the page - and that page only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [page].vue template file."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?> Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[page]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"spec.ts"}]},{"type":"text","value":": This contains the unit-level tests for the page. Read the "},{"type":"element","tag":"a","props":{"href":"Testing.md#unit-tests-with-jest"},"children":[{"type":"text","value":"testing section"}]},{"type":"text","value":" for more details about writing tests."}]}]},{"type":"element","tag":"h2","props":{"id":"routing"},"children":[{"type":"text","value":"Routing"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Below is an example of a Route definition for a sample Login page:"}]},{"type":"element","tag":"code","props":{"code":"{\n path: '/login',\n name: 'login',\n meta: { layout: 'default' },\n component: () => import(/* webpackChunkName: \"login\" */ '@/pages/login'),\n},\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"{\n path: '/login',\n name: 'login',\n meta: { layout: 'default' },\n component: () => import(/* webpackChunkName: \"login\" */ '@/pages/login'),\n},"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"path"}]},{"type":"text","value":" property specifies where the page will be accessible under the domain, for example: localhost:8080**/login**."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"name"}]},{"type":"text","value":" field provides an alternative means of identifying and navigation to defined pages programatically. This approach is preferable because the route names can be externalized into global constants and shared throughout your code for navigational consistency."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"meta"}]},{"type":"text","value":" property allows specifying arbitrary data that will get passed along to the loaded Page. The CLI recognizes a sub-property called layout which it will use to attach a "},{"type":"element","tag":"a","props":{"href":"#layouts"},"children":[{"type":"text","value":"Layout"}]},{"type":"text","value":" to a page."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"component"}]},{"type":"text","value":" property specifies the Page to load for the given path. Here we used the recommended approach of dynamically loading the Page component using the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"import()"}]},{"type":"text","value":" function."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?> The import function is not the same as the import statements found at the top of a module file. The former is an asynchronous function that will load a module on-demand at runtime, while the latter only does static, compile-time, imports that always get bundled into the core application’s JavaScript payload."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The comment within the import statement is a directive for the Webpack pre-processor that compiles to project to create a new file which only contains the code needed to construct and execute the respective Page."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!>The comment inside the brackets of the import function are important and should be made unique to support proper code separation - or Chunking as it’s technically referred to. Do not delete them and ensure the value for "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"webpackChunkName"}]},{"type":"text","value":" is unique for each route."}]},{"type":"element","tag":"h2","props":{"id":"components"},"children":[{"type":"text","value":"Components"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Component is a conceptual grouping for Vue components which are imported by "},{"type":"element","tag":"a","props":{"href":"#pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"text","value":" and other Components."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Unlike Pages, Components are never used in Routing. That would deviate from the RDVue development style guide."}]},{"type":"element","tag":"h3","props":{"id":"technical-2"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Component contains all the files present for "},{"type":"element","tag":"a","props":{"href":"#pages"},"children":[{"type":"text","value":"Pages"}]},{"type":"text","value":" with the addition of:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[component]"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":".story.ts"}]},{"type":"text","value":": This contains the list of stories which describe the component’s usage. This is helpful for documentation purposes in providing live examples of key ways a Component can be used through the included Storybook preview tool."}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Components use special decorators within their TypeScript file to add metadata useful for generating its documentation within Storybook:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryComponent","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryComponent"}]}]}]},{"type":"text","value":": decorates the Component’s class, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Component","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Component"}]}]},{"type":"text","value":" (used in pages) with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the component’s overall purpose."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"module"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Text stating the module used in the import statement (eg. “@/components/foo”)"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"playground"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: boolean, default: true"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Toggles the Playground feature for this component within the Storybook preview."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"api"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: boolean, default: true"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Display the Component’s list of props, slots and events on the API tab within the Storybook preview tool."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"slots (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: {[key: string]: string}, default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the slots available within the component. Eg."},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"br","props":{},"children":[]},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"
slots: {
header: ‘The header component goes here’,
...
}
"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryProp","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryProp"}]}]}]},{"type":"text","value":": decorates the Component’s Props, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Prop","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Prop"}]}]},{"type":"text","value":" with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the prop's overall purpose."}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"values"}]},{"type":"text","value":" (optional) "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"[array; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"An optional list of values which are considered acceptable for the prop. This is great for constraining Props that are bound to an enum type."}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/StoryEvent","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@StoryEvent"}]}]}]},{"type":"text","value":": decorates the Component’s Events, providing the same functionality as "},{"type":"element","tag":"a","props":{"href":"https://github.com/Event","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Event"}]}]},{"type":"text","value":" with the addition of:"}]}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[]},{"type":"element","tag":"th","props":{"align":null},"children":[]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"description"}]},{"type":"text","value":" "},{"type":"element","tag":"br","props":{},"children":[]},{"type":"text","value":"type: string; default: undefined"}]},{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"Describe the event’s overall purpose."}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"layouts"},"children":[{"type":"text","value":"Layouts"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Layout is a conceptual grouping given to components which serve the purpose of rendering re-usable pieces of UI shared by many pages. An easy example is the header and footer information displayed on many sites: though the body of the page changes often, those elements remain the same."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>A Layout allows us to define the common elements while leaving a slot (router-view) to inject the actual body of the Page."}]},{"type":"element","tag":"h3","props":{"id":"technical-3"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To get a Page to use a Layout, edit it’s definition in the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"router.ts"}]},{"type":"text","value":" file and add the following option:"}]},{"type":"element","tag":"code","props":{"code":"meta: {\n layout: '',\n}\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"meta: {\n layout: '',\n}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For example:"}]},{"type":"element","tag":"code","props":{"code":" routes: [\n {\n path: '/',\n name: 'home',\n component: [...],\n meta: {\n layout: 'two-column',\n },\n },\n ]\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" routes: [\n {\n path: '/',\n name: 'home',\n component: [...],\n meta: {\n layout: 'two-column',\n },\n },\n ]"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Above, the Layout refers to a component within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/layouts"}]},{"type":"text","value":" directory called "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"two-column"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Layout must contain a router-view to display the Page within the area designated for it’s content."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Layout is contained within it’s own sub-folder within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/layouts"}]},{"type":"text","value":" directory. The directory contains the following files which each carry out a specific role in developing a Layout:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"vue"}]},{"type":"text","value":": This contains the Vue template markup used to implement the structure and layout of a Layout. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"ts"}]},{"type":"text","value":": This contains the controller which provides the procedural code-behind logical needed to add integrations to a Layout. Through this file you may expose data and handle events generated by Layout elements."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"scss"}]},{"type":"text","value":": This contains the stylesheet to be applied to the Layout- and that Layout only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [layout].vue template file."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the "},{"type":"element","tag":"a","props":{"href":"Theming.md#global-styles"},"children":[{"type":"text","value":"Theme"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"[layout]."},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"spec.ts"}]},{"type":"text","value":": This contains the unit-level tests for the Layout. Read the "},{"type":"element","tag":"a","props":{"href":"Testing.md#unit-tests-with-jest"},"children":[{"type":"text","value":"testing section"}]},{"type":"text","value":" for more details about writing tests."}]}]},{"type":"element","tag":"h2","props":{"id":"stores"},"children":[{"type":"text","value":"Stores"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Store is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for [re]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a Vue Store differs in two distinct ways:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Properties are reactive. Changing Store values will automatically propagate to the component-level bindings which use them."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Stores enforce a strong process-control for mutating values. Every change within a store "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"must"}]},{"type":"text","value":" go through a specially designed method, called a "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Mutation"}]},{"type":"text","value":", in order to update an internal value. This also produces the side-effect of making state manipulation atomic and track-able (using the "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=en","rel":["nofollow"]},"children":[{"type":"text","value":"Vue DevTools"}]},{"type":"text","value":")."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An application can have as many Stores as needed to logically group state concerns. The RDVue CLI creates strongly typed Stores, enabling full Intellisense and compiler support when writing code against them."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Data within a Store can be managed using 3 intrinsic functionalities of every Store:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Getters: Retrieve a value within the store."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Actions - Arbitrary, asynchronous, functions which can perform business logic and invoke mutations."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Mutations - Special, synchronous, functions which only update the values in Store. The operate atomically, meaning their changes are indivisible."}]}]},{"type":"element","tag":"h3","props":{"id":"technical-4"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A Store consists of a standard Class, with "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Decorators"}]},{"type":"text","value":" providing the special functionality:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Module","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Module"}]}]}]},{"type":"text","value":" Decorator is added to the class itself and will be preconfigured with the necessary options whenever you use the CLI to create a new Store."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]}]},{"type":"text","value":" Decorator is added to the class’ methods that want to carry-out business logic and be able to persist the result of that into state. "},{"type":"element","tag":"a","props":{"href":"https://github.com/MultiParamAction","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@MultiParamAction"}]}]},{"type":"text","value":" is preferred over this Decorator due to Vuex quirks in how multiple parameters are handled."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>If multiple parameters are used in a base "},{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]},{"type":"text","value":", the real value of the first parameter will be an array with a payload object, and the second parameter will be an options object. This will likely be entirely misaligned from the type information you specified in TypeScript."}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/MultiParamAction","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@MultiParamAction"}]}]}]},{"type":"text","value":" Decorator is the preferred alternative to "},{"type":"element","tag":"a","props":{"href":"https://github.com/Action","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Action"}]}]},{"type":"text","value":" because it allows methods to receive multiple parameters."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Mutation","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Mutation"}]}]}]},{"type":"text","value":" Decorator flags a method as being able to update the Store’s state. That means any fields which belong to the class may be set within the execution context of these methods."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!>Attempting to modify a field outside of a method marked with "},{"type":"element","tag":"a","props":{"href":"https://github.com/Mutation","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@Mutation"}]}]},{"type":"text","value":" will result in a runtime error with the Vuex framework."}]},{"type":"element","tag":"h2","props":{"id":"localization"},"children":[{"type":"text","value":"Localization"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Localization refers to the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"adaptation"}]},{"type":"text","value":" of an application or website content to meet the language, cultural and other requirements of a specific target market (a "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":"). This feature has two parts that is required to work:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"A JSON file named as the respective "},{"type":"element","tag":"mark","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"i18n language codes,"}]}]},{"type":"text","value":" stored in the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"locales"}]},{"type":"text","value":" folder"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Function call with respective key"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Based of the current "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":", the matching JSON file would be searched for the matching key/s."}]},{"type":"element","tag":"h3","props":{"id":"technical-5"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Examples:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"A JSON file named “en.json” with structure as follows:"}]}]}]},{"type":"element","tag":"code","props":{"code":"{\n \"message\": \"hello i18n!!\"\n}\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"{\n \"message\": \"hello i18n!!\"\n}"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"2. "},{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"Function"}]},{"type":"text","value":" called within "},{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"document"}]},{"type":"text","value":" as follows:"}]},{"type":"element","tag":"code","props":{"code":"
\n

{{ $t(\"message\") }}

\n
\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"
\n

{{ $t(\"message\") }}

\n
"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The call above would print the value of the message key "},{"type":"element","tag":"mark","props":{},"children":[{"type":"text","value":"if the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":" is set to English (en)"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!>If no matching key was found, the key would be returned instead. In this case "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"message"}]}]},{"type":"element","tag":"h2","props":{"id":"bundle-analysis"},"children":[{"type":"text","value":"Bundle Analysis"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Bundle Analysis is the method of examining the detailed structure of individual elements within your application output build files. This allows for visualize and analyse build statistics pinpointing areas that can optimized in the next iteration of your build output. This process becomes increasingly important as your bundle size grow which has a direct impact on the end users load time."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Bundle Analyzer"}]},{"type":"text","value":" allows for the creation of statistical data that is used for visualizing webpack outputs which helps in understanding the composition of your bundles."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"RDVUE and Bundle Analysis Using Webpack Bundle Analyser Plugin"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"To generate build files for bundle analysis we run the following command"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"$ npm run build"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This will build production ready files for deployment, additionally spinning up the integrated webpack bundle analysis server:"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"Webpack Bundle Analyzer is started at http://127.0.0.1:8888"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Expected terminal output:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/bundle-image1.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Expected browser output Treemap:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/bundle-image2.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This module will help you:"}]},{"type":"element","tag":"ol","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Realize what's "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"really"}]},{"type":"text","value":" inside your bundle"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Find out what modules make up the most of its size"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Find modules that got there by mistake"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Optimize it!"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"And the best thing is it supports minified bundles! It parses them to get real size of bundled modules. And it also shows their gzipped sizes!"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>For additional plugin options and configurations please visit: "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/webpack-bundle-analyzer","rel":["nofollow"]},"children":[{"type":"text","value":"https://www.npmjs.com/package/webpack-bundle-analyzer"}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"services","depth":2,"text":"Services","children":[{"id":"technical","depth":3,"text":"Technical"}]},{"id":"pages","depth":2,"text":"Pages","children":[{"id":"technical-1","depth":3,"text":"Technical"}]},{"id":"routing","depth":2,"text":"Routing"},{"id":"components","depth":2,"text":"Components","children":[{"id":"technical-2","depth":3,"text":"Technical"}]},{"id":"layouts","depth":2,"text":"Layouts","children":[{"id":"technical-3","depth":3,"text":"Technical"}]},{"id":"stores","depth":2,"text":"Stores","children":[{"id":"technical-4","depth":3,"text":"Technical"}]},{"id":"localization","depth":2,"text":"Localization","children":[{"id":"technical-5","depth":3,"text":"Technical"}]},{"id":"bundle-analysis","depth":2,"text":"Bundle Analysis"}]}},"_type":"markdown","_id":"content:3.rdvue:5.features:1.features.md","_source":"content","_file":"3.rdvue/5.features/1.features.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/6pNGztrIpy.1677768033312.json b/docs/.output/public/api/_content/query/6pNGztrIpy.1677768033312.json deleted file mode 100644 index 087891df..00000000 --- a/docs/.output/public/api/_content/query/6pNGztrIpy.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/installation/general","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"General Use","description":"","_type":"markdown","_id":"content:2.frontier:2.installation:1.general.md","_source":"content","_file":"2.frontier/2.installation/1.general.md","_extension":"md"},{"_path":"/frontier/installation/navigation","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Navigation","description":"","_type":"markdown","_id":"content:2.frontier:2.installation:3.navigation.md","_source":"content","_file":"2.frontier/2.installation/3.navigation.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/7Rwiic1Mfu.1677768033312.json b/docs/.output/public/api/_content/query/7Rwiic1Mfu.1677768033312.json deleted file mode 100644 index c920640f..00000000 --- a/docs/.output/public/api/_content/query/7Rwiic1Mfu.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/introduction/content-directory","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Content directory","description":"","_type":"markdown","_id":"content:2.frontier:1.introduction:2.content-directory.md","_source":"content","_file":"2.frontier/1.introduction/2.content-directory.md","_extension":"md"},{"_path":"/frontier/installation/general","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"General Use","description":"","_type":"markdown","_id":"content:2.frontier:2.installation:1.general.md","_source":"content","_file":"2.frontier/2.installation/1.general.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/89g0dcy129.1677768033312.json b/docs/.output/public/api/_content/query/89g0dcy129.1677768033312.json deleted file mode 100644 index a578a8b1..00000000 --- a/docs/.output/public/api/_content/query/89g0dcy129.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/spectre/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","_type":"markdown","_id":"content:4.Spectre:1.getting-started:1.introduction.md","_source":"content","_file":"4.Spectre/1.getting-started/1.introduction.md","_extension":"md"},{"_path":"/design/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","_type":"markdown","_id":"content:6.design:1.getting-started:2.introduction.md","_source":"content","_file":"6.design/1.getting-started/2.introduction.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/ALdmBT6ADc.1677768033312.json b/docs/.output/public/api/_content/query/ALdmBT6ADc.1677768033312.json deleted file mode 100644 index 9ce03dd3..00000000 --- a/docs/.output/public/api/_content/query/ALdmBT6ADc.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/rdvue/themeing/theming","_dir":"themeing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Theming","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"theming"},"children":[{"type":"text","value":"Theming"}]},{"type":"element","tag":"h2","props":{"id":"global-styles"},"children":[{"type":"text","value":"Global Styles"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Custom styles can be added into the project to provide global-level styling. This is useful for providing defaults which will be used by all instances of an element - such as overriding a UI framework’s defaults."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>Global styles can be added to the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"src/theme"}]},{"type":"text","value":" directory."}]},{"type":"element","tag":"h3","props":{"id":"dos-and-dont"},"children":[{"type":"text","value":"Do’s and Don’t"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" use global styles to apply application level defaults to HTML elements"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do not"}]},{"type":"text","value":" use global styles to customize the imperative look/feel of specific Components. (Use "},{"type":"element","tag":"a","props":{"href":"Features.md#components"},"children":[{"type":"text","value":"Component-level"}]},{"type":"text","value":" styles and "},{"type":"element","tag":"a","props":{"href":"#tailwind"},"children":[{"type":"text","value":"Tailwind"}]},{"type":"text","value":" for that)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" use global styles to override imported UI components' look and feel (Eg. to customize Buefy)."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" import global styles within the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"main.ts"}]},{"type":"text","value":" app bootstrap file. This will allow unused selectors to be tree-shaken."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Do"}]},{"type":"text","value":" import global styles from a CDN within the public/index.html file."}]}]},{"type":"element","tag":"h2","props":{"id":"tailwind"},"children":[{"type":"text","value":"Tailwind"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/","rel":["nofollow"]},"children":[{"type":"text","value":"Tailwind"}]},{"type":"text","value":" is a utility-first CSS framework which provides standardized classes for layout, colors and responsiveness. It is unique through its approach of providing low-level utility classes which can be rapidly combined to produce complex functionality. It does not provide custom UI elements like Buttons or Dropdowns, but rather focuses on building blocks which are agnostic of a specific visual design."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>Tailwind is the best practice approach for styling Components and Pages within RDVue."}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"The "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"tailwind.config.js"}]},{"type":"text","value":" file allows custom utilities to be created or existing ones overridden. Eg. new standardized margin or padding values."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Tailwind utilities can be combined within your custom CSS selectors using the "},{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/docs/functions-and-directives#apply","rel":["nofollow"]},"children":[{"type":"text","value":"@apply"}]},{"type":"text","value":" directive."}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"New utility classes can "},{"type":"element","tag":"a","props":{"href":"https://tailwindcss.com/docs/adding-new-utilities","rel":["nofollow"]},"children":[{"type":"text","value":"implemented"}]},{"type":"text","value":" using CSS. They can be used with psuedo class and responsive variants - like native Tailwind utilities."}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>The color section in tailwind.config.js should be overridden for new projects and the colors matching your style guide listed instead."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"global-styles","depth":2,"text":"Global Styles","children":[{"id":"dos-and-dont","depth":3,"text":"Do’s and Don’t"}]},{"id":"tailwind","depth":2,"text":"Tailwind","children":[{"id":"technical","depth":3,"text":"Technical"}]}]}},"_type":"markdown","_id":"content:3.rdvue:6.themeing:1.theming.md","_source":"content","_file":"3.rdvue/6.themeing/1.theming.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/BLviYQQPJ7.1677768033312.json b/docs/.output/public/api/_content/query/BLviYQQPJ7.1677768033312.json deleted file mode 100644 index 995d759c..00000000 --- a/docs/.output/public/api/_content/query/BLviYQQPJ7.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/installation/general","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"General Use","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"general-use"},"children":[{"type":"text","value":"General Use"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:2.installation:1.general.md","_source":"content","_file":"2.frontier/2.installation/1.general.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/BoNR1lKKhq.1677768033312.json b/docs/.output/public/api/_content/query/BoNR1lKKhq.1677768033312.json deleted file mode 100644 index cf7e569f..00000000 --- a/docs/.output/public/api/_content/query/BoNR1lKKhq.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/rdvue/cli-commands/usage","_dir":"cli-commands","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"CLI Commands","description":"The Rdvue command line tool (CLI) is the main entry point for getting up and running with the Vue application. Similar documentation is available in the rdvue-cli README.","_type":"markdown","_id":"content:3.rdvue:2.cli-commands:1.usage.md","_source":"content","_file":"3.rdvue/2.cli-commands/1.usage.md","_extension":"md"},{"_path":"/rdvue/template-schema/schema","_dir":"template-schema","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Template Schema","description":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module.","_type":"markdown","_id":"content:3.rdvue:4.template-schema:1.schema.md","_source":"content","_file":"3.rdvue/4.template-schema/1.schema.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/BrSZyfjf5T.1677768033312.json b/docs/.output/public/api/_content/query/BrSZyfjf5T.1677768033312.json deleted file mode 100644 index b21430cd..00000000 --- a/docs/.output/public/api/_content/query/BrSZyfjf5T.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/rdvue/themeing/theming","_dir":"themeing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Theming","description":"","_type":"markdown","_id":"content:3.rdvue:6.themeing:1.theming.md","_source":"content","_file":"3.rdvue/6.themeing/1.theming.md","_extension":"md"},{"_path":"/spectre/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","_type":"markdown","_id":"content:4.Spectre:1.getting-started:1.introduction.md","_source":"content","_file":"4.Spectre/1.getting-started/1.introduction.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/Bwmd3WsD1s.1677768033312.json b/docs/.output/public/api/_content/query/Bwmd3WsD1s.1677768033312.json deleted file mode 100644 index 3937bfbf..00000000 --- a/docs/.output/public/api/_content/query/Bwmd3WsD1s.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/rdvue/testing/testing","_dir":"testing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Testing","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"testing"},"children":[{"type":"text","value":"Testing"}]},{"type":"element","tag":"h2","props":{"id":"cypress"},"children":[{"type":"text","value":"Cypress"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Cypress is a JavaScript end-to-end testing framework that makes it easy to get started with structuring your tests for web applications. At its core, Cypress is not based on "},{"type":"element","tag":"a","props":{"href":"https://www.selenium.dev/projects/","rel":["nofollow"]},"children":[{"type":"text","value":"Selenium"}]},{"type":"text","value":", instead, it is based on a architecture that runs in the same run-loop as your web application. Cypress offers a "},{"type":"element","tag":"a","props":{"href":"https://docs.cypress.io/api/api/table-of-contents.html","rel":["nofollow"]},"children":[{"type":"text","value":"API"}]},{"type":"text","value":" that allows developers and QA Engineers a lot of flexibility to make tests. Examples would be offering the ability to do mocking of network requests, taking screenshots or recording your network activity."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"End-to-End (e2e) tests are usually tests that are focused on simulating user interactions. Cypress provides all the necessary dependencies to create these e2e tests and also to debug them if necessary."}]},{"type":"element","tag":"h3","props":{"id":"technical"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Within a project generated by the CLI tool, the following folder structure will be created:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/cypress.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All the e2e tests created by Cypress will live in the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"cypress/integration/specs"}]},{"type":"text","value":" directory. All these test files will have a .ts extension as they are written in TypeScript."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"An example of a test file written in Cypress can be seen below:"}]},{"type":"element","tag":"code","props":{"code":"// Example spec file to see the different methods that can be used in Cypress to set the current viewport\n/// \n\ncontext('Viewport Examples', () => {\n beforeEach(() => {\n cy.visit('https://example.cypress.io/commands/viewport');\n });\n\n it('cy.viewport() - set the viewport size and dimension', () => {\n // https://on.cypress.io/viewport\n\n cy.get('#navbar').should('be.visible');\n cy.viewport(320, 480);\n\n // the navbar should have collapse since our screen is smaller\n cy.get('#navbar').should('not.be.visible');\n cy.get('.navbar-toggle').should('be.visible').click();\n cy.get('.nav').find('a').should('be.visible');\n\n // lets see what our app looks like on a super large screen\n cy.viewport(2999, 2999);\n\n // cy.viewport() accepts a set of preset sizes\n // to easily set the screen to a device's width and height\n\n // We added a cy.wait() between each viewport change so you can see\n // the change otherwise it is a little too fast to see :)\n\n cy.viewport('macbook-15');\n cy.wait(200);\n cy.viewport('macbook-13');\n cy.wait(200);\n cy.viewport('macbook-11');\n cy.wait(200);\n cy.viewport('ipad-2');\n cy.wait(200);\n cy.viewport('ipad-mini');\n cy.wait(200);\n cy.viewport('iphone-6+');\n cy.wait(200);\n cy.viewport('iphone-6');\n cy.wait(200);\n cy.viewport('iphone-5');\n cy.wait(200);\n cy.viewport('iphone-4');\n cy.wait(200);\n cy.viewport('iphone-3');\n cy.wait(200);\n\n // cy.viewport() accepts an orientation for all presets\n // the default orientation is 'portrait'\n cy.viewport('ipad-2', 'portrait');\n cy.wait(200);\n cy.viewport('iphone-4', 'landscape');\n cy.wait(200);\n\n // The viewport will be reset back to the default dimensions\n // in between tests (the default can be set in cypress.json)\n });\n });\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"// Example spec file to see the different methods that can be used in Cypress to set the current viewport\n/// \n\ncontext('Viewport Examples', () => {\n beforeEach(() => {\n cy.visit('https://example.cypress.io/commands/viewport');\n });\n\n it('cy.viewport() - set the viewport size and dimension', () => {\n // https://on.cypress.io/viewport\n\n cy.get('#navbar').should('be.visible');\n cy.viewport(320, 480);\n\n // the navbar should have collapse since our screen is smaller\n cy.get('#navbar').should('not.be.visible');\n cy.get('.navbar-toggle').should('be.visible').click();\n cy.get('.nav').find('a').should('be.visible');\n\n // lets see what our app looks like on a super large screen\n cy.viewport(2999, 2999);\n\n // cy.viewport() accepts a set of preset sizes\n // to easily set the screen to a device's width and height\n\n // We added a cy.wait() between each viewport change so you can see\n // the change otherwise it is a little too fast to see :)\n\n cy.viewport('macbook-15');\n cy.wait(200);\n cy.viewport('macbook-13');\n cy.wait(200);\n cy.viewport('macbook-11');\n cy.wait(200);\n cy.viewport('ipad-2');\n cy.wait(200);\n cy.viewport('ipad-mini');\n cy.wait(200);\n cy.viewport('iphone-6+');\n cy.wait(200);\n cy.viewport('iphone-6');\n cy.wait(200);\n cy.viewport('iphone-5');\n cy.wait(200);\n cy.viewport('iphone-4');\n cy.wait(200);\n cy.viewport('iphone-3');\n cy.wait(200);\n\n // cy.viewport() accepts an orientation for all presets\n // the default orientation is 'portrait'\n cy.viewport('ipad-2', 'portrait');\n cy.wait(200);\n cy.viewport('iphone-4', 'landscape');\n cy.wait(200);\n\n // The viewport will be reset back to the default dimensions\n // in between tests (the default can be set in cypress.json)\n });\n });"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"By default, all projects get sample tests generated for them which contain several examples for selecting elements, automating navigation and changing view ports for more responsive UI tests."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>When you are testing the connection between pages and user flows, a Cypress test should be created."}]},{"type":"element","tag":"h3","props":{"id":"running-tests"},"children":[{"type":"text","value":"Running tests"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"In order to run your Cypress tests, execute "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"npm run test:e2e"}]},{"type":"text","value":" and the following dialog will open"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/inspection.png?raw=true"},"children":[]},{"type":"text","value":" \n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"From here, you can click on the "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Run all specs"}]},{"type":"text","value":" option and see all the tests execute or you can click on a specific test file and see that test execute."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"?>Your application should be running on localhost or hosted at a url before trying to setup e2e tests."}]},{"type":"element","tag":"h2","props":{"id":"unit-tests-with-jest"},"children":[{"type":"text","value":"Unit Tests with Jest"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Unit tests are focused on validating small bits of functionality in a software product. Unit tests can be done manually or they can be automated. If you wish to learn more about unit testing and approaches that can be taken."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you wish to automate your unit tests, "},{"type":"element","tag":"a","props":{"href":"https://jestjs.io/","rel":["nofollow"]},"children":[{"type":"text","value":"Jest"}]},{"type":"text","value":" can be used. Jest is a JavaScript testing framework that can be integrated into several different JavaScript frameworks and it is very useful for certain use cases."}]},{"type":"element","tag":"h3","props":{"id":"technical-1"},"children":[{"type":"text","value":"Technical"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each component generated by the RDVue CLI comes with a "},{"type":"element","tag":"component-name","props":{},"children":[{"type":"text","value":".spec.js file and the folder structure will look like the following:"}]}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/unitTest1.png?raw=true"},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The spec file generated will contain the following basic test by default:"}]},{"type":"element","tag":"img","props":{"src":"https://github.com/realdecoy/rdvue/blob/main/docs/images/unitTest2.png?raw=true"},"children":[]},{"type":"text","value":"\n)\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This file is using the expect assertion library that comes with Jest and also the shallowMount method that is available to us through the ‘"},{"type":"element","tag":"a","props":{"href":"https://github.com/vue/test-utils","rel":["nofollow"]},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"@vue/test-utils"}]}]},{"type":"text","value":"' library. Jest comes pre-packaged with Mocha which is enables us to use the 'describe/it’ setup to describe our test suite and our specific test case respectively."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"shallowMount is used to mock or simulate what would happen to the component if it was actually mounted to the DOM. The .exists() method is used with shallowMount in order to check that the component was actually mounted and it does exist in the DOM."}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"cypress","depth":2,"text":"Cypress","children":[{"id":"technical","depth":3,"text":"Technical"},{"id":"running-tests","depth":3,"text":"Running tests"}]},{"id":"unit-tests-with-jest","depth":2,"text":"Unit Tests with Jest","children":[{"id":"technical-1","depth":3,"text":"Technical"}]}]}},"_type":"markdown","_id":"content:3.rdvue:7.testing:1.testing.md","_source":"content","_file":"3.rdvue/7.testing/1.testing.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/CmzcyosjoR.1677768033312.json b/docs/.output/public/api/_content/query/CmzcyosjoR.1677768033312.json deleted file mode 100644 index 6dafde96..00000000 --- a/docs/.output/public/api/_content/query/CmzcyosjoR.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/plugins/mobile","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Mobile","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"mobile"},"children":[{"type":"text","value":"Mobile"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.plugins:2.mobile.md","_source":"content","_file":"2.frontier/4.plugins/2.mobile.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/ESBtShW9sz.1677768033312.json b/docs/.output/public/api/_content/query/ESBtShW9sz.1677768033312.json deleted file mode 100644 index 04e1a3b9..00000000 --- a/docs/.output/public/api/_content/query/ESBtShW9sz.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/rdvue/template-schema/schema","_dir":"template-schema","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Template Schema","description":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module.","_type":"markdown","_id":"content:3.rdvue:4.template-schema:1.schema.md","_source":"content","_file":"3.rdvue/4.template-schema/1.schema.md","_extension":"md"},{"_path":"/rdvue/themeing/theming","_dir":"themeing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Theming","description":"","_type":"markdown","_id":"content:3.rdvue:6.themeing:1.theming.md","_source":"content","_file":"3.rdvue/6.themeing/1.theming.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/GkDGmUyz0M.1677768033312.json b/docs/.output/public/api/_content/query/GkDGmUyz0M.1677768033312.json deleted file mode 100644 index 22857215..00000000 --- a/docs/.output/public/api/_content/query/GkDGmUyz0M.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/rdvue/template-schema/schema","_dir":"template-schema","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Template Schema","description":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"template-schema"},"children":[{"type":"text","value":"Template Schema"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module."}]},{"type":"element","tag":"h2","props":{"id":"templatejson"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"template.json"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The template.json file keeps a record of each abstracted template module. This file directs how the CLI will navigate and parse each subsequent template module. The following is a breakdown of the sections that make up template.json."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The template.json file includes the following properties:"}]},{"type":"element","tag":"h3","props":{"id":"version"},"children":[{"type":"text","value":"version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A number representing the current version of the file."}]},{"type":"element","tag":"code","props":{"code":"{\n \"version\": 1\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"1"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sourcedirectory"},"children":[{"type":"text","value":"sourceDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Source directory for module files that will be copied into a project. Normally points to the base folder of a module."}]},{"type":"element","tag":"code","props":{"code":"{\n \"sourceDirectory\": \"./\",\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"sourceDirectory\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"./\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"features"},"children":[{"type":"text","value":"features"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The features section holds a list of objects with each representing a single feature. Each object holds two properties, name & private."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The name property holds the name of a feature, this the name that you must use when running a command on any of these features."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The private is a boolean which determines whether or not the files of a feature can be overwritten after been initially added to the project. Also, features whose private property is set to true cannot be added by a user."}]},{"type":"element","tag":"code","props":{"code":" \"features\": [\n {\n \"name\": \"config\",\n \"private\": true\n },\n {\n \"name\": \"store\",\n \"private\": true\n },\n {\n \"name\": \"component\",\n \"private\": false\n },\n {\n \"name\": \"service\",\n \"private\": false\n },\n {\n \"name\": \"model\",\n \"private\": false\n },\n {\n \"name\": \"page\",\n \"private\": false\n },\n {\n \"name\": \"sm\",\n \"private\": false\n }\n ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"service\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"model\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"page\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"sm\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"plugins"},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The plugins section holds a list of names of the plugins available in RDvue. After setting up your configuration files for a plugin, simply add the name (the name of the module folder for the configuration files of your plugin) to this list to make it available to the CLI for usage."}]},{"type":"element","tag":"code","props":{"code":"\"plugins\": [\n \"auth\",\n \"localization\",\n \"storybook\"\n]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"auth\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"project"},"children":[{"type":"text","value":"project"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The project section is an object which defines what will be installed at project creation. Currently, there are two properties/keys on this object, features & plugin."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The features property/key is an array holding the name of all features which will be automatically generated at project creation."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The plugins property/key is an array holding the name of all plugins which will be automatically generated at project creation."}]},{"type":"element","tag":"code","props":{"code":"\"project\": {\n    \"features\": [\n      \"config\",\n      \"store\"\n    ],\n    \"plugins\": [\n      \"storybook\"\n    ]\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"groups"},"children":[{"type":"text","value":"groups"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The groups section is used to group plugins that offer similar functionalities."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For example, imagine if we had the following two UI libraries Buefy & Vuetify, we could create a group called ui-library which holds these two plugins."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each group is represented as an object. Each object has the following properties:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name of the group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"isMultipleChoice - boolean indicating if more than one option can be selected from this group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"plugins - a list of the names of the plugins that belong to the group"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"question - the question prompted to a user when they run the command to add a plugin from a group"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Running rdvue add-group would prompt a user with the question that belongs to the requested group along with the list of plugins in that group to choose from."}]},{"type":"element","tag":"code","props":{"code":"\"project\": {\n    \"features\": [\n      \"config\",\n      \"store\"\n    ],\n    \"plugins\": [\n      \"storybook\"\n    ]\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"presets"},"children":[{"type":"text","value":"presets"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"presets are available for a user to quickly scaffold in plugins when creating a project. The presets section of the template.json contains a list of objects. each representing an individual preset. A preset object contains the following properties:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name of the preset"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"description - description of the preset. Conventionally used to list out the plugins that comes with the preset"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"plugins- a list of the plugins which the preset will install"}]}]},{"type":"element","tag":"code","props":{"code":" \"presets\": [\n    {\n      \"name\": \"Sample Preset 1\",\n      \"description\": \"Installs storybook, and localization\",\n      \"plugins\": [\n        \"storybook\",\n        \"localization\"\n      ]\n    }\n  ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Sample Preset 1\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"description\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Installs storybook, and localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ]"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"custompreset"},"children":[{"type":"text","value":"customPreset"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A user can decide to manually select plugins from different groups that they’d like at project creation instead of choosing a preset. The cutomPreset object describes the groups available to a user. It includes the following:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name - the name displayed to the user"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"groups - a list containing the names of the Feature Groups which the user will be able to choose from"}]}]},{"type":"element","tag":"code","props":{"code":" \"customPreset\": {\n    \"groups\": [\n      \"authentication\",\n      \"locale\"\n    ],\n    \"name\": \"custom\"\n  }\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"customPreset\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"locale\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"custom\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  }"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"example-templatejson-file"},"children":[{"type":"text","value":"Example "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"template.json"}]},{"type":"text","value":" file"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Here is a sample of what a complete template.json file would look like."}]},{"type":"element","tag":"code","props":{"code":"{\n  \"version\": 1,\n  \"sourceDirectory\": \"./\",\n  \"features\": [\n    {\n      \"name\": \"config\",\n      \"private\": true\n    },\n    {\n      \"name\": \"store\",\n      \"private\": true\n    },\n    {\n      \"name\": \"component\",\n      \"private\": false\n    },\n    {\n      \"name\": \"service\",\n      \"private\": false\n    },\n    {\n      \"name\": \"model\",\n      \"private\": false\n    },\n    {\n      \"name\": \"page\",\n      \"private\": false\n    },\n    {\n      \"name\": \"sm\",\n      \"private\": false\n    }\n  ],\n  \"plugins\": [\n    \"auth\",\n    \"localization\",\n    \"storybook\"\n  ],\n  \"project\": {\n    \"features\": [\n      \"config\",\n      \"store\"\n    ],\n    \"plugins\": [\n      \"storybook\"\n    ]\n  },\n  \"groups\": [\n    {\n      \"name\": \"authentication\",\n      \"isMultipleChoice\": false,\n      \"plugins\": [\n        \"auth\"\n      ],\n      \"question\": \"Which Authentication Library would you like to install?\"\n    },\n    {\n      \"name\": \"locale\",\n      \"isMultipleChoice\": false,\n      \"plugins\": [\n        \"localization\"\n      ],\n      \"question\": \"Which Localization Library would you like to install?\"\n    }\n  ],\n  \"presets\": [\n    {\n      \"name\": \"Sample Preset 1\",\n      \"description\": \"Installs storybook, and localization\",\n      \"plugins\": [\n        \"storybook\",\n        \"localization\"\n      ]\n    }\n  ],\n  \"customPreset\": {\n    \"groups\": [\n      \"authentication\",\n      \"locale\"\n    ],\n    \"name\": \"custom\"\n  }\n}\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"sourceDirectory\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"./\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"service\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"model\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"page\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"sm\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"private\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"auth\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"project\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"features\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"config\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"isMultipleChoice\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"auth\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"question\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Which Authentication Library would you like to install?\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"locale\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"isMultipleChoice\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-194c67"},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"question\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Which Localization Library would you like to install?\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Sample Preset 1\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"description\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"Installs storybook, and localization\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"storybook\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"        "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"localization\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"customPreset\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"groups\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"authentication\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"      "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"locale\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"    "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"custom\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"  }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"h1","props":{"id":"template-module"},"children":[{"type":"text","value":"Template Module"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Modules are self-contained building blocks of a full Vue project. Each module must contain a manifest.json file."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A module.json file is built with the following section. Not all sections will be needed inside every module.json file created. A module.json is composed of the following sections:"}]},{"type":"element","tag":"h3","props":{"id":"version-1"},"children":[{"type":"text","value":"version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The current version of the file."}]},{"type":"element","tag":"code","props":{"code":"\"version\": 1\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"version\": 1"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"name"},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Name of the module (e.g component)"}]},{"type":"element","tag":"code","props":{"code":" \"name\": \"component\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"name\": \"component\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"description"},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A description of the module. This is also displayed inside the CLI help menu for each Module."}]},{"type":"element","tag":"code","props":{"code":"\"description\": \"Generate a basic components needed for basic authenticaton.\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"description\": \"Generate a basic components needed for basic authenticaton.\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"sourcedirectory-1"},"children":[{"type":"text","value":"sourceDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Source directory for module files that get copied into a project. Normally points to the base folder of a module."}]},{"type":"element","tag":"code","props":{"code":" \"sourceDirectory\": \"./\"\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"sourceDirectory\": \"./\""}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"installdirectory"},"children":[{"type":"text","value":"installDirectory"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"the location that the module should be generated in the Vue project."}]},{"type":"element","tag":"h3","props":{"id":"files"},"children":[{"type":"text","value":"files"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"a list of files that exist in the module that needs to be copied to the install directory. The files in this list can either be either of the following:"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"a string (if the file should be copied as-is)"}]}]},{"type":"element","tag":"code","props":{"code":"\"files\": [\n {\n \"source\": \"store/auth.ts\",\n \"target\": \"store/auth.ts\"\n },\n {\n \"source\": \"services/auth.ts\",\n \"target\": \"services/auth.ts\"\n },\n {\n \"source\": \"model/user.ts\",\n \"target\": \"model/user.ts\"\n },\n {\n \"source\": \"pages/register/index.ts\",\n \"target\": \"pages/auth/register/index.ts\"\n },\n {\n \"source\": \"pages/register/register.ts\",\n \"target\": \"pages/auth/register/register.ts\"\n },\n {\n \"source\": \"pages/register/register.scss\",\n \"target\": \"pages/auth/register/register.scss\"\n },\n {\n \"source\": \"pages/register/register.vue\",\n \"target\": \"pages/auth/register/register.vue\"\n },\n {\n \"source\": \"pages/login/index.ts\",\n \"target\": \"pages/auth/login/index.ts\"\n },\n {\n \"source\": \"pages/login/login.ts\",\n \"target\": \"pages/auth/login/login.ts\"\n },\n {\n \"source\": \"pages/login/login.scss\",\n \"target\": \"pages/auth/login/login.scss\"\n },\n {\n \"source\": \"pages/login/login.vue\",\n \"target\": \"pages/auth/login/login.vue\"\n },\n {\n \"source\": \"pages/forget-password/index.ts\",\n \"target\": \"pages/auth/forget-password/index.ts\"\n },\n {\n \"source\": \"pages/forget-password/forget-password.ts\",\n \"target\": \"pages/auth/forget-password/forget-password.ts\"\n },\n {\n \"source\": \"pages/forget-password/forget-password.scss\",\n \"target\": \"pages/auth/forget-password/forget-password.scss\"\n },\n {\n \"source\": \"pages/forget-password/forget-password.vue\",\n \"target\": \"pages/auth/forget-password/forget-password.vue\"\n }\n ]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store/auth.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"store/auth.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"services/auth.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"services/auth.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"model/user.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"model/user.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/register/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/register/index.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/register/register.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/register/register.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/register/register.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/register/register.scss\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/register/register.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/register/register.vue\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/login/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/login/index.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/login/login.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/login/login.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/login/login.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/login/login.scss\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/login/login.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/login/login.vue\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/forget-password/index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/forget-password/index.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.ts\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.scss\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/forget-password/forget-password.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"pages/auth/forget-password/forget-password.vue\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"object with required properties:"},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"source and target (for change of name if necessary)"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"and an optional content list of objects for finding and replacing content within the file -"}]}]},{"type":"element","tag":"code","props":{"code":"\"files\": [\n {\n \"source\": \"index.ts\",\n \"target\": \"index.ts\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\n \"replace\": \"${componentNameKebab}\"\n }\n ]\n },\n {\n \"source\": \"component.scss\",\n \"target\": \"${componentNameKebab}.scss\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__\",\n \"replace\": \"${componentNameKebab}\"\n }\n ]\n },\n {\n \"source\": \"component.ts\",\n \"target\": \"${componentNameKebab}.ts\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\n \"replace\": \"${componentNameKebab}\"\n },\n {\n \"matchRegex\": \"__COMPONENT__\",\n \"replace\": \"${componentName}\"\n }\n ]\n },\n {\n \"source\": \"component.spec.js\",\n \"target\": \"${componentNameKebab}.spec.js\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__KEBAB__\",\n \"replace\": \"${componentNameKebab}\"\n },\n {\n \"matchRegex\": \"__COMPONENT__\",\n \"replace\": \"${componentName}\"\n }\n ]\n },\n {\n \"source\": \"component.vue\",\n \"target\": \"${componentNameKebab}.vue\",\n \"content\": [\n {\n \"matchRegex\": \"__COMPONENT__\",\n \"replace\": \"${componentNameKebab}\"\n }\n ]\n }\n]\n","language":"json","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"index.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}.scss\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}.ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentName}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component.spec.js\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}.spec.js\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__KEBAB__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentName}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"source\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"component.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"target\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}.vue\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"content\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"matchRegex\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"__COMPONENT__\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dea269"},"children":[{"type":"text","value":"\"replace\""}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"\"${componentNameKebab}\""}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" ]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"]"}]}]}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"\n _Note: files section can be a combination of both types mentioned above._\n\n### packages\nThis section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.\n\nThe dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.\n\n```json\n \"packages\": {\n \"dependencies\": [\"vue-i18n\"],\n \"devDependencies\": [\"vue-cli-plugin-i18n\"]\n }\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\n _Note: files section can be a combination of both types mentioned above._\n\n### packages\nThis section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.\n\nThe dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.\n\n```json\n \"packages\": {\n \"dependencies\": [\"vue-i18n\"],\n \"devDependencies\": [\"vue-cli-plugin-i18n\"]\n }"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"There’s currently no support for specifying package versions."}]}]},{"type":"element","tag":"h3","props":{"id":"routes"},"children":[{"type":"text","value":"routes"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You have the ability to inject a route into the application to allow users to preview a module (feature or plugin) after installing it."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The routes section of the manifest.json allows you to define an array of routes. Here’s an example:"}]},{"type":"element","tag":"code","props":{"code":" \"routes\": [\n {\n \"path\": \"'/buefy-sample'\",\n \"name\": \"'buefy-sample'\",\n \"component\": \"`require('@/pages/buefy-sample/buefy-sample.vue').default`\"\n }\n ]\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"routes\": [\n {\n \"path\": \"'/buefy-sample'\",\n \"name\": \"'buefy-sample'\",\n \"component\": \"`require('@/pages/buefy-sample/buefy-sample.vue').default`\"\n }\n ]"}]}]}]}]}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"path: relative URL where module component (.vue file) can be viewed"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"name: name of the route"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"component: the sample component created as a part of your module"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Any number of modules can have a routes section. Therefore, each route definition is programmatically added to an array of route definitions found in .rdvue/routes.js at the root of an RDvue project. The definitions found in this array are then automatically loaded into the router.ts file. Here’s an example:"}]},{"type":"element","tag":"code","props":{"code":"export default [{\n path: '/buefy-sample',\n name: 'buefy-sample',\n component: require('@/pages/buefy-sample/buefy-sample.vue').default\n },];\n","language":"javascript","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-3a2a22"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-3a2a22"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" [{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"path: "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"'/buefy-sample'"}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"name: "}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"'buefy-sample'"}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"component: "}]},{"type":"element","tag":"span","props":{"class":"ct-a08c72"},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-0eab8f"},"children":[{"type":"text","value":"'@/pages/buefy-sample/buefy-sample.vue'"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":").default"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c403f1"},"children":[{"type":"text","value":"},]"}]},{"type":"element","tag":"span","props":{"class":"ct-0e4fc8"},"children":[{"type":"text","value":";"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"vueoptions"},"children":[{"type":"text","value":"vueOptions"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Plugin options needed in vue.config for module to work"}]},{"type":"element","tag":"code","props":{"code":"\"vueOptions\": {\n \"transpileDependencies\": [\n \"'vuetify'\"\n ]\n }\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"\"vueOptions\": {\n \"transpileDependencies\": [\n \"'vuetify'\"\n ]\n }"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All vueOptions are automatically added to the exports object in .rdvue/options.js. This module is then loaded in vue.config.js and used as part of its plugin options."}]},{"type":"element","tag":"code","props":{"code":"module.exports = {\n transpileDependencies: 'vuetify',\n};\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"module.exports = {\n transpileDependencies: 'vuetify',\n};"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"modules"},"children":[{"type":"text","value":"modules"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Configuration imports needed for your module to work. These configs are store in the src/config folder."}]},{"type":"element","tag":"code","props":{"code":" \"modules\": {\n \"vuetify\": \"`require('@/config/vuetify').default`\"\n } \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" \"modules\": {\n \"vuetify\": \"`require('@/config/vuetify').default`\"\n } "}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-a08c72{color:#8250DF}\n.ct-c403f1{color:#953800}\n.ct-3a2a22{color:#CF222E}\n.ct-0eab8f{color:#0A3069}\n.ct-194c67{color:#0550AE}\n.ct-dea269{color:#116329}\n.ct-0e4fc8{color:#24292F}\n.dark .ct-0e4fc8{color:#C9D1D9}\n.dark .ct-dea269{color:#7EE787}\n.dark .ct-194c67{color:#79C0FF}\n.dark .ct-0eab8f{color:#A5D6FF}\n.dark .ct-3a2a22{color:#FF7B72}\n.dark .ct-c403f1{color:#FFA657}\n.dark .ct-a08c72{color:#D2A8FF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"templatejson","depth":2,"text":"template.json","children":[{"id":"version","depth":3,"text":"version"},{"id":"sourcedirectory","depth":3,"text":"sourceDirectory"},{"id":"features","depth":3,"text":"features"},{"id":"plugins","depth":3,"text":"plugins"},{"id":"project","depth":3,"text":"project"},{"id":"groups","depth":3,"text":"groups"},{"id":"presets","depth":3,"text":"presets"},{"id":"custompreset","depth":3,"text":"customPreset"},{"id":"example-templatejson-file","depth":3,"text":"Example template.json file"},{"id":"version-1","depth":3,"text":"version"},{"id":"name","depth":3,"text":"name"},{"id":"description","depth":3,"text":"description"},{"id":"sourcedirectory-1","depth":3,"text":"sourceDirectory"},{"id":"installdirectory","depth":3,"text":"installDirectory"},{"id":"files","depth":3,"text":"files"},{"id":"routes","depth":3,"text":"routes"},{"id":"vueoptions","depth":3,"text":"vueOptions"},{"id":"modules","depth":3,"text":"modules"}]}]}},"_type":"markdown","_id":"content:3.rdvue:4.template-schema:1.schema.md","_source":"content","_file":"3.rdvue/4.template-schema/1.schema.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/HlvQ2CNI92.1677768033312.json b/docs/.output/public/api/_content/query/HlvQ2CNI92.1677768033312.json deleted file mode 100644 index 2e78ec20..00000000 --- a/docs/.output/public/api/_content/query/HlvQ2CNI92.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/plugins/quality","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Quality","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"quality"},"children":[{"type":"text","value":"Quality"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.plugins:2.quality.md","_source":"content","_file":"2.frontier/4.plugins/2.quality.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/J1BQKIMJrl.1677768033312.json b/docs/.output/public/api/_content/query/J1BQKIMJrl.1677768033312.json deleted file mode 100644 index 77409639..00000000 --- a/docs/.output/public/api/_content/query/J1BQKIMJrl.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/installation/development","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","_type":"markdown","_id":"content:2.frontier:2.installation:2.development.md","_source":"content","_file":"2.frontier/2.installation/2.development.md","_extension":"md"},{"_path":"/frontier/cli/usage","_dir":"cli","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Usage","description":"","_type":"markdown","_id":"content:2.frontier:3.cli:1.usage.md","_source":"content","_file":"2.frontier/3.cli/1.usage.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/JlWpJOmqbt.1677768033312.json b/docs/.output/public/api/_content/query/JlWpJOmqbt.1677768033312.json deleted file mode 100644 index b9374dfd..00000000 --- a/docs/.output/public/api/_content/query/JlWpJOmqbt.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/plugins/frontend","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Frontend","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"frontend"},"children":[{"type":"text","value":"Frontend"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:4.plugins:1.frontend.md","_source":"content","_file":"2.frontier/4.plugins/1.frontend.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/KGVfeDohnm.1677768033312.json b/docs/.output/public/api/_content/query/KGVfeDohnm.1677768033312.json deleted file mode 100644 index e9877b6c..00000000 --- a/docs/.output/public/api/_content/query/KGVfeDohnm.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/installation/navigation","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Navigation","description":"","_type":"markdown","_id":"content:2.frontier:2.installation:3.navigation.md","_source":"content","_file":"2.frontier/2.installation/3.navigation.md","_extension":"md"},{"_path":"/frontier/cli/development","_dir":"cli","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","_type":"markdown","_id":"content:2.frontier:3.cli:2.development.md","_source":"content","_file":"2.frontier/3.cli/2.development.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/Lt6BIToPNN.1677768033312.json b/docs/.output/public/api/_content/query/Lt6BIToPNN.1677768033312.json deleted file mode 100644 index a480a67d..00000000 --- a/docs/.output/public/api/_content/query/Lt6BIToPNN.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/rdvue/testing/testing","_dir":"testing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Testing","description":"","_type":"markdown","_id":"content:3.rdvue:7.testing:1.testing.md","_source":"content","_file":"3.rdvue/7.testing/1.testing.md","_extension":"md"},{"_path":"/mobile/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","_type":"markdown","_id":"content:5.mobile:1.getting-started:2.introduction.md","_source":"content","_file":"5.mobile/1.getting-started/2.introduction.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/MMGz34b8PH.1677768033312.json b/docs/.output/public/api/_content/query/MMGz34b8PH.1677768033312.json deleted file mode 100644 index a6caeba5..00000000 --- a/docs/.output/public/api/_content/query/MMGz34b8PH.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/templates/nuxt","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Frontend - Nuxtjs","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"frontend-nuxtjs"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Frontend"}]},{"type":"text","value":" - Nuxtjs"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:6.templates:3.nuxt.md","_source":"content","_file":"2.frontier/6.templates/3.nuxt.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/O32KeiYrUa.1677768033312.json b/docs/.output/public/api/_content/query/O32KeiYrUa.1677768033312.json deleted file mode 100644 index 3c149415..00000000 --- a/docs/.output/public/api/_content/query/O32KeiYrUa.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/templates/typescript","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Backend - Typescript","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"backend-typescript"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Backend"}]},{"type":"text","value":" - Typescript"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:6.templates:2.typescript.md","_source":"content","_file":"2.frontier/6.templates/2.typescript.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/P314osc27P.1677768033312.json b/docs/.output/public/api/_content/query/P314osc27P.1677768033312.json deleted file mode 100644 index 47bce8fc..00000000 --- a/docs/.output/public/api/_content/query/P314osc27P.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/rdvue/features/features","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Rdvue Features","description":"This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation.","_type":"markdown","_id":"content:3.rdvue:5.features:1.features.md","_source":"content","_file":"3.rdvue/5.features/1.features.md","_extension":"md"},{"_path":"/rdvue/testing/testing","_dir":"testing","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Testing","description":"","_type":"markdown","_id":"content:3.rdvue:7.testing:1.testing.md","_source":"content","_file":"3.rdvue/7.testing/1.testing.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/RMnrvBawPn.1677768033312.json b/docs/.output/public/api/_content/query/RMnrvBawPn.1677768033312.json deleted file mode 100644 index 449ada35..00000000 --- a/docs/.output/public/api/_content/query/RMnrvBawPn.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[null,null] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/RoutJwnTpy.1677768033312.json b/docs/.output/public/api/_content/query/RoutJwnTpy.1677768033312.json deleted file mode 100644 index cff8f7ad..00000000 --- a/docs/.output/public/api/_content/query/RoutJwnTpy.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/plugins/mobile","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Mobile","description":"","_type":"markdown","_id":"content:2.frontier:4.plugins:2.mobile.md","_source":"content","_file":"2.frontier/4.plugins/2.mobile.md","_extension":"md"},{"_path":"/frontier/libraries/typekit","_dir":"libraries","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"TypeKit","description":"","_type":"markdown","_id":"content:2.frontier:5.libraries:1.typekit.md","_source":"content","_file":"2.frontier/5.libraries/1.typekit.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/Smd1FvtVfQ.1677768033312.json b/docs/.output/public/api/_content/query/Smd1FvtVfQ.1677768033312.json deleted file mode 100644 index 97af2ad3..00000000 --- a/docs/.output/public/api/_content/query/Smd1FvtVfQ.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/templates/typescript","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Backend - Typescript","description":"","_type":"markdown","_id":"content:2.frontier:6.templates:2.typescript.md","_source":"content","_file":"2.frontier/6.templates/2.typescript.md","_extension":"md"},{"_path":"/rdvue/getting-started/overview","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Getting Started","description":"RDVue is an opinionated CLI for generating Vue.js projects. We do so by adopting\na development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models,\nand a data-layer design promoting unified consumption through Stores and Services.","_type":"markdown","_id":"content:3.rdvue:1.getting-started:1.overview.md","_source":"content","_file":"3.rdvue/1.getting-started/1.overview.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/Su48x97rZI.1677768033312.json b/docs/.output/public/api/_content/query/Su48x97rZI.1677768033312.json deleted file mode 100644 index 748f4941..00000000 --- a/docs/.output/public/api/_content/query/Su48x97rZI.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/iac/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:7.IAC:1.getting-started:2.introduction.md","_source":"content","_file":"7.IAC/1.getting-started/2.introduction.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/WXBaqghg8k.1677768033312.json b/docs/.output/public/api/_content/query/WXBaqghg8k.1677768033312.json deleted file mode 100644 index b923dc05..00000000 --- a/docs/.output/public/api/_content/query/WXBaqghg8k.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/rdvue/scaffilding/sitemap","_dir":"scaffilding","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Sitemap","description":"A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results.","_type":"markdown","_id":"content:3.rdvue:3.scaffilding:1.sitemap.md","_source":"content","_file":"3.rdvue/3.scaffilding/1.sitemap.md","_extension":"md"},{"_path":"/rdvue/features/features","_dir":"features","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Rdvue Features","description":"This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation.","_type":"markdown","_id":"content:3.rdvue:5.features:1.features.md","_source":"content","_file":"3.rdvue/5.features/1.features.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/WoZUvC9rqb.1677768033312.json b/docs/.output/public/api/_content/query/WoZUvC9rqb.1677768033312.json deleted file mode 100644 index b06bc62b..00000000 --- a/docs/.output/public/api/_content/query/WoZUvC9rqb.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/mobile/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","_type":"markdown","_id":"content:5.mobile:1.getting-started:2.introduction.md","_source":"content","_file":"5.mobile/1.getting-started/2.introduction.md","_extension":"md"},{"_path":"/iac/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","_type":"markdown","_id":"content:7.IAC:1.getting-started:2.introduction.md","_source":"content","_file":"7.IAC/1.getting-started/2.introduction.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/XTOw4mgR3f.1677768033312.json b/docs/.output/public/api/_content/query/XTOw4mgR3f.1677768033312.json deleted file mode 100644 index b3caa436..00000000 --- a/docs/.output/public/api/_content/query/XTOw4mgR3f.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/design/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:6.design:1.getting-started:2.introduction.md","_source":"content","_file":"6.design/1.getting-started/2.introduction.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/XVPoId9nap.1677768033312.json b/docs/.output/public/api/_content/query/XVPoId9nap.1677768033312.json deleted file mode 100644 index 3e6c54a1..00000000 --- a/docs/.output/public/api/_content/query/XVPoId9nap.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/installation/development","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"development"},"children":[{"type":"text","value":"Development"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:2.installation:2.development.md","_source":"content","_file":"2.frontier/2.installation/2.development.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/YKOPtCYulT.1677768033312.json b/docs/.output/public/api/_content/query/YKOPtCYulT.1677768033312.json deleted file mode 100644 index 8517817b..00000000 --- a/docs/.output/public/api/_content/query/YKOPtCYulT.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/cli/development","_dir":"cli","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","_type":"markdown","_id":"content:2.frontier:3.cli:2.development.md","_source":"content","_file":"2.frontier/3.cli/2.development.md","_extension":"md"},{"_path":"/frontier/plugins/mobile","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Mobile","description":"","_type":"markdown","_id":"content:2.frontier:4.plugins:2.mobile.md","_source":"content","_file":"2.frontier/4.plugins/2.mobile.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/a1Dgl9wshN.1677768033312.json b/docs/.output/public/api/_content/query/a1Dgl9wshN.1677768033312.json deleted file mode 100644 index 21a78c17..00000000 --- a/docs/.output/public/api/_content/query/a1Dgl9wshN.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/introduction/whats-frontier","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"What is Frontier?","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"what-is-frontier"},"children":[{"type":"text","value":"What is Frontier?"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:1.whats-frontier.md","_source":"content","_file":"2.frontier/1.introduction/1.whats-frontier.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/bjzyL7C69z.1677768033312.json b/docs/.output/public/api/_content/query/bjzyL7C69z.1677768033312.json deleted file mode 100644 index e16f7dda..00000000 --- a/docs/.output/public/api/_content/query/bjzyL7C69z.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/cli/development","_dir":"cli","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Development","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"development"},"children":[{"type":"text","value":"Development"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:3.cli:2.development.md","_source":"content","_file":"2.frontier/3.cli/2.development.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/brX4CwCJoQ.1677768033312.json b/docs/.output/public/api/_content/query/brX4CwCJoQ.1677768033312.json deleted file mode 100644 index 4e2aba1f..00000000 --- a/docs/.output/public/api/_content/query/brX4CwCJoQ.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Frontier","description":"The file-based CMS for your Nuxt application, powered by Markdown and Vue components.","navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/frontier/introduction\"]",":secondary":"[\"Star on GitHub\",\"https://github.com/realdecoy/frontier\"]","snippet":"npm i -g @rdfrontier/cli"},"children":[{"type":"element","tag":"template","props":{"v-slot:announce":""},"children":[{"type":"element","tag":"hero-announcement","props":{"label":"Discover the all new ","to":"/frontier/introduction/whats-frontier"},"children":[]}]},{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Frontier - by Realdecoy"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A full service toolset for building "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"web"}]},{"type":"text","value":" and "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"mobile"}]},{"type":"text","value":" software products. With "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"templates"}]},{"type":"text","value":" and "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"libraries"}]},{"type":"text","value":", Frontier delivers a designed development experience to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"10x"}]},{"type":"text","value":" your software development."}]}]},{"type":"element","tag":"template","props":{"v-slot:support":""},"children":[]}]},{"type":"element","tag":"card-grid","props":{},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Powerful Features"}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"CLI"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Take advantage of the Frontier CLI powering tools for: RDVue, RDMobile, and Spectre."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Standard Library"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Leverage battle-hardened code from the standard library."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"TypeKit"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Use Common type definition and data structures from the typekit."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"RDVue"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A beautifully structured vue template and cli for authoring frontend applications."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Spectre"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Test your applications to the moon with the Spectre testing suite."}]}]}]},{"type":"element","tag":"card","props":{":icon":"null"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Mobile"}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Build Mobile applications with ease with structures React Native foundation."}]}]}]},{"type":"element","tag":"template","props":{"v-slot:root":""},"children":[{"type":"element","tag":"ellipsis","props":{},"children":[]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:1.index.md","_source":"content","_file":"1.index.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/cItbEHp6hX.1677768033312.json b/docs/.output/public/api/_content/query/cItbEHp6hX.1677768033312.json deleted file mode 100644 index 4efdda53..00000000 --- a/docs/.output/public/api/_content/query/cItbEHp6hX.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/cli/usage","_dir":"cli","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Usage","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:3.cli:1.usage.md","_source":"content","_file":"2.frontier/3.cli/1.usage.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/eO9hzu7vu1.1677768033312.json b/docs/.output/public/api/_content/query/eO9hzu7vu1.1677768033312.json deleted file mode 100644 index 01ecbd7d..00000000 --- a/docs/.output/public/api/_content/query/eO9hzu7vu1.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/introduction/whats-frontier","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"What is Frontier?","description":"","_type":"markdown","_id":"content:2.frontier:1.introduction:1.whats-frontier.md","_source":"content","_file":"2.frontier/1.introduction/1.whats-frontier.md","_extension":"md"},{"_path":"/frontier/introduction/philosophy","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Philosophy","description":"","_type":"markdown","_id":"content:2.frontier:1.introduction:3.philosophy.md","_source":"content","_file":"2.frontier/1.introduction/3.philosophy.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/eytgjSbEVl.1677768033312.json b/docs/.output/public/api/_content/query/eytgjSbEVl.1677768033312.json deleted file mode 100644 index c2dbd428..00000000 --- a/docs/.output/public/api/_content/query/eytgjSbEVl.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/cli/usage","_dir":"cli","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Usage","description":"","_type":"markdown","_id":"content:2.frontier:3.cli:1.usage.md","_source":"content","_file":"2.frontier/3.cli/1.usage.md","_extension":"md"},{"_path":"/frontier/plugins/frontend","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Frontend","description":"","_type":"markdown","_id":"content:2.frontier:4.plugins:1.frontend.md","_source":"content","_file":"2.frontier/4.plugins/1.frontend.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/fis0WzoDt0.1677768033312.json b/docs/.output/public/api/_content/query/fis0WzoDt0.1677768033312.json deleted file mode 100644 index 5921c12a..00000000 --- a/docs/.output/public/api/_content/query/fis0WzoDt0.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/plugins/quality","_dir":"plugins","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Quality","description":"","_type":"markdown","_id":"content:2.frontier:4.plugins:2.quality.md","_source":"content","_file":"2.frontier/4.plugins/2.quality.md","_extension":"md"},{"_path":"/frontier/libraries/standard-library","_dir":"libraries","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Standard Library","description":"","_type":"markdown","_id":"content:2.frontier:5.libraries:2.standard-library.md","_source":"content","_file":"2.frontier/5.libraries/2.standard-library.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/i1ZxWCIkJR.1677768033312.json b/docs/.output/public/api/_content/query/i1ZxWCIkJR.1677768033312.json deleted file mode 100644 index 2c05c62b..00000000 --- a/docs/.output/public/api/_content/query/i1ZxWCIkJR.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/mobile/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:5.mobile:1.getting-started:2.introduction.md","_source":"content","_file":"5.mobile/1.getting-started/2.introduction.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/jWALMeA07z.1677768033312.json b/docs/.output/public/api/_content/query/jWALMeA07z.1677768033312.json deleted file mode 100644 index 788881bf..00000000 --- a/docs/.output/public/api/_content/query/jWALMeA07z.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/libraries/typekit","_dir":"libraries","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"TypeKit","description":"","_type":"markdown","_id":"content:2.frontier:5.libraries:1.typekit.md","_source":"content","_file":"2.frontier/5.libraries/1.typekit.md","_extension":"md"},{"_path":"/frontier/templates/dotnet","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Backend - Dot Net","description":"","_type":"markdown","_id":"content:2.frontier:6.templates:1.dotNet.md","_source":"content","_file":"2.frontier/6.templates/1.dotNet.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/kBgJSZjudv.1677768033312.json b/docs/.output/public/api/_content/query/kBgJSZjudv.1677768033312.json deleted file mode 100644 index 42654af8..00000000 --- a/docs/.output/public/api/_content/query/kBgJSZjudv.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/libraries/standard-library","_dir":"libraries","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Standard Library","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"standard-library"},"children":[{"type":"text","value":"Standard Library"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:5.libraries:2.standard-library.md","_source":"content","_file":"2.frontier/5.libraries/2.standard-library.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/kP0lcPGw3r.1677768033312.json b/docs/.output/public/api/_content/query/kP0lcPGw3r.1677768033312.json deleted file mode 100644 index 0fba5c1b..00000000 --- a/docs/.output/public/api/_content/query/kP0lcPGw3r.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/rdvue/getting-started/overview","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Getting Started","description":"RDVue is an opinionated CLI for generating Vue.js projects. We do so by adopting\na development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models,\nand a data-layer design promoting unified consumption through Stores and Services.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"getting-started"},"children":[{"type":"text","value":"Getting Started"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/realdecoy/rdvue","rel":["nofollow"]},"children":[{"type":"text","value":"RDVue"}]},{"type":"text","value":" is an opinionated CLI for generating Vue.js projects. We do so by adopting\na development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models,\nand a data-layer design promoting unified consumption through Stores and Services."}]},{"type":"element","tag":"h2","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"frontier vue:\n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-38d936"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"vue:"}]},{"type":"element","tag":"span","props":{"class":"ct-2d107e"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"actio"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":"n"}]},{"type":"element","tag":"span","props":{"class":"ct-2d107e"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Global installation:"}]},{"type":"element","tag":"code","props":{"code":"frontier plugins:install vue\nfrontier vue \n","language":"bash","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-38d936"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"plugins:install"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"vue"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-38d936"},"children":[{"type":"text","value":"frontier"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-2d107e"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-f73c94"},"children":[{"type":"text","value":"actio"}]},{"type":"element","tag":"span","props":{"class":"ct-923ce8"},"children":[{"type":"text","value":"n"}]},{"type":"element","tag":"span","props":{"class":"ct-2d107e"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"options"},"children":[{"type":"text","value":"Options"}]},{"type":"element","tag":"code","props":{"code":"frontier vue::\n\nActions:\n create-project - Scaffold a new rdvue project\n add - Add a feature to a project\n plugin - Inject a utility to extend project functionality\n upgrade - Specify the rdvue template version for a project\n \nOptions:\n --help | -h - Show help information\n\n","language":"txt","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"frontier vue::\n\nActions:\n create-project - Scaffold a new rdvue project\n add - Add a feature to a project\n plugin - Inject a utility to extend project functionality\n upgrade - Specify the rdvue template version for a project\n \nOptions:\n --help | -h - Show help information"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"validate-installation"},"children":[{"type":"text","value":"Validate Installation"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We can confirm the successful installation of RDvue in three simple steps:"}]},{"type":"element","tag":"h3","props":{"id":"step-1-create-a-project"},"children":[{"type":"text","value":"Step 1: Create a project"}]},{"type":"element","tag":"code","props":{"code":"frontier vue:create-project \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"frontier vue:create-project "}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Replace "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":""}]},{"type":"text","value":" with the actual name of your project."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Generated folders are named in kebab-case."}]},{"type":"element","tag":"h3","props":{"id":"step-2-install-project-dependencies"},"children":[{"type":"text","value":"Step 2: Install project dependencies"}]},{"type":"element","tag":"code","props":{"code":"cd \nnpm install\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"cd \nnpm install"}]}]}]}]}]},{"type":"element","tag":"h3","props":{"id":"step-3-serve-project"},"children":[{"type":"text","value":"Step 3: Serve project"}]},{"type":"element","tag":"code","props":{"code":"npm run serve\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"npm run serve"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The project will be served at "},{"type":"element","tag":"a","props":{"href":"http://localhost:8080/","rel":["nofollow"]},"children":[{"type":"text","value":"http://localhost:8080/"}]},{"type":"text","value":" by default. This information will also be printed out in your terminal. Visiting the link the app is served on will display a default page which was created on project creation."}]},{"type":"element","tag":"h2","props":{"id":"next-steps"},"children":[{"type":"text","value":"Next Steps"}]},{"type":"element","tag":"h3","props":{"id":"generating-a-page"},"children":[{"type":"text","value":"Generating a Page"}]},{"type":"element","tag":"code","props":{"code":"frontier vue:add:page \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"frontier vue:add:page "}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Each generated Page gets its own dedicated folder. The folder will be given the name of the page. This folder is located at /src/pages/ ."}]},{"type":"element","tag":"h3","props":{"id":"generating-a-component"},"children":[{"type":"text","value":"Generating a Component"}]},{"type":"element","tag":"code","props":{"code":"frontier vue:generate component \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"frontier vue:generate component "}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-2d107e{color:#CF222E}\n.ct-f73c94{color:#0A3069}\n.ct-923ce8{color:#24292F}\n.ct-38d936{color:#953800}\n.dark .ct-38d936{color:#FFA657}\n.dark .ct-923ce8{color:#C9D1D9}\n.dark .ct-f73c94{color:#A5D6FF}\n.dark .ct-2d107e{color:#FF7B72}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"usage","depth":2,"text":"Usage"},{"id":"options","depth":2,"text":"Options"},{"id":"validate-installation","depth":2,"text":"Validate Installation","children":[{"id":"step-1-create-a-project","depth":3,"text":"Step 1: Create a project"},{"id":"step-2-install-project-dependencies","depth":3,"text":"Step 2: Install project dependencies"},{"id":"step-3-serve-project","depth":3,"text":"Step 3: Serve project"}]},{"id":"next-steps","depth":2,"text":"Next Steps","children":[{"id":"generating-a-page","depth":3,"text":"Generating a Page"},{"id":"generating-a-component","depth":3,"text":"Generating a Component"}]}]}},"_type":"markdown","_id":"content:3.rdvue:1.getting-started:1.overview.md","_source":"content","_file":"3.rdvue/1.getting-started/1.overview.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/khs8gA1FwT.1677768033312.json b/docs/.output/public/api/_content/query/khs8gA1FwT.1677768033312.json deleted file mode 100644 index 66587f03..00000000 --- a/docs/.output/public/api/_content/query/khs8gA1FwT.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[null,{"_path":"/frontier/introduction/content-directory","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Content directory","description":"","_type":"markdown","_id":"content:2.frontier:1.introduction:2.content-directory.md","_source":"content","_file":"2.frontier/1.introduction/2.content-directory.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/ozdJ1wICj3.1677768033312.json b/docs/.output/public/api/_content/query/ozdJ1wICj3.1677768033312.json deleted file mode 100644 index 78549ef6..00000000 --- a/docs/.output/public/api/_content/query/ozdJ1wICj3.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/introduction/content-directory","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Content directory","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"content-directory"},"children":[{"type":"text","value":"Content directory"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:2.content-directory.md","_source":"content","_file":"2.frontier/1.introduction/2.content-directory.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/qGEjvCtHGf.1677768033312.json b/docs/.output/public/api/_content/query/qGEjvCtHGf.1677768033312.json deleted file mode 100644 index de0b9523..00000000 --- a/docs/.output/public/api/_content/query/qGEjvCtHGf.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/libraries/typekit","_dir":"libraries","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"TypeKit","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"typekit"},"children":[{"type":"text","value":"TypeKit"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:5.libraries:1.typekit.md","_source":"content","_file":"2.frontier/5.libraries/1.typekit.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/s6oaJBqQEn.1677768033312.json b/docs/.output/public/api/_content/query/s6oaJBqQEn.1677768033312.json deleted file mode 100644 index 45171b79..00000000 --- a/docs/.output/public/api/_content/query/s6oaJBqQEn.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/templates/dotnet","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Backend - Dot Net","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"backend-dot-net"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":" Backend"}]},{"type":"text","value":" - Dot Net"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:6.templates:1.dotNet.md","_source":"content","_file":"2.frontier/6.templates/1.dotNet.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/tEt344hQrs.1677768033312.json b/docs/.output/public/api/_content/query/tEt344hQrs.1677768033312.json deleted file mode 100644 index c0ffed72..00000000 --- a/docs/.output/public/api/_content/query/tEt344hQrs.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/design/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","_type":"markdown","_id":"content:6.design:1.getting-started:2.introduction.md","_source":"content","_file":"6.design/1.getting-started/2.introduction.md","_extension":"md"},null] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/tuGsv8hqtc.1677768033312.json b/docs/.output/public/api/_content/query/tuGsv8hqtc.1677768033312.json deleted file mode 100644 index ca75d4c8..00000000 --- a/docs/.output/public/api/_content/query/tuGsv8hqtc.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/rdvue/scaffilding/sitemap","_dir":"scaffilding","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Sitemap","description":"A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"sitemap"},"children":[{"type":"text","value":"Sitemap"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This can be created by utilising the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sitemap"}]},{"type":"text","value":" library, which can be installed as follows:"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"pnpm add --save-dev sitemap\n","filename":"pnpm","language":"bash","meta":"[pnpm]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"pnpm"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"--save-dev"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"yarn add --dev sitemap\n","filename":"yarn","language":"bash","meta":"[yarn]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"yarn"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"--dev"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"npm install --save-dev sitemap\n","filename":"npm","language":"bash","meta":"[npm]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"npm"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"install"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"--save-dev"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"sitemap"}]}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"server-route"},"children":[{"type":"text","value":"Server Route"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"We will be utilising the "},{"type":"element","tag":"a","props":{"href":"https://nuxt.com/docs/guide/directory-structure/server#server-routes","rel":["nofollow"]},"children":[{"type":"text","value":"server routes"}]},{"type":"text","value":" available within Nuxt, and to do so you'll need to create the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"server/"}]},{"type":"text","value":" directory within your website's root directly."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Once this is done, create a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"routes/"}]},{"type":"text","value":" directory inside this, and add a "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"sitemap.xml.ts"}]},{"type":"text","value":" file, this will translate to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"/sitemap.xml"}]},{"type":"text","value":"."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You'll need to add the following:"}]},{"type":"element","tag":"code","props":{"code":"import { serverQueryContent } from '#content/server'\nimport { SitemapStream, streamToPromise } from 'sitemap'\n\nexport default defineEventHandler(async (event) => {\n // Fetch all documents\n const docs = await serverQueryContent(event).find()\n const sitemap = new SitemapStream({\n hostname: 'https://example.com'\n })\n\n for (const doc of docs) {\n sitemap.write({\n url: doc._path,\n changefreq: 'monthly'\n })\n }\n sitemap.end()\n\n return streamToPromise(sitemap)\n})\n","filename":"server/routes/sitemap.xml.ts","language":"ts","meta":"[server/routes/sitemap.xml.ts]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" { serverQueryContent } "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'#content/server'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" { SitemapStream, streamToPromise } "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'sitemap'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"defineEventHandler"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"async"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" (event) "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5d8bef"},"children":[{"type":"text","value":"// Fetch all documents"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"docs"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"serverQueryContent"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"(event)."}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"find"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"sitemap"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"new"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"SitemapStream"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" hostname: "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'https://example.com'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"for"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" ("}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-dfa0b0"},"children":[{"type":"text","value":"doc"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"of"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" docs) {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" sitemap."}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"write"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" url: doc._path,"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" changefreq: "}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'monthly'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" sitemap."}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"end"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"streamToPromise"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"(sitemap)"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":")"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now, once users go to "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"https://example.com/sitemap.xml"}]},{"type":"text","value":", you'll find the generated XML file with all your pages."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"When using "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt generate"}]},{"type":"text","value":", you may want to pre-render the sitemap since the server route won't be able to run on a static hosting."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"You can do this using the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nitro.prerender"}]},{"type":"text","value":" option in your "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"nuxt.config"}]},{"type":"text","value":":"}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n // ...\n nitro: {\n prerender: {\n routes: ['/sitemap.xml']\n }\n }\n})\n","filename":"nuxt.config.ts","language":"ts","meta":"[nuxt.config.ts]"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-8d792c"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-7b736c"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5d8bef"},"children":[{"type":"text","value":"// ..."}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"nitro: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" prerender: {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" routes: ["}]},{"type":"element","tag":"span","props":{"class":"ct-4e09e8"},"children":[{"type":"text","value":"'/sitemap.xml'"}]},{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-e4e3aa"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-a5892a"},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-5d8bef{color:#6E7781}\n.ct-7b736c{color:#8250DF}\n.ct-8d792c{color:#CF222E}\n.ct-dfa0b0{color:#0550AE}\n.ct-4e09e8{color:#0A3069}\n.ct-e4e3aa{color:#24292F}\n.ct-a5892a{color:#953800}\n.dark .ct-a5892a{color:#FFA657}\n.dark .ct-e4e3aa{color:#C9D1D9}\n.dark .ct-4e09e8{color:#A5D6FF}\n.dark .ct-dfa0b0{color:#79C0FF}\n.dark .ct-8d792c{color:#FF7B72}\n.dark .ct-7b736c{color:#D2A8FF}\n.dark .ct-5d8bef{color:#8B949E}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"server-route","depth":2,"text":"Server Route"}]}},"_type":"markdown","_id":"content:3.rdvue:3.scaffilding:1.sitemap.md","_source":"content","_file":"3.rdvue/3.scaffilding/1.sitemap.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/urUfuwuVJk.1677768033312.json b/docs/.output/public/api/_content/query/urUfuwuVJk.1677768033312.json deleted file mode 100644 index cc2b001a..00000000 --- a/docs/.output/public/api/_content/query/urUfuwuVJk.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/installation/navigation","_dir":"installation","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Navigation","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"navigation"},"children":[{"type":"text","value":"Navigation"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:2.installation:3.navigation.md","_source":"content","_file":"2.frontier/2.installation/3.navigation.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/v3ScIppUqo.1677768033312.json b/docs/.output/public/api/_content/query/v3ScIppUqo.1677768033312.json deleted file mode 100644 index 449ada35..00000000 --- a/docs/.output/public/api/_content/query/v3ScIppUqo.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[null,null] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/wMeaP8hHUN.1677768033312.json b/docs/.output/public/api/_content/query/wMeaP8hHUN.1677768033312.json deleted file mode 100644 index 5d99c83b..00000000 --- a/docs/.output/public/api/_content/query/wMeaP8hHUN.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/frontier/libraries/standard-library","_dir":"libraries","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Standard Library","description":"","_type":"markdown","_id":"content:2.frontier:5.libraries:2.standard-library.md","_source":"content","_file":"2.frontier/5.libraries/2.standard-library.md","_extension":"md"},{"_path":"/frontier/templates/typescript","_dir":"templates","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":" Backend - Typescript","description":"","_type":"markdown","_id":"content:2.frontier:6.templates:2.typescript.md","_source":"content","_file":"2.frontier/6.templates/2.typescript.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/wQeP3PjQcK.1677768033312.json b/docs/.output/public/api/_content/query/wQeP3PjQcK.1677768033312.json deleted file mode 100644 index 23e51df0..00000000 --- a/docs/.output/public/api/_content/query/wQeP3PjQcK.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[{"_path":"/rdvue/getting-started/overview","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Getting Started","description":"RDVue is an opinionated CLI for generating Vue.js projects. We do so by adopting\na development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models,\nand a data-layer design promoting unified consumption through Stores and Services.","_type":"markdown","_id":"content:3.rdvue:1.getting-started:1.overview.md","_source":"content","_file":"3.rdvue/1.getting-started/1.overview.md","_extension":"md"},{"_path":"/rdvue/scaffilding/sitemap","_dir":"scaffilding","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Sitemap","description":"A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results.","_type":"markdown","_id":"content:3.rdvue:3.scaffilding:1.sitemap.md","_source":"content","_file":"3.rdvue/3.scaffilding/1.sitemap.md","_extension":"md"}] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/wscAfndYyi.1677768033312.json b/docs/.output/public/api/_content/query/wscAfndYyi.1677768033312.json deleted file mode 100644 index 921c7d6a..00000000 --- a/docs/.output/public/api/_content/query/wscAfndYyi.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/frontier/introduction/philosophy","_dir":"introduction","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Philosophy","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"philosophy"},"children":[{"type":"text","value":"Philosophy"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.frontier:1.introduction:3.philosophy.md","_source":"content","_file":"2.frontier/1.introduction/3.philosophy.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/xWeY3NfYtX.1677768033312.json b/docs/.output/public/api/_content/query/xWeY3NfYtX.1677768033312.json deleted file mode 100644 index 449ada35..00000000 --- a/docs/.output/public/api/_content/query/xWeY3NfYtX.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -[null,null] \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/xYb2WcNJtQ.1677768033312.json b/docs/.output/public/api/_content/query/xYb2WcNJtQ.1677768033312.json deleted file mode 100644 index b982c61a..00000000 --- a/docs/.output/public/api/_content/query/xYb2WcNJtQ.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/spectre/getting-started/introduction","_dir":"getting-started","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"Coming Soon","description":"","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"coming-soon"},"children":[{"type":"text","value":"Coming Soon"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:4.Spectre:1.getting-started:1.introduction.md","_source":"content","_file":"4.Spectre/1.getting-started/1.introduction.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_content/query/xhTH8MZ8W5.1677768033312.json b/docs/.output/public/api/_content/query/xhTH8MZ8W5.1677768033312.json deleted file mode 100644 index d1907677..00000000 --- a/docs/.output/public/api/_content/query/xhTH8MZ8W5.1677768033312.json +++ /dev/null @@ -1 +0,0 @@ -{"_path":"/rdvue/cli-commands/usage","_dir":"cli-commands","_draft":false,"_partial":false,"_locale":"","_empty":false,"title":"CLI Commands","description":"The Rdvue command line tool (CLI) is the main entry point for getting up and running with the Vue application. Similar documentation is available in the rdvue-cli README.","body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"cli-commands"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"The Rdvue command line tool (CLI) is the main entry point for getting up and running with the Vue application. Similar documentation is available in the rdvue-cli "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"README."}]}]},{"type":"element","tag":"h2","props":{"id":"how-to-use-rdvue-cli"},"children":[{"type":"text","value":"How to use rdvue-cli"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"All commands will follow the basic structure:"}]},{"type":"element","tag":"code","props":{"code":"npx rdvue \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"npx rdvue "}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"cli-options"},"children":[{"type":"text","value":"CLI Options"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Run the cli option below for a list of commands and options"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Option"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"text","value":"--h, --help"}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Displays the help menu."}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"cli-commands-1"},"children":[{"type":"text","value":"CLI Commands"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"RDVue includes the following sub-commands:"}]},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":null},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Command"}]}]},{"type":"element","tag":"th","props":{"align":"left"},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Description"}]}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#create-project"},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Scaffold a new rdvue project"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#add"},"children":[{"type":"text","value":"add"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Add a feature to a project"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#plugin"},"children":[{"type":"text","value":"plugin"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Inject a utility to extend project functionality"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":null},"children":[{"type":"element","tag":"a","props":{"href":"#upgrade"},"children":[{"type":"text","value":"upgrade"}]}]},{"type":"element","tag":"td","props":{"align":"left"},"children":[{"type":"text","value":"Specify the rdvue template version for a project"}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"create-project"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"create-project"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"create-project will scaffold a new project for you, using one of the presets selected from its interactive shell."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"$ npx rdvue create-project \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"$ npx rdvue create-project "}]}]}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"add"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"add"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Adds a feature to the project."}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"$ npx rdvue add: \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"$ npx rdvue add: "}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Features"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#components"},"children":[{"type":"text","value":"component"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#pages"},"children":[{"type":"text","value":"page"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#services"},"children":[{"type":"text","value":"service"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#stores"},"children":[{"type":"text","value":"store"}]}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"plugin"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"plugin"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Injects a utility to extend the project's functionality"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"$ frontier vue:plugin:\n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"$ frontier vue:plugin:"}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Libraries"}]},{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"buefy"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"Features.md#localization"},"children":[{"type":"text","value":"localization"}]}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"vuetify"}]}]},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"element","tag":"h3","props":{"id":"upgrade"},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"upgrade"}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Attempts to upgrade the project's rdvue template to the specified version"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"code","props":{"code":"$ frontier vue:upgrade \n","meta":null},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":"$ frontier vue:upgrade "}]}]}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"how-to-use-rdvue-cli","depth":2,"text":"How to use rdvue-cli"},{"id":"cli-options","depth":2,"text":"CLI Options"},{"id":"cli-commands-1","depth":2,"text":"CLI Commands","children":[{"id":"create-project","depth":3,"text":"create-project"},{"id":"add","depth":3,"text":"add"},{"id":"plugin","depth":3,"text":"plugin"},{"id":"upgrade","depth":3,"text":"upgrade"}]}]}},"_type":"markdown","_id":"content:3.rdvue:2.cli-commands:1.usage.md","_source":"content","_file":"3.rdvue/2.cli-commands/1.usage.md","_extension":"md"} \ No newline at end of file diff --git a/docs/.output/public/api/_github/contributors b/docs/.output/public/api/_github/contributors index 928287df..f3b6626c 100644 --- a/docs/.output/public/api/_github/contributors +++ b/docs/.output/public/api/_github/contributors @@ -1 +1 @@ -[{"avatar_url":"https://avatars.githubusercontent.com/u/65830136?v=4","login":"JantaeLeckie"},{"avatar_url":"https://avatars.githubusercontent.com/u/48893563?v=4","login":"javeke"},{"avatar_url":"https://avatars.githubusercontent.com/u/11306782?v=4","login":"forevergareth"},{"avatar_url":"https://avatars.githubusercontent.com/u/17814665?v=4","login":"Davane"},{"avatar_url":"https://avatars.githubusercontent.com/u/32402220?v=4","login":"NathanDowner"}] \ No newline at end of file +[{"avatar_url":"https://avatars.githubusercontent.com/u/11306782?v=4","login":"forevergareth"},{"avatar_url":"https://avatars.githubusercontent.com/u/17814665?v=4","login":"Davane"},{"avatar_url":"https://avatars.githubusercontent.com/u/65830136?v=4","login":"JantaeLeckie"},{"avatar_url":"https://avatars.githubusercontent.com/u/48893563?v=4","login":"javeke"},{"avatar_url":"https://avatars.githubusercontent.com/u/32402220?v=4","login":"NathanDowner"}] \ No newline at end of file diff --git a/docs/.output/public/design/getting-started/introduction/_payload.js b/docs/.output/public/design/getting-started/introduction/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/design/getting-started/introduction/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/design/getting-started/introduction/index.html b/docs/.output/public/design/getting-started/introduction/index.html deleted file mode 100644 index f0d0328c..00000000 --- a/docs/.output/public/design/getting-started/introduction/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Coming Soon · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/cli/development/_payload.js b/docs/.output/public/frontier/cli/development/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/cli/development/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/cli/development/index.html b/docs/.output/public/frontier/cli/development/index.html deleted file mode 100644 index 5624d1b7..00000000 --- a/docs/.output/public/frontier/cli/development/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Development · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/cli/usage/_payload.js b/docs/.output/public/frontier/cli/usage/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/cli/usage/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/cli/usage/index.html b/docs/.output/public/frontier/cli/usage/index.html deleted file mode 100644 index 65eb5986..00000000 --- a/docs/.output/public/frontier/cli/usage/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Usage · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/installation/development/_payload.js b/docs/.output/public/frontier/installation/development/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/installation/development/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/installation/development/index.html b/docs/.output/public/frontier/installation/development/index.html deleted file mode 100644 index 6d88bf3e..00000000 --- a/docs/.output/public/frontier/installation/development/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Development · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/installation/general/_payload.js b/docs/.output/public/frontier/installation/general/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/installation/general/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/installation/general/index.html b/docs/.output/public/frontier/installation/general/index.html deleted file mode 100644 index f2269729..00000000 --- a/docs/.output/public/frontier/installation/general/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -General Use · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/installation/navigation/_payload.js b/docs/.output/public/frontier/installation/navigation/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/installation/navigation/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/installation/navigation/index.html b/docs/.output/public/frontier/installation/navigation/index.html deleted file mode 100644 index 90f22195..00000000 --- a/docs/.output/public/frontier/installation/navigation/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Navigation · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/introduction/_payload.js b/docs/.output/public/frontier/introduction/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/introduction/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/introduction/content-directory/_payload.js b/docs/.output/public/frontier/introduction/content-directory/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/introduction/content-directory/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/introduction/content-directory/index.html b/docs/.output/public/frontier/introduction/content-directory/index.html deleted file mode 100644 index 11c19d66..00000000 --- a/docs/.output/public/frontier/introduction/content-directory/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Content directory · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/introduction/index.html b/docs/.output/public/frontier/introduction/index.html deleted file mode 100644 index 47df9f06..00000000 --- a/docs/.output/public/frontier/introduction/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Frontier · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/introduction/philosophy/_payload.js b/docs/.output/public/frontier/introduction/philosophy/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/introduction/philosophy/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/introduction/philosophy/index.html b/docs/.output/public/frontier/introduction/philosophy/index.html deleted file mode 100644 index be6a1406..00000000 --- a/docs/.output/public/frontier/introduction/philosophy/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Philosophy · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/introduction/whats-frontier/index.html b/docs/.output/public/frontier/introduction/whats-frontier/index.html index 8294c28e..fded2a38 100644 --- a/docs/.output/public/frontier/introduction/whats-frontier/index.html +++ b/docs/.output/public/frontier/introduction/whats-frontier/index.html @@ -5,11 +5,13 @@ - - - - +

What is Frontier?

Frontier brings together engineering standards across disciplines for ease of use, promoting consistent software development. +Contributions are welcome! You can help us by reporting or fixing bugs and giving us feedback on new/existing features.

About

Frontier offers a set of standard libraries and typing kits that can be use across engineering projects to allow for more consistency software development. With frontier, a set of plugins are available for use by developers which can be used to easily generate base project files contributing to a faster development process.

\ No newline at end of file diff --git a/docs/.output/public/frontier/libraries/standard-library/_payload.js b/docs/.output/public/frontier/libraries/standard-library/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/libraries/standard-library/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/libraries/standard-library/index.html b/docs/.output/public/frontier/libraries/standard-library/index.html deleted file mode 100644 index 0d0a0d7e..00000000 --- a/docs/.output/public/frontier/libraries/standard-library/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Standard Library · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/libraries/typekit/_payload.js b/docs/.output/public/frontier/libraries/typekit/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/libraries/typekit/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/libraries/typekit/index.html b/docs/.output/public/frontier/libraries/typekit/index.html deleted file mode 100644 index 18374754..00000000 --- a/docs/.output/public/frontier/libraries/typekit/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -TypeKit · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/plugins/frontend/_payload.js b/docs/.output/public/frontier/plugins/frontend/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/plugins/frontend/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/plugins/frontend/index.html b/docs/.output/public/frontier/plugins/frontend/index.html deleted file mode 100644 index 59b8adc2..00000000 --- a/docs/.output/public/frontier/plugins/frontend/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Frontend · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/plugins/mobile/_payload.js b/docs/.output/public/frontier/plugins/mobile/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/plugins/mobile/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/plugins/mobile/index.html b/docs/.output/public/frontier/plugins/mobile/index.html deleted file mode 100644 index 97ed8cd1..00000000 --- a/docs/.output/public/frontier/plugins/mobile/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Mobile · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/plugins/quality/_payload.js b/docs/.output/public/frontier/plugins/quality/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/plugins/quality/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/plugins/quality/index.html b/docs/.output/public/frontier/plugins/quality/index.html deleted file mode 100644 index bf9891c0..00000000 --- a/docs/.output/public/frontier/plugins/quality/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Quality · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/templates/dotnet/_payload.js b/docs/.output/public/frontier/templates/dotnet/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/templates/dotnet/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/templates/dotnet/index.html b/docs/.output/public/frontier/templates/dotnet/index.html deleted file mode 100644 index 4d082a55..00000000 --- a/docs/.output/public/frontier/templates/dotnet/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - Backend - Dot Net · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/templates/nuxt/_payload.js b/docs/.output/public/frontier/templates/nuxt/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/templates/nuxt/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/templates/nuxt/index.html b/docs/.output/public/frontier/templates/nuxt/index.html deleted file mode 100644 index 5b74efa3..00000000 --- a/docs/.output/public/frontier/templates/nuxt/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - Frontend - Nuxtjs · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/frontier/templates/typescript/_payload.js b/docs/.output/public/frontier/templates/typescript/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/frontier/templates/typescript/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/frontier/templates/typescript/index.html b/docs/.output/public/frontier/templates/typescript/index.html deleted file mode 100644 index fc1cda87..00000000 --- a/docs/.output/public/frontier/templates/typescript/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - Backend - Typescript · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/iac/getting-started/introduction/_payload.js b/docs/.output/public/iac/getting-started/introduction/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/iac/getting-started/introduction/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/iac/getting-started/introduction/index.html b/docs/.output/public/iac/getting-started/introduction/index.html deleted file mode 100644 index ef901d72..00000000 --- a/docs/.output/public/iac/getting-started/introduction/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Coming Soon · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/index.html b/docs/.output/public/index.html index 6e5dfce9..715b7c53 100644 --- a/docs/.output/public/index.html +++ b/docs/.output/public/index.html @@ -8,11 +8,7 @@ - -

Discover the all new

Frontier - by Realdecoy

A full service toolset for building web and mobile software products. With templates and libraries, Frontier delivers a designed development experience to 10x your software development.

Bash
$npm i -g @rdfrontier/cli
Click to copy

Powerful Features

CLI

Take advantage of the Frontier CLI powering tools for: RDVue, RDMobile, and Spectre.

Standard Library

Leverage battle-hardened code from the standard library.

TypeKit

Use Common type definition and data structures from the typekit.

RDVue

A beautifully structured vue template and cli for authoring frontend applications.

Spectre

Test your applications to the moon with the Spectre testing suite.

Mobile

Build Mobile applications with ease with structures React Native foundation.

+

Discover the all new

Frontier - by Realdecoy

A full service toolset for building web and mobile software products. With templates and libraries, Frontier delivers a designed development experience to 10x your software development.

Bash
$npm i -g @realdecoy/frontier
Click to copy

Powerful Features

CLI

Take advantage of the Frontier CLI powering tools for: Vue, Mobile, and Spectre.

Standard Library

Leverage battle-hardened code from the standard library.

TypeKit

Use Common type definition and data structures from the typekit.

Vue

A beautifully structured vue template and cli for authoring frontend applications.

Spectre

Test your applications to the moon with the Spectre testing suite.

Mobile

Build Mobile applications with ease with structures React Native foundation.

\ No newline at end of file diff --git a/docs/.output/public/mobile/getting-started/introduction/_payload.js b/docs/.output/public/mobile/getting-started/introduction/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/mobile/getting-started/introduction/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/mobile/getting-started/introduction/index.html b/docs/.output/public/mobile/getting-started/introduction/index.html deleted file mode 100644 index 37885678..00000000 --- a/docs/.output/public/mobile/getting-started/introduction/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Coming Soon · Frontier - - - - - - - - - \ No newline at end of file diff --git a/docs/.output/public/rdvue/cli-commands/usage/_payload.js b/docs/.output/public/rdvue/cli-commands/usage/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/rdvue/cli-commands/usage/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/rdvue/cli-commands/usage/index.html b/docs/.output/public/rdvue/cli-commands/usage/index.html deleted file mode 100644 index 69186d0b..00000000 --- a/docs/.output/public/rdvue/cli-commands/usage/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -CLI Commands · Frontier - - - - - - - -

CLI Commands


The Rdvue command line tool (CLI) is the main entry point for getting up and running with the Vue application. Similar documentation is available in the rdvue-cli README.

How to use rdvue-cli

All commands will follow the basic structure:

npx rdvue <action>

CLI Options

Run the cli option below for a list of commands and options

OptionDescription
--h, --helpDisplays the help menu.

CLI Commands

RDVue includes the following sub-commands:

CommandDescription
create-projectScaffold a new rdvue project
addAdd a feature to a project
pluginInject a utility to extend project functionality
upgradeSpecify the rdvue template version for a project

create-project

create-project will scaffold a new project for you, using one of the presets selected from its interactive shell.

Usage

$ npx rdvue create-project <project name>

add

Adds a feature to the project.

Usage

$ npx rdvue add:<feature> <name>

Features


plugin

Injects a utility to extend the project's functionality

Usage

$ frontier vue:plugin:<library>

Libraries


upgrade

Attempts to upgrade the project's rdvue template to the specified version

Usage

$ frontier vue:upgrade <version>
- \ No newline at end of file diff --git a/docs/.output/public/rdvue/features/features/_payload.js b/docs/.output/public/rdvue/features/features/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/rdvue/features/features/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/rdvue/features/features/index.html b/docs/.output/public/rdvue/features/features/index.html deleted file mode 100644 index 2883a351..00000000 --- a/docs/.output/public/rdvue/features/features/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - -Rdvue Features · Frontier - - - - - - - -

Rdvue Features

This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation.

Reading through this section will get you comfortable with the CLI.

An in depth look at the command used in this section, along with all available commands, can be found in CLI Commands.

RDvue provides an elegant way for generating features.

Services

Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should:

  • only interact with a single domain
  • only provide features from the domain which are relevant to the theme of the service. Eg. A user service should be focused on methods support such; adding order related data would make for poor encapsulation.

Technical

  • While each generated service resides in its own file and class, all services extend a predefined BaseService class in order to provide centralized functionality.
  • Each service is able to specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (Eg. wrapper storage mechanism over LocalStorage).
  • Each service has access to the following protected memebers:
MemberDescription
api (field)
type: Axios
Helper to invoke web APIs. Individual service methods need only specify their endpoint paths relative to the registered root domain.
onRequest(request: AxiosRequestConfig) => voidInvoked before requests are sent to the web API endpoint.
onResponse(response: AxiosResponse) => voidInvoked before responses are handled by a Service’s methods.
onError(data: any)Invoked for errors during request or response.

Pages

A Page is a conceptual grouping for Vue Components used in routing. Pages are not to be imported by other Pages, Components or Layouts.

A special feature of Pages are that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The Layouts section goes into more detail on this approach.

?> A Page needs to be added to the Router before it can be previewed within a web browser.

Technical

Each generated Page is contained within it’s own sub-folder within the src/pages directory. The directory contains the following files which each carry out a specific role in developing a Page:

  • [page].vue: This contains the Vue template markup used to implement the structure and layout of a Page. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation.
  • [page].ts: This contains the TypeScript controller which provides the procedural code-behind logical needed to add integrations to a page. Through this file you may expose data and handle events generated by Page elements.
  • [page].scss: This contains the SASS stylesheet to be applied to the page - and that page only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [page].vue template file.

?> Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory.

  • [page].spec.ts: This contains the unit-level tests for the page. Read the testing section for more details about writing tests.

Routing

In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings.

Below is an example of a Route definition for a sample Login page:

{
-  path: '/login',
-  name: 'login',
-  meta: { layout: 'default' },
-  component: () => import(/* webpackChunkName: "login" */ '@/pages/login'),
-},

The path property specifies where the page will be accessible under the domain, for example: localhost:8080**/login**.

The name field provides an alternative means of identifying and navigation to defined pages programatically. This approach is preferable because the route names can be externalized into global constants and shared throughout your code for navigational consistency.

The meta property allows specifying arbitrary data that will get passed along to the loaded Page. The CLI recognizes a sub-property called layout which it will use to attach a Layout to a page.

The component property specifies the Page to load for the given path. Here we used the recommended approach of dynamically loading the Page component using the import() function.

?> The import function is not the same as the import statements found at the top of a module file. The former is an asynchronous function that will load a module on-demand at runtime, while the latter only does static, compile-time, imports that always get bundled into the core application’s JavaScript payload.

The comment within the import statement is a directive for the Webpack pre-processor that compiles to project to create a new file which only contains the code needed to construct and execute the respective Page.

!>The comment inside the brackets of the import function are important and should be made unique to support proper code separation - or Chunking as it’s technically referred to. Do not delete them and ensure the value for webpackChunkName is unique for each route.

Components

A Component is a conceptual grouping for Vue components which are imported by Pages and other Components.

Unlike Pages, Components are never used in Routing. That would deviate from the RDVue development style guide.

Technical

A Component contains all the files present for Pages with the addition of:

  • [component].story.ts: This contains the list of stories which describe the component’s usage. This is helpful for documentation purposes in providing live examples of key ways a Component can be used through the included Storybook preview tool.

Components use special decorators within their TypeScript file to add metadata useful for generating its documentation within Storybook:

  • @StoryComponent: decorates the Component’s class, providing the same functionality as @Component (used in pages) with the addition of:
description
type: string; default: undefined
Describe the component’s overall purpose.
module
type: string; default: undefined
Text stating the module used in the import statement (eg. “@/components/foo”)
playground (optional)
type: boolean, default: true
Toggles the Playground feature for this component within the Storybook preview.
api (optional)
type: boolean, default: true
Display the Component’s list of props, slots and events on the API tab within the Storybook preview tool.
slots (optional)
type: {[key: string]: string}, default: undefined
Describe the slots available within the component. Eg.

<br>slots: { <br> header: ‘The header component goes here’,<br> ... <br>}<br>
  • @StoryProp: decorates the Component’s Props, providing the same functionality as @Prop with the addition of:
description
type: string; default: undefined
Describe the prop's overall purpose.
values (optional)
[array; default: undefined
An optional list of values which are considered acceptable for the prop. This is great for constraining Props that are bound to an enum type.
  • @StoryEvent: decorates the Component’s Events, providing the same functionality as @Event with the addition of:
description
type: string; default: undefined
Describe the event’s overall purpose.

Layouts

A Layout is a conceptual grouping given to components which serve the purpose of rendering re-usable pieces of UI shared by many pages. An easy example is the header and footer information displayed on many sites: though the body of the page changes often, those elements remain the same.

?>A Layout allows us to define the common elements while leaving a slot (router-view) to inject the actual body of the Page.

Technical

To get a Page to use a Layout, edit it’s definition in the router.ts file and add the following option:

meta: {
-  layout: '<layout-name>',
-}

For example:

 routes: [
-    {
-      path: '/',
-      name: 'home',
-      component: [...],
-      meta: {
-        layout: 'two-column',
-      },
-    },
-  ]

Above, the Layout refers to a component within the src/layouts directory called two-column.

A Layout must contain a router-view to display the Page within the area designated for it’s content.

Each generated Layout is contained within it’s own sub-folder within the src/layouts directory. The directory contains the following files which each carry out a specific role in developing a Layout:

  • [layout].vue: This contains the Vue template markup used to implement the structure and layout of a Layout. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation.
  • [layout].ts: This contains the controller which provides the procedural code-behind logical needed to add integrations to a Layout. Through this file you may expose data and handle events generated by Layout elements.
  • [layout].scss: This contains the stylesheet to be applied to the Layout- and that Layout only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [layout].vue template file.

?>Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory.

  • [layout].spec.ts: This contains the unit-level tests for the Layout. Read the testing section for more details about writing tests.

Stores

A Store is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for [re]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a Vue Store differs in two distinct ways:

  • Properties are reactive. Changing Store values will automatically propagate to the component-level bindings which use them.
  • Stores enforce a strong process-control for mutating values. Every change within a store must go through a specially designed method, called a Mutation, in order to update an internal value. This also produces the side-effect of making state manipulation atomic and track-able (using the Vue DevTools).

An application can have as many Stores as needed to logically group state concerns. The RDVue CLI creates strongly typed Stores, enabling full Intellisense and compiler support when writing code against them.

Data within a Store can be managed using 3 intrinsic functionalities of every Store:

  • Getters: Retrieve a value within the store.
  • Actions - Arbitrary, asynchronous, functions which can perform business logic and invoke mutations.
  • Mutations - Special, synchronous, functions which only update the values in Store. The operate atomically, meaning their changes are indivisible.

Technical

A Store consists of a standard Class, with Decorators providing the special functionality:

  • The @Module Decorator is added to the class itself and will be preconfigured with the necessary options whenever you use the CLI to create a new Store.
  • The @Action Decorator is added to the class’ methods that want to carry-out business logic and be able to persist the result of that into state. @MultiParamAction is preferred over this Decorator due to Vuex quirks in how multiple parameters are handled.

?>If multiple parameters are used in a base @Action, the real value of the first parameter will be an array with a payload object, and the second parameter will be an options object. This will likely be entirely misaligned from the type information you specified in TypeScript.

  • The @MultiParamAction Decorator is the preferred alternative to @Action because it allows methods to receive multiple parameters.
  • The @Mutation Decorator flags a method as being able to update the Store’s state. That means any fields which belong to the class may be set within the execution context of these methods.

!>Attempting to modify a field outside of a method marked with @Mutation will result in a runtime error with the Vuex framework.

Localization

Localization refers to the adaptation of an application or website content to meet the language, cultural and other requirements of a specific target market (a locale). This feature has two parts that is required to work:

  1. A JSON file named as the respective i18n language codes, stored in the locales folder
  2. Function call with respective key

Based of the current locale, the matching JSON file would be searched for the matching key/s.

Technical

Examples:

  1. A JSON file named “en.json” with structure as follows:
{
-  "message": "hello i18n!!"
-}

2. Function called within document as follows:

<div>
-  <p>{{ $t("message") }}</p>
-</div>

The call above would print the value of the message key if the locale is set to English (en).

!>If no matching key was found, the key would be returned instead. In this case message

Bundle Analysis

Bundle Analysis is the method of examining the detailed structure of individual elements within your application output build files. This allows for visualize and analyse build statistics pinpointing areas that can optimized in the next iteration of your build output. This process becomes increasingly important as your bundle size grow which has a direct impact on the end users load time.

Bundle Analyzer allows for the creation of statistical data that is used for visualizing webpack outputs which helps in understanding the composition of your bundles.

RDVUE and Bundle Analysis Using Webpack Bundle Analyser Plugin

To generate build files for bundle analysis we run the following command

$ npm run build

This will build production ready files for deployment, additionally spinning up the integrated webpack bundle analysis server:

Webpack Bundle Analyzer is started at http://127.0.0.1:8888

Expected terminal output:

Expected browser output Treemap:

This module will help you:

  1. Realize what's really inside your bundle
  2. Find out what modules make up the most of its size
  3. Find modules that got there by mistake
  4. Optimize it!

And the best thing is it supports minified bundles! It parses them to get real size of bundled modules. And it also shows their gzipped sizes!

?>For additional plugin options and configurations please visit: https://www.npmjs.com/package/webpack-bundle-analyzer

- \ No newline at end of file diff --git a/docs/.output/public/rdvue/getting-started/overview/_payload.js b/docs/.output/public/rdvue/getting-started/overview/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/rdvue/getting-started/overview/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/rdvue/getting-started/overview/index.html b/docs/.output/public/rdvue/getting-started/overview/index.html deleted file mode 100644 index db8cc2d3..00000000 --- a/docs/.output/public/rdvue/getting-started/overview/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - -Getting Started · Frontier - - - - - - - -

Getting Started

RDVue is an opinionated CLI for generating Vue.js projects. We do so by adopting -a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models, -and a data-layer design promoting unified consumption through Stores and Services.

Usage

frontier vue:<action>

Global installation:

frontier plugins:install vuefrontier vue <action>

Options

frontier vue:<action>:<feature>
-
-Actions:
-  create-project   -  Scaffold a new rdvue project
-  add              -  Add a feature to a project
-  plugin           -  Inject a utility to extend project functionality
-  upgrade          -  Specify the rdvue template version for a project
-    
-Options:
-  --help | -h      -  Show help information

Validate Installation

We can confirm the successful installation of RDvue in three simple steps:

Step 1: Create a project

frontier vue:create-project <project-name>

Replace <project-name> with the actual name of your project.

Generated folders are named in kebab-case.

Step 2: Install project dependencies

cd <project-name>
-npm install

Step 3: Serve project

npm run serve

The project will be served at http://localhost:8080/ by default. This information will also be printed out in your terminal. Visiting the link the app is served on will display a default page which was created on project creation.

Next Steps

Generating a Page

frontier vue:add:page <page-name>

Each generated Page gets its own dedicated folder. The folder will be given the name of the page. This folder is located at /src/pages/<page-name> .

Generating a Component

frontier vue:generate component <component-name>
- \ No newline at end of file diff --git a/docs/.output/public/rdvue/scaffilding/sitemap/_payload.js b/docs/.output/public/rdvue/scaffilding/sitemap/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/rdvue/scaffilding/sitemap/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/rdvue/scaffilding/sitemap/index.html b/docs/.output/public/rdvue/scaffilding/sitemap/index.html deleted file mode 100644 index c635064f..00000000 --- a/docs/.output/public/rdvue/scaffilding/sitemap/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - -Sitemap · Frontier - - - - - - - -

Sitemap

A sitemap file is useful for helping Google to better index your website, ensuring that the content you write can be visible in search results.

This can be created by utilising the sitemap library, which can be installed as follows:

pnpm
pnpm add --save-dev sitemap
yarn
yarn add --dev sitemap
npm
npm install --save-dev sitemap

Server Route

We will be utilising the server routes available within Nuxt, and to do so you'll need to create the server/ directory within your website's root directly.

Once this is done, create a routes/ directory inside this, and add a sitemap.xml.ts file, this will translate to /sitemap.xml.

You'll need to add the following:

server/routes/sitemap.xml.ts
import { serverQueryContent } from '#content/server'import { SitemapStream, streamToPromise } from 'sitemap'export default defineEventHandler(async (event) => {  // Fetch all documents  const docs = await serverQueryContent(event).find()  const sitemap = new SitemapStream({    hostname: 'https://example.com'  })  for (const doc of docs) {    sitemap.write({      url: doc._path,      changefreq: 'monthly'    })  }  sitemap.end()  return streamToPromise(sitemap)})

Now, once users go to https://example.com/sitemap.xml, you'll find the generated XML file with all your pages.

When using nuxt generate, you may want to pre-render the sitemap since the server route won't be able to run on a static hosting.

You can do this using the nitro.prerender option in your nuxt.config:

nuxt.config.ts
export default defineNuxtConfig({  // ...  nitro: {    prerender: {      routes: ['/sitemap.xml']    }  }})
- \ No newline at end of file diff --git a/docs/.output/public/rdvue/template-schema/schema/_payload.js b/docs/.output/public/rdvue/template-schema/schema/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/rdvue/template-schema/schema/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/rdvue/template-schema/schema/index.html b/docs/.output/public/rdvue/template-schema/schema/index.html deleted file mode 100644 index c18ababe..00000000 --- a/docs/.output/public/rdvue/template-schema/schema/index.html +++ /dev/null @@ -1,54 +0,0 @@ - - - -Template Schema · Frontier - - - - - - - -

Template Schema


This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module.

template.json

The template.json file keeps a record of each abstracted template module. This file directs how the CLI will navigate and parse each subsequent template module. The following is a breakdown of the sections that make up template.json.

The template.json file includes the following properties:

version

A number representing the current version of the file.

{  "version": 1}

sourceDirectory

Source directory for module files that will be copied into a project. Normally points to the base folder of a module.

{  "sourceDirectory": "./",}

features

The features section holds a list of objects with each representing a single feature. Each object holds two properties, name & private.

The name property holds the name of a feature, this the name that you must use when running a command on any of these features.

The private is a boolean which determines whether or not the files of a feature can be overwritten after been initially added to the project. Also, features whose private property is set to true cannot be added by a user.

  "features": [      {        "name": "config",        "private": true      },      {        "name": "store",        "private": true      },      {        "name": "component",        "private": false      },      {        "name": "service",        "private": false      },      {        "name": "model",        "private": false      },      {        "name": "page",        "private": false      },      {        "name": "sm",        "private": false      }  ]

plugins

The plugins section holds a list of names of the plugins available in RDvue. After setting up your configuration files for a plugin, simply add the name (the name of the module folder for the configuration files of your plugin) to this list to make it available to the CLI for usage.

"plugins": [  "auth",  "localization",  "storybook"]

project

The project section is an object which defines what will be installed at project creation. Currently, there are two properties/keys on this object, features & plugin.

The features property/key is an array holding the name of all features which will be automatically generated at project creation.

The plugins property/key is an array holding the name of all plugins which will be automatically generated at project creation.

"project": {    "features": [      "config",      "store"    ],    "plugins": [      "storybook"    ]  }

groups

The groups section is used to group plugins that offer similar functionalities.

For example, imagine if we had the following two UI libraries Buefy & Vuetify, we could create a group called ui-library which holds these two plugins.

Each group is represented as an object. Each object has the following properties:

  • name - the name of the group
  • isMultipleChoice - boolean indicating if more than one option can be selected from this group
  • plugins - a list of the names of the plugins that belong to the group
  • question - the question prompted to a user when they run the command to add a plugin from a group

Running rdvue add-group <group_name> would prompt a user with the question that belongs to the requested group along with the list of plugins in that group to choose from.

"project": {    "features": [      "config",      "store"    ],    "plugins": [      "storybook"    ]  }

presets

presets are available for a user to quickly scaffold in plugins when creating a project. The presets section of the template.json contains a list of objects. each representing an individual preset. A preset object contains the following properties:

  • name - the name of the preset
  • description - description of the preset. Conventionally used to list out the plugins that comes with the preset
  • plugins- a list of the plugins which the preset will install
 "presets": [    {      "name""Sample Preset 1",      "description""Installs storybook, and localization",      "plugins": [        "storybook",        "localization"      ]    }  ]

customPreset

A user can decide to manually select plugins from different groups that they’d like at project creation instead of choosing a preset. The cutomPreset object describes the groups available to a user. It includes the following:

  • name - the name displayed to the user
  • groups - a list containing the names of the Feature Groups which the user will be able to choose from
 "customPreset": {    "groups": [      "authentication",      "locale"    ],    "name""custom"  }

Example template.json file

Here is a sample of what a complete template.json file would look like.

{  "version"1,  "sourceDirectory""./",  "features": [    {      "name""config",      "private"true    },    {      "name""store",      "private"true    },    {      "name""component",      "private"false    },    {      "name""service",      "private"false    },    {      "name""model",      "private"false    },    {      "name""page",      "private"false    },    {      "name""sm",      "private"false    }  ],  "plugins": [    "auth",    "localization",    "storybook"  ],  "project": {    "features": [      "config",      "store"    ],    "plugins": [      "storybook"    ]  },  "groups": [    {      "name""authentication",      "isMultipleChoice"false,      "plugins": [        "auth"      ],      "question""Which Authentication Library would you like to install?"    },    {      "name""locale",      "isMultipleChoice"false,      "plugins": [        "localization"      ],      "question""Which Localization Library would you like to install?"    }  ],  "presets": [    {      "name""Sample Preset 1",      "description""Installs storybook, and localization",      "plugins": [        "storybook",        "localization"      ]    }  ],  "customPreset": {    "groups": [      "authentication",      "locale"    ],    "name""custom"  }}

Template Module


Modules are self-contained building blocks of a full Vue project. Each module must contain a manifest.json file.

A module.json file is built with the following section. Not all sections will be needed inside every module.json file created. A module.json is composed of the following sections:

version

The current version of the file.

"version": 1

name

Name of the module (e.g component)

  "name": "component"

description

A description of the module. This is also displayed inside the CLI help menu for each Module.

"description": "Generate a basic components needed for basic authenticaton."

sourceDirectory

Source directory for module files that get copied into a project. Normally points to the base folder of a module.

  "sourceDirectory": "./"

installDirectory

the location that the module should be generated in the Vue project.

files

a list of files that exist in the module that needs to be copied to the install directory. The files in this list can either be either of the following:

  • a string (if the file should be copied as-is)
"files": [    {      "source": "store/auth.ts",      "target": "store/auth.ts"    },    {      "source": "services/auth.ts",      "target": "services/auth.ts"    },    {      "source": "model/user.ts",      "target": "model/user.ts"    },    {      "source": "pages/register/index.ts",      "target": "pages/auth/register/index.ts"    },    {      "source": "pages/register/register.ts",      "target": "pages/auth/register/register.ts"    },    {      "source": "pages/register/register.scss",      "target": "pages/auth/register/register.scss"    },    {      "source": "pages/register/register.vue",      "target": "pages/auth/register/register.vue"    },    {      "source": "pages/login/index.ts",      "target": "pages/auth/login/index.ts"    },    {      "source": "pages/login/login.ts",      "target": "pages/auth/login/login.ts"    },    {      "source": "pages/login/login.scss",      "target": "pages/auth/login/login.scss"    },    {      "source": "pages/login/login.vue",      "target": "pages/auth/login/login.vue"    },    {      "source": "pages/forget-password/index.ts",      "target": "pages/auth/forget-password/index.ts"    },    {      "source": "pages/forget-password/forget-password.ts",      "target": "pages/auth/forget-password/forget-password.ts"    },    {      "source": "pages/forget-password/forget-password.scss",      "target": "pages/auth/forget-password/forget-password.scss"    },    {      "source": "pages/forget-password/forget-password.vue",      "target": "pages/auth/forget-password/forget-password.vue"    }  ]
  • object with required properties:
    • source and target (for change of name if necessary)
    • and an optional content list of objects for finding and replacing content within the file -
    "files": [  {    "source": "index.ts",    "target": "index.ts",    "content": [      {        "matchRegex": "__COMPONENT__KEBAB__",        "replace": "${componentNameKebab}"      }    ]  },  {    "source": "component.scss",    "target": "${componentNameKebab}.scss",    "content": [      {        "matchRegex": "__COMPONENT__",        "replace": "${componentNameKebab}"      }    ]  },  {    "source": "component.ts",    "target": "${componentNameKebab}.ts",    "content": [      {        "matchRegex": "__COMPONENT__KEBAB__",        "replace": "${componentNameKebab}"      },      {        "matchRegex": "__COMPONENT__",        "replace": "${componentName}"      }    ]  },  {    "source": "component.spec.js",    "target": "${componentNameKebab}.spec.js",    "content": [      {        "matchRegex": "__COMPONENT__KEBAB__",        "replace": "${componentNameKebab}"      },      {        "matchRegex": "__COMPONENT__",        "replace": "${componentName}"      }    ]  },  {    "source": "component.vue",    "target": "${componentNameKebab}.vue",    "content": [      {        "matchRegex": "__COMPONENT__",        "replace": "${componentNameKebab}"      }    ]  }]

-  _Note: files section can be a combination of both types mentioned above._
-
-### packages
-This section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed.
-
-The dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development.
-
-```json
- "packages": {
-    "dependencies": ["vue-i18n"],
-    "devDependencies": ["vue-cli-plugin-i18n"]
-  }

There’s currently no support for specifying package versions.

routes

You have the ability to inject a route into the application to allow users to preview a module (feature or plugin) after installing it.

The routes section of the manifest.json allows you to define an array of routes. Here’s an example:

  "routes": [
-    {
-      "path": "'/buefy-sample'",
-      "name": "'buefy-sample'",
-      "component": "`require('@/pages/buefy-sample/buefy-sample.vue').default`"
-    }
-  ]
  • path: relative URL where module component (.vue file) can be viewed
  • name: name of the route
  • component: the sample component created as a part of your module

Any number of modules can have a routes section. Therefore, each route definition is programmatically added to an array of route definitions found in .rdvue/routes.js at the root of an RDvue project. The definitions found in this array are then automatically loaded into the router.ts file. Here’s an example:

export default [{  path: '/buefy-sample',  name: 'buefy-sample',  component: require('@/pages/buefy-sample/buefy-sample.vue').default },];

vueOptions

Plugin options needed in vue.config for module to work

"vueOptions": {
-    "transpileDependencies": [
-      "'vuetify'"
-    ]
-  }

All vueOptions are automatically added to the exports object in .rdvue/options.js. This module is then loaded in vue.config.js and used as part of its plugin options.

module.exports = {
-  transpileDependencies: 'vuetify',
-};

modules

Configuration imports needed for your module to work. These configs are store in the src/config folder.

  "modules": {
-    "vuetify": "`require('@/config/vuetify').default`"
-  } 
- \ No newline at end of file diff --git a/docs/.output/public/rdvue/testing/testing/_payload.js b/docs/.output/public/rdvue/testing/testing/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/rdvue/testing/testing/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/rdvue/testing/testing/index.html b/docs/.output/public/rdvue/testing/testing/index.html deleted file mode 100644 index 844b8f44..00000000 --- a/docs/.output/public/rdvue/testing/testing/index.html +++ /dev/null @@ -1,77 +0,0 @@ - - - -Testing · Frontier - - - - - - - -

Testing

Cypress

Cypress is a JavaScript end-to-end testing framework that makes it easy to get started with structuring your tests for web applications. At its core, Cypress is not based on Selenium, instead, it is based on a architecture that runs in the same run-loop as your web application. Cypress offers a API that allows developers and QA Engineers a lot of flexibility to make tests. Examples would be offering the ability to do mocking of network requests, taking screenshots or recording your network activity.

End-to-End (e2e) tests are usually tests that are focused on simulating user interactions. Cypress provides all the necessary dependencies to create these e2e tests and also to debug them if necessary.

Technical

Within a project generated by the CLI tool, the following folder structure will be created:

All the e2e tests created by Cypress will live in the cypress/integration/specs directory. All these test files will have a .ts extension as they are written in TypeScript.

An example of a test file written in Cypress can be seen below:

// Example spec file to see the different methods that can be used in Cypress to set the current viewport
-/// <reference types="Cypress" />
-
-context('Viewport Examples', () => {
-    beforeEach(() => {
-      cy.visit('https://example.cypress.io/commands/viewport');
-    });
-
-    it('cy.viewport() - set the viewport size and dimension', () => {
-      // https://on.cypress.io/viewport
-
-      cy.get('#navbar').should('be.visible');
-      cy.viewport(320, 480);
-
-      // the navbar should have collapse since our screen is smaller
-      cy.get('#navbar').should('not.be.visible');
-      cy.get('.navbar-toggle').should('be.visible').click();
-      cy.get('.nav').find('a').should('be.visible');
-
-      // lets see what our app looks like on a super large screen
-      cy.viewport(2999, 2999);
-
-      // cy.viewport() accepts a set of preset sizes
-      // to easily set the screen to a device's width and height
-
-      // We added a cy.wait() between each viewport change so you can see
-      // the change otherwise it is a little too fast to see :)
-
-      cy.viewport('macbook-15');
-      cy.wait(200);
-      cy.viewport('macbook-13');
-      cy.wait(200);
-      cy.viewport('macbook-11');
-      cy.wait(200);
-      cy.viewport('ipad-2');
-      cy.wait(200);
-      cy.viewport('ipad-mini');
-      cy.wait(200);
-      cy.viewport('iphone-6+');
-      cy.wait(200);
-      cy.viewport('iphone-6');
-      cy.wait(200);
-      cy.viewport('iphone-5');
-      cy.wait(200);
-      cy.viewport('iphone-4');
-      cy.wait(200);
-      cy.viewport('iphone-3');
-      cy.wait(200);
-
-      // cy.viewport() accepts an orientation for all presets
-      // the default orientation is 'portrait'
-      cy.viewport('ipad-2', 'portrait');
-      cy.wait(200);
-      cy.viewport('iphone-4', 'landscape');
-      cy.wait(200);
-
-      // The viewport will be reset back to the default dimensions
-      // in between tests (the  default can be set in cypress.json)
-    });
-  });

By default, all projects get sample tests generated for them which contain several examples for selecting elements, automating navigation and changing view ports for more responsive UI tests.

?>When you are testing the connection between pages and user flows, a Cypress test should be created.

Running tests

In order to run your Cypress tests, execute npm run test:e2e and the following dialog will open

-

From here, you can click on the Run all specs option and see all the tests execute or you can click on a specific test file and see that test execute.

?>Your application should be running on localhost or hosted at a url before trying to setup e2e tests.

Unit Tests with Jest

Unit tests are focused on validating small bits of functionality in a software product. Unit tests can be done manually or they can be automated. If you wish to learn more about unit testing and approaches that can be taken.

If you wish to automate your unit tests, Jest can be used. Jest is a JavaScript testing framework that can be integrated into several different JavaScript frameworks and it is very useful for certain use cases.

Technical

Each component generated by the RDVue CLI comes with a .spec.js file and the folder structure will look like the following:

The spec file generated will contain the following basic test by default:

-) -

This file is using the expect assertion library that comes with Jest and also the shallowMount method that is available to us through the ‘@vue/test-utils' library. Jest comes pre-packaged with Mocha which is enables us to use the 'describe/it’ setup to describe our test suite and our specific test case respectively.

shallowMount is used to mock or simulate what would happen to the component if it was actually mounted to the DOM. The .exists() method is used with shallowMount in order to check that the component was actually mounted and it does exist in the DOM.

- \ No newline at end of file diff --git a/docs/.output/public/rdvue/themeing/theming/_payload.js b/docs/.output/public/rdvue/themeing/theming/_payload.js deleted file mode 100644 index c459731d..00000000 --- a/docs/.output/public/rdvue/themeing/theming/_payload.js +++ /dev/null @@ -1 +0,0 @@ -export default {data:{},prerenderedAt:void 0} \ No newline at end of file diff --git a/docs/.output/public/rdvue/themeing/theming/index.html b/docs/.output/public/rdvue/themeing/theming/index.html deleted file mode 100644 index fc725b86..00000000 --- a/docs/.output/public/rdvue/themeing/theming/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -Theming · Frontier - - - - - - - -

Theming

Global Styles

Custom styles can be added into the project to provide global-level styling. This is useful for providing defaults which will be used by all instances of an element - such as overriding a UI framework’s defaults.

?>Global styles can be added to the src/theme directory.

Do’s and Don’t

  • Do use global styles to apply application level defaults to HTML elements
  • Do not use global styles to customize the imperative look/feel of specific Components. (Use Component-level styles and Tailwind for that).
  • Do use global styles to override imported UI components' look and feel (Eg. to customize Buefy).
  • Do import global styles within the main.ts app bootstrap file. This will allow unused selectors to be tree-shaken.
  • Do import global styles from a CDN within the public/index.html file.

Tailwind

Tailwind is a utility-first CSS framework which provides standardized classes for layout, colors and responsiveness. It is unique through its approach of providing low-level utility classes which can be rapidly combined to produce complex functionality. It does not provide custom UI elements like Buttons or Dropdowns, but rather focuses on building blocks which are agnostic of a specific visual design.

?>Tailwind is the best practice approach for styling Components and Pages within RDVue.

Technical

  • The tailwind.config.js file allows custom utilities to be created or existing ones overridden. Eg. new standardized margin or padding values.
  • Tailwind utilities can be combined within your custom CSS selectors using the @apply directive.
  • New utility classes can implemented using CSS. They can be used with psuedo class and responsive variants - like native Tailwind utilities.

?>The color section in tailwind.config.js should be overridden for new projects and the colors matching your style guide listed instead.

- \ No newline at end of file diff --git a/docs/.output/public/spectre/getting-started/introduction/index.html b/docs/.output/public/spectre/getting-started/introduction/index.html index 11ac3460..93b9fbe7 100644 --- a/docs/.output/public/spectre/getting-started/introduction/index.html +++ b/docs/.output/public/spectre/getting-started/introduction/index.html @@ -8,8 +8,7 @@ - - + \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index f9f97c46..464a9759 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,10 +1,10 @@ -Frontier Documentation Website -# Documentation - -This documentation uses [Docus](https://github.com/nuxt-themes/docus). - -## 💻 Development - -- Install dependencies using `yarn` -- Start using `yarn dev` -- Build using `yarn build` +Frontier Documentation Website +# Documentation + +This documentation uses [Docus](https://github.com/nuxt-themes/docus). + +## 💻 Development + +- Install dependencies using `yarn` +- Start using `yarn dev` +- Build using `yarn build` diff --git a/docs/app.config.ts b/docs/app.config.ts index 06a227e2..32da3e9b 100644 --- a/docs/app.config.ts +++ b/docs/app.config.ts @@ -1,47 +1,47 @@ -export default defineAppConfig({ - github: { - owner: 'realdecoy', - repo: 'frontier', - branch: 'main' - }, - docus: { - title: 'Frontier', - description: 'Write pages in markdown, use Vue components and enjoy the power of Nuxt with a blazing fast developer experience.', - image: 'https://content.nuxtjs.org/preview.png', - url: 'https://realdecoy.com', - socials: { - github: 'realdecoy/frontier' - }, - github: { - dir: '', - root: '', - edit: true, - releases: true, - owner: 'realdecoy', - repo: 'frontier', - branch: 'main' - }, - cover: { - src: '/cover.jpg', - alt: 'Tooling maded easy for developers' - }, - aside: { - level: 1 - }, - layout: { - fluid: true - }, - header: { - logo: 'Logo', - }, - footer: { - iconLinks: [ - { - label: 'Realdecoy', - href: 'https://realdecoy.com', - icon: 'IconNuxt' - } - ] - } - } -}) +export default defineAppConfig({ + github: { + owner: 'realdecoy', + repo: 'frontier', + branch: 'main', + }, + docus: { + title: 'Frontier', + description: 'Write pages in markdown, use Vue components and enjoy the power of Nuxt with a blazing fast developer experience.', + image: 'https://content.nuxtjs.org/preview.png', + url: 'https://realdecoy.com', + socials: { + github: 'realdecoy/frontier', + }, + github: { + dir: '', + root: '', + edit: true, + releases: true, + owner: 'realdecoy', + repo: 'frontier', + branch: 'main', + }, + cover: { + src: '/cover.jpg', + alt: 'Tooling maded easy for developers', + }, + aside: { + level: 1, + }, + layout: { + fluid: true, + }, + header: { + logo: 'Logo', + }, + footer: { + iconLinks: [ + { + label: 'Realdecoy', + href: 'https://realdecoy.com', + icon: 'IconNuxt', + }, + ], + }, + }, +}); diff --git a/docs/components/content/Example/ExampleCard.vue b/docs/components/content/Example/ExampleCard.vue index d421367d..9ec62cbb 100644 --- a/docs/components/content/Example/ExampleCard.vue +++ b/docs/components/content/Example/ExampleCard.vue @@ -1,5 +1,5 @@ - + diff --git a/docs/components/content/Example/ExampleHero.vue b/docs/components/content/Example/ExampleHero.vue index 241426dd..9b0441c9 100644 --- a/docs/components/content/Example/ExampleHero.vue +++ b/docs/components/content/Example/ExampleHero.vue @@ -1,8 +1,8 @@ - + diff --git a/docs/components/content/Example/ExampleIconCard.vue b/docs/components/content/Example/ExampleIconCard.vue index c9ed7e1d..4f883cef 100644 --- a/docs/components/content/Example/ExampleIconCard.vue +++ b/docs/components/content/Example/ExampleIconCard.vue @@ -1,26 +1,26 @@ - - - + + + diff --git a/docs/components/content/Example/ExampleMultiselect.vue b/docs/components/content/Example/ExampleMultiselect.vue index 755f37d4..f3b62923 100644 --- a/docs/components/content/Example/ExampleMultiselect.vue +++ b/docs/components/content/Example/ExampleMultiselect.vue @@ -1,19 +1,19 @@ - - - + + + diff --git a/docs/components/content/Example/ExampleTheTitle.vue b/docs/components/content/Example/ExampleTheTitle.vue index e2fb0231..cc52f7b1 100644 --- a/docs/components/content/Example/ExampleTheTitle.vue +++ b/docs/components/content/Example/ExampleTheTitle.vue @@ -1,5 +1,5 @@ - + diff --git a/docs/components/content/HeroAnnouncement.vue b/docs/components/content/HeroAnnouncement.vue index 97180d18..b328d35c 100644 --- a/docs/components/content/HeroAnnouncement.vue +++ b/docs/components/content/HeroAnnouncement.vue @@ -1,60 +1,60 @@ - - - - - + + + + + diff --git a/docs/components/content/IconMarkdown.vue b/docs/components/content/IconMarkdown.vue index 308935b1..25b54767 100644 --- a/docs/components/content/IconMarkdown.vue +++ b/docs/components/content/IconMarkdown.vue @@ -1,12 +1,12 @@ - + diff --git a/docs/components/content/Logo.vue b/docs/components/content/Logo.vue index 41fce495..57856944 100644 --- a/docs/components/content/Logo.vue +++ b/docs/components/content/Logo.vue @@ -1,73 +1,73 @@ - + diff --git a/docs/components/content/MyButton.vue b/docs/components/content/MyButton.vue index 97b0f3f7..3e8ad7b1 100644 --- a/docs/components/content/MyButton.vue +++ b/docs/components/content/MyButton.vue @@ -1,35 +1,35 @@ - - - - - + + + + + diff --git a/docs/components/content/PropInspector.vue b/docs/components/content/PropInspector.vue index c7d8bf1c..e1a07215 100644 --- a/docs/components/content/PropInspector.vue +++ b/docs/components/content/PropInspector.vue @@ -1,23 +1,23 @@ - - - - - + + + + + diff --git a/docs/components/content/ReadMore.vue b/docs/components/content/ReadMore.vue index 968bc321..c91cd0c3 100644 --- a/docs/components/content/ReadMore.vue +++ b/docs/components/content/ReadMore.vue @@ -1,29 +1,29 @@ - - - + + + diff --git a/docs/content/1.index.md b/docs/content/1.index.md old mode 100755 new mode 100644 index de91dd13..9579bcf5 --- a/docs/content/1.index.md +++ b/docs/content/1.index.md @@ -1,104 +1,94 @@ ---- -title: "Frontier" -description: "The file-based CMS for your Nuxt application, powered by Markdown and Vue components." -navigation: false -layout: page ---- - -::block-hero ---- -cta: - - Get Started - - /frontier/introduction -secondary: - - Star on GitHub - - https://github.com/realdecoy/frontier -snippet: npm i -g @rdfrontier/cli ---- - -#announce - ::hero-announcement - --- - label: "Discover the all new " - to: /frontier/introduction/whats-frontier - --- - :: - -#title -Frontier - by Realdecoy - -#description -A full service toolset for building `web` and `mobile` software products. With `templates` and `libraries`, Frontier delivers a designed development experience to `10x` your software development. - -#support -:: - -::card-grid -#title -Powerful Features - -#default - ::card - --- - icon: - --- - #title - CLI - #description - Take advantage of the Frontier CLI powering tools for: RDVue, RDMobile, and Spectre. - :: - - ::card - --- - icon: - --- - #title - Standard Library - #description - Leverage battle-hardened code from the standard library. - :: - - ::card - --- - icon: - --- - #title - TypeKit - #description - Use Common type definition and data structures from the typekit. - :: - - ::card - --- - icon: - --- - #title - RDVue - #description - A beautifully structured vue template and cli for authoring frontend applications. - :: - - ::card - --- - icon: - --- - #title - Spectre - #description - Test your applications to the moon with the Spectre testing suite. - :: - - ::card - --- - icon: - --- - #title - Mobile - #description - Build Mobile applications with ease with structures React Native foundation. - :: - -#root -:ellipsis -:: - +--- +title: "Frontier" +description: "The file-based CMS for your Nuxt application, powered by Markdown and Vue components." +navigation: false +layout: page +--- + +::block-hero +--- +cta: + - Get Started + - /frontier/introduction/whats-frontier +secondary: + - Star on GitHub + - https://github.com/realdecoy/frontier +snippet: npm i -g @realdecoy/frontier +--- + +#announce + ::hero-announcement + --- + label: "Discover the all new " + to: /frontier/introduction/whats-frontier + --- + :: + +#title +Frontier - by RealDecoy + +#description +A full service toolset for building `web` and `mobile` software products. With `templates` and `libraries`, Frontier delivers a designed development experience to `10x` your software development. + +#support +:: + +::card-grid +#title +Powerful Features + +#default + ::card + --- + icon: + --- + #title + CLI + #description + Take advantage of the Frontier CLI powering tools for: Vue and Mobile. + :: + + ::card + --- + icon: + --- + #title + Standard Library + #description + Leverage battle-hardened code from the standard library. + :: + + ::card + --- + icon: + --- + #title + TypeKit + #description + Use Common type definition and data structures from the typekit. + :: + + ::card + --- + icon: + --- + #title + Vue + #description + A beautifully structured vue template and cli for authoring frontend applications. + :: + + ::card + --- + icon: + --- + #title + Mobile + #description + Build Mobile applications with ease with structures React Native foundation. + :: + +#root +:ellipsis +:: + diff --git a/docs/content/2.frontier/1.introduction/1.whats-frontier.md b/docs/content/2.frontier/1.introduction/1.whats-frontier.md old mode 100755 new mode 100644 index 4f1f50ca..be29bce9 --- a/docs/content/2.frontier/1.introduction/1.whats-frontier.md +++ b/docs/content/2.frontier/1.introduction/1.whats-frontier.md @@ -1,2 +1,8 @@ -# What is Frontier? - +# What is Frontier? + +Frontier brings together engineering standards across disciplines for ease of use, promoting consistent software development. +Contributions are welcome! You can help us by reporting or fixing bugs and giving us feedback on new/existing features. + +## About + +Frontier offers a set of standard libraries and typing kits that can be used across engineering projects to allow for more consistent software development. With frontier, a set of plugins are available for use by developers which can be used to easily generate base project files contributing to a faster development process. \ No newline at end of file diff --git a/docs/content/2.frontier/1.introduction/2.content-directory.md b/docs/content/2.frontier/1.introduction/_2.content-directory.md similarity index 100% rename from docs/content/2.frontier/1.introduction/2.content-directory.md rename to docs/content/2.frontier/1.introduction/_2.content-directory.md diff --git a/docs/content/2.frontier/1.introduction/3.philosophy.md b/docs/content/2.frontier/1.introduction/_3.philosophy.md old mode 100755 new mode 100644 similarity index 100% rename from docs/content/2.frontier/1.introduction/3.philosophy.md rename to docs/content/2.frontier/1.introduction/_3.philosophy.md diff --git a/docs/content/2.frontier/1.introduction/_dir.yml b/docs/content/2.frontier/1.introduction/_dir.yml index c810aa97..149d3938 100644 --- a/docs/content/2.frontier/1.introduction/_dir.yml +++ b/docs/content/2.frontier/1.introduction/_dir.yml @@ -1 +1 @@ -icon: heroicons-outline:pencil-alt +icon: heroicons-outline:pencil-alt diff --git a/docs/content/2.frontier/2.getting-started/1.installation.md b/docs/content/2.frontier/2.getting-started/1.installation.md new file mode 100644 index 00000000..33f415e1 --- /dev/null +++ b/docs/content/2.frontier/2.getting-started/1.installation.md @@ -0,0 +1,11 @@ +# Installation + +For global installation +```bash +npm install --global @realdecoy/frontier +``` + +alternatively, use `npx` to execute the binaries remotely +```bash +npx @realdecoy/frontier +``` \ No newline at end of file diff --git a/docs/content/2.frontier/2.getting-started/1.usage.md b/docs/content/2.frontier/2.getting-started/1.usage.md new file mode 100644 index 00000000..19dd32c5 --- /dev/null +++ b/docs/content/2.frontier/2.getting-started/1.usage.md @@ -0,0 +1,38 @@ +# Usage + +```bash +frontier +``` +> namespaces are optional if running frontier commands in an existing frontier project + +The help menu can be accessed with the commands: + +```bash +frontier --help +frontier --help +``` +The current version of frontier can be retrieved with the command: + +```bash +frontier --version +``` + +  +  +  + +## Options +```txt +Usage: + frontier + +Namespaces: + dotnet - Dotnet API Scaffolding + mobile - React Native Scaffolding + vue - Vue.js Scaffolding + +Options: + --help - Show help information + --version - Show cli version +``` + diff --git a/docs/content/2.frontier/2.installation/_dir.yml b/docs/content/2.frontier/2.getting-started/_dir.yml similarity index 100% rename from docs/content/2.frontier/2.installation/_dir.yml rename to docs/content/2.frontier/2.getting-started/_dir.yml diff --git a/docs/content/2.frontier/2.installation/1.general.md b/docs/content/2.frontier/2.installation/1.general.md deleted file mode 100644 index 0a396c3e..00000000 --- a/docs/content/2.frontier/2.installation/1.general.md +++ /dev/null @@ -1,2 +0,0 @@ -# General Use - diff --git a/docs/content/2.frontier/2.installation/2.development.md b/docs/content/2.frontier/2.installation/2.development.md deleted file mode 100644 index a22ceedc..00000000 --- a/docs/content/2.frontier/2.installation/2.development.md +++ /dev/null @@ -1,2 +0,0 @@ -# Development - diff --git a/docs/content/2.frontier/2.installation/3.navigation.md b/docs/content/2.frontier/2.installation/3.navigation.md deleted file mode 100644 index 2a4c9191..00000000 --- a/docs/content/2.frontier/2.installation/3.navigation.md +++ /dev/null @@ -1,2 +0,0 @@ -# Navigation - diff --git a/docs/content/2.frontier/3.cli/1.usage.md b/docs/content/2.frontier/3.cli/1.usage.md deleted file mode 100644 index 0ff38af8..00000000 --- a/docs/content/2.frontier/3.cli/1.usage.md +++ /dev/null @@ -1,2 +0,0 @@ -# Usage - diff --git a/docs/content/2.frontier/3.cli/2.development.md b/docs/content/2.frontier/3.cli/2.development.md deleted file mode 100644 index a22ceedc..00000000 --- a/docs/content/2.frontier/3.cli/2.development.md +++ /dev/null @@ -1,2 +0,0 @@ -# Development - diff --git a/docs/content/2.frontier/3.development/1.overview.md b/docs/content/2.frontier/3.development/1.overview.md new file mode 100644 index 00000000..2823686b --- /dev/null +++ b/docs/content/2.frontier/3.development/1.overview.md @@ -0,0 +1,36 @@ +# Overview + +### Prerequisites & Recommendations + +| Name | Description | More Information +| ---- | ----------- | --------------- | +| node | runtime | version 19.8.1 | +| yarn | dependency management | version 1.22.19 | +| vscode | code editor | version 1.77.1 | + +  +  +  + +### Clone the project +[Frontier - development](https://github.com/realdecoy/frontier/tree/development) + +### Install Dependencies +```bash +yarn install +``` +or +```bash +npm install +``` + +### Execute CLI commands +```bash +./bin/dev +``` +e.g. +```bash +./bin/dev vue create-project +? Enter a project name: » my-cool-project +``` + diff --git a/docs/content/2.frontier/3.development/2.building.md b/docs/content/2.frontier/3.development/2.building.md new file mode 100644 index 00000000..b9d40a75 --- /dev/null +++ b/docs/content/2.frontier/3.development/2.building.md @@ -0,0 +1,28 @@ +# Building + +#### Build +The build command rebuilds all packages and notify the user of the success of the packages being rebuilt. +To build the packages of frontier, run the command: + +```bash +yarn run build +``` +or +```bash +npm run build +``` + +      + + +#### Rebuild +Rebuilding the frontier packages automatically reconstructs the packages, forgetting about any previous compilation of them. +To rebuild the frontier packages, run the command: + +```bash +yarn run rebuild +``` +or +```bash +npm run rebuild +``` \ No newline at end of file diff --git a/docs/content/2.frontier/3.development/3.testing.md b/docs/content/2.frontier/3.development/3.testing.md new file mode 100644 index 00000000..4d20d14b --- /dev/null +++ b/docs/content/2.frontier/3.development/3.testing.md @@ -0,0 +1,15 @@ +# Testing + +### Run Unit Test Suite +```bash +yarn run test +``` +or +```bash +npm run test +``` + +### Creating Tests +- create a ```.test.ts``` file in the respective folder +- using ```chai``` assertion syntax, describe your unit test cases +- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see more details diff --git a/docs/content/2.frontier/3.development/4.contributing.md b/docs/content/2.frontier/3.development/4.contributing.md new file mode 100644 index 00000000..8d524419 --- /dev/null +++ b/docs/content/2.frontier/3.development/4.contributing.md @@ -0,0 +1,17 @@ +# Contributing + +### Creating a frontier namespace +#### [Adam](https://github.com/realdecoy/frontier/tree/development/commands/adam) +To support the creation of new frontier-based namespaces, a template [Adam](https://github.com/realdecoy/frontier/tree/development/src/commands/adam) has been provided to allow for easier development. This template provides the basic structure needed to develop a simple frontier-based namespace. It also provides sample commands and tests to get you started. + +      + +### Contribution Instructions +#### Testing Requirements +All code contributions made to this repository must be properly tested. Jest is the testing framework that is used. All test files must be written with the extension ".spec.ts", to maintain the consistency of this project. + +#### GitHub Commits +All commits made to this repository must be written according to the [Conventional Commit Messages Standard](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13). This is to ensure that consistency is maintained throughout the repository. + +#### Pull Request +When creating a pull request ensure that the request is well documented and the changes made to the repository have been properly noted. Ensure to link the issue number(s) that the pull request satisfies. diff --git a/docs/content/3.rdvue/2.cli-commands/_dir.yml b/docs/content/2.frontier/3.development/_dir.yml similarity index 100% rename from docs/content/3.rdvue/2.cli-commands/_dir.yml rename to docs/content/2.frontier/3.development/_dir.yml diff --git a/docs/content/2.frontier/4.namespaces/1.vue.md b/docs/content/2.frontier/4.namespaces/1.vue.md new file mode 100644 index 00000000..f34a39f8 --- /dev/null +++ b/docs/content/2.frontier/4.namespaces/1.vue.md @@ -0,0 +1,2 @@ +# Vue + diff --git a/docs/content/2.frontier/4.plugins/2.mobile.md b/docs/content/2.frontier/4.namespaces/2.mobile.md similarity index 100% rename from docs/content/2.frontier/4.plugins/2.mobile.md rename to docs/content/2.frontier/4.namespaces/2.mobile.md diff --git a/docs/content/2.frontier/4.namespaces/3.dotnet.md b/docs/content/2.frontier/4.namespaces/3.dotnet.md new file mode 100644 index 00000000..bc5aacdd --- /dev/null +++ b/docs/content/2.frontier/4.namespaces/3.dotnet.md @@ -0,0 +1,2 @@ +# Dotnet + diff --git a/docs/content/2.frontier/3.cli/_dir.yml b/docs/content/2.frontier/4.namespaces/_dir.yml similarity index 100% rename from docs/content/2.frontier/3.cli/_dir.yml rename to docs/content/2.frontier/4.namespaces/_dir.yml diff --git a/docs/content/2.frontier/4.plugins/1.frontend.md b/docs/content/2.frontier/4.plugins/1.frontend.md deleted file mode 100644 index ffa90f3c..00000000 --- a/docs/content/2.frontier/4.plugins/1.frontend.md +++ /dev/null @@ -1,2 +0,0 @@ -# Frontend - diff --git a/docs/content/2.frontier/4.plugins/2.quality.md b/docs/content/2.frontier/4.plugins/2.quality.md deleted file mode 100644 index d6ba491e..00000000 --- a/docs/content/2.frontier/4.plugins/2.quality.md +++ /dev/null @@ -1,2 +0,0 @@ -# Quality - diff --git a/docs/content/2.frontier/5.libraries/1.typekit.md b/docs/content/2.frontier/_5.libraries/1.typekit.md similarity index 100% rename from docs/content/2.frontier/5.libraries/1.typekit.md rename to docs/content/2.frontier/_5.libraries/1.typekit.md diff --git a/docs/content/2.frontier/5.libraries/2.standard-library.md b/docs/content/2.frontier/_5.libraries/2.standard-library.md similarity index 100% rename from docs/content/2.frontier/5.libraries/2.standard-library.md rename to docs/content/2.frontier/_5.libraries/2.standard-library.md diff --git a/docs/content/2.frontier/5.libraries/_dir.yml b/docs/content/2.frontier/_5.libraries/_dir.yml similarity index 100% rename from docs/content/2.frontier/5.libraries/_dir.yml rename to docs/content/2.frontier/_5.libraries/_dir.yml diff --git a/docs/content/2.frontier/6.templates/1.dotNet.md b/docs/content/2.frontier/_6.templates/1.dotNet.md similarity index 100% rename from docs/content/2.frontier/6.templates/1.dotNet.md rename to docs/content/2.frontier/_6.templates/1.dotNet.md diff --git a/docs/content/2.frontier/6.templates/2.typescript.md b/docs/content/2.frontier/_6.templates/2.typescript.md similarity index 100% rename from docs/content/2.frontier/6.templates/2.typescript.md rename to docs/content/2.frontier/_6.templates/2.typescript.md diff --git a/docs/content/2.frontier/6.templates/3.nuxt.md b/docs/content/2.frontier/_6.templates/3.nuxt.md similarity index 100% rename from docs/content/2.frontier/6.templates/3.nuxt.md rename to docs/content/2.frontier/_6.templates/3.nuxt.md diff --git a/docs/content/2.frontier/6.templates/_dir.yml b/docs/content/2.frontier/_6.templates/_dir.yml similarity index 100% rename from docs/content/2.frontier/6.templates/_dir.yml rename to docs/content/2.frontier/_6.templates/_dir.yml diff --git a/docs/content/2.frontier/_dir.yml b/docs/content/2.frontier/_dir.yml index 667e034c..850dd4a4 100644 --- a/docs/content/2.frontier/_dir.yml +++ b/docs/content/2.frontier/_dir.yml @@ -1 +1 @@ -icon: heroicons-outline:book-open +icon: heroicons-outline:book-open diff --git a/docs/content/3.Vue/1.introduction/1.whats-frontier-vue.md b/docs/content/3.Vue/1.introduction/1.whats-frontier-vue.md new file mode 100644 index 00000000..bd4d9c1c --- /dev/null +++ b/docs/content/3.Vue/1.introduction/1.whats-frontier-vue.md @@ -0,0 +1,5 @@ +# What is Frontier - Vue? + +## About + +`Frontier - Vue` is an opinionated CLI for generating Vue.js projects. We do so by adopting a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models, and a data-layer design promoting unified consumption through Stores and Services. diff --git a/docs/content/3.rdvue/1.getting-started/_dir.yml b/docs/content/3.Vue/1.introduction/_dir.yml similarity index 100% rename from docs/content/3.rdvue/1.getting-started/_dir.yml rename to docs/content/3.Vue/1.introduction/_dir.yml diff --git a/docs/content/3.Vue/2.getting-started/1.installation.md b/docs/content/3.Vue/2.getting-started/1.installation.md new file mode 100644 index 00000000..a769574f --- /dev/null +++ b/docs/content/3.Vue/2.getting-started/1.installation.md @@ -0,0 +1,11 @@ +# Installation + +For global installation +```bash +npm install --global @realdecoy/frontier +``` + +alternatively, use `npx` to execute the binaries remotely +```bash +npx @realdecoy/frontier vue +``` \ No newline at end of file diff --git a/docs/content/3.Vue/2.getting-started/2.usage.md b/docs/content/3.Vue/2.getting-started/2.usage.md new file mode 100644 index 00000000..4af01be5 --- /dev/null +++ b/docs/content/3.Vue/2.getting-started/2.usage.md @@ -0,0 +1,36 @@ +# Usage + +```bash +frontier vue +``` + +The help menu can be accessed with the command: + +```bash +frontier vue --help +``` + +## Options + +```txt +Usage: + frontier + +Commands: + create-project - Scaffold a new project + add - Add a new module + plugin - Inject a utility to extend project functionality + upgrade - Specify the template version for a project + +Options: + --help - Show help information +``` + + +### Create a project + +```bash +frontier vue create-project +``` + +> Replace `` with the actual name of your project. Generated folders are named in kebab-case. \ No newline at end of file diff --git a/docs/content/3.Vue/2.getting-started/3.next-steps.md b/docs/content/3.Vue/2.getting-started/3.next-steps.md new file mode 100644 index 00000000..85b95175 --- /dev/null +++ b/docs/content/3.Vue/2.getting-started/3.next-steps.md @@ -0,0 +1,16 @@ +# Next Steps + +### Step 1: Install project dependencies + +```bash +cd +npm install +``` + +### Step 2: Serve project + +```bash +npm run dev +``` + +The project will be served at [http://localhost:8080/](http://localhost:8080/) by default. This information will also be printed out in your terminal. Visiting the link the app is served on will display a default page which was created on project creation. diff --git a/docs/content/3.Vue/2.getting-started/_dir.yml b/docs/content/3.Vue/2.getting-started/_dir.yml new file mode 100644 index 00000000..3eeb2d1a --- /dev/null +++ b/docs/content/3.Vue/2.getting-started/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:document-text diff --git a/docs/content/3.Vue/3.cli-commands/1.usage.md b/docs/content/3.Vue/3.cli-commands/1.usage.md new file mode 100644 index 00000000..fb6dcb00 --- /dev/null +++ b/docs/content/3.Vue/3.cli-commands/1.usage.md @@ -0,0 +1,76 @@ +# CLI Commands +-------------- +This reference documents every command and flag available in the `frontier vue` command-line interface. The vue CLI helps with scaffolding projects, components and other features right from the terminal. + +## Help Menu + +Run the cli option below for a list of commands and options + +| **Option** | **Description** | +| ------------ | :---------------------- | +| --help | Show help information | + +## CLI Commands + +`Frontier - Vue` includes the following sub-commands: + +| **Command** | **Description** | +| --------------------------------- | :----------------------------------------------- | +| [create-project](#create-project) | Scaffold a new project | +| [add](#add) | Add a feature to a project | +| [plugin](#plugin) | Inject a utility to extend project functionality | +| [upgrade](#upgrade) | Specify the Frontier Vue template version for a project | + +* * * + +### _create-project_ + +create-project will scaffold a new project for you, using one of the presets selected from its interactive shell. + +Usage +```bash +frontier vue create-project +``` + +* * * + +### _add_ +Add a feature to a project. + +Usage +```bash +frontier vue add +``` +Commands +* [component](/vue/features/components) +* [page](/vue/features/pages) +* [service](/vue/features/services) +* [store](/vue/features/stores) +* [layout](/vue/features/layouts) + + +* * * + +### _plugin_ +Injects a utility to extend the project's functionality + +Usage +```bash +frontier vue plugin +``` + +Libraries +* buefy +* localization +* vuetify + + +* * * + +### _upgrade_ +Attempts to upgrade the project's Frontier Vue template to the specified version + +Usage +```bash +frontier vue upgrade +``` diff --git a/docs/content/2.frontier/4.plugins/_dir.yml b/docs/content/3.Vue/3.cli-commands/_dir.yml similarity index 100% rename from docs/content/2.frontier/4.plugins/_dir.yml rename to docs/content/3.Vue/3.cli-commands/_dir.yml diff --git a/docs/content/3.Vue/4.development/1.template.md b/docs/content/3.Vue/4.development/1.template.md new file mode 100644 index 00000000..382e52c7 --- /dev/null +++ b/docs/content/3.Vue/4.development/1.template.md @@ -0,0 +1,4 @@ +# Template +------ + +The vue scaffolding template can be found [here](https://github.com/realdecoy/Frontier Vue-template) diff --git a/docs/content/3.Vue/4.development/2.schema.md b/docs/content/3.Vue/4.development/2.schema.md new file mode 100644 index 00000000..6f6f5ffc --- /dev/null +++ b/docs/content/3.Vue/4.development/2.schema.md @@ -0,0 +1,505 @@ +# Template Schema +------ + +This document provides an overview of the Frontier Vue’s top-level template.json & the manifest.json of each module. + +## _template.json_ +The template.json file keeps a record of each abstracted template module. This file directs how the CLI will navigate and parse each subsequent template module. The following is a breakdown of the sections that make up template.json. + +The template.json file includes the following properties: + +### version +A number representing the current version of the file. + +``` json +{ + "version": 1 +} +``` + +### sourceDirectory +Source directory for module files that will be copied into a project. Normally points to the base folder of a module. + +``` json +{ + "sourceDirectory": "./", +} +``` + +### features +The features section holds a list of objects with each representing a single feature. Each object holds two properties, name & private. + +The name property holds the name of a feature, this the name that you must use when running a command on any of these features. + +The private is a boolean which determines whether or not the files of a feature can be overwritten after being initially added to the project. Also, features whose private property is set to true cannot be added by a user. + +```json + "features": [ + { + "name": "config", + "private": true + }, + { + "name": "store", + "private": true + }, + { + "name": "component", + "private": false + }, + { + "name": "service", + "private": false + }, + { + "name": "model", + "private": false + }, + { + "name": "page", + "private": false + }, + { + "name": "sm", + "private": false + } + ] + ``` + + ### plugins + The plugins section holds a list of names of the plugins available in Frontier Vue. After setting up your configuration files for a plugin, simply add the name (the name of the module folder for the configuration files of your plugin) to this list to make it available to the CLI for usage. + + ```json + "plugins": [ + "auth", + "localization", + "storybook" + ] + ``` + +### project +The project section is an object which defines what will be installed at project creation. Currently, there are two properties/keys on this object, features & plugin. + +The features property/key is an array holding the name of all features which will be automatically generated at project creation. + +The plugins property/key is an array holding the name of all plugins which will be automatically generated at project creation. + +```json +"project": { +    "features": [ +      "config", +      "store" +    ], +    "plugins": [ +      "storybook" +    ] +  } +``` + +### groups + +The groups section is used to group plugins that offer similar functionalities. + +For example, imagine if we had the following two UI libraries Buefy & Vuetify, we could create a group called ui-library which holds these two plugins. + +Each group is represented as an object. Each object has the following properties: + +- name - the name of the group + +- isMultipleChoice - boolean indicating if more than one option can be selected from this group + +- plugins - a list of the names of the plugins that belong to the group + +- question - the question prompted to a user when they run the command to add a plugin from a group + +Running frontier vue add-group would prompt a user with the question that belongs to the requested group along with the list of plugins in that group to choose from. +``` json +"project": { +    "features": [ +      "config", +      "store" +    ], +    "plugins": [ +      "storybook" +    ] +  } +``` + +### presets +Presets are available for a user to quickly scaffold in plugins when creating a project. The presets section of the template.json contains a list of objects, each representing an individual preset. A preset object contains the following properties: + +- name - the name of the preset + +- description - description of the preset. Conventionally used to list out the plugins that come with the preset + +- plugins - a list of the plugins which the preset will install + +```json + "presets": [ +    { +      "name": "Sample Preset 1", +      "description": "Installs storybook, and localization", +      "plugins": [ +        "storybook", +        "localization" +      ] +    } +  ] +``` + +### customPreset +A user can decide to manually select plugins from different groups that they’d like at project creation instead of choosing a preset. The customPreset object describes the groups available to a user. It includes the following: + +- name - the name displayed to the user + +- groups - a list containing the names of the Feature Groups which the user will be able to choose from + +``` json + "customPreset": { +    "groups": [ +      "authentication", +      "locale" +    ], +    "name": "custom" +  } +``` + +### Example _template.json_ file +Here is a sample of what a complete template.json file would look like. + +```json +{ +  "version": 1, +  "sourceDirectory": "./", +  "features": [ +    { +      "name": "config", +      "private": true +    }, +    { +      "name": "store", +      "private": true +    }, +    { +      "name": "component", +      "private": false +    }, +    { +      "name": "service", +      "private": false +    }, +    { +      "name": "model", +      "private": false +    }, +    { +      "name": "page", +      "private": false +    }, +    { +      "name": "sm", +      "private": false +    } +  ], +  "plugins": [ +    "auth", +    "localization", +    "storybook" +  ], +  "project": { +    "features": [ +      "config", +      "store" +    ], +    "plugins": [ +      "storybook" +    ] +  }, +  "groups": [ +    { +      "name": "authentication", +      "isMultipleChoice": false, +      "plugins": [ +        "auth" +      ], +      "question": "Which Authentication Library would you like to install?" +    }, +    { +      "name": "locale", +      "isMultipleChoice": false, +      "plugins": [ +        "localization" +      ], +      "question": "Which Localization Library would you like to install?" +    } +  ], +  "presets": [ +    { +      "name": "Sample Preset 1", +      "description": "Installs storybook, and localization", +      "plugins": [ +        "storybook", +        "localization" +      ] +    } +  ], +  "customPreset": { +    "groups": [ +      "authentication", +      "locale" +    ], +    "name": "custom" +  } +} +``` + + +# Template Module +------ +Modules are self-contained building blocks of a full Vue project. Each module must contain a manifest.json file. + +A module.json file is built with the following sections. Not all sections will be needed inside every module.json file created. A module.json is composed of the following sections: + +### version +The current version of the file. + +``` +"version": 1 +``` + +### name +Name of the module (e.g component) +``` + "name": "component" +``` + +### description +A description of the module. This is also displayed inside the CLI help menu for each Module. + +``` +"description": "Generate a basic component needed for basic authentication." +``` +### sourceDirectory + +Source directory for module files that get copied into a project. Normally points to the base folder of a module. + +``` + "sourceDirectory": "./" +``` + +### installDirectory + +The location that the module should be generated in the Vue project. + +### files + +A list of files that exist in the module that need to be copied to the install directory. The files in this list can be either of the following: + +- a string (if the file should be copied as-is) + +```json +"files": [ + { + "source": "store/auth.ts", + "target": "store/auth.ts" + }, + { + "source": "services/auth.ts", + "target": "services/auth.ts" + }, + { + "source": "model/user.ts", + "target": "model/user.ts" + }, + { + "source": "pages/register/index.ts", + "target": "pages/auth/register/index.ts" + }, + { + "source": "pages/register/register.ts", + "target": "pages/auth/register/register.ts" + }, + { + "source": "pages/register/register.scss", + "target": "pages/auth/register/register.scss" + }, + { + "source": "pages/register/register.vue", + "target": "pages/auth/register/register.vue" + }, + { + "source": "pages/login/index.ts", + "target": "pages/auth/login/index.ts" + }, + { + "source": "pages/login/login.ts", + "target": "pages/auth/login/login.ts" + }, + { + "source": "pages/login/login.scss", + "target": "pages/auth/login/login.scss" + }, + { + "source": "pages/login/login.vue", + "target": "pages/auth/login/login.vue" + }, + { + "source": "pages/forget-password/index.ts", + "target": "pages/auth/forget-password/index.ts" + }, + { + "source": "pages/forget-password/forget-password.ts", + "target": "pages/auth/forget-password/forget-password.ts" + }, + { + "source": "pages/forget-password/forget-password.scss", + "target": "pages/auth/forget-password/forget-password.scss" + }, + { + "source": "pages/forget-password/forget-password.vue", + "target": "pages/auth/forget-password/forget-password.vue" + } + ] +``` + +- object with required properties: + - source and target (for change of name if necessary) + - and an optional content list of objects for finding and replacing content within the file - + + ``` json + "files": [ + { + "source": "index.ts", + "target": "index.ts", + "content": [ + { + "matchRegex": "__COMPONENT__KEBAB__", + "replace": "${componentNameKebab}" + } + ] + }, + { + "source": "component.scss", + "target": "${componentNameKebab}.scss", + "content": [ + { + "matchRegex": "__COMPONENT__", + "replace": "${componentNameKebab}" + } + ] + }, + { + "source": "component.ts", + "target": "${componentNameKebab}.ts", + "content": [ + { + "matchRegex": "__COMPONENT__KEBAB__", + "replace": "${componentNameKebab}" + }, + { + "matchRegex": "__COMPONENT__", + "replace": "${componentName}" + } + ] + }, + { + "source": "component.spec.js", + "target": "${componentNameKebab}.spec.js", + "content": [ + { + "matchRegex": "__COMPONENT__KEBAB__", + "replace": "${componentNameKebab}" + }, + { + "matchRegex": "__COMPONENT__", + "replace": "${componentName}" + } + ] + }, + { + "source": "component.vue", + "target": "${componentNameKebab}.vue", + "content": [ + { + "matchRegex": "__COMPONENT__", + "replace": "${componentNameKebab}" + } + ] + } + ] +``` + + _Note: files section can be a combination of both types mentioned above._ + +### packages +This section is an object that holds the npm packages to be installed with the module. This object contains two properties: dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed. + +The dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development. + +```json + "packages": { + "dependencies": ["vue-i18n"], + "devDependencies": ["vue-cli-plugin-i18n"] + } +``` + +_There’s currently no support for specifying package versions._ + +### routes +You have the ability to inject a route into the application to allow users to preview a module (feature or plugin) after installing it. + +The routes section of the manifest.json allows you to define an array of routes. Here’s an example: + +``` + "routes": [ + { + "path": "'/buefy-sample'", + "name": "'buefy-sample'", + "component": "`require('@/pages/buefy-sample/buefy-sample.vue').default`" + } + ] +``` + +- path: relative URL where module component (.vue file) can be viewed + +- name: name of the route + +- component: the sample component created as a part of your module + +Any number of modules can have a routes section. Therefore, each route definition is programmatically added to an array of route definitions found in .rdvue/routes.js at the root of an Frontier Vue project. The definitions found in this array are then automatically loaded into the router.ts file. Here’s an example: + +``` javascript +export default [{ + path: '/buefy-sample', + name: 'buefy-sample', + component: require('@/pages/buefy-sample/buefy-sample.vue').default + },]; +``` + +### vueOptions +Plugin options needed in vue.config for your module to work + +``` +"vueOptions": { + "transpileDependencies": [ + "'vuetify'" + ] + } +``` +All vueOptions are automatically added to the exports object in .rdvue/options.js. This module is then loaded in vue.config.js and used as part of its plugin options. + +``` +module.exports = { + transpileDependencies: 'vuetify', +}; +``` + +### modules + +Configuration imports needed for your module to work. These configs are store in the src/config folder. + +``` + "modules": { + "vuetify": "`require('@/config/vuetify').default`" + } +``` diff --git a/docs/content/3.rdvue/4.template-schema/_dir.yml b/docs/content/3.Vue/4.development/_dir.yml similarity index 100% rename from docs/content/3.rdvue/4.template-schema/_dir.yml rename to docs/content/3.Vue/4.development/_dir.yml diff --git a/docs/content/3.Vue/5.features/0.overview.md b/docs/content/3.Vue/5.features/0.overview.md new file mode 100644 index 00000000..d5f6365e --- /dev/null +++ b/docs/content/3.Vue/5.features/0.overview.md @@ -0,0 +1,9 @@ +# Overview + +This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation. + +Reading through this section will get you comfortable with the CLI. + +An in depth look at the command used in this section, along with all available commands, can be found in [CLI Commands](/vue/cli-commands/usage). + +Frontier Vue provides an elegant way for generating features. diff --git a/docs/content/3.Vue/5.features/1.pages.md b/docs/content/3.Vue/5.features/1.pages.md new file mode 100644 index 00000000..5d1b5900 --- /dev/null +++ b/docs/content/3.Vue/5.features/1.pages.md @@ -0,0 +1,106 @@ +# Pages + +A Page is a conceptual grouping for Vue Components used in routing. Pages are **not** to be imported by other Pages, Components, or Layouts. + +A special feature of Pages is that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The [Layouts](layouts) section goes into more detail on this approach. + +> A Page needs to be added to the [Router](#routing) before it can be previewed within a web browser. + +### Technical + +Each generated Page is contained within its own sub-folder within the **src/pages** directory. The directory contains the following files which each carry out a specific role in developing a Page: + +* **[page].vue**: This contains the Vue template markup used to implement the structure and layout of a Page. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation. +* **[page].ts**: This contains the TypeScript controller which provides the procedural code-behind logic needed to add integrations to a page. Through this file, you may expose data and handle events generated by Page elements. +* **[page].scss**: This contains the SASS stylesheet to be applied to the page - and that page only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [page].vue template file. + +> Scoped CSS may seem weird at first because regular CSS operates with global impunity, however, it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory. + +* **[page].spec.ts**: This contains the unit-level tests for the page. Read the [testing section](Testing.md#unit-tests-with-jest) for more details about writing tests. + +### Adding a Page Using the CLI + +To add a page to your project using the CLI, use the following command: + +```bash +frontier vue add page +``` + +This command will generate a new Page with the necessary files and structure, as described above. The Page will be contained within its own sub-folder in the **src/pages** directory. + +### Making the Page Accessible + +To make the new page accessible, you need to update the router configuration. The router is defined in the `router.ts` file, which contains an array of route records. For more information on Vue Router, refer to the [official documentation](https://router.vuejs.org/). + +#### Example Router Configuration + +Here is an example of how to add a new page to the router: + +```typescript +import Vue from 'vue'; +import { + createWebHashHistory, + createRouter, + type RouteRecordRaw, +} from 'vue-router'; +import SignInView from '@/pages/sign-in'; + +// Import the new page +import NewPageView from '@/pages/new-page'; + +export enum RouteNames { + SignIn = 'sign-in', + NewPage = 'new-page', +} + +export const routes: RouteRecordRaw[] = [ + { + path: `/${RouteNames.SignIn}`, + name: RouteNames.SignIn, + component: SignInView, + meta: { + layout: 'default-layout', + page: { + title: 'Sign In', + description: 'This is the sign in page', + }, + }, + }, + // Add the new page route + { + path: `/${RouteNames.NewPage}`, + name: RouteNames.NewPage, + component: NewPageView, + meta: { + layout: 'default-layout', + page: { + title: 'New Page', + description: 'This is the new page', + }, + }, + }, +]; + +const router = createRouter({ + history: createWebHashHistory(import.meta.env.BASE_URL), + routes, +}); + +export { router as default, router }; +``` + +### Steps to Add a New Page and Make It Accessible + +1. **Create the Page:** + Use the CLI to create a new page. + ```bash + frontier vue add page + ``` + +2. **Update the Router:** + Open the `router.ts` file and import the new page component. Add a new route record for the page in the `routes` array. + +3. **Configure the Route:** + Add the necessary route configuration, including path, name, component, and metadata. + +By following these steps, you can create a new page and make it accessible within your application. For more information on routing, visit the [Vue Router documentation](https://router.vuejs.org/){:target="_blank"}. diff --git a/docs/content/3.Vue/5.features/10.theming.md b/docs/content/3.Vue/5.features/10.theming.md new file mode 100644 index 00000000..9bff3714 --- /dev/null +++ b/docs/content/3.Vue/5.features/10.theming.md @@ -0,0 +1,29 @@ +# Theming + +## Global Styles + +Custom styles can be added into the project to provide global-level styling. This is useful for providing defaults which will be used by all instances of an element - such as overriding a UI framework’s defaults. + +> Global styles can be added to the **src/theme** directory. + +### Do’s and Don’t + +* **Do** use global styles to apply application level defaults to HTML elements +* **Do not** use global styles to customize the imperative look/feel of specific Components. (Use [Component-level](Features.md#components) styles and [Tailwind](#tailwind) for that). +* **Do** use global styles to override imported UI components' look and feel (Eg. to customize Buefy). +* **Do** import global styles within the **main.ts** app bootstrap file. This will allow unused selectors to be tree-shaken. +* **Do** import global styles from a CDN within the public/index.html file. + +## Tailwind + +[Tailwind](https://tailwindcss.com/) is a utility-first CSS framework which provides standardized classes for layout, colors and responsiveness. It is unique through its approach of providing low-level utility classes which can be rapidly combined to produce complex functionality. It does not provide custom UI elements like Buttons or Dropdowns, but rather focuses on building blocks which are agnostic of a specific visual design. + +> Tailwind is the best practice approach for styling Components and Pages within Frontier Vue. + +### Technical + +* The **tailwind.config.js** file allows custom utilities to be created or existing ones overridden. Eg. new standardized margin or padding values. +* Tailwind utilities can be combined within your custom CSS selectors using the [@apply](https://tailwindcss.com/docs/functions-and-directives#apply) directive. +* New utility classes can [implemented](https://tailwindcss.com/docs/adding-new-utilities) using CSS. They can be used with pseudo class and responsive variants - like native Tailwind utilities. + +> The color section in tailwind.config.js should be overridden for new projects and the colors matching your style guide listed instead. diff --git a/docs/content/3.Vue/5.features/2.components.md b/docs/content/3.Vue/5.features/2.components.md new file mode 100644 index 00000000..ea0c682b --- /dev/null +++ b/docs/content/3.Vue/5.features/2.components.md @@ -0,0 +1,179 @@ +# Components + +A Component is a conceptual grouping for Vue components which are imported by [Pages](pages) and other Components. + +Unlike Pages, Components are never used in Routing. That would deviate from the Frontier Vue development style guide. + +### Technical + +A Component contains all the files present for [Pages](pages) with the addition of: + +--- + +Components use special decorators from the [Vue Facing Decorator library](https://facing-dev.github.io/vue-facing-decorator/#/en/class-component/component) within their TypeScript file to add metadata useful for generating its documentation and facilitating class-based component development: + +* **@Component**: Decorates the Component’s class, providing metadata and functionality for the component. + +| | | +| ------------------------- | ------------------------------------------------------------------------------------------------- | +| **name**
type: string, default: undefined | Sets the name of the component in Vue options API. | +| **emits**
type: array, default: undefined | Specifies the events that the component can emit. | +| **provide**
type: object, default: undefined | Provides values to be injected into child components. | +| **components**
type: object, default: undefined | Registers other components to be used within this component. | +| **directives**
type: object, default: undefined | Registers directives to be used within this component. | +| **inheritAttrs**
type: boolean, default: true | Specifies whether to inherit attributes. | +| **expose**
type: array, default: undefined | Specifies properties to be exposed. | +| **render**
type: function, default: undefined | Provides a render function for the component. | +| **template**
type: string, default: undefined | Provides an inline template for the component. | +| **mixins**
type: array, default: undefined | Specifies mixins to be used in the component. | +| **methods**
type: object, default: undefined | Specifies methods to be added to the component. | +| **options**
type: object, default: undefined | Additional options to be assigned to the Vue options API before the modifier. | +| **modifier**
type: function, default: undefined | Function to modify the generated Vue options API directly. | + +* **@Prop**: Decorates the Component’s Props, providing metadata and functionality for the prop. + +| | | +| ------------------------- | ------------------------------------------------------------------------------------------------- | +| **type**
type: Function, default: undefined | Specify the type of the prop. Supported types include String, Number, Boolean, Array, Object, Function, and Symbol. | +| **default**
type: any, default: undefined | Set the default value for the prop. | +| **required**
type: boolean, default: false | Specify whether the prop is required. | +| **validator**
type: Function, default: undefined | Provide a custom validation function for the prop's value. | + +* **@Emit**: Decorates methods to emit Vue events. It can be used to create event emitters easily. + +| | | +| ------------------------- | ------------------------------------------------------------------------------------------------- | +| **event**
type: string, default: method name | Specify the name of the event to emit. | +| **args**
type: array, default: method arguments | Define the arguments to pass when emitting the event. | + +* **@Watch**: Watches changes on a Vue instance property. It can be used to react to changes on data properties. + +| | | +| ------------------------- | ------------------------------------------------------------------------------------------------- | +| **prop**
type: string, required | The name of the prop to watch. | +| **options**
type: object, default: {} | Options for the watcher, such as `deep` and `immediate`. | + +These decorators facilitate a class-based component development style, providing clear metadata and functionality for components, props, events, and watchers. By leveraging these decorators, you can maintain a clean and organized codebase while utilizing powerful TypeScript features. + +For more information and detailed examples, you can refer to the [Vue Facing Decorator documentation](https://facing-dev.github.io/vue-facing-decorator). + +### Examples + +#### Basic Component Example + +Below is a basic example defining a `MyButton` component with various properties filled out: + +**myButton.ts** + +```typescript +import { Component, Vue, toNative } from 'vue-facing-decorator'; + +@Component({ + name: 'MyButton', + emits: ['click'], + components: { + // other components can be registered here + }, + directives: { + // custom directives can be registered here + } +}) +class MyButton extends Vue { + public handleClick() { + this.$emit('click'); + } +} + +export default toNative(MyButton); +``` + +**MyButton.vue** + +```html + + + +``` + +### Adding a Prop + +Now, let's add a prop to the Button component: + +**myButton.ts** + +```typescript +import { Component, Vue, toNative, Prop } from 'vue-facing-decorator'; + +@Component({ + name: 'MyButton', + emits: ['click'] +}) +class MyButton extends Vue { + @Prop({ type: Boolean, default: false }) disabled!: boolean; + + public handleClick() { + this.$emit('click'); + } +} + +export default toNative(MyButton); +``` + +**MyButton.vue** + +```html + + + +``` + +### Adding a Watcher and Emit Event + +Next, we'll add a watcher to respond to changes in a prop and emit an event: + +**myButton.ts** + +```typescript +import { Component, Vue, toNative, Prop, Watch, Emit } from 'vue-facing-decorator'; + +@Component({ + name: 'MyButton', + emits: ['click', 'stateChange'] +}) +class MyButton extends Vue { + @Prop({ type: Boolean, default: false }) disabled!: boolean; + + @Watch('disabled', { immediate: true }) + onDisabledChange(newVal: boolean) { + this.emitStateChange(newVal); + } + + @Emit('stateChange') + emitStateChange(newVal: boolean) { + return newVal; + } + + public handleClick() { + this.$emit('click'); + } +} + +export default toNative(MyButton); +``` + +**MyButton.vue** + +```html + + + +``` + +These examples demonstrate how to define a component, add props, watchers, and emit events using the Vue Facing Decorator library. For more details, you can refer to the [Vue Facing Decorator documentation](https://facing-dev.github.io/vue-facing-decorator). + diff --git a/docs/content/3.Vue/5.features/3.services.md b/docs/content/3.Vue/5.features/3.services.md new file mode 100644 index 00000000..d4a024be --- /dev/null +++ b/docs/content/3.Vue/5.features/3.services.md @@ -0,0 +1,168 @@ +# Services + +Services are focused classes designed to interact with web API endpoints. As a good design pattern, a service should: + +- Only interact with a single domain. +- Only provide features from the domain which are relevant to the theme of the service. For example, a user service should be focused on methods supporting user-related functionalities; adding order-related data would make for poor encapsulation. + +### Technical + +- While each generated service resides in its own file and class, all services extend a predefined BaseService class to provide centralized functionality. +- Each service can specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (e.g., wrapper storage mechanism over LocalStorage). +- Each service has access to the following protected members: + + +| **Member** | **Description** | +| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| api (field)
type: Axios | Helper to invoke web APIs. Individual service methods need only specify their endpoint paths relative to the registered root domain. | +| onRequest(request: AxiosRequestConfig) => void | Invoked before requests are sent to the web API endpoint. | +| onResponse(response: AxiosResponse) => void | Invoked before responses are handled by a Service’s methods. | +| onError(data: any) | Invoked for errors during request or response. | + +### The Default Service Class + +The `Service` class is a base class that provides a foundation for all services in the application. It includes the following features: + +- An `api` field that is an Axios instance configured with the base URL and default headers. +- A constructor that sets up request and response interceptors to log requests and responses. +- `onRequest`, `onResponse`, and `onError` methods that can be overridden in derived classes to handle request, response, and error events. + +```typescript +import axios, { AxiosError, AxiosResponse } from "axios"; +import envConfig from "@/config/env"; + +export class Service { + protected api = axios.create({ + baseURL: envConfig.apiBaseUrl, + headers: { + "Content-Type": "application/json", + }, + }); + + constructor() { + // Set up request/response interceptors + this.api.interceptors.request.use((request) => { + this.onRequest(request); + return request; + }); + + this.api.interceptors.response.use( + (response) => { + this.onResponse(response); + return response; + }, + (error: AxiosError) => { + this.onError(error); + return Promise.reject(error); + } + ); + } + + protected onRequest(request: any): void { + // Override in derived classes + } + + protected onResponse(response: AxiosResponse): void { + // Override in derived classes + } + + protected onError(error: AxiosError): void { + // Override in derived classes + } +} + +export default Service; +``` + + +### Example: Creating a Service Using the CLI Tool + +To create a service using the CLI tool, use the following command: + +```bash +frontier vue add service +``` + +This will generate a new service file extending the BaseService class. + +### Example Service Template + +Here is an example of a default service that references a public API to perform basic CRUD operations: + +```typescript +import { AxiosRequestConfig, AxiosResponse } from "axios"; +import { Service } from "./base"; + +class ExampleService extends Service { + // [Public] Methods + + // Fetch all items + public async getItems(): Promise { + return this.api + .get("/items") + .then((response: AxiosResponse) => { + return response.data; + }) + .catch(this.onError); + } + + // Fetch a single item by ID + public async getItem(id: number): Promise { + return this.api + .get(`/items/${id}`) + .then((response: AxiosResponse) => { + return response.data; + }) + .catch(this.onError); + } + + // Create a new item + public async createItem(item: any): Promise { + return this.api + .post("/items", item) + .then((response: AxiosResponse) => { + return response.data; + }) + .catch(this.onError); + } + + // Update an existing item by ID + public async updateItem(id: number, item: any): Promise { + return this.api + .put(`/items/${id}`, item) + .then((response: AxiosResponse) => { + return response.data; + }) + .catch(this.onError); + } + + // Delete an item by ID + public async deleteItem(id: number): Promise { + return this.api + .delete(`/items/${id}`) + .then((response: AxiosResponse) => { + return response.data; + }) + .catch(this.onError); + } + + // [Protected] Event Handlers + protected onRequest(request: AxiosRequestConfig): void { + console.log("Request:", request); + } + + protected onResponse(response: AxiosResponse): void { + console.log("Response:", response); + } + + protected onError(error: any): void { + console.error("Error:", error); + } +} + +// Export the service instance +const service = new ExampleService(); +export { service as default, service as ExampleService }; +``` + +In this example, `ExampleService` is a service class that extends `BaseService` and interacts with a public API to perform basic CRUD operations. The service includes methods for getting items, getting a single item by ID, creating an item, updating an item, and deleting an item. Each method uses the `api` field to make HTTP requests and handles errors through the `onError` method. The `onRequest` and `onResponse` methods provide hooks for logging requests and responses. diff --git a/docs/content/3.Vue/5.features/4.layouts.md b/docs/content/3.Vue/5.features/4.layouts.md new file mode 100644 index 00000000..46aabd7f --- /dev/null +++ b/docs/content/3.Vue/5.features/4.layouts.md @@ -0,0 +1,146 @@ +# Layouts + +A Layout is a conceptual grouping given to components which serve the purpose of rendering re-usable pieces of UI shared by many pages. An easy example is the header and footer information displayed on many sites: though the body of the page changes often, those elements remain the same. + +> A Layout allows us to define the common elements while leaving a slot (router-view) to inject the actual body of the Page. + +### Technical + +To get a Page to use a Layout, edit its definition in the **router.ts** file and add the following option: + +```ts +meta: { + layout: '', +} +``` + +For example: + +```ts +routes: [ + { + path: '/', + name: 'home', + component: [...], + meta: { + layout: 'two-column', + }, + }, +] +``` + +Above, the Layout refers to a component within the **src/layouts** directory called **two-column**. + +A Layout must contain a router-view to display the Page within the area designated for its content. + +Each generated Layout is contained within its own sub-folder within the **src/layouts** directory. The directory contains the following files which each carry out a specific role in developing a Layout: + +- **[layout].vue**: This contains the Vue template markup used to implement the structure and layout of a Layout. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation. +- **[layout].ts**: This contains the controller which provides the procedural code-behind logic needed to add integrations to a Layout. Through this file, you may expose data and handle events generated by Layout elements. +- **[layout].scss**: This contains the stylesheet to be applied to the Layout - and that Layout only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the [layout].vue template file. + +> Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the [Theme](Theming.md#global-styles) directory. + +- **[layout].spec.ts**: This contains the unit-level tests for the Layout. Read the [testing section](Testing.md#unit-tests-with-jest) for more details about writing tests. + +### Adding a Layout Using the CLI + +To add a layout to your project using the CLI, use the following command: + +```bash +frontier vue add layout +``` + +This command will generate a new Layout with the necessary files and structure, as described above. The Layout will be contained within its own sub-folder in the **src/layouts** directory. + +### Adding Components to a Layout + +To add components to a Layout, such as a header or footer, follow these steps: + +1. **Create the Component:** + First, create the component (e.g., `AppFooter.vue`) in the **src/components** directory. + +2. **Import the Component:** + Import the component into the Layout's `.vue` file. + +3. **Use the Component:** + Add the component to the Layout's template where you want it to appear. + +#### Example of a Barebones Layout + +Here is a barebones example of a Layout component: + +**src/layouts/default-layout.vue** + +```vue + + + + + +``` + +**src/components/AppFooter.vue** + +```vue + + + + + +``` + +### Steps to Add a New Layout and Make It Accessible + +1. **Create the Layout:** + Use the CLI to create a new layout. + + ```bash + frontier vue add layout + ``` + +2. **Update the Router:** + Open the `router.ts` file and add the layout to a route's meta information. +3. **Configure the Layout:** + Add the necessary layout configuration, including importing and using any common components like headers or footers. + +By following these steps, you can create a new layout and make it accessible within your application. For more information on routing and layouts, visit the [Vue Router documentation](https://router.vuejs.org/). diff --git a/docs/content/3.Vue/5.features/5.stores.md b/docs/content/3.Vue/5.features/5.stores.md new file mode 100644 index 00000000..ee74d018 --- /dev/null +++ b/docs/content/3.Vue/5.features/5.stores.md @@ -0,0 +1,107 @@ +# Stores + +A Store is a mechanism for maintaining application state in a way that is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services and cache the results for reuse. Though the thought may occur to use a plain JavaScript object to achieve state management, a Vue Store differs in two distinct ways: + +* Properties are reactive. Changing Store values will automatically propagate to the component-level bindings which use them. + +* Stores enforce a strong process-control for mutating values. Every change within a store is managed through defined methods, ensuring state manipulation is controlled and trackable (using the [Vue DevTools](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=en)). + +An application can have as many Stores as needed to logically group state concerns. The Frontier Vue CLI creates strongly typed Stores, enabling full Intellisense and compiler support when writing code against them. + +Data within a Store can be managed using three intrinsic functionalities of every Store: + +* **Getters:** Retrieve a value within the store. + +* **Actions:** Arbitrary, asynchronous functions that can perform business logic and update the state. + +* **State:** An object that holds the reactive properties of the store. + +> Note: We replaced Vuex with Pinia during our migration from Vue 2 to Vue 3 due to the fact that Pinia provides essentially the same API access as Vuex with much less boilerplate and a functional approach. + +### Technical + +A Store in Pinia consists of a standard JavaScript/TypeScript object, with Pinia providing the special functionality: + +* The **defineStore** function is used to create a store. The Frontier Vue CLI preconfigures it with the necessary options whenever you create a new store. + +* **Actions:** Methods defined within the store that perform business logic and can update the state. Actions can be asynchronous. + +* **Getters:** Functions defined within the store that return computed values based on the store's state. + +* **State:** An object that holds the reactive properties of the store. + +> Unlike in Vuex, in Pinia you can directly reference the state value without needing to create a getter for it to get the value. This simplifies state management and reduces the amount of boilerplate code needed. + +### Examples + +#### State + +```typescript +import { defineStore } from 'pinia'; + +export const useCounterStore = defineStore('counter', { + state: () => ({ + count: 0 + }) +}); +``` + +#### Getters + +```typescript +import { defineStore } from 'pinia'; + +export const useCounterStore = defineStore('counter', { + state: () => ({ + count: 0 + }), + getters: { + doubleCount: (state) => state.count * 2 + } +}); +``` + +#### Actions + +```typescript +import { defineStore } from 'pinia'; + +export const useCounterStore = defineStore('counter', { + state: () => ({ + count: 0 + }), + actions: { + increment() { + this.count++; + }, + async incrementAfterDelay() { + setTimeout(() => { + this.count++; + }, 1000); + } + } +}); +``` + +#### Using the Store in a Component + +```vue + + + +``` diff --git a/docs/content/3.Vue/5.features/6.localization.md b/docs/content/3.Vue/5.features/6.localization.md new file mode 100644 index 00000000..ce15c118 --- /dev/null +++ b/docs/content/3.Vue/5.features/6.localization.md @@ -0,0 +1,35 @@ +# Localization + +Localization refers to the **adaptation** of an application or website content to meet the language, cultural and other requirements of a specific target market (a _locale_). This feature has two parts that is required to work: + +1. A JSON file named as the respective `**i18n language codes,**` stored in the **locales** folder + +2. Function call with respective key + + +Based of the current **locale**, the matching JSON file would be searched for the matching key/s. + +### Technical + +Examples: + +1. A JSON file named “en.json” with structure as follows: + + +```json +{ + "message": "hello i18n!!" +} +``` + +2\. `Function` called within document as follows: + +```html +
+

{{ $t("message") }}

+
+``` + +The call above would print the value of the message key `if the **locale** is set to English (en)`. + +If no matching key was found, the key would be returned instead. In this case _message_ \ No newline at end of file diff --git a/docs/content/3.Vue/5.features/7.bundle-analysis.md b/docs/content/3.Vue/5.features/7.bundle-analysis.md new file mode 100644 index 00000000..0475c1f5 --- /dev/null +++ b/docs/content/3.Vue/5.features/7.bundle-analysis.md @@ -0,0 +1,38 @@ +# Bundle Analysis + +Bundle Analysis is the method of examining the detailed structure of individual elements within your application output build files. This allows for visualize and analyse build statistics pinpointing areas that can optimized in the next iteration of your build output. This process becomes increasingly important as your bundle size grow which has a direct impact on the end users load time. + +**Bundle Analyzer** allows for the creation of statistical data that is used for visualizing webpack outputs which helps in understanding the composition of your bundles. + +**Frontier Vue and Bundle Analysis Using Webpack Bundle Analyser Plugin** + +To generate build files for bundle analysis we run the following command + + `$ npm run build` + +This will build production ready files for deployment, additionally spinning up the integrated webpack bundle analysis server: + + `Webpack Bundle Analyzer is started at http://127.0.0.1:8888` + +Expected terminal output: + + + +Expected browser output Treemap: + + + +This module will help you: + +1. Realize what's _really_ inside your bundle + +2. Find out what modules make up the most of its size + +3. Find modules that got there by mistake + +4. Optimize it! + + +And the best thing is it supports minified bundles! It parses them to get real size of bundled modules. And it also shows their gzipped sizes! + +> For additional plugin options and configurations please visit: [https://www.npmjs.com/package/webpack-bundle-analyzer](https://www.npmjs.com/package/webpack-bundle-analyzer) diff --git a/docs/content/3.Vue/5.features/8.routing.md b/docs/content/3.Vue/5.features/8.routing.md new file mode 100644 index 00000000..401d28c4 --- /dev/null +++ b/docs/content/3.Vue/5.features/8.routing.md @@ -0,0 +1,28 @@ +# Routing + +In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings. + +Below is an example of a Route definition for a sample Login page: + +```ts +{ + path: '/login', + name: 'login', + meta: { layout: 'default' }, + component: () => import(/* webpackChunkName: "login" */ '@/pages/login'), +}, +``` + +The **path** property specifies where the page will be accessible under the domain, for example: localhost:8080**/login**. + +The **name** field provides an alternative means of identifying and navigation to defined pages programmatically. This approach is preferable because the route names can be externalized into global constants and shared throughout your code for navigational consistency. + +The **meta** property allows specifying arbitrary data that will get passed along to the loaded Page. The CLI recognizes a sub-property called layout which it will use to attach a [Layout](/vue/features/routing) to a page. + +The **component** property specifies the Page to load for the given path. Here we used the recommended approach of dynamically loading the Page component using the **import()** function. + +> The import function is not the same as the import statements found at the top of a module file. The former is an asynchronous function that will load a module on-demand at runtime, while the latter only does static, compile-time, imports that always get bundled into the core application’s JavaScript payload. + +The comment within the import statement is a directive for the Webpack pre-processor that compiles to project to create a new file which only contains the code needed to construct and execute the respective Page. + +> The comment inside the brackets of the import function are important and should be made unique to support proper code separation - or Chunking as it’s technically referred to. Do not delete them and ensure the value for `webpackChunkName` is unique for each route. \ No newline at end of file diff --git a/docs/content/3.rdvue/3.scaffilding/1.sitemap.md b/docs/content/3.Vue/5.features/9.sitemap.md similarity index 100% rename from docs/content/3.rdvue/3.scaffilding/1.sitemap.md rename to docs/content/3.Vue/5.features/9.sitemap.md diff --git a/docs/content/3.rdvue/5.features/_dir.yml b/docs/content/3.Vue/5.features/_dir.yml similarity index 100% rename from docs/content/3.rdvue/5.features/_dir.yml rename to docs/content/3.Vue/5.features/_dir.yml diff --git a/docs/content/3.rdvue/3.scaffilding/_dir.yml b/docs/content/3.Vue/_dir.yml similarity index 100% rename from docs/content/3.rdvue/3.scaffilding/_dir.yml rename to docs/content/3.Vue/_dir.yml diff --git a/docs/content/3.rdvue/1.getting-started/1.overview.md b/docs/content/3.rdvue/1.getting-started/1.overview.md deleted file mode 100644 index 8eb79800..00000000 --- a/docs/content/3.rdvue/1.getting-started/1.overview.md +++ /dev/null @@ -1,83 +0,0 @@ -# Getting Started - -[RDVue](https://github.com/realdecoy/rdvue) is an opinionated CLI for generating Vue.js projects. We do so by adopting -a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models, -and a data-layer design promoting unified consumption through Stores and Services. - - -## Usage - -```bash -frontier vue: -``` - -Global installation: - -```bash -frontier plugins:install vue -frontier vue -``` - - -## Options - -```txt -frontier vue:: - -Actions: - create-project - Scaffold a new rdvue project - add - Add a feature to a project - plugin - Inject a utility to extend project functionality - upgrade - Specify the rdvue template version for a project - -Options: - --help | -h - Show help information - -``` - - -## Validate Installation - -We can confirm the successful installation of RDvue in three simple steps: - -### Step 1: Create a project - -``` -frontier vue:create-project -``` - -Replace `` with the actual name of your project. - -Generated folders are named in kebab-case. - -### Step 2: Install project dependencies - -``` -cd -npm install -``` - -### Step 3: Serve project - -``` -npm run serve -``` - -The project will be served at [http://localhost:8080/](http://localhost:8080/) by default. This information will also be printed out in your terminal. Visiting the link the app is served on will display a default page which was created on project creation. - - -## Next Steps - -### Generating a Page - -``` -frontier vue:add:page -``` - -Each generated Page gets its own dedicated folder. The folder will be given the name of the page. This folder is located at /src/pages/ . - -### Generating a Component - -``` -frontier vue:generate component -``` \ No newline at end of file diff --git a/docs/content/3.rdvue/2.cli-commands/1.usage.md b/docs/content/3.rdvue/2.cli-commands/1.usage.md deleted file mode 100644 index c9457c19..00000000 --- a/docs/content/3.rdvue/2.cli-commands/1.usage.md +++ /dev/null @@ -1,83 +0,0 @@ -# CLI Commands --------------- -The Rdvue command line tool (CLI) is the main entry point for getting up and running with the Vue application. Similar documentation is available in the rdvue-cli _README._ - -## How to use rdvue-cli - -All commands will follow the basic structure: - -``` -npx rdvue -``` - -## CLI Options - -Run the cli option below for a list of commands and options - -| **Option** | **Description** | -| ------------ | :---------------------- | -| \--h, --help | Displays the help menu. | - -## CLI Commands - -RDVue includes the following sub-commands: - -| **Command** | **Description** | -| --------------------------------- | :----------------------------------------------- | -| [create-project](#create-project) | Scaffold a new rdvue project | -| [add](#add) | Add a feature to a project | -| [plugin](#plugin) | Inject a utility to extend project functionality | -| [upgrade](#upgrade) | Specify the rdvue template version for a project | - -* * * - -### _create-project_ - -create-project will scaffold a new project for you, using one of the presets selected from its interactive shell. - -Usage -``` -$ npx rdvue create-project -``` - -* * * - -### _add_ -Adds a feature to the project. - -Usage -``` -$ npx rdvue add: -``` -Features -* [component](Features.md#components) -* [page](Features.md#pages) -* [service](Features.md#services) -* [store](Features.md#stores) - - -* * * - -### _plugin_ -Injects a utility to extend the project's functionality - -Usage -``` -$ frontier vue:plugin: -``` - -Libraries -* buefy -* [localization](Features.md#localization) -* vuetify - - -* * * - -### _upgrade_ -Attempts to upgrade the project's rdvue template to the specified version - -Usage -``` -$ frontier vue:upgrade -``` \ No newline at end of file diff --git a/docs/content/3.rdvue/4.template-schema/1.schema.md b/docs/content/3.rdvue/4.template-schema/1.schema.md deleted file mode 100644 index 07a2aa59..00000000 --- a/docs/content/3.rdvue/4.template-schema/1.schema.md +++ /dev/null @@ -1,505 +0,0 @@ -# Template Schema ------- - -This document provides an overview of the RDvue’s top-level template.json & the manifest.json of each module. - -## _template.json_ -The template.json file keeps a record of each abstracted template module. This file directs how the CLI will navigate and parse each subsequent template module. The following is a breakdown of the sections that make up template.json. - -The template.json file includes the following properties: - -### version -A number representing the current version of the file. - -``` json -{ - "version": 1 -} -``` - -### sourceDirectory -Source directory for module files that will be copied into a project. Normally points to the base folder of a module. - -``` json -{ - "sourceDirectory": "./", -} -``` - -### features -The features section holds a list of objects with each representing a single feature. Each object holds two properties, name & private. - -The name property holds the name of a feature, this the name that you must use when running a command on any of these features. - -The private is a boolean which determines whether or not the files of a feature can be overwritten after been initially added to the project. Also, features whose private property is set to true cannot be added by a user. - -```json - "features": [ - { - "name": "config", - "private": true - }, - { - "name": "store", - "private": true - }, - { - "name": "component", - "private": false - }, - { - "name": "service", - "private": false - }, - { - "name": "model", - "private": false - }, - { - "name": "page", - "private": false - }, - { - "name": "sm", - "private": false - } - ] - ``` - - ### plugins - The plugins section holds a list of names of the plugins available in RDvue. After setting up your configuration files for a plugin, simply add the name (the name of the module folder for the configuration files of your plugin) to this list to make it available to the CLI for usage. - - ```json - "plugins": [ - "auth", - "localization", - "storybook" - ] - ``` - -### project -The project section is an object which defines what will be installed at project creation. Currently, there are two properties/keys on this object, features & plugin. - -The features property/key is an array holding the name of all features which will be automatically generated at project creation. - -The plugins property/key is an array holding the name of all plugins which will be automatically generated at project creation. - -```json -"project": { -    "features": [ -      "config", -      "store" -    ], -    "plugins": [ -      "storybook" -    ] -  } -``` - -### groups - -The groups section is used to group plugins that offer similar functionalities. - -For example, imagine if we had the following two UI libraries Buefy & Vuetify, we could create a group called ui-library which holds these two plugins. - -Each group is represented as an object. Each object has the following properties: - -- name - the name of the group - -- isMultipleChoice - boolean indicating if more than one option can be selected from this group - -- plugins - a list of the names of the plugins that belong to the group - -- question - the question prompted to a user when they run the command to add a plugin from a group - -Running rdvue add-group would prompt a user with the question that belongs to the requested group along with the list of plugins in that group to choose from. -``` json -"project": { -    "features": [ -      "config", -      "store" -    ], -    "plugins": [ -      "storybook" -    ] -  } -``` - -### presets -presets are available for a user to quickly scaffold in plugins when creating a project. The presets section of the template.json contains a list of objects. each representing an individual preset. A preset object contains the following properties: - -- name - the name of the preset - -- description - description of the preset. Conventionally used to list out the plugins that comes with the preset - -- plugins- a list of the plugins which the preset will install - -```json - "presets": [ -    { -      "name": "Sample Preset 1", -      "description": "Installs storybook, and localization", -      "plugins": [ -        "storybook", -        "localization" -      ] -    } -  ] -``` - -### customPreset -A user can decide to manually select plugins from different groups that they’d like at project creation instead of choosing a preset. The cutomPreset object describes the groups available to a user. It includes the following: - -- name - the name displayed to the user - -- groups - a list containing the names of the Feature Groups which the user will be able to choose from - -``` json - "customPreset": { -    "groups": [ -      "authentication", -      "locale" -    ], -    "name": "custom" -  } -``` - -### Example _template.json_ file -Here is a sample of what a complete template.json file would look like. - -```json -{ -  "version": 1, -  "sourceDirectory": "./", -  "features": [ -    { -      "name": "config", -      "private": true -    }, -    { -      "name": "store", -      "private": true -    }, -    { -      "name": "component", -      "private": false -    }, -    { -      "name": "service", -      "private": false -    }, -    { -      "name": "model", -      "private": false -    }, -    { -      "name": "page", -      "private": false -    }, -    { -      "name": "sm", -      "private": false -    } -  ], -  "plugins": [ -    "auth", -    "localization", -    "storybook" -  ], -  "project": { -    "features": [ -      "config", -      "store" -    ], -    "plugins": [ -      "storybook" -    ] -  }, -  "groups": [ -    { -      "name": "authentication", -      "isMultipleChoice": false, -      "plugins": [ -        "auth" -      ], -      "question": "Which Authentication Library would you like to install?" -    }, -    { -      "name": "locale", -      "isMultipleChoice": false, -      "plugins": [ -        "localization" -      ], -      "question": "Which Localization Library would you like to install?" -    } -  ], -  "presets": [ -    { -      "name": "Sample Preset 1", -      "description": "Installs storybook, and localization", -      "plugins": [ -        "storybook", -        "localization" -      ] -    } -  ], -  "customPreset": { -    "groups": [ -      "authentication", -      "locale" -    ], -    "name": "custom" -  } -} -``` - - -# Template Module ------- -Modules are self-contained building blocks of a full Vue project. Each module must contain a manifest.json file. - -A module.json file is built with the following section. Not all sections will be needed inside every module.json file created. A module.json is composed of the following sections: - -### version -The current version of the file. - -``` -"version": 1 -``` - -### name -Name of the module (e.g component) -``` - "name": "component" -``` - -### description -A description of the module. This is also displayed inside the CLI help menu for each Module. - -``` -"description": "Generate a basic components needed for basic authenticaton." -``` -### sourceDirectory - -Source directory for module files that get copied into a project. Normally points to the base folder of a module. - -``` - "sourceDirectory": "./" -``` - -### installDirectory - -the location that the module should be generated in the Vue project. - -### files - -a list of files that exist in the module that needs to be copied to the install directory. The files in this list can either be either of the following: - -- a string (if the file should be copied as-is) - -```json -"files": [ - { - "source": "store/auth.ts", - "target": "store/auth.ts" - }, - { - "source": "services/auth.ts", - "target": "services/auth.ts" - }, - { - "source": "model/user.ts", - "target": "model/user.ts" - }, - { - "source": "pages/register/index.ts", - "target": "pages/auth/register/index.ts" - }, - { - "source": "pages/register/register.ts", - "target": "pages/auth/register/register.ts" - }, - { - "source": "pages/register/register.scss", - "target": "pages/auth/register/register.scss" - }, - { - "source": "pages/register/register.vue", - "target": "pages/auth/register/register.vue" - }, - { - "source": "pages/login/index.ts", - "target": "pages/auth/login/index.ts" - }, - { - "source": "pages/login/login.ts", - "target": "pages/auth/login/login.ts" - }, - { - "source": "pages/login/login.scss", - "target": "pages/auth/login/login.scss" - }, - { - "source": "pages/login/login.vue", - "target": "pages/auth/login/login.vue" - }, - { - "source": "pages/forget-password/index.ts", - "target": "pages/auth/forget-password/index.ts" - }, - { - "source": "pages/forget-password/forget-password.ts", - "target": "pages/auth/forget-password/forget-password.ts" - }, - { - "source": "pages/forget-password/forget-password.scss", - "target": "pages/auth/forget-password/forget-password.scss" - }, - { - "source": "pages/forget-password/forget-password.vue", - "target": "pages/auth/forget-password/forget-password.vue" - } - ] -``` - -- object with required properties: - - source and target (for change of name if necessary) - - and an optional content list of objects for finding and replacing content within the file - - - ``` json - "files": [ - { - "source": "index.ts", - "target": "index.ts", - "content": [ - { - "matchRegex": "__COMPONENT__KEBAB__", - "replace": "${componentNameKebab}" - } - ] - }, - { - "source": "component.scss", - "target": "${componentNameKebab}.scss", - "content": [ - { - "matchRegex": "__COMPONENT__", - "replace": "${componentNameKebab}" - } - ] - }, - { - "source": "component.ts", - "target": "${componentNameKebab}.ts", - "content": [ - { - "matchRegex": "__COMPONENT__KEBAB__", - "replace": "${componentNameKebab}" - }, - { - "matchRegex": "__COMPONENT__", - "replace": "${componentName}" - } - ] - }, - { - "source": "component.spec.js", - "target": "${componentNameKebab}.spec.js", - "content": [ - { - "matchRegex": "__COMPONENT__KEBAB__", - "replace": "${componentNameKebab}" - }, - { - "matchRegex": "__COMPONENT__", - "replace": "${componentName}" - } - ] - }, - { - "source": "component.vue", - "target": "${componentNameKebab}.vue", - "content": [ - { - "matchRegex": "__COMPONENT__", - "replace": "${componentNameKebab}" - } - ] - } - ] -``` - - _Note: files section can be a combination of both types mentioned above._ - -### packages -This section is an object that holds the npm packages to be installed with the module. This object contains two properties dependencies and devDependencies. Each holds a list of the name of the dependencies to be installed. - -The dependencies section holds dependencies required for the module to work (dev and production) while the devDependencies section holds the dependencies that are only needed during development. - -```json - "packages": { - "dependencies": ["vue-i18n"], - "devDependencies": ["vue-cli-plugin-i18n"] - } -``` - -_There’s currently no support for specifying package versions._ - -### routes -You have the ability to inject a route into the application to allow users to preview a module (feature or plugin) after installing it. - -The routes section of the manifest.json allows you to define an array of routes. Here’s an example: - -``` - "routes": [ - { - "path": "'/buefy-sample'", - "name": "'buefy-sample'", - "component": "`require('@/pages/buefy-sample/buefy-sample.vue').default`" - } - ] -``` - -- path: relative URL where module component (.vue file) can be viewed - -- name: name of the route - -- component: the sample component created as a part of your module - -Any number of modules can have a routes section. Therefore, each route definition is programmatically added to an array of route definitions found in .rdvue/routes.js at the root of an RDvue project. The definitions found in this array are then automatically loaded into the router.ts file. Here’s an example: - -``` javascript -export default [{ - path: '/buefy-sample', - name: 'buefy-sample', - component: require('@/pages/buefy-sample/buefy-sample.vue').default - },]; -``` - -### vueOptions -Plugin options needed in vue.config for module to work - -``` -"vueOptions": { - "transpileDependencies": [ - "'vuetify'" - ] - } -``` -All vueOptions are automatically added to the exports object in .rdvue/options.js. This module is then loaded in vue.config.js and used as part of its plugin options. - -``` -module.exports = { - transpileDependencies: 'vuetify', -}; -``` - -### modules - -Configuration imports needed for your module to work. These configs are store in the src/config folder. - -``` - "modules": { - "vuetify": "`require('@/config/vuetify').default`" - } -``` \ No newline at end of file diff --git a/docs/content/3.rdvue/5.features/1.features.md b/docs/content/3.rdvue/5.features/1.features.md deleted file mode 100644 index 5ea843ce..00000000 --- a/docs/content/3.rdvue/5.features/1.features.md +++ /dev/null @@ -1,289 +0,0 @@ -# Rdvue Features - -This section will provide a brief introduction to generating features inside a project. We provide two examples, namely generating a Page and a Component. Each available feature has a dedicated section in our documentation. - -Reading through this section will get you comfortable with the CLI. - -An in depth look at the command used in this section, along with all available commands, can be found in [CLI Commands](CLI-Commands.md#cli-commands-1). - -RDvue provides an elegant way for generating features. - -## Services - -Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should: - -* only interact with a single domain - -* only provide features from the domain which are relevant to the theme of the service. Eg. A user service should be focused on methods support such; adding order related data would make for poor encapsulation. - - -### Technical - -* While each generated service resides in its own file and class, all services extend a predefined BaseService class in order to provide centralized functionality. - -* Each service is able to specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (Eg. wrapper storage mechanism over LocalStorage). - -* Each service has access to the following protected memebers: - - -| **Member** | **Description** | -| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| api (field)
type: Axios | Helper to invoke web APIs. Individual service methods need only specify their endpoint paths relative to the registered root domain. | -| onRequest(request: AxiosRequestConfig) => void | Invoked before requests are sent to the web API endpoint. | -| onResponse(response: AxiosResponse) => void | Invoked before responses are handled by a Service’s methods. | -| onError(data: any) | Invoked for errors during request or response. | - -## Pages - -A Page is a conceptual grouping for Vue Components used in routing. Pages are **not** to be imported by other Pages, Components or Layouts. - -A special feature of Pages are that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The [Layouts](#layouts) section goes into more detail on this approach. - -?> A Page needs to be added to the [Router](#routing) before it can be previewed within a web browser. - -### Technical - -Each generated Page is contained within it’s own sub-folder within the **src/pages** directory. The directory contains the following files which each carry out a specific role in developing a Page: - -* \[page\].**vue**: This contains the Vue template markup used to implement the structure and layout of a Page. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation. - -* \[page\].**ts**: This contains the TypeScript controller which provides the procedural code-behind logical needed to add integrations to a page. Through this file you may expose data and handle events generated by Page elements. - -* \[page\].**scss**: This contains the SASS stylesheet to be applied to the page - and that page only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the \[page\].vue template file. - - -?> Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory. - -* \[page\].**spec.ts**: This contains the unit-level tests for the page. Read the [testing section](Testing.md#unit-tests-with-jest) for more details about writing tests. - -## Routing - -In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings. - -Below is an example of a Route definition for a sample Login page: - -``` -{ - path: '/login', - name: 'login', - meta: { layout: 'default' }, - component: () => import(/* webpackChunkName: "login" */ '@/pages/login'), -}, -``` - -The **path** property specifies where the page will be accessible under the domain, for example: localhost:8080**/login**. - -The **name** field provides an alternative means of identifying and navigation to defined pages programatically. This approach is preferable because the route names can be externalized into global constants and shared throughout your code for navigational consistency. - -The **meta** property allows specifying arbitrary data that will get passed along to the loaded Page. The CLI recognizes a sub-property called layout which it will use to attach a [Layout](#layouts) to a page. - -The **component** property specifies the Page to load for the given path. Here we used the recommended approach of dynamically loading the Page component using the **import()** function. - -?> The import function is not the same as the import statements found at the top of a module file. The former is an asynchronous function that will load a module on-demand at runtime, while the latter only does static, compile-time, imports that always get bundled into the core application’s JavaScript payload. - -The comment within the import statement is a directive for the Webpack pre-processor that compiles to project to create a new file which only contains the code needed to construct and execute the respective Page. - -!>The comment inside the brackets of the import function are important and should be made unique to support proper code separation - or Chunking as it’s technically referred to. Do not delete them and ensure the value for `webpackChunkName` is unique for each route. - -## Components - -A Component is a conceptual grouping for Vue components which are imported by [Pages](#pages) and other Components. - -Unlike Pages, Components are never used in Routing. That would deviate from the RDVue development style guide. - -### Technical - -A Component contains all the files present for [Pages](#pages) with the addition of: - -* \[component\]**.story.ts**: This contains the list of stories which describe the component’s usage. This is helpful for documentation purposes in providing live examples of key ways a Component can be used through the included Storybook preview tool. - - -* * * - -Components use special decorators within their TypeScript file to add metadata useful for generating its documentation within Storybook: - -* **@StoryComponent**: decorates the Component’s class, providing the same functionality as @Component (used in pages) with the addition of: - - -| | | -| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| **description**
type: string; default: undefined | Describe the component’s overall purpose. | -| **module**
type: string; default: undefined | Text stating the module used in the import statement (eg. “@/components/foo”) | -| **playground** (optional)
type: boolean, default: true | Toggles the Playground feature for this component within the Storybook preview. | -| **api** (optional)
type: boolean, default: true | Display the Component’s list of props, slots and events on the API tab within the Storybook preview tool. | -| slots (optional)
type: {\[key: string\]: string}, default: undefined | Describe the slots available within the component. Eg.

```
slots: {
header: ‘The header component goes here’,
...
}
``` | - -* **@StoryProp**: decorates the Component’s Props, providing the same functionality as @Prop with the addition of: - - -| | | -| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | -| **description**
type: string; default: undefined | Describe the prop's overall purpose. | -| **values** (optional)
\[array; default: undefined | An optional list of values which are considered acceptable for the prop. This is great for constraining Props that are bound to an enum type. | - -* **@StoryEvent**: decorates the Component’s Events, providing the same functionality as @Event with the addition of: - - -| | | -| ----------------------------------------------------- | ------------------------------------- | -| **description**
type: string; default: undefined | Describe the event’s overall purpose. | - -## Layouts - -A Layout is a conceptual grouping given to components which serve the purpose of rendering re-usable pieces of UI shared by many pages. An easy example is the header and footer information displayed on many sites: though the body of the page changes often, those elements remain the same. - -?>A Layout allows us to define the common elements while leaving a slot (router-view) to inject the actual body of the Page. - -### Technical - -To get a Page to use a Layout, edit it’s definition in the **router.ts** file and add the following option: - -``` -meta: { - layout: '', -} -``` - -For example: - -``` - routes: [ - { - path: '/', - name: 'home', - component: [...], - meta: { - layout: 'two-column', - }, - }, - ] -``` - -Above, the Layout refers to a component within the **src/layouts** directory called **two-column**. - -A Layout must contain a router-view to display the Page within the area designated for it’s content. - -Each generated Layout is contained within it’s own sub-folder within the **src/layouts** directory. The directory contains the following files which each carry out a specific role in developing a Layout: - -* \[layout\].**vue**: This contains the Vue template markup used to implement the structure and layout of a Layout. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation. - -* \[layout\].**ts**: This contains the controller which provides the procedural code-behind logical needed to add integrations to a Layout. Through this file you may expose data and handle events generated by Layout elements. - -* \[layout\].**scss**: This contains the stylesheet to be applied to the Layout- and that Layout only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the \[layout\].vue template file. - - -?>Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the [Theme](Theming.md#global-styles) directory. - -* \[layout\].**spec.ts**: This contains the unit-level tests for the Layout. Read the [testing section](Testing.md#unit-tests-with-jest) for more details about writing tests. - -## Stores - -A Store is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for \[re\]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a Vue Store differs in two distinct ways: - -* Properties are reactive. Changing Store values will automatically propagate to the component-level bindings which use them. - -* Stores enforce a strong process-control for mutating values. Every change within a store **must** go through a specially designed method, called a **Mutation**, in order to update an internal value. This also produces the side-effect of making state manipulation atomic and track-able (using the [Vue DevTools](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=en)). - - -An application can have as many Stores as needed to logically group state concerns. The RDVue CLI creates strongly typed Stores, enabling full Intellisense and compiler support when writing code against them. - -Data within a Store can be managed using 3 intrinsic functionalities of every Store: - -* Getters: Retrieve a value within the store. - -* Actions - Arbitrary, asynchronous, functions which can perform business logic and invoke mutations. - -* Mutations - Special, synchronous, functions which only update the values in Store. The operate atomically, meaning their changes are indivisible. - -### Technical - -A Store consists of a standard Class, with **Decorators** providing the special functionality: - -* The **@Module** Decorator is added to the class itself and will be preconfigured with the necessary options whenever you use the CLI to create a new Store. - -* The **@Action** Decorator is added to the class’ methods that want to carry-out business logic and be able to persist the result of that into state. @MultiParamAction is preferred over this Decorator due to Vuex quirks in how multiple parameters are handled. - - -?>If multiple parameters are used in a base @Action, the real value of the first parameter will be an array with a payload object, and the second parameter will be an options object. This will likely be entirely misaligned from the type information you specified in TypeScript. - -* The **@MultiParamAction** Decorator is the preferred alternative to @Action because it allows methods to receive multiple parameters. - -* The **@Mutation** Decorator flags a method as being able to update the Store’s state. That means any fields which belong to the class may be set within the execution context of these methods. - - -!>Attempting to modify a field outside of a method marked with @Mutation will result in a runtime error with the Vuex framework. - -## Localization - -Localization refers to the **adaptation** of an application or website content to meet the language, cultural and other requirements of a specific target market (a _locale_). This feature has two parts that is required to work: - -1. A JSON file named as the respective **i18n language codes,** stored in the **locales** folder - -2. Function call with respective key - - -Based of the current **locale**, the matching JSON file would be searched for the matching key/s. - -### Technical - -Examples: - -1. A JSON file named “en.json” with structure as follows: - - -``` -{ - "message": "hello i18n!!" -} -``` - -2\. Function called within document as follows: - -``` -
-

{{ $t("message") }}

-
-``` - -The call above would print the value of the message key if the **locale** is set to English (en). - -!>If no matching key was found, the key would be returned instead. In this case _message_ - -## Bundle Analysis - -Bundle Analysis is the method of examining the detailed structure of individual elements within your application output build files. This allows for visualize and analyse build statistics pinpointing areas that can optimized in the next iteration of your build output. This process becomes increasingly important as your bundle size grow which has a direct impact on the end users load time. - -**Bundle Analyzer** allows for the creation of statistical data that is used for visualizing webpack outputs which helps in understanding the composition of your bundles. - -**RDVUE and Bundle Analysis Using Webpack Bundle Analyser Plugin** - -To generate build files for bundle analysis we run the following command - - `$ npm run build` - -This will build production ready files for deployment, additionally spinning up the integrated webpack bundle analysis server: - - `Webpack Bundle Analyzer is started at http://127.0.0.1:8888` - -Expected terminal output: - - - -Expected browser output Treemap: - - - -This module will help you: - -1. Realize what's _really_ inside your bundle - -2. Find out what modules make up the most of its size - -3. Find modules that got there by mistake - -4. Optimize it! - - -And the best thing is it supports minified bundles! It parses them to get real size of bundled modules. And it also shows their gzipped sizes! - -?>For additional plugin options and configurations please visit: [https://www.npmjs.com/package/webpack-bundle-analyzer](https://www.npmjs.com/package/webpack-bundle-analyzer) \ No newline at end of file diff --git a/docs/content/3.rdvue/6.themeing/1.theming.md b/docs/content/3.rdvue/6.themeing/1.theming.md deleted file mode 100644 index 34b3362e..00000000 --- a/docs/content/3.rdvue/6.themeing/1.theming.md +++ /dev/null @@ -1,29 +0,0 @@ -# Theming - -## Global Styles - -Custom styles can be added into the project to provide global-level styling. This is useful for providing defaults which will be used by all instances of an element - such as overriding a UI framework’s defaults. - -?>Global styles can be added to the **src/theme** directory. - -### Do’s and Don’t - -* **Do** use global styles to apply application level defaults to HTML elements -* **Do not** use global styles to customize the imperative look/feel of specific Components. (Use [Component-level](Features.md#components) styles and [Tailwind](#tailwind) for that). -* **Do** use global styles to override imported UI components' look and feel (Eg. to customize Buefy). -* **Do** import global styles within the **main.ts** app bootstrap file. This will allow unused selectors to be tree-shaken. -* **Do** import global styles from a CDN within the public/index.html file. - -## Tailwind - -[Tailwind](https://tailwindcss.com/) is a utility-first CSS framework which provides standardized classes for layout, colors and responsiveness. It is unique through its approach of providing low-level utility classes which can be rapidly combined to produce complex functionality. It does not provide custom UI elements like Buttons or Dropdowns, but rather focuses on building blocks which are agnostic of a specific visual design. - -?>Tailwind is the best practice approach for styling Components and Pages within RDVue. - -### Technical - -* The **tailwind.config.js** file allows custom utilities to be created or existing ones overridden. Eg. new standardized margin or padding values. -* Tailwind utilities can be combined within your custom CSS selectors using the [@apply](https://tailwindcss.com/docs/functions-and-directives#apply) directive. -* New utility classes can [implemented](https://tailwindcss.com/docs/adding-new-utilities) using CSS. They can be used with psuedo class and responsive variants - like native Tailwind utilities. - -?>The color section in tailwind.config.js should be overridden for new projects and the colors matching your style guide listed instead. \ No newline at end of file diff --git a/docs/content/3.rdvue/7.testing/1.testing.md b/docs/content/3.rdvue/7.testing/1.testing.md deleted file mode 100644 index 308d28bd..00000000 --- a/docs/content/3.rdvue/7.testing/1.testing.md +++ /dev/null @@ -1,114 +0,0 @@ -# Testing - -## Cypress - -Cypress is a JavaScript end-to-end testing framework that makes it easy to get started with structuring your tests for web applications. At its core, Cypress is not based on [Selenium](https://www.selenium.dev/projects/), instead, it is based on a architecture that runs in the same run-loop as your web application. Cypress offers a [API](https://docs.cypress.io/api/api/table-of-contents.html) that allows developers and QA Engineers a lot of flexibility to make tests. Examples would be offering the ability to do mocking of network requests, taking screenshots or recording your network activity. - -End-to-End (e2e) tests are usually tests that are focused on simulating user interactions. Cypress provides all the necessary dependencies to create these e2e tests and also to debug them if necessary. - -### Technical - -Within a project generated by the CLI tool, the following folder structure will be created: - - - -All the e2e tests created by Cypress will live in the **cypress/integration/specs** directory. All these test files will have a .ts extension as they are written in TypeScript. - -An example of a test file written in Cypress can be seen below: - -``` -// Example spec file to see the different methods that can be used in Cypress to set the current viewport -/// - -context('Viewport Examples', () => { - beforeEach(() => { - cy.visit('https://example.cypress.io/commands/viewport'); - }); - - it('cy.viewport() - set the viewport size and dimension', () => { - // https://on.cypress.io/viewport - - cy.get('#navbar').should('be.visible'); - cy.viewport(320, 480); - - // the navbar should have collapse since our screen is smaller - cy.get('#navbar').should('not.be.visible'); - cy.get('.navbar-toggle').should('be.visible').click(); - cy.get('.nav').find('a').should('be.visible'); - - // lets see what our app looks like on a super large screen - cy.viewport(2999, 2999); - - // cy.viewport() accepts a set of preset sizes - // to easily set the screen to a device's width and height - - // We added a cy.wait() between each viewport change so you can see - // the change otherwise it is a little too fast to see :) - - cy.viewport('macbook-15'); - cy.wait(200); - cy.viewport('macbook-13'); - cy.wait(200); - cy.viewport('macbook-11'); - cy.wait(200); - cy.viewport('ipad-2'); - cy.wait(200); - cy.viewport('ipad-mini'); - cy.wait(200); - cy.viewport('iphone-6+'); - cy.wait(200); - cy.viewport('iphone-6'); - cy.wait(200); - cy.viewport('iphone-5'); - cy.wait(200); - cy.viewport('iphone-4'); - cy.wait(200); - cy.viewport('iphone-3'); - cy.wait(200); - - // cy.viewport() accepts an orientation for all presets - // the default orientation is 'portrait' - cy.viewport('ipad-2', 'portrait'); - cy.wait(200); - cy.viewport('iphone-4', 'landscape'); - cy.wait(200); - - // The viewport will be reset back to the default dimensions - // in between tests (the default can be set in cypress.json) - }); - }); -``` - -By default, all projects get sample tests generated for them which contain several examples for selecting elements, automating navigation and changing view ports for more responsive UI tests. - -?>When you are testing the connection between pages and user flows, a Cypress test should be created. - -### Running tests - -In order to run your Cypress tests, execute **npm run test:e2e** and the following dialog will open - - - -From here, you can click on the **Run all specs** option and see all the tests execute or you can click on a specific test file and see that test execute. - -?>Your application should be running on localhost or hosted at a url before trying to setup e2e tests. - -## Unit Tests with Jest - -Unit tests are focused on validating small bits of functionality in a software product. Unit tests can be done manually or they can be automated. If you wish to learn more about unit testing and approaches that can be taken. - -If you wish to automate your unit tests, [Jest](https://jestjs.io/) can be used. Jest is a JavaScript testing framework that can be integrated into several different JavaScript frameworks and it is very useful for certain use cases. - -### Technical - -Each component generated by the RDVue CLI comes with a .spec.js file and the folder structure will look like the following: - - - -The spec file generated will contain the following basic test by default: - -) - -This file is using the expect assertion library that comes with Jest and also the shallowMount method that is available to us through the ‘@vue/test-utils' library. Jest comes pre-packaged with Mocha which is enables us to use the 'describe/it’ setup to describe our test suite and our specific test case respectively. - -shallowMount is used to mock or simulate what would happen to the component if it was actually mounted to the DOM. The .exists() method is used with shallowMount in order to check that the component was actually mounted and it does exist in the DOM. \ No newline at end of file diff --git a/docs/content/4.Spectre/1.getting-started/1.introduction.md b/docs/content/4.Spectre/1.getting-started/1.introduction.md deleted file mode 100644 index 7461deda..00000000 --- a/docs/content/4.Spectre/1.getting-started/1.introduction.md +++ /dev/null @@ -1,2 +0,0 @@ -# Coming Soon - diff --git a/docs/content/4.Spectre/1.getting-started/_dir.yml b/docs/content/4.Spectre/1.getting-started/_dir.yml deleted file mode 100644 index d4f96fa1..00000000 --- a/docs/content/4.Spectre/1.getting-started/_dir.yml +++ /dev/null @@ -1 +0,0 @@ -icon: heroicons-outline:cube diff --git a/docs/content/4.Spectre/_dir.yml b/docs/content/4.Spectre/_dir.yml deleted file mode 100644 index 0ebe984c..00000000 --- a/docs/content/4.Spectre/_dir.yml +++ /dev/null @@ -1 +0,0 @@ -icon: heroicons-outline:bookmark-alt diff --git a/docs/content/4.mobile/1.introduction/1.whats-frontier-mobile.md b/docs/content/4.mobile/1.introduction/1.whats-frontier-mobile.md new file mode 100644 index 00000000..cbd07963 --- /dev/null +++ b/docs/content/4.mobile/1.introduction/1.whats-frontier-mobile.md @@ -0,0 +1,8 @@ +# What is Frontier - Mobile? + +## About + +[Frontier - Mobile](https://github.com/realdecoy/frontier/tree/development/src/commands/mobile) is an opinionated CLI for generating React Native Expo projects. We do so by adopting a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Screen models, +and a data-layer design promoting unified consumption through React Contexts and Services. +Follow the installation guide to set up the Mobile CLI. + diff --git a/docs/content/4.mobile/1.introduction/_dir.yml b/docs/content/4.mobile/1.introduction/_dir.yml new file mode 100644 index 00000000..c810aa97 --- /dev/null +++ b/docs/content/4.mobile/1.introduction/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:pencil-alt diff --git a/docs/content/4.mobile/2.getting-started/1.installation.md b/docs/content/4.mobile/2.getting-started/1.installation.md new file mode 100644 index 00000000..8e359b7b --- /dev/null +++ b/docs/content/4.mobile/2.getting-started/1.installation.md @@ -0,0 +1,24 @@ +# Installation + +For global installation +```bash +npm install --global @realdecoy/frontier +``` + +alternatively, use `npx` to execute the binaries remotely +```bash +npx @realdecoy/frontier mobile +``` + +## System Requirements + +1. You will need [React Native Expo CLI](https://docs.expo.dev/get-started/installation/#expo-cli) and its dependencies in order to run this frontier project. +2. Git +3. For macOS or Linux users: Watchman +4. MacOs to run on iOS simular. + +### Recommended tools + +1. Visual Studio Code Editor [VS Code](https://code.visualstudio.com/download). + +--- \ No newline at end of file diff --git a/docs/content/4.mobile/2.getting-started/2.usage.md b/docs/content/4.mobile/2.getting-started/2.usage.md new file mode 100644 index 00000000..2dc9f18f --- /dev/null +++ b/docs/content/4.mobile/2.getting-started/2.usage.md @@ -0,0 +1,41 @@ +# Usage + +```bash +frontier mobile +``` + +The help menu can be accessed with the command: + +```bash +frontier mobile --help +``` + +## Options + +```txt +Usage: + frontier + +Commands: + add - Add a new module + create-project - Scaffold a new project + plugin - Inject a utility to extend project functionality + +Options: + --help - Show help information +``` + +Now we can start using the CLI if the installation was successful. + + +### Create a project + +```bash +frontier mobile create-project +``` +> Replace with the actual name of your project. Ensure it is written in camel case (eg. `MyAwesomeProject`). + +**Example** +```bash +frontier mobile create-project MyAwesomeProject +``` diff --git a/docs/content/4.mobile/2.getting-started/3.next-steps.md b/docs/content/4.mobile/2.getting-started/3.next-steps.md new file mode 100644 index 00000000..8e1ddea0 --- /dev/null +++ b/docs/content/4.mobile/2.getting-started/3.next-steps.md @@ -0,0 +1,25 @@ +# Next Steps + +### Step 1: Run project + +```shell +cd my-awesome-project +npm install --legacy-peer-deps +``` +Run the iOS App (Mac only). +```bash +npm run ios +``` + +Run the Android App. +```bash +npm run android +``` + +--- + + +## More + +From here you can perform multiple other actions but a good next step is to explore the cli commands. + diff --git a/docs/content/4.mobile/2.getting-started/_dir.yml b/docs/content/4.mobile/2.getting-started/_dir.yml new file mode 100644 index 00000000..3eeb2d1a --- /dev/null +++ b/docs/content/4.mobile/2.getting-started/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:document-text diff --git a/docs/content/4.mobile/3.cli-commands/1.usage.md b/docs/content/4.mobile/3.cli-commands/1.usage.md new file mode 100644 index 00000000..1b8d9d79 --- /dev/null +++ b/docs/content/4.mobile/3.cli-commands/1.usage.md @@ -0,0 +1,71 @@ + + +# CLI Commands +-------------- +This reference documents every command and flag available in `Frontier - Mobile` command-line interface. The mobile CLI helps with scaffolding project, components and other features right from the terminal. + +## Help Menu + +Run the CLI option below for a list of commands and options + +**Usage** +```bash +frontier mobile --help +``` + +| **Option** | **Description** | +| ------------ | :---------------------- | +| --help | Displays the help menu. | + +___ + +## CLI Command + +`Frontier - Mobile` includes the following sub-commands: + +| **Command** | **Description** | +| --------------------------------- | :----------------------------------------------- | +| [create-project](#create-project) | Scaffold a new project | +| [add](#add) | Add a feature to a project | +| [plugin](#plugin) | Inject a utility to extend project functionality | + +* * * + +### _create-project_ + +_create-project_ will scaffold a new project for you, using one of the presets selected from its interactive shell. + +**Usage** +```bash +frontier mobile create-project +``` + + +| **Option** | **Description** | +| :---------------------------- | :----------------------- | +| --bundleIdentifier | The name of the unique identifier that will used for deployment to the App & Google play Store (eg. com.company.app). | +| --verbose | Show debug logs when creating the project. | + +* * * + +### _add_ +Adds a feature to the project. + +Usage +```bash +frontier mobile add +``` + +* * * + +### _plugin_ +Injects a utility to extend the project's functionality + +Usage +```bash +frontier mobile plugin +``` + +Libraries +* [localization](/mobile/plugins/localization) + diff --git a/docs/content/3.rdvue/_dir.yml b/docs/content/4.mobile/3.cli-commands/_dir.yml similarity index 100% rename from docs/content/3.rdvue/_dir.yml rename to docs/content/4.mobile/3.cli-commands/_dir.yml diff --git a/docs/content/4.mobile/4.features/0.overview.md b/docs/content/4.mobile/4.features/0.overview.md new file mode 100644 index 00000000..f2c3374b --- /dev/null +++ b/docs/content/4.mobile/4.features/0.overview.md @@ -0,0 +1,11 @@ +# Overview + +This section will provide a brief introduction to generating features inside a project. Each available feature has a dedicated section in our documentation. + +Reading through this section will get you comfortable with the CLI. An in depth look at the command used in this section, along with all available commands, can be found in [CLI Commands](/mobile/cli-commands/usage). + + +> It is recommended to read through the [CLI Reference](cli-reference.md#add) before continuing with this document. + + +* * * \ No newline at end of file diff --git a/docs/content/4.mobile/4.features/1.screens.md b/docs/content/4.mobile/4.features/1.screens.md new file mode 100644 index 00000000..126548f9 --- /dev/null +++ b/docs/content/4.mobile/4.features/1.screens.md @@ -0,0 +1,27 @@ +# Screens + +A Screen is a conceptual grouping for React Native Components used in navigation. Technically a screen is a component but in order to standardize how we work with react we want you to think of screen as its own thing. Screens are **not** to be imported by other Screens, Components or Layouts. + +A Screen needs to be added to the [Navigator](navigation) before it can be used within a mobile application. +### Usage + +```bash +frontier mobile add screen +``` + +#### Example +```bash +frontier mobile add screen login +``` + +### Technical + +Each generated Screen is contained within it's own sub-folder within the **app** directory. The directory contains the following files which each carry out a specific role in developing a Screen: + +* \[screen\].**tsx**: This is similar to a [Component](component) but this is generally where we make API calls to fetch data to populate the views and import other components. Screens are also used within navigation. + + +* \[screen\].**styles.tsx**: All Stylesheet files are the same as the stylesheet shown in [Component](component). + + +*** \ No newline at end of file diff --git a/docs/content/4.mobile/4.features/2.components.md b/docs/content/4.mobile/4.features/2.components.md new file mode 100644 index 00000000..0f63f97b --- /dev/null +++ b/docs/content/4.mobile/4.features/2.components.md @@ -0,0 +1,90 @@ +# Components + +Components are independent and reusable bits of code. They include the functional logic of the component along with styling and are imported by [Screens](screens) and [Layout](layouts). Unlike Screens, Components are never used in Navigation. That would deviate from our development style guide. + +### Usage + +```bash +frontier mobile add component +``` + +#### Example +```bash +frontier mobile add component fancy-text +``` + +### Technical + +A Component folder consists of two files. These files include: + +* \[component\]**.tsx**: This file holds actual functional logic and view hierarchy for the component you are trying to create. + + +* \[component\]**.styles.tsx**: This contains the styling of the component. It is an abstraction similar to CSS StyleSheets with some of the attributes but not all. + +See below for an example of the folder structure after creating a component called `fancy-text`: + + + + +**Example** + +Below is an example of a component called `fancy-text.tsx` + +```tsx +// @/component/fancy-text/fancy-text.tsx + +import { Component } from "react"; +import styles from "./fancy-text.styles"; + +class FancyText extends Component { + render() { + return Some Fancy Text + } +} + +``` + +This is an example of the stylesheet `fancy-text.styles.tsx`. + +```tsx +// @/component/fancy-text/fancy-text.style.tsx + +import { StyleSheet } from "react-native"; + +export StyleSheet.create({ + text: { + color: "red", + fontSize: 18, + } + }); +}; +``` + +### Choosing between Class and Function components + +There are two ways in which components can be created in React / React Native. We can use Class or Function based components. Function based components are generally quicker to create for simple use cases. However, as the components get more complicated and require more logic, Class based components make this a bit easier to work with. Here are some reasons to help make your decision a bit easier. + +**When to choose Class-Based components:** + +1. If you want to work with components lifecycle functions - Even though react provides hooks like `useEffect()`, this can get quite cumbersome when the component grows. + +2. If you are creating a [Screen](screens). + +3. If you are creating a [Context Provider](stores). + +4. If your component has a lot of **state** variables - A general rule of thumb is to keep state variable count at a max of 5. + +5. If your component has a lot of **props** variables - A general rule of thumb is to keep props variable count at a max of 5. + +6. If you intend on making API calls from within the component. + +**When to choose Function-Based components:** + +1. If the component is mostly visual with little to no functional logic. + + +Applying these to your development are not aimed at providing technical benefit (for most scenarios) but these will help to ensure the code is more readable and easier to adapt for new developers. + + +* * * \ No newline at end of file diff --git a/docs/content/4.mobile/4.features/3.services.md b/docs/content/4.mobile/4.features/3.services.md new file mode 100644 index 00000000..6e1dd977 --- /dev/null +++ b/docs/content/4.mobile/4.features/3.services.md @@ -0,0 +1,31 @@ +# Services + +Services are focused classes designed to interact with web API endpoints. As a good design pattern a service should: + +* Only interact with a single domain + +* Only provide features from the domain which are relevant to the theme of the service. Eg. A user service should be focused on methods that support such; adding order related data would make for poor encapsulation. + +```bash +frontier mobile add service +``` + +#### Example +```bash +frontier mobile add service auth +``` + +#### Output File +```txt +services/auth.service.tsx +``` + +### Technical + +Each generated service is contained within the sub-folder `services` directory. The directory contains a file for each service that has been created: + +* \[service-name\].**service.tsx**: The file will contain a related grouping of http functions. + +* While each generated service resides in its own file and class, all services extend a predefined BaseService class in order to provide centralized functionality. + +* Each service is able to specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (Eg. wrapper storage mechanism over AsyncStorage). diff --git a/docs/content/4.mobile/4.features/4.navigation.md b/docs/content/4.mobile/4.features/4.navigation.md new file mode 100644 index 00000000..5e40b98a --- /dev/null +++ b/docs/content/4.mobile/4.features/4.navigation.md @@ -0,0 +1,3 @@ +# Navigation and Routing + +Routing within the application is handled via Expo's file-based router "Expo Router". Their documentation can be found [here](https://docs.expo.dev/router/create-pages/){:target="_blank"}. diff --git a/docs/content/4.mobile/4.features/5.stores.md b/docs/content/4.mobile/4.features/5.stores.md new file mode 100644 index 00000000..b64149cf --- /dev/null +++ b/docs/content/4.mobile/4.features/5.stores.md @@ -0,0 +1,41 @@ +# Stores / Context + +A Context is a mechanism for maintaining application state in a way that is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for \[re\]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a React Context differs in one distinct way: + +* Properties are reactive. Changing Context values will automatically propagate to the component-level bindings which use them. + + +An application can have as many Contexts as needed to logically group state concerns. The Frontier CLI creates strongly typed Contexts, enabling full Intellisense and compiler support when writing code against them. + +### Usage + +```bash +frontier mobile add store +``` + +#### Example +```bash +frontier mobile add store auth +``` + +#### Output File +```txt +contexts/auth.context.tsx +``` + +### Technical + +Each generated service is contained within the sub-folder `contexts` directory. The context will provide high order functions that will help you to inject global state within your Class based components. It will also provide you with hooks for you to use in your function based components. + +| **Member** | **Type** | **Description** | +| ---------------------------------------------- | ----------------| ------------------------------------------------------------------------------------------------------------------------------------ | +| `ContextName`ContextProvider | React Component | Every Context object comes with a Provider React component that allows consuming components to subscribe to context changes. | +| `ContextName`Consumer | React Component | Allows components to subscribe to changes in the global state endpoint. | +| with`ContextName` | HOC[^1] | Used when Class-based components would like to consume data from a context | +| use`ContextName` | HOC[^1] | Used when function-based components would like to consume data from a context response. | + +
+ +- `ContextName` - This is the provided name for the context when created using the CLI's `add` command above. + +- [^1]_HOC (High-Order Component)_ - a higher-order component is a function that takes a component and returns a new enhanced component. diff --git a/docs/content/3.rdvue/6.themeing/_dir.yml b/docs/content/4.mobile/4.features/_dir.yml similarity index 100% rename from docs/content/3.rdvue/6.themeing/_dir.yml rename to docs/content/4.mobile/4.features/_dir.yml diff --git a/docs/content/4.mobile/5.plugins/1.localization.md b/docs/content/4.mobile/5.plugins/1.localization.md new file mode 100644 index 00000000..da74e953 --- /dev/null +++ b/docs/content/4.mobile/5.plugins/1.localization.md @@ -0,0 +1,27 @@ +# Localization + +The localization plugin consists of the following: + +##### Packages/Libraries +* [Expo Localization](https://docs.expo.dev/versions/latest/sdk/localization/){:target="_blank"} +* [i18n-js](https://www.npmjs.com/package/i18n-js){:target="_blank"} + +##### Files +* English locale file: +```txt +/locale/en.ts +``` + +* French locale file: +```txt +/locale/fr.ts +``` + +* Localization context file: +```txt +/contexts/localization.context.tsx +``` + +##### Functionality + +The context file hosts the methods for accessing your declared translations, setting your current/active locale and fetching/checking your active locale. diff --git a/docs/content/4.mobile/5.plugins/_dir.yml b/docs/content/4.mobile/5.plugins/_dir.yml new file mode 100644 index 00000000..50306a22 --- /dev/null +++ b/docs/content/4.mobile/5.plugins/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-inbox-arrow-down \ No newline at end of file diff --git a/docs/content/4.mobile/6.testing/1.testing.md b/docs/content/4.mobile/6.testing/1.testing.md new file mode 100644 index 00000000..5435168a --- /dev/null +++ b/docs/content/4.mobile/6.testing/1.testing.md @@ -0,0 +1,2 @@ +# Coming Soon +Mobile Testing for the Pipeline! diff --git a/docs/content/3.rdvue/7.testing/_dir.yml b/docs/content/4.mobile/6.testing/_dir.yml similarity index 100% rename from docs/content/3.rdvue/7.testing/_dir.yml rename to docs/content/4.mobile/6.testing/_dir.yml diff --git a/docs/content/4.mobile/7.deployment/1.deployment.md b/docs/content/4.mobile/7.deployment/1.deployment.md new file mode 100644 index 00000000..8276d920 --- /dev/null +++ b/docs/content/4.mobile/7.deployment/1.deployment.md @@ -0,0 +1 @@ +# Coming Soon \ No newline at end of file diff --git a/docs/content/4.mobile/7.deployment/_dir.yml b/docs/content/4.mobile/7.deployment/_dir.yml new file mode 100644 index 00000000..c3adfc69 --- /dev/null +++ b/docs/content/4.mobile/7.deployment/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:code diff --git a/docs/content/5.mobile/_dir.yml b/docs/content/4.mobile/_dir.yml similarity index 100% rename from docs/content/5.mobile/_dir.yml rename to docs/content/4.mobile/_dir.yml diff --git a/docs/content/5.dotnet/1.introduction/1.whats-frontier-mobile.md b/docs/content/5.dotnet/1.introduction/1.whats-frontier-mobile.md new file mode 100644 index 00000000..77a9ccf4 --- /dev/null +++ b/docs/content/5.dotnet/1.introduction/1.whats-frontier-mobile.md @@ -0,0 +1,41 @@ +# What is Frontier - Dotnet? + +## About + +[Frontier - Dotnet](https://github.com/realdecoy/frontier/tree/development/src/commands/dotnet): This is RealDecoy’s internal Rapid Application Development (RAD) tool/template for building .NET Web API applications using ASP.NET Core 7 framework in the .NET ecosystem. It aims to provide a starting point and a set of best practices for creating scalable and maintainable APIs. + +This is a multi-project solution that utilizes Domain Driven Design (DDD) and CQRS patterns to create a maintainable web API applications which run on Linux or Windows and in Docker environments + +### Features +`API Versioning` +Enables seamless evolution of the API over time by introducing backward-compatible changes while maintaining compatibility with existing clients. + +`Fluent Email` +Simplifies email implementation within the API by using Fluent Email, a library that offers a fluent and expressive way to send emails. + +`Fluent Validation` +.NET library for building strongly-typed validation rules that provide a consistent way of implementing validation through out the project. + +`JWT Authentication` +Securely authenticates API requests using JSON Web Tokens (JWT), providing stateless and robust authentication capabilities. + +`Identity Role-Based Authorization` +Implements role-based access control using ASP.NET Core Identity, granting fine-grained authorization to API endpoints based on user roles. + +`Entity Framework Core` +Entity Framework (EF) Core is a lightweight, extensible, open source and cross-platform object-relational mapper (O/RM), which enables .NET developers to work with a database using .NET objects. + +`In Memory Caching` +Boosts API performance and reduces load on data sources by caching frequently accessed data or responses in memory. + +`IP Rate Limiting` +Safeguards the API against abusive or excessive requests from individual IP addresses by implementing IP rate limiting. + +`CQRS with Mediator` +Adopts the CQRS pattern using Mediator to separate read and write operations, enhancing scalability and simplifying complex business logic. + +`Serilog` +Integrates Serilog, a powerful logging framework, to effectively capture and manage application logs, facilitating troubleshooting and monitoring. + +`Swagger` +Generates interactive API documentation using OpenAPI, AsyncAPI, and JSON. \ No newline at end of file diff --git a/docs/content/5.dotnet/1.introduction/_dir.yml b/docs/content/5.dotnet/1.introduction/_dir.yml new file mode 100644 index 00000000..c810aa97 --- /dev/null +++ b/docs/content/5.dotnet/1.introduction/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:pencil-alt diff --git a/docs/content/5.dotnet/2.getting-started/1.system-requirements.md b/docs/content/5.dotnet/2.getting-started/1.system-requirements.md new file mode 100644 index 00000000..062c4a73 --- /dev/null +++ b/docs/content/5.dotnet/2.getting-started/1.system-requirements.md @@ -0,0 +1,7 @@ +# System Requirements + +You will need the following tools: +1. [Node](https://nodejs.org/en/download) (version 19) & NPM +3. [Docker](https://docs.docker.com/engine/install/) +4. [Docker Compose](https://docs.docker.com/compose/install/) + diff --git a/docs/content/5.dotnet/2.getting-started/2.installation.md b/docs/content/5.dotnet/2.getting-started/2.installation.md new file mode 100644 index 00000000..3ab4d769 --- /dev/null +++ b/docs/content/5.dotnet/2.getting-started/2.installation.md @@ -0,0 +1,19 @@ +# Installation + +For global installation +```bash +npm install --global @realdecoy/frontier +``` + +alternatively, use `npx` to execute the binaries remotely +```bash +npx @realdecoy/frontier dotnet +``` + +## Recommendations + +These tools will help make development a lot easier: +1. [Visual Studio Code](https://code.visualstudio.com/download) or [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) (version 17.5.0 or later) +2. [Docker Desktop](https://www.docker.com/products/docker-desktop/) + +--- diff --git a/docs/content/5.dotnet/2.getting-started/3.usage.md b/docs/content/5.dotnet/2.getting-started/3.usage.md new file mode 100644 index 00000000..8a34dc04 --- /dev/null +++ b/docs/content/5.dotnet/2.getting-started/3.usage.md @@ -0,0 +1,41 @@ +# Usage + +```bash +frontier dotnet +``` + +The help menu can be accessed with the command: + +```bash +frontier dotnet --help +``` + +## Options + +```txt +Usage: + frontier dotnet + +Commands: + add - add a module to a project + create-project - Scaffold a new project + migrate - manage migrations for a database + +Options: + --help - Show help information +``` + +Now we can start using the CLI if the installation was successful. + + +### Create a project + +```bash +frontier dotnet create-project +``` +> Replace with the actual name of your project. Preferrably written in Pascal case (eg. `MyCoolApi`). Learn more on the [CLI Command Reference](/dotnet/cli-commands/usage#create-project) + +**Example** +```bash +frontier dotnet create-project MyCoolApi +``` diff --git a/docs/content/5.dotnet/2.getting-started/4.next-steps.md b/docs/content/5.dotnet/2.getting-started/4.next-steps.md new file mode 100644 index 00000000..0e1490db --- /dev/null +++ b/docs/content/5.dotnet/2.getting-started/4.next-steps.md @@ -0,0 +1,36 @@ +# Next Steps + +### Step 1: Run project + +```bash +cd MyCoolApi +docker-compose up --build +``` +> Excuting database migrations requires the installation of the dotnet ef CLI as a global tool. + +Use the following command to install dotnet ef: +```bash +dotnet tool install --global dotnet-ef +``` + +### Step 2: Create New Migration +Run the following commands to setup migrations. You can learn more about the migration commands on the [migrations reference](/dotnet/features/migrations). +```bash +frontier migrate new +``` +Follow the on-screen instructions. You will be asked to enter: +1. The name of the migration. +2. The Docker container running the API. + +### Step 3: Apply Migration +```bash +frontier migrate up +``` + +Follow the on-screen instructions. You will be asked to enter: +1. The Docker container running the API. + +## More + +From here you can perform multiple other actions but a good next step is to explore the cli commands. + diff --git a/docs/content/5.dotnet/2.getting-started/_dir.yml b/docs/content/5.dotnet/2.getting-started/_dir.yml new file mode 100644 index 00000000..3eeb2d1a --- /dev/null +++ b/docs/content/5.dotnet/2.getting-started/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:document-text diff --git a/docs/content/5.dotnet/3.cli-commands/1.usage.md b/docs/content/5.dotnet/3.cli-commands/1.usage.md new file mode 100644 index 00000000..74b4fe2c --- /dev/null +++ b/docs/content/5.dotnet/3.cli-commands/1.usage.md @@ -0,0 +1,86 @@ + + +# Dotnet CLI Commands +-------------- +This reference documents every command and flag available in `Frontier - Dotnet` command-line interface. The dotnet CLI helps with scaffolfing project, endpoints and other features right from the terminal. + +## Help Menu + +Run the CLI option below for a list of commands and options + +**Usage** +```bash +frontier dotnet --help +``` + +| **Option** | **Description** | +| ------------ | :---------------------- | +| `--help` | Displays the help menu. | + +___ + +## CLI Command + +`frontier dotnet` includes the following sub-commands: + +| **Command** | **Description** | +| --------------------------------- | :----------------------------------------------- | +| [add](#add) | Add a feature to a project | +| [create-project](#create-project) | Scaffold a new project | +| [migrate](#plugin) | manage migrations for a database | + +* * * + +### _create-project_ + +_create-project_ will scaffold a new project for you, using one of the presets selected from its interactive shell. + +**Usage** +```bash +frontier dotnet create-project +``` + + +| **Option** | **Description** | +| :---------------------------- | :----------------------- | +| `--dotnetVersion` | The version of the docker dotnet sdk to use when creating the project. | +| `--withSentry` | Include Sentry logging in the project. | +| `--help` | Show debug logs when creating the project. | + +* * * + +### _add_ +Adds a feature to the project. + +Usage +```bash +frontier dotnet add +``` + +| **Command** | **Description** | +| ------------------------- | :--------------------------------------------- | +| [entity](/dotnet/features/entity) | database model | +| [configuration](/dotnet/features/configuration) | database configuration | +| [query](/dotnet/features/query) | application query class, handler & validator | +| [command](/dotnet/features/command) | application command class, handler & validator | +| [endpoint](/dotnet/features/endpoint) | API project endpoint folder & sample route | + +* * * + +### _migrate_ +Manage migrations for a database. + +> You can learn more about the migration commands on the [migrations reference](/dotnet/features/migrations). + +Usage +```bash +frontier dotnet migrate . +``` + +| **Command** | **Description** | +| --------------------------- | :--------------------------------- | +| [new](migrations#new) | new migration | +| [up](migrations#up) | apply all migrations | +| [down](migrations#down) | revert to a previous migration | +| [remove](migrations#remove) | remove latest migration | + diff --git a/docs/content/5.dotnet/3.cli-commands/_dir.yml b/docs/content/5.dotnet/3.cli-commands/_dir.yml new file mode 100644 index 00000000..667e034c --- /dev/null +++ b/docs/content/5.dotnet/3.cli-commands/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:book-open diff --git a/docs/content/5.dotnet/4.features/0.overview.md b/docs/content/5.dotnet/4.features/0.overview.md new file mode 100644 index 00000000..47e4e4b1 --- /dev/null +++ b/docs/content/5.dotnet/4.features/0.overview.md @@ -0,0 +1,11 @@ +# Overview + +This section will provide a brief introduction to generating features inside a project. Each available feature has a dedicated section in our documentation. + +Reading through this section will get you comfortable with the CLI. An in depth look at the command used in this section, along with all available commands, can be found in [CLI Commands](/dotnet/cli-commands/usage). + + +> It is recommended to read through the [CLI Reference](cli-reference.md#add) before continuing with this document. + + +* * * \ No newline at end of file diff --git a/docs/content/5.dotnet/4.features/1.entity.md b/docs/content/5.dotnet/4.features/1.entity.md new file mode 100644 index 00000000..fb33de68 --- /dev/null +++ b/docs/content/5.dotnet/4.features/1.entity.md @@ -0,0 +1,33 @@ +# Entities + +### What is it about? +Entities are models that represent tables in the database/schema that can be updated over time through migrations. + +### Examples + + + +**Create Entity Class** +```bash +frontier dotnet add entity [name-of-entity] +``` + +Generates `NameOfEntity.cs` +```C# +namespace NameOfProject.Domain.Entities +{ + public class NameOfEntity + { + public int Id { get; set; } + public string Property1 { get; set; } = String.Empty; + public string Property2 { get; set; } = String.Empty; + public string Property3 { get; set; } = String.Empty; + } +} +``` + +Description: This command generates a class entity based of the name used in the command. The file will be located at `projectName/src/ProjectNameApi.Domain/NameOfEntity.cs`. The file can then be modified to suit user's desired table. +
+ + + diff --git a/docs/content/5.dotnet/4.features/2.endpoint.md b/docs/content/5.dotnet/4.features/2.endpoint.md new file mode 100644 index 00000000..f35c8ffc --- /dev/null +++ b/docs/content/5.dotnet/4.features/2.endpoint.md @@ -0,0 +1,70 @@ +# Endpoints + +### What is it about? +Endpoints for POST, GET, PUT and DELETE request that creates a controller and request model. + + +### Examples + +**Creating an Endpoint** +```bash +frontier dotnet add endpoint [name-of-endpoint] +``` + +The command above will generate two files located at: `ProjectName/src/ProjectNameApi.Api/Endpoints/NameOfEndpoint/` +
+ +Generates `NameOfEndpointcontroller.cs` +```C# +using Mediator; +using Microsoft.AspNetCore.Mvc; + +namespace ProjectName.Api.Endpoints.NameOfEndpoint +{ + [Produces("application/json")] + [ApiController] + public class NameOfEndpoint : ControllerBase + { + private readonly IMediator _mediator; + + public NameOfEndpoint(IMediator mediator) + { + _mediator = mediator; + } + + /// + /// This is a simple GET request + /// + /// + /// + [HttpPost] + [ApiVersion("1.0")] + [Route("api/v{version:apiVersion}/NameOfEndpoint/sample")] + [ProducesResponseType(StatusCodes.Status200OK)] + public async Task Sample(SampleRequest request) + { + Console.WriteLine($"Property1: {request.Property1}"); + Console.WriteLine($"Property2: {request.Property2}"); + + var result = await _mediator.Send(command); + + return Ok(result); + } + } +} +``` +
+ +Generates `SampleRequest.cs` +```C# +namespace MyCoolApi.Api.Endpoints.Order +{ + public class SampleRequest + { + public string Property1 { get; set; } = string.Empty; + public string Property2 { get; set; } = string.Empty; + } +} +``` +
+ diff --git a/docs/content/5.dotnet/4.features/3.command.md b/docs/content/5.dotnet/4.features/3.command.md new file mode 100644 index 00000000..48a75e39 --- /dev/null +++ b/docs/content/5.dotnet/4.features/3.command.md @@ -0,0 +1,73 @@ +# Commands/Write Operation + +## What is it about? +Commands are CQRS write operations that allow the application to optimize and scale its write operations independently, often through specialized command handlers that enforce business rules and update the write models accordingly. + + +**Creating Commands** + +```bash +frontier dotnet add command [name-of-command] +``` + +The command generates two files located at `ProjectName/src/ProjectNameApi.Application/NameOfCommand/Commands/NameOfCommand/`. + +`NameOfCommandCommand.cs` +```C# +using Mediator; +// using NameOfProject.Application.Features.NameOfCommand.Interfaces; + +namespace NameOfProject.Application.Features.NameOfCommand.Commands.NameOfCommand +{ + public record NameOfCommandCommand : IRequest + { + public string Property1 { get; set; } = string.Empty; + public string Property2 { get; set; } = string.Empty; + public string Property3 { get; set; } = string.Empty; + } + + public class NameOfCommandCommandHandler : IRequestHandler + { + // private readonly IAuthenticationService _authenticationService; + + public NameOfCommandCommandHandler(/*IAuthenticationService authenticationService*/) + { + // _authenticationService = authenticationService; + } + + public async ValueTask Handle(NameOfCommandCommand request, CancellationToken cancellationToken) + { + Console.WriteLine($"Property1: {request.Property1}"); + Console.WriteLine($"Property2: {request.Property2}"); + Console.WriteLine($"Property3: {request.Property3}"); + + return Unit.Value; + } + } +} +``` + +`NameOfCommandCommandValidator.cs` +```C# +using FluentValidation; + +namespace ProjectName.Application.Features.NameOfCommand.Queries.NameOfCommand +{ + public class NameOfCommandQueryValidator : AbstractValidator + { + public NameOfCommandQueryValidator() + { + RuleFor(v => v.Property1).Cascade(CascadeMode.Stop) + .NotEmpty().WithMessage("Property1 field is required.") + .EmailAddress().WithMessage("Invalid email format."); + + RuleFor(v => v.Property2).Cascade(CascadeMode.Continue) + .NotEmpty().WithMessage("Property2 field is required.") + .MaximumLength(50).WithMessage("Property2 is over the maximum field length of 50."); + + RuleFor(v => v.Property3).Cascade(CascadeMode.Stop) + .NotEmpty().WithMessage("Property3 field is required."); + } + } +} +``` diff --git a/docs/content/5.dotnet/4.features/4.query.md b/docs/content/5.dotnet/4.features/4.query.md new file mode 100644 index 00000000..0cee4883 --- /dev/null +++ b/docs/content/5.dotnet/4.features/4.query.md @@ -0,0 +1,63 @@ +# Queries - Read Operations + +### What is it about? +Queries are CQRS read operations that allow the application to optimize and scale its read operations independently, often through dedicated read models that are designed and optimized for specific query requirements. It creates a query handler that contains logic for the operation. + +### Examples + +**Creating a Query** + +```bash +frontier dotnet add query [name-of-query] +``` + +This command generates two files located `ProjectName/src/ProjectNameApi.Application/NameOfQuery/Queries/NameOfQuery/`. The files care to modified for user's purpose. + +`NameOfQueryQuery.cs` +```C# +using Mediator; +// using ProjectName.Application.Features.NameOfQuery.Interfaces; + +namespace ProjectName.Application.Features.NameOfQuery.Queries.NameOfQuery +{ + public record NameOfQueryQuery : IRequest> + { + } + + public class NameOfQueryQueryHandler : IRequestHandler> + { + // private readonly IAuthenticationService _authenticationService; + + public NameOfQueryQueryHandler(/*IAuthenticationService authenticationService*/) + { + // _authenticationService = authenticationService; + } + + public async ValueTask> Handle(NameOfQueryQuery request, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + } +} +``` +
+ + +`NameOfQueryQueryValidator.cs` +```C# +using FluentValidation; + +namespace ProjectName.Application.Features.NameOfQuery.Queries.NameOfQuery +{ + public class NameOfQueryQueryValidator : AbstractValidator + { + public NameOfQueryQueryValidator() + { + RuleFor(v => v.Property1).Cascade(CascadeMode.Stop) + .NotEmpty().WithMessage("Property1 field is required."); + } + } +} +``` + +
\ No newline at end of file diff --git a/docs/content/5.dotnet/4.features/5.migrations.md b/docs/content/5.dotnet/4.features/5.migrations.md new file mode 100644 index 00000000..698c355f --- /dev/null +++ b/docs/content/5.dotnet/4.features/5.migrations.md @@ -0,0 +1,112 @@ +# Migrations + +### What is it about? +The workflow of migrations allows you to manage changes to the data schema over time. Typically this involves making changes to the entities or the database context, creating a new migration, then applying the migration update to the database schema or revert if needed. + +### Examples + +**Creating migration files** +```bash +frontier dotnet migrate [command] [options] +``` + +| **Command** | **Description** | +| --------------------------- | :--------------------------------- | +| [new](migrations#new) | new migration | +| [up](migrations#up) | apply all migrations | +| [down](migrations#down) | revert to a previous migration | +| [remove](migrations#remove) | remove latest migration | + +* * * + +### _new_ + +**_new_** will create a new migration. This does not apply the migration to the database. + +**Usage** +```bash +frontier dotnet migrate new +``` + +| **Option** | **Description** | +| :---------------------------- | :----------------------- | +| `--appContainer, -a [container]` | `Required` This is the name of the container that is running the application (`string`). | +| `--environment, -e [environment]` | The target environment for the migrations to be applied. Default is `Local` (`string`). | +| `--configuration, -c [configuration]` | This can either be `Debug` or `Release`. The default is `Debug` (`string`). | +| `--help` | Show debug logs when creating the project. | + +* * * + +### _up_ + +**_up_** will apply all the migrations to the database. + +**Usage** +```bash +frontier dotnet migrate up +``` + +| **Option** | **Description** | +| :---------------------------- | :----------------------- | +| `--appContainer, -a [container]` | `Required` This is the name of the container that is running the application (`string`). | +| `--environment, -e [environment]` | The target environment for the migrations to be applied. Default is `Local` (`string`). | +| `--configuration, -c [configuration]` | This can either be `Debug` or `Release`. The default is Debug (`string`). | +| `--help` | Show debug logs when creating the project. | + +* * * + +### _down_ + +**_down_** will revert already applied database migrations from the database + +**Usage** +```bash +frontier dotnet migrate down [previous_migration_name] +``` + +| **Option** | **Description** | +| :---------------------------- | :----------------------- | +| `--appContainer, -a [container]` | `Required` This is the name of the container that is running the application (`string`). | +| `--environment, -e [environment]` | The target environment for the migrations to be applied. Default is `Local` (`string`). | +| `--configuration, -c [configuration]` | This can either be `Debug` or `Release`. The default is Debug (`string`). | +| `--help` | Show debug logs when creating the project. | + +* * * + +### _remove_ + +**_remove_** will delete the most recently created migration. This will not revert already applied migration from the database unless specified. + +**Usage** +```bash +frontier dotnet migrate remove +``` + +| **Option** | **Description** | +| :---------------------------- | :----------------------- | +| `--appContainer, -a [container]` | `Required` This is the name of the container that is running the application (`string`). | +| `--prevMigration, -m [migrationName]` | Revert all migrations applied to the database after the specified migration. Starting from the most recent migration (`string`). | +| `--environment, -e [environment]` | The target environment for the migrations to be applied. Default is `Local` (`string`). | +| `--configuration, -c [configuration]` | This can either be `Debug` or `Release`. The default is Debug (`string`). | +| `--help` | Show debug logs when creating the project. | + +* * * + +### Using unsupported Dotnet EF Core Command + +> Learn more about all the available commands from [Entity Framework Core](https://learn.microsoft.com/en-us/ef/core/cli/dotnet) + +If you want to use commands that are currently not supported by `frontier dotnet` then you are still in luck. All you need to do is: +#### 1. Attach to the Docker container running the project +You are able to connect to the container using the `docker exec` command. By default the container name will be the same name used when creating the project. You can also find the container name by using Docker desktop or the docker CLI. +``` +docker exec -it sh +``` +#### 2. Run your `dotnet` commands +Execute the command you want from the root of your directory. This should be `/app/src/` by default. + +##### Example + +``` +dotnet ef migrations list +``` diff --git a/docs/content/5.dotnet/4.features/6.configuration.md b/docs/content/5.dotnet/4.features/6.configuration.md new file mode 100644 index 00000000..a077b0c2 --- /dev/null +++ b/docs/content/5.dotnet/4.features/6.configuration.md @@ -0,0 +1,40 @@ +# Configuration + +### What is it about? +Configurations enable you to override Entity Framework Core's default behaviour (conventions) in respect to mapping entities and their properties and relationships to a relational database + +### Examples + +**Create Configuration Class** +```bash +frontier dotnet add configuration [name-of-configuration] +``` + +Generates `NameOfConfiguration.cs` +```C# +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Builders; +using NameOfProject.Domain.Entities; + +namespace NameOfProject.Persistence.Configurations +{ + public class NameOfConfigurationConfiguration : IEntityTypeConfiguration + { + public void Configure(EntityTypeBuilder builder) + { + builder.Property(e => e.Property1) + .HasColumnName("Property1") + + builder.Property(e => e.Property2) + .IsRequired(); + } + } +} +``` + +Description: This command generates a class configuration based of the name used in the command. The file will be located at `projectName/src/ProjectNameApi.Persistence/NameOfConfiguration.cs`. The file can then be modified to suit user's desired table. + +
+ + + diff --git a/docs/content/5.dotnet/4.features/7.folder structure.md b/docs/content/5.dotnet/4.features/7.folder structure.md new file mode 100644 index 00000000..c132fc22 --- /dev/null +++ b/docs/content/5.dotnet/4.features/7.folder structure.md @@ -0,0 +1,21 @@ +# Folder Structure + +### .Api + +The Api Project holds Routes and Controllers that are set up to handle calls to the application's endpoints. + +### .Application + +The Applicaiton layer holds handlers that are able to perform DB queries or commands and/or use services to communicate with other external applications. Interfaces are usually defined in the application project. + +### .Domain + +Stores Entities/Data Model objects often linked to DB tables. + +### .Infrastructure + +This is the abstraction layer that holds dependencies/implementations of Interfaces used in the application layer. Dependencies are wired to their Interfaces inside of DependencyInjection.cs + +### .Persistence + +Holds database connection strings, queries and migrations used for communicating with a DB. diff --git a/docs/content/5.dotnet/4.features/_dir.yml b/docs/content/5.dotnet/4.features/_dir.yml new file mode 100644 index 00000000..c3adfc69 --- /dev/null +++ b/docs/content/5.dotnet/4.features/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:code diff --git a/docs/content/6.design/_dir.yml b/docs/content/5.dotnet/_dir.yml similarity index 100% rename from docs/content/6.design/_dir.yml rename to docs/content/5.dotnet/_dir.yml diff --git a/docs/content/7.IAC/1.getting-started/2.introduction.md b/docs/content/7.IAC/1.getting-started/2.introduction.md deleted file mode 100644 index 7461deda..00000000 --- a/docs/content/7.IAC/1.getting-started/2.introduction.md +++ /dev/null @@ -1,2 +0,0 @@ -# Coming Soon - diff --git a/docs/content/7.IAC/1.getting-started/_dir.yml b/docs/content/7.IAC/1.getting-started/_dir.yml deleted file mode 100644 index 57fa0c14..00000000 --- a/docs/content/7.IAC/1.getting-started/_dir.yml +++ /dev/null @@ -1 +0,0 @@ -icon: heroicons-outline:flag diff --git a/docs/content/5.mobile/1.getting-started/2.introduction.md b/docs/content/_6.design/1.getting-started/2.introduction.md similarity index 100% rename from docs/content/5.mobile/1.getting-started/2.introduction.md rename to docs/content/_6.design/1.getting-started/2.introduction.md diff --git a/docs/content/5.mobile/1.getting-started/_dir.yml b/docs/content/_6.design/1.getting-started/_dir.yml similarity index 100% rename from docs/content/5.mobile/1.getting-started/_dir.yml rename to docs/content/_6.design/1.getting-started/_dir.yml diff --git a/docs/content/7.IAC/_dir.yml b/docs/content/_6.design/_dir.yml similarity index 100% rename from docs/content/7.IAC/_dir.yml rename to docs/content/_6.design/_dir.yml diff --git a/docs/content/6.design/1.getting-started/2.introduction.md b/docs/content/_7.IAC/1.getting-started/2.introduction.md similarity index 100% rename from docs/content/6.design/1.getting-started/2.introduction.md rename to docs/content/_7.IAC/1.getting-started/2.introduction.md diff --git a/docs/content/6.design/1.getting-started/_dir.yml b/docs/content/_7.IAC/1.getting-started/_dir.yml similarity index 100% rename from docs/content/6.design/1.getting-started/_dir.yml rename to docs/content/_7.IAC/1.getting-started/_dir.yml diff --git a/docs/content/_7.IAC/_dir.yml b/docs/content/_7.IAC/_dir.yml new file mode 100644 index 00000000..391a3e54 --- /dev/null +++ b/docs/content/_7.IAC/_dir.yml @@ -0,0 +1 @@ +icon: heroicons-outline:play diff --git a/docs/content/_partials/hello-world.md b/docs/content/_partials/hello-world.md index e742d220..ab2c2522 100644 --- a/docs/content/_partials/hello-world.md +++ b/docs/content/_partials/hello-world.md @@ -1,6 +1,6 @@ -# I am a partial - -With some Hello World text. - - -:button-link[Play on StackBlitz]{href="https://stackblitz.com/github/nuxt/starter/tree/content" blank .mr-2} +# I am a partial + +With some Hello World text. + + +:button-link[Play on StackBlitz]{href="https://stackblitz.com/github/nuxt/starter/tree/content" blank .mr-2} diff --git a/docs/dist b/docs/dist deleted file mode 120000 index 4a2d1596..00000000 --- a/docs/dist +++ /dev/null @@ -1 +0,0 @@ -/Users/gareththomas/Documents/Realdecoy/SEPA/frontier/docs/.output/public \ No newline at end of file diff --git a/docs/editor/Editor.vue b/docs/editor/Editor.vue index a35ab245..858fbdeb 100644 --- a/docs/editor/Editor.vue +++ b/docs/editor/Editor.vue @@ -1,30 +1,30 @@ - - - + + + diff --git a/docs/editor/Monaco.vue b/docs/editor/Monaco.vue index a808b9b1..cea4695b 100644 --- a/docs/editor/Monaco.vue +++ b/docs/editor/Monaco.vue @@ -1,78 +1,78 @@ - - - - - + + + + + diff --git a/docs/editor/mdc.tmLanguage.ts b/docs/editor/mdc.tmLanguage.ts index 59b2dc4b..a330fc5c 100644 --- a/docs/editor/mdc.tmLanguage.ts +++ b/docs/editor/mdc.tmLanguage.ts @@ -1,238 +1,238 @@ -/* eslint-disable */ -/** - * MDC language - * Based on official markdown language - */ -import type { languages } from 'monaco-editor-core' - -export const conf: languages.LanguageConfiguration = { - comments: { - blockComment: [''] - }, - brackets: [ - ['{', '}'], - ['[', ']'], - ['(', ')'] - ], - autoClosingPairs: [ - { open: '{', close: '}' }, - { open: '[', close: ']' }, - { open: '(', close: ')' }, - { open: '<', close: '>', notIn: ['string'] } - ], - surroundingPairs: [ - { open: '(', close: ')' }, - { open: '[', close: ']' }, - { open: '`', close: '`' } - ], - folding: { - markers: { - start: new RegExp('^\\s*'), - end: new RegExp('^\\s*') - } - } -} - -export const language = { - defaultToken: '', - tokenPostfix: '.md', - - // escape codes - control: /[\\`*_\[\]{}()#+\-\.!]/, - noncontrol: /[^\\`*_\[\]{}()#+\-\.!]/, - escapes: /\\(?:@control)/, - - // escape codes for javascript/CSS strings - jsescapes: /\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/, - - // non matched elements - empty: [ - 'area', 'base', 'basefont', 'br', 'col', 'frame', - 'hr', 'img', 'input', 'isindex', 'link', 'meta', 'param' - ], - - tokenizer: { - root: [ - [/^---$/, { token: '', next: '@frontmatter', nextEmbedded: 'yaml' }], - { include: 'markdown' } - ], - - frontmatter: [ - [/^\s*---\s*$/, { token: '', next: '@markdown', nextEmbedded: '@pop', bracket: '@close' }], - [/.*$/, 'variable.source'] - ], - - markdown: [ - - // headers (with #) - [/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/, ['white', 'keyword', 'keyword', 'keyword']], - - // headers (with =) - [/^\s*(=+|\-+)\s*$/, 'keyword'], - - // headers (with ***) - [/^\s*((\*[ ]?)+)\s*$/, 'meta.separator'], - - // quote - [/^\s*>+/, 'comment'], - - // list (starting with * or number) - [/^\s*([\*\-+]|\d+\.)\s/, 'keyword'], - - // code block (4 spaces indent) - [/^(\t|[ ]{4})[^ ].*$/, 'string'], - - // code block (3 tilde) - [/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/, { token: 'string', next: '@codeblock' }], - - // github style code blocks (with backticks and language) - [/^\s*```\s*((?:\w|[\/\-#])+)\s*$/, { token: 'string', next: '@codeblockgh', nextEmbedded: '$1' }], - - // github style code blocks (with backticks but no language) - [/^\s*```\s*$/, { token: 'string', next: '@codeblock' }], - - // block components - [/^\s*(:{2,})([\w-]+)/, 'tag', '@componentWithData'], - - // markup within lines - { include: '@linecontent' } - - ], - - componentWithData: [ - [/{/, 'tag', '@attributes'], - [/^\s*---\s*$/, { token: '', next: '@componentData', nextEmbedded: 'yaml' }], - [/^\s*::+\s*$/, 'tag', '@pop'], - { include: '@component' } - ], - - component: [ - // #slots - [/^\s*#[\w_-]*\s*$/, 'attribute.name.html'], - { include: '@markdown' } - ], - - componentData: [ - [/^\s*---\s*$/, { token: '', next: '@pop', nextEmbedded: '@pop', bracket: '@close' }], - [/.*$/, 'variable.source'] - ], - - attributes: [ - // class|id - [/[^}=][^\s=}]*[\s.#]*/, 'attribute.name.html'], - [/[^}=][^\s=}]*(})/, ['attribute.name.html', { token: 'tag', next: '@pop' }]], - [/(=)("[^"]*"|[^"\s=]*)/, ['', 'string.html']], - [/}/, 'tag', '@pop'] - ], - - codeblock: [ - [/^\s*~~~\s*$/, { token: 'string', next: '@pop' }], - [/^\s*```\s*$/, { token: 'string', next: '@pop' }], - [/.*$/, 'variable.source'] - ], - - // github style code blocks - codeblockgh: [ - [/```\s*$/, { token: 'variable.source', next: '@pop', nextEmbedded: '@pop' }], - [/[^`]+/, 'variable.source'] - ], - - linecontent: [ - // escapes - [/&\w+;/, 'string.escape'], - [/@escapes/, 'escape'], - - // various markup - // [/(\b__([\w]+)__)({)/, ['strong', '']], - [/\b__([^\\_]|@escapes|_(?!_))+__\b/, 'strong'], - [/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/, 'strong'], - [/\b_[^_]+_\b/, 'emphasis'], - [/\*([^\\*]|@escapes)+\*/, 'emphasis'], - [/`([^\\`]|@escapes)+`/, 'variable'], - - // links - [/^{+[^}]*\}+/, 'string.link'], - [/[^\*\_\)\]]\{+[^}]*\}+/, 'string.link'], - [/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/, ['string.link', '', 'string.link']], - // [/(!?\[)((?:[^\]\\]|@escapes)*)(\])/, 'string.link'], - - [/\{/, { token: 'tag', next: '@attributes' }], - - // :block{#attribute} - [/(:)([\w-]+)({)/, ['tag', 'tag', { token: 'tag', next: '@attributes' }]], - // :block - [/(:)([\w-]+)/, ['tag', 'tag']], - - // [span] - [/(\[)([^\]]*)(\])({)/, ['string.link', '', 'string.link', { token: 'tag', next: '@attributes' }]], - [/(\[)([^\]]*)(\])/, ['string.link', '', 'string.link']], - - // or html - { include: 'html' } - ], - - // Note: it is tempting to rather switch to the real HTML mode instead of building our own here - // but currently there is a limitation in Monarch that prevents us from doing it: The opening - // '<' would start the HTML mode, however there is no way to jump 1 character back to let the - // HTML mode also tokenize the opening angle bracket. Thus, even though we could jump to HTML, - // we cannot correctly tokenize it in that mode yet. - html: [ - // html tags - [/<(\w+)\/>/, 'tag'], - [/<(\w+)/, { - cases: { - '@empty': { token: 'tag', next: '@tag.$1' }, - '@default': { token: 'tag', next: '@tag.$1' } - } - }], - [/<\/(\w+)\s*>/, { token: 'tag' }], - - [//, 'comment', '@pop'], - [/'] + }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'] + ], + autoClosingPairs: [ + { open: '{', close: '}' }, + { open: '[', close: ']' }, + { open: '(', close: ')' }, + { open: '<', close: '>', notIn: ['string'] } + ], + surroundingPairs: [ + { open: '(', close: ')' }, + { open: '[', close: ']' }, + { open: '`', close: '`' } + ], + folding: { + markers: { + start: new RegExp('^\\s*'), + end: new RegExp('^\\s*') + } + } +} + +export const language = { + defaultToken: '', + tokenPostfix: '.md', + + // escape codes + control: /[\\`*_\[\]{}()#+\-\.!]/, + noncontrol: /[^\\`*_\[\]{}()#+\-\.!]/, + escapes: /\\(?:@control)/, + + // escape codes for javascript/CSS strings + jsescapes: /\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/, + + // non matched elements + empty: [ + 'area', 'base', 'basefont', 'br', 'col', 'frame', + 'hr', 'img', 'input', 'isindex', 'link', 'meta', 'param' + ], + + tokenizer: { + root: [ + [/^---$/, { token: '', next: '@frontmatter', nextEmbedded: 'yaml' }], + { include: 'markdown' } + ], + + frontmatter: [ + [/^\s*---\s*$/, { token: '', next: '@markdown', nextEmbedded: '@pop', bracket: '@close' }], + [/.*$/, 'variable.source'] + ], + + markdown: [ + + // headers (with #) + [/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/, ['white', 'keyword', 'keyword', 'keyword']], + + // headers (with =) + [/^\s*(=+|\-+)\s*$/, 'keyword'], + + // headers (with ***) + [/^\s*((\*[ ]?)+)\s*$/, 'meta.separator'], + + // quote + [/^\s*>+/, 'comment'], + + // list (starting with * or number) + [/^\s*([\*\-+]|\d+\.)\s/, 'keyword'], + + // code block (4 spaces indent) + [/^(\t|[ ]{4})[^ ].*$/, 'string'], + + // code block (3 tilde) + [/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/, { token: 'string', next: '@codeblock' }], + + // github style code blocks (with backticks and language) + [/^\s*```\s*((?:\w|[\/\-#])+)\s*$/, { token: 'string', next: '@codeblockgh', nextEmbedded: '$1' }], + + // github style code blocks (with backticks but no language) + [/^\s*```\s*$/, { token: 'string', next: '@codeblock' }], + + // block components + [/^\s*(:{2,})([\w-]+)/, 'tag', '@componentWithData'], + + // markup within lines + { include: '@linecontent' } + + ], + + componentWithData: [ + [/{/, 'tag', '@attributes'], + [/^\s*---\s*$/, { token: '', next: '@componentData', nextEmbedded: 'yaml' }], + [/^\s*::+\s*$/, 'tag', '@pop'], + { include: '@component' } + ], + + component: [ + // #slots + [/^\s*#[\w_-]*\s*$/, 'attribute.name.html'], + { include: '@markdown' } + ], + + componentData: [ + [/^\s*---\s*$/, { token: '', next: '@pop', nextEmbedded: '@pop', bracket: '@close' }], + [/.*$/, 'variable.source'] + ], + + attributes: [ + // class|id + [/[^}=][^\s=}]*[\s.#]*/, 'attribute.name.html'], + [/[^}=][^\s=}]*(})/, ['attribute.name.html', { token: 'tag', next: '@pop' }]], + [/(=)("[^"]*"|[^"\s=]*)/, ['', 'string.html']], + [/}/, 'tag', '@pop'] + ], + + codeblock: [ + [/^\s*~~~\s*$/, { token: 'string', next: '@pop' }], + [/^\s*```\s*$/, { token: 'string', next: '@pop' }], + [/.*$/, 'variable.source'] + ], + + // github style code blocks + codeblockgh: [ + [/```\s*$/, { token: 'variable.source', next: '@pop', nextEmbedded: '@pop' }], + [/[^`]+/, 'variable.source'] + ], + + linecontent: [ + // escapes + [/&\w+;/, 'string.escape'], + [/@escapes/, 'escape'], + + // various markup + // [/(\b__([\w]+)__)({)/, ['strong', '']], + [/\b__([^\\_]|@escapes|_(?!_))+__\b/, 'strong'], + [/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/, 'strong'], + [/\b_[^_]+_\b/, 'emphasis'], + [/\*([^\\*]|@escapes)+\*/, 'emphasis'], + [/`([^\\`]|@escapes)+`/, 'variable'], + + // links + [/^{+[^}]*\}+/, 'string.link'], + [/[^\*\_\)\]]\{+[^}]*\}+/, 'string.link'], + [/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/, ['string.link', '', 'string.link']], + // [/(!?\[)((?:[^\]\\]|@escapes)*)(\])/, 'string.link'], + + [/\{/, { token: 'tag', next: '@attributes' }], + + // :block{#attribute} + [/(:)([\w-]+)({)/, ['tag', 'tag', { token: 'tag', next: '@attributes' }]], + // :block + [/(:)([\w-]+)/, ['tag', 'tag']], + + // [span] + [/(\[)([^\]]*)(\])({)/, ['string.link', '', 'string.link', { token: 'tag', next: '@attributes' }]], + [/(\[)([^\]]*)(\])/, ['string.link', '', 'string.link']], + + // or html + { include: 'html' } + ], + + // Note: it is tempting to rather switch to the real HTML mode instead of building our own here + // but currently there is a limitation in Monarch that prevents us from doing it: The opening + // '<' would start the HTML mode, however there is no way to jump 1 character back to let the + // HTML mode also tokenize the opening angle bracket. Thus, even though we could jump to HTML, + // we cannot correctly tokenize it in that mode yet. + html: [ + // html tags + [/<(\w+)\/>/, 'tag'], + [/<(\w+)/, { + cases: { + '@empty': { token: 'tag', next: '@tag.$1' }, + '@default': { token: 'tag', next: '@tag.$1' } + } + }], + [/<\/(\w+)\s*>/, { token: 'tag' }], + + [//, 'comment', '@pop'], + [/ -## Table of Contents - -* [Installation & Usage](#installation--usage) -* [Check Commands](#check-commands) -* [Help Menu](#help-menu) -* [Check Version](#check-version) -* [Options](#options) - - -      - - - - -## Installation & Usage - - - -### Install - -```bash -npm install -g @rdfrontier/cli -``` -or -```bash -yarn global add @rdfrontier/cli -``` - -    - -### Check Commands - -```bash -frontier -``` - -    - -### Help Menu - -The help menu can be accessed with the command: - -```bash -frontier --help -``` - -    - -### Check Version - -The current version of rdvue can be retrieved with the command: - -```bash -frontier -v|--version|version -``` - -    - -## Options - -```txt -Usage: - frontier - -Commands: - plugins - List installed plugins - plugins:install - Install plugins - -Options: - --help | -h - Show help information - --version | -v - Show current version -``` - -      - -## Development - -```bash - -``` - -      diff --git a/packages/frontier-core/cli/babel.config.js b/packages/frontier-core/cli/babel.config.js deleted file mode 100644 index edf4145b..00000000 --- a/packages/frontier-core/cli/babel.config.js +++ /dev/null @@ -1,14 +0,0 @@ -const configurator = require('../../../babel.root'); - -module.exports = api => { - api.cache.using(() => process.env.NODE_ENV); - - const envConfig = { - modules: !api.env('module') && 'auto', - }; - - return configurator({ - envConfig, - isTest: api.env('test'), - }); -}; diff --git a/packages/frontier-core/cli/jest.config.js b/packages/frontier-core/cli/jest.config.js deleted file mode 100644 index 9863fb7c..00000000 --- a/packages/frontier-core/cli/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const configurator = require('../../../jest.root'); - -module.exports = configurator({ - setupFiles: ['./setupTests.ts'], -}); diff --git a/packages/frontier-core/cli/package.json b/packages/frontier-core/cli/package.json deleted file mode 100644 index 97ff5973..00000000 --- a/packages/frontier-core/cli/package.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "@rdfrontier/cli", - "version": "0.0.2", - "description": "Frontier: Software Development Toolkit", - "author": "Realdecoy Labs", - "bin": { - "frontier": "./bin/run" - }, - "homepage": "https://github.com/realdecoy/frontier", - "license": "UNLICENSED", - "main": "dist/index.js", - "files": [ - "/bin", - "/dist", - "/npm-shrinkwrap.json", - "/oclif.manifest.json" - ], - "dependencies": { - "@oclif/core": "^1", - "@oclif/plugin-help": "^5", - "@oclif/plugin-plugins": "^2.0.1", - "@rdfrontier/stdlib": "^0.0.2" - }, - "devDependencies": { - "@oclif/test": "^2", - "@rdfrontier/lib-builder": "^1.0.0", - "@types/chai": "^4", - "@types/node": "^16.9.4", - "chai": "^4", - "eslint": "^7.32.0", - "eslint-config-oclif": "^4", - "eslint-config-oclif-typescript": "^1.0.2", - "globby": "^11", - "mocha": "^9", - "oclif": "^3", - "shx": "^0.3.3", - "ts-node": "^10.2.1", - "tslib": "^2.3.1", - "typescript": "^4.4.3" - }, - "oclif": { - "bin": "frontier", - "dirname": "frontier", - "scope": "rdfrontier", - "commands": "./dist/commands", - "helpClass": "./dist/help", - "plugins": [ - "@oclif/plugin-plugins" - ], - "topicSeparator": ":", - "topics": {} - }, - "scripts": { - "build": "build-package --tscOnly", - "build:watch": "build-package --tscOnly --watch", - "clean": "rimraf dist esnext module types lib", - "rebuild": "run-s clean build && oclif-dev manifest", - "test": "jest --passWithNoTests", - "test:ci": "jest --ci --coverage", - "test:coverage": "run-s test:ci test:coverage:open", - "test:coverage:open": "open ./test-results/index.html", - "test:watch": "jest --watch", - "lint": "run-s lint:es lint:md", - "lint:es": "eslint --ignore-path ../../../.eslintignore \"**/*\"", - "lint:es:ci": "yarn lint:es --format", - "lint:es:fix": "yarn lint:es --fix", - "lint:md": "yarn prettier \"**/*.md\" --check", - "lint:md:fix": "yarn prettier \"**/*.md\" --write", - "lint:ts:fix": "yarn prettier \"**/*.ts\" --write", - "postpack": "rimraf oclif.manifest.json", - "prepack": "build", - "version": "oclif readme && git add README.md" - }, - "engines": { - "node": ">=12.0.0" - }, - "repository": "realdecoy/frontier", - "bugs": "https://github.com/realdecoy/frontier/issues", - "keywords": [ - "oclif" - ], - "types": "dist/index.d.ts" -} diff --git a/packages/frontier-core/cli/setupTests.ts b/packages/frontier-core/cli/setupTests.ts deleted file mode 100644 index 2c313164..00000000 --- a/packages/frontier-core/cli/setupTests.ts +++ /dev/null @@ -1,8 +0,0 @@ -import 'core-js/stable'; -import 'regenerator-runtime/runtime'; -import type { GlobalWithFetchMock } from 'jest-fetch-mock'; - -const customGlobal: GlobalWithFetchMock = - global as unknown as GlobalWithFetchMock; -customGlobal.fetch = require('jest-fetch-mock'); -customGlobal.fetchMock = customGlobal.fetch; diff --git a/packages/frontier-core/cli/src/commands/README.md b/packages/frontier-core/cli/src/commands/README.md deleted file mode 100644 index 6bc2b757..00000000 --- a/packages/frontier-core/cli/src/commands/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Commands Directory - -While the CLI is a modeled as a shell and depends on plugins to extend base -functionality, needed commands can live here. diff --git a/packages/frontier-core/cli/src/help.ts b/packages/frontier-core/cli/src/help.ts deleted file mode 100644 index d43f0c06..00000000 --- a/packages/frontier-core/cli/src/help.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Help, Command } from '@oclif/core'; -import { Topic } from '@oclif/config'; -import { log } from '@rdfrontier/stdlib'; - -export default class MyHelpClass extends Help { - async showRootHelp(): Promise { - let formattedCommandHelp = ''; - const maxSpaces = 25; - - for (const command of this.sortedCommands) { - const numOfSpaces = maxSpaces - command.id.length; - formattedCommandHelp += `\n\t ${command.id}${new Array( - numOfSpaces + 1, - ).join(' ')} - ${command.description?.slice(0, 30)}`; - } - - log(` - - Actions: - ${formattedCommandHelp} - - Options: - --help | -h - Show help information - --version | -v - Show version - `); - } - - async showTopicHelp(topic: Topic): Promise { - const name = topic.name; - const depth = name.split(':').length; - - const subTopics = this.sortedTopics.filter( - (t: any) => - t.name.startsWith(`${name}:`) && t.name.split(':').length === depth + 1, - ); - const commands = this.sortedCommands.filter( - (c: any) => - c.id.startsWith(`${name}:`) && c.id.split(':').length === depth + 1, - ); - - log(this.formatTopic(topic)); - - if (subTopics.length > 0) { - log(this.formatTopics(subTopics)); - log(''); - } - - if (commands.length > 0) { - log(this.formatCommands(commands)); - log(''); - } - } -} diff --git a/packages/frontier-core/cli/tsconfig.build.json b/packages/frontier-core/cli/tsconfig.build.json deleted file mode 100644 index b6ed4902..00000000 --- a/packages/frontier-core/cli/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "declarationDir": "types", - "outDir": "esnext" - }, - "exclude": [ - "setupTests.ts", - "**/*spec.ts", - ] -} diff --git a/packages/frontier-core/cli/tsconfig.json b/packages/frontier-core/cli/tsconfig.json deleted file mode 100644 index 88482eaa..00000000 --- a/packages/frontier-core/cli/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "importHelpers": true, - "module": "commonjs", - "outDir": "dist", - "rootDir": "src", - "strict": true, - "target": "es2019", - "esModuleInterop": true, - "skipLibCheck": true, - }, - "include": [ - "src/**/*" - ] -} diff --git a/packages/frontier-core/cli/yarn.lock b/packages/frontier-core/cli/yarn.lock deleted file mode 100644 index 9a0c62be..00000000 --- a/packages/frontier-core/cli/yarn.lock +++ /dev/null @@ -1,5484 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz" - integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== - dependencies: - "@babel/highlight" "^7.16.0" - -"@babel/compat-data@^7.16.0": - version "7.16.4" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz" - integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== - -"@babel/core@^7.12.16": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz" - integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helpers" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/eslint-parser@^7.12.16": - version "7.16.3" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.16.3.tgz" - integrity sha512-iB4ElZT0jAt7PKVaeVulOECdGe6UnmA/O0P9jlF5g5GBOwDVbna8AXhHRu4s27xQf6OkveyA8iTDv1jHdDejgQ== - dependencies: - eslint-scope "^5.1.1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.0" - -"@babel/generator@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz" - integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== - dependencies: - "@babel/types" "^7.16.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-compilation-targets@^7.16.0": - version "7.16.3" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz" - integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== - dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz" - integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== - dependencies: - "@babel/helper-get-function-arity" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-get-function-arity@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz" - integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-hoist-variables@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz" - integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-member-expression-to-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz" - integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-imports@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz" - integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-transforms@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz" - integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-simple-access" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-optimise-call-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz" - integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-replace-supers@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz" - integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-simple-access@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz" - integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz" - integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": - 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== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - -"@babel/helpers@^7.16.0": - version "7.16.3" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz" - integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== - dependencies: - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.3" - "@babel/types" "^7.16.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz" - integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.16.0", "@babel/parser@^7.16.3": - version "7.16.4" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz" - integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== - -"@babel/template@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": - version "7.16.3" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz" - integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.3" - "@babel/types" "^7.16.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.16.0": - version "7.16.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz" - integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - to-fast-properties "^2.0.0" - -"@cspotcode/source-map-consumer@0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz" - integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== - -"@cspotcode/source-map-support@0.7.0": - version "0.7.0" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz" - integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== - dependencies: - "@cspotcode/source-map-consumer" "0.8.0" - -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@oclif/color@^0.1.2": - version "0.1.2" - resolved "https://registry.npmjs.org/@oclif/color/-/color-0.1.2.tgz" - integrity sha512-M9o+DOrb8l603qvgz1FogJBUGLqcMFL1aFg2ZEL0FbXJofiNTLOWIeB4faeZTLwE6dt0xH9GpCVpzksMMzGbmA== - dependencies: - ansi-styles "^3.2.1" - chalk "^3.0.0" - strip-ansi "^5.2.0" - supports-color "^5.4.0" - tslib "^1" - -"@oclif/color@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@oclif/color/-/color-1.0.0.tgz" - integrity sha512-jSvPCTa3OfwzGUsgGAO6AXam//UMBSIBCHGs6i3iGr+NQoMrBf6kx4UzwED0RzSCTc6nlqCzdhnCD18RSP7VAA== - dependencies: - ansi-styles "^4.2.1" - chalk "^4.1.0" - strip-ansi "^6.0.0" - supports-color "^8.1.1" - tslib "^2" - -"@oclif/core@1.0.10", "@oclif/core@^1", "@oclif/core@^1.0.10", "@oclif/core@^1.0.8": - version "1.0.10" - resolved "https://registry.npmjs.org/@oclif/core/-/core-1.0.10.tgz" - integrity sha512-L+IcNU3NoYxwz5hmHfcUlOJ3dpgHRsIj1kAmI9CKEJHq5gBVKlP44Ot179Jke1jKRKX2g9N42izbmlh0SNpkkw== - dependencies: - "@oclif/linewrap" "^1.0.0" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-ux "6.0.5" - debug "^4.3.3" - fs-extra "^9.1.0" - get-package-type "^0.1.0" - globby "^11.0.4" - indent-string "^4.0.0" - is-wsl "^2.2.0" - lodash "^4.17.21" - semver "^7.3.5" - string-width "^4.2.3" - strip-ansi "^6.0.1" - tslib "^2.3.1" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -"@oclif/fixpack@^2.3.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@oclif/fixpack/-/fixpack-2.3.0.tgz" - integrity sha512-49WCnMIUO6MOj5h0kSsSh0JsrKVXa332nwMYafz1mvfrLhWHvA/7CW1yvWXbmVT7RUdE0+EfqVTHFdNlipAfpg== - dependencies: - alce "1.2.0" - colors "*" - extend-object "^1.0.0" - rc "^1.2.8" - -"@oclif/linewrap@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz" - integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== - -"@oclif/plugin-help@5.1.9": - version "5.1.9" - resolved "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.1.9.tgz" - integrity sha512-CDMu5zPEkszr9cPzk75XRn/P4ly6xzCbfVr2i1isu2B5+2JZGMYuJM+JCXUauCCx4d2Gb3JTSszP+nfkjaxGkg== - dependencies: - "@oclif/core" "^1.0.10" - -"@oclif/plugin-help@^5": - version "5.1.10" - resolved "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.1.10.tgz" - integrity sha512-ngurn/3kQVCw1Df5TJEURjxU+w7iA9z3Pskw8dJorfnd0Xibe/qlPg+VYV3hB7EhTbV82EVfZ5DhQYD5YvoxeA== - dependencies: - "@oclif/core" "^1.0.10" - -"@oclif/plugin-not-found@^2.2.2": - version "2.2.3" - resolved "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.2.3.tgz" - integrity sha512-HZ1ZlRqOdxoxjnM36T0wfzvmSFT2iO9HrYjSU0ZHuGhCwvgIK5PDjxZu1j44SStfYGSKcIcj08Uz1fRUvgQa9Q== - dependencies: - "@oclif/color" "^1.0.0" - "@oclif/core" "1.0.10" - cli-ux "6.0.6" - fast-levenshtein "^3.0.0" - lodash "^4.17.21" - -"@oclif/plugin-plugins@^2.0.1": - version "2.0.11" - resolved "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-2.0.11.tgz" - integrity sha512-GvBawBPRxaAO48aWTtrseClhbPjyLaB6rNSQIHyQcSOL/cg7TLT1JaffZURkCOsD817t5SMm97I+OIbhI4R5zQ== - dependencies: - "@oclif/color" "^0.1.2" - "@oclif/core" "1.0.10" - chalk "^4.1.2" - cli-ux "6.0.6" - debug "^4.1.0" - fs-extra "^9.0" - http-call "^5.2.2" - load-json-file "^5.2.0" - npm-run-path "^4.0.1" - semver "^7.3.2" - tslib "^2.0.0" - yarn "^1.21.1" - -"@oclif/plugin-warn-if-update-available@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.2.tgz" - integrity sha512-lg4eesMxjCTaz6PgwC1j7VuyW6tzYWO85eSCz6pwjxmCCW8T6bHxLiIHO3TXTfYJTj1YVUL1fOFVc1Gelc0neQ== - dependencies: - "@oclif/core" "^1.0.8" - chalk "^4.1.0" - debug "^4.1.0" - fs-extra "^9.0.1" - http-call "^5.2.2" - lodash "^4.17.21" - semver "^7.3.2" - -"@oclif/screen@^1.0.4 ": - version "1.0.4" - resolved "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz" - integrity sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw== - -"@oclif/test@^2": - version "2.0.3" - resolved "https://registry.npmjs.org/@oclif/test/-/test-2.0.3.tgz" - integrity sha512-8mN/cmfrPQKc9+3I6Dj6HNgmPqRVKe4P7gU61pLUz220oFUxhuP0EHLzY3ARFx8ecUZAJZdWJwh+dne/1GfTcA== - dependencies: - fancy-test "^2.0.0" - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^7.1.0": - version "7.1.2" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz" - integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz" - integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== - -"@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz" - integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== - -"@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz" - integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== - -"@tsconfig/node16@^1.0.2": - version "1.0.2" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== - -"@types/chai@*", "@types/chai@^4": - version "4.3.0" - resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz" - integrity sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw== - -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/json-schema@^7.0.7": - version "7.0.9" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - -"@types/lodash@*": - version "4.14.178" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz" - integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== - -"@types/minimatch@*", "@types/minimatch@^3.0.3": - version "3.0.5" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - -"@types/mocha@^9.0.0": - version "9.0.0" - resolved "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz" - integrity sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA== - -"@types/node@*", "@types/node@^16.9.4": - version "16.11.12" - resolved "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz" - integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/sinon@*": - version "10.0.6" - resolved "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.6.tgz" - integrity sha512-6EF+wzMWvBNeGrfP3Nx60hhx+FfwSg1JJBLAAP/IdIUq0EYkqCYf70VT3PhuhPX9eLD+Dp+lNdpb/ZeHG8Yezg== - dependencies: - "@sinonjs/fake-timers" "^7.1.0" - -"@typescript-eslint/eslint-plugin@^4.31.2": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/parser@^4.31.2": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - -"@ungap/promise-all-settled@1.1.2": - 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== - -JSONStream@^1.2.1, JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.4.1: - version "8.6.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz" - integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== - -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.8.2" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz" - integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -alce@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/alce/-/alce-1.2.0.tgz" - integrity sha1-qL4trKrEJJRhLxjcCdtpHz3qSqs= - dependencies: - esprima "^1.2.0" - estraverse "^1.5.0" - -ansi-colors@4.1.1, ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.0.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.2.0, ansi-styles@^4.2.1: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansicolors@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" - integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= - -any-shell-escape@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/any-shell-escape/-/any-shell-escape-0.1.1.tgz" - integrity sha1-1Vq5ciRMcaml4asIefML8RCAaVk= - -anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz" - integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= - -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - -array-union@^1.0.1, array-union@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -arrify@^1.0.0, arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async@0.9.x: - version "0.9.2" - resolved "https://registry.npmjs.org/async/-/async-0.9.2.tgz" - integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= - -async@^2.6.0, async@^2.6.2: - version "2.6.3" - resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -binaryextensions@^2.1.2: - version "2.3.0" - resolved "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz" - integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserslist@^4.17.5: - version "4.18.1" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz" - integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== - dependencies: - caniuse-lite "^1.0.30001280" - electron-to-chromium "^1.3.896" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-modules@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^6.0.0: - version "6.2.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz" - integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== - -caniuse-lite@^1.0.30001280: - version "1.0.30001286" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz" - integrity sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ== - -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - -cardinal@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz" - integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= - dependencies: - ansicolors "~0.3.2" - redeyed "~2.1.0" - -chai@^4: - version "4.3.4" - resolved "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz" - integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== - 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" - -chalk@^1.0.0: - version "1.1.3" - resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - -chokidar@3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - 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" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -ci-info@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" - integrity sha1-jffHquUf02h06PjQW5GAvBGj/tc= - dependencies: - escape-string-regexp "^1.0.5" - -clean-stack@^3.0.0, clean-stack@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz" - integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== - dependencies: - escape-string-regexp "4.0.0" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-progress@^3.9.1: - version "3.9.1" - resolved "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.1.tgz" - integrity sha512-AXxiCe2a0Lm0VN+9L0jzmfQSkcZm5EYspfqXKaSIQKqIk+0hnkZ3/v1E9B39mkD6vYhKih3c/RPsJBSwq9O99Q== - dependencies: - colors "^1.1.2" - string-width "^4.2.0" - -cli-table@^0.3.1: - version "0.3.11" - resolved "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz" - integrity sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ== - dependencies: - colors "1.0.3" - -cli-ux@6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cli-ux/-/cli-ux-6.0.5.tgz" - integrity sha512-q2pvzDiXMNISMqCBh0P2dkofQ/8OiWlEAjl6MDNk5oUZ6p54Fnk1rOaXxohYm+YkLX5YNUonGOrwkvuiwVreIg== - dependencies: - "@oclif/core" "^1.0.8" - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^1.0.4 " - ansi-escapes "^4.3.0" - ansi-styles "^4.2.0" - cardinal "^2.1.1" - chalk "^4.1.0" - clean-stack "^3.0.0" - cli-progress "^3.9.1" - extract-stack "^2.0.0" - fs-extra "^8.1" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.13.1" - lodash "^4.17.21" - natural-orderby "^2.0.1" - object-treeify "^1.1.4" - password-prompt "^1.1.2" - semver "^7.3.2" - string-width "^4.2.0" - strip-ansi "^6.0.0" - supports-color "^8.1.0" - supports-hyperlinks "^2.1.0" - tslib "^2.0.0" - -cli-ux@6.0.6: - version "6.0.6" - resolved "https://registry.npmjs.org/cli-ux/-/cli-ux-6.0.6.tgz" - integrity sha512-CvL4qmV78VhnbyHTswGjpDSQtU+oj3hT9DP9L6yMOwiTiNv0nMjMEV/8zou4CSqO6PtZ2A8qnlZDgAc07Js+aw== - dependencies: - "@oclif/core" "1.0.10" - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^1.0.4 " - ansi-escapes "^4.3.0" - ansi-styles "^4.2.0" - cardinal "^2.1.1" - chalk "^4.1.0" - clean-stack "^3.0.0" - cli-progress "^3.9.1" - extract-stack "^2.0.0" - fs-extra "^8.1" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.13.1" - lodash "^4.17.21" - natural-orderby "^2.0.1" - object-treeify "^1.1.4" - password-prompt "^1.1.2" - semver "^7.3.2" - string-width "^4.2.0" - strip-ansi "^6.0.0" - supports-color "^8.1.0" - supports-hyperlinks "^2.1.0" - tslib "^2.0.0" - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colors@*, colors@^1.1.2: - version "1.4.0" - resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -colors@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= - -commander@2.6.0: - version "2.6.0" - resolved "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz" - integrity sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0= - -common-tags@^1.4.0: - version "1.8.2" - resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concurrently@^3.4.0: - version "3.6.1" - resolved "https://registry.npmjs.org/concurrently/-/concurrently-3.6.1.tgz" - integrity sha512-/+ugz+gwFSEfTGUxn0KHkY+19XPRTXR8+7oUK/HxgiN1n7FjeJmkrbSiXAJfyQ0zORgJYPaenmymwon51YXH9Q== - dependencies: - chalk "^2.4.1" - commander "2.6.0" - date-fns "^1.23.0" - lodash "^4.5.1" - read-pkg "^3.0.0" - rx "2.3.24" - spawn-command "^0.0.2-1" - supports-color "^3.2.3" - tree-kill "^1.1.0" - -confusing-browser-globals@1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz" - integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== - -content-type@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cp-file@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/cp-file/-/cp-file-3.2.0.tgz" - integrity sha1-b4NhYlRiTwrViqSqjQdvAmvn4Yg= - dependencies: - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nested-error-stacks "^1.0.1" - object-assign "^4.0.1" - pify "^2.3.0" - pinkie-promise "^2.0.0" - readable-stream "^2.1.4" - -cpy-cli@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cpy-cli/-/cpy-cli-1.0.1.tgz" - integrity sha1-Z/taSi3sKMqKv/N13kuecfanVhw= - dependencies: - cpy "^4.0.0" - meow "^3.6.0" - -cpy@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/cpy/-/cpy-4.0.1.tgz" - integrity sha1-tnJn66LzlgugalphrJQDNCKDNCQ= - dependencies: - cp-file "^3.1.0" - globby "^4.0.0" - meow "^3.6.0" - nested-error-stacks "^1.0.0" - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-env@^3.1.4: - version "3.2.4" - resolved "https://registry.npmjs.org/cross-env/-/cross-env-3.2.4.tgz" - integrity sha1-ngWF8neGTtQhznVvgamA/w1piro= - dependencies: - cross-spawn "^5.1.0" - is-windows "^1.0.0" - -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - -dargs@^6.0.0, dargs@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/dargs/-/dargs-6.1.0.tgz" - integrity sha512-5dVBvpBLBnPwSsYXqfybFyehMmC/EenKEcf23AhCTgTf48JFBbmJKqoZBsERDnjL0FyiVTYWdFsRfTLHxLyKdQ== - -date-fns@^1.23.0: - version "1.30.1" - resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz" - integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== - -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -debug@4.3.2: - version "4.3.2" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3: - version "4.3.3" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== - dependencies: - type-detect "^4.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@^0.1.3: - 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== - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -detect-conflict@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz" - integrity sha1-CIZXpmqWHAUBnbfEIwiDsca0F24= - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz" - integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dir-glob@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -download-stats@^0.3.4: - version "0.3.4" - resolved "https://registry.npmjs.org/download-stats/-/download-stats-0.3.4.tgz" - integrity sha512-ic2BigbyUWx7/CBbsfGjf71zUNZB4edBGC3oRliSzsoNmvyVx3Ycfp1w3vp2Y78Ee0eIIkjIEO5KzW0zThDGaA== - dependencies: - JSONStream "^1.2.1" - lazy-cache "^2.0.1" - moment "^2.15.1" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -editions@^2.2.0: - version "2.3.1" - resolved "https://registry.npmjs.org/editions/-/editions-2.3.1.tgz" - integrity sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA== - dependencies: - errlop "^2.0.0" - semver "^6.3.0" - -ejs@^2.5.9, ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - -ejs@^3.1.5: - version "3.1.6" - resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz" - integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== - dependencies: - jake "^10.6.1" - -electron-to-chromium@^1.3.896: - version "1.4.16" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.16.tgz" - integrity sha512-BQb7FgYwnu6haWLU63/CdVW+9xhmHls3RCQUFiV4lvw3wimEHTVcUk2hkuZo76QhR8nnDdfZE7evJIZqijwPdA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -errlop@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/errlop/-/errlop-2.2.0.tgz" - integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw== - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error@^7.0.2: - version "7.2.1" - resolved "https://registry.npmjs.org/error/-/error-7.2.1.tgz" - integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== - dependencies: - string-template "~0.2.1" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -eslint-config-oclif-typescript@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-1.0.2.tgz" - integrity sha512-QUldSp+y0C7tVT3pVNFUUeN53m2IqiY0VvWQNYt5LJoFcaFvrpEB8G3x17LFFku4jy9bg8d+MbkMG1alPwzm1w== - dependencies: - "@typescript-eslint/eslint-plugin" "^4.31.2" - "@typescript-eslint/parser" "^4.31.2" - eslint-config-xo-space "^0.29.0" - eslint-plugin-mocha "^9.0.0" - eslint-plugin-node "^11.1.0" - -eslint-config-oclif@^4: - version "4.0.0" - resolved "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-4.0.0.tgz" - integrity sha512-5tkUQeC33rHAhJxaGeBGYIflDLumeV2qD/4XLBdXhB/6F/+Jnwdce9wYHSvkx0JUqUQShpQv8JEVkBp/zzD7hg== - dependencies: - eslint-config-xo-space "^0.27.0" - eslint-plugin-mocha "^9.0.0" - eslint-plugin-node "^11.1.0" - eslint-plugin-unicorn "^36.0.0" - -eslint-config-xo-space@^0.27.0: - version "0.27.0" - resolved "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.27.0.tgz" - integrity sha512-b8UjW+nQyOkhiANVpIptqlKPyE7XRyQ40uQ1NoBhzVfu95gxfZGrpliq8ZHBpaOF2wCLZaexTSjg7Rvm99vj4A== - dependencies: - eslint-config-xo "^0.35.0" - -eslint-config-xo-space@^0.29.0: - version "0.29.0" - resolved "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.29.0.tgz" - integrity sha512-emUZVHjmzl3I1aO2M/2gEpqa/GHXTl7LF/vQeAX4W+mQIU+2kyqY97FkMnSc2J8Osoq+vCSXCY/HjFUmFIF/Ag== - dependencies: - eslint-config-xo "^0.38.0" - -eslint-config-xo@^0.35.0: - version "0.35.0" - resolved "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.35.0.tgz" - integrity sha512-+WyZTLWUJlvExFrBU/Ldw8AB/S0d3x+26JQdBWbcqig2ZaWh0zinYcHok+ET4IoPaEcRRf3FE9kjItNVjBwnAg== - dependencies: - confusing-browser-globals "1.0.10" - -eslint-config-xo@^0.38.0: - version "0.38.0" - resolved "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.38.0.tgz" - integrity sha512-G2jL+VyfkcZW8GoTmqLsExvrWssBedSoaQQ11vyhflDeT3csMdBVp0On+AVijrRuvgmkWeDwwUL5Rj0qDRHK6g== - dependencies: - confusing-browser-globals "1.0.10" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-mocha@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz" - integrity sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg== - dependencies: - eslint-utils "^3.0.0" - ramda "^0.27.1" - -eslint-plugin-node@^11.1.0: - 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== - 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" - -eslint-plugin-unicorn@^36.0.0: - version "36.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-36.0.0.tgz" - integrity sha512-xxN2vSctGWnDW6aLElm/LKIwcrmk6mdiEcW55Uv5krcrVcIFSWMmEgc/hwpemYfZacKZ5npFERGNz4aThsp1AA== - dependencies: - "@babel/helper-validator-identifier" "^7.14.9" - ci-info "^3.2.0" - clean-regexp "^1.0.0" - eslint-template-visitor "^2.3.2" - eslint-utils "^3.0.0" - is-builtin-module "^3.1.0" - lodash "^4.17.21" - pluralize "^8.0.0" - read-pkg-up "^7.0.1" - regexp-tree "^0.1.23" - safe-regex "^2.1.1" - semver "^7.3.5" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-template-visitor@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz" - integrity sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA== - dependencies: - "@babel/core" "^7.12.16" - "@babel/eslint-parser" "^7.12.16" - eslint-visitor-keys "^2.0.0" - esquery "^1.3.1" - multimap "^1.1.0" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@^7.32.0: - version "7.32.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^1.2.0: - version "1.2.5" - resolved "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz" - integrity sha1-CZNQL+r2aBODJXVvMPmlH+7sEek= - -esprima@^4.0.0, esprima@~4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.3.1, esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^1.5.0: - version "1.9.3" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz" - integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extend-object@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/extend-object/-/extend-object-1.0.0.tgz" - integrity sha1-QlFPhAFdE1bK9Rh5ad+yvBvaCCM= - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-stack@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz" - integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== - -fancy-test@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/fancy-test/-/fancy-test-2.0.0.tgz" - integrity sha512-SFb2D/VX9SV+wNYXO1IIh1wyxUC1GS0mYCFJOWD1ia7MPj9yE2G8jaPkw4t/pg0Sj7/YJP56OzMY4nAuJSOugQ== - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - lodash "^4.17.13" - mock-stdin "^1.0.0" - nock "^13.0.0" - stdout-stderr "^0.1.9" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^2.0.2, fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - -fast-glob@^3.0.3, fast-glob@^3.1.1: - version "3.2.7" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fast-levenshtein@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz" - integrity sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== - dependencies: - fastest-levenshtein "^1.0.7" - -fastest-levenshtein@^1.0.7: - version "1.0.12" - resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz" - integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-type@^3.6.0: - version "3.9.0" - resolved "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz" - integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= - -filelist@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz" - integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== - dependencies: - minimatch "^3.0.4" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-yarn-workspace-root@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" - integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== - dependencies: - micromatch "^4.0.2" - -first-chunk-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz" - integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= - dependencies: - readable-stream "^2.0.2" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.1.0: - version "3.2.4" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== - -follow-redirects@^1.14.0: - version "1.14.6" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz" - integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz" - integrity sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1: - version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0, fs-extra@^9.0.1, fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stdin@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz" - integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -gh-got@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/gh-got/-/gh-got-5.0.0.tgz" - integrity sha1-7pW+NxBv2HSKlvjR20uuqJ4b+oo= - dependencies: - got "^6.2.0" - is-plain-obj "^1.1.0" - -gh-got@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz" - integrity sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw== - dependencies: - got "^7.0.0" - is-plain-obj "^1.1.0" - -github-slugger@^1.2.1: - version "1.4.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz" - integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== - -github-username@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/github-username/-/github-username-3.0.0.tgz" - integrity sha1-CnciGbMTB0NCnyRW0L3T21Xc57E= - dependencies: - gh-got "^5.0.0" - -github-username@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz" - integrity sha1-y+KABBiDIG2kISrp5LXxacML9Bc= - dependencies: - gh-got "^6.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@7.1.7: - version "7.1.7" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" - integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.6.0, globals@^13.9.0: - version "13.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz" - integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== - dependencies: - type-fest "^0.20.2" - -globby@^10.0.1: - version "10.0.2" - resolved "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -globby@^11, globby@^11.0.3, globby@^11.0.4: - version "11.0.4" - resolved "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz" - integrity sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg= - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^6.0.1" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^8.0.1: - version "8.0.2" - resolved "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz" - integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^9.2.0: - version "9.2.0" - resolved "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^1.0.2" - dir-glob "^2.2.2" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - -got@^6.2.0: - version "6.7.1" - resolved "https://registry.npmjs.org/got/-/got-6.7.1.tgz" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -got@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/got/-/got-7.1.0.tgz" - integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== - dependencies: - decompress-response "^3.2.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-plain-obj "^1.1.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - p-cancelable "^0.3.0" - p-timeout "^1.1.1" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - url-parse-lax "^1.0.0" - url-to-options "^1.0.1" - -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.8" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== - -grouped-queue@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/grouped-queue/-/grouped-queue-1.1.0.tgz" - integrity sha512-rZOFKfCqLhsu5VqjBjEWiwrYqJR07KxIkH4mLZlNlGDfntbb4FbMyGFP14TlvRPrU9S3Hnn/sgxbC5ZeN0no3Q== - dependencies: - lodash "^4.17.15" - -growl@1.10.5: - version "1.10.5" - resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" - integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -he@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - -http-call@^5.1.2, http-call@^5.2.2: - version "5.3.0" - resolved "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz" - integrity sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== - dependencies: - content-type "^1.0.4" - debug "^4.1.1" - is-retry-allowed "^1.1.0" - is-stream "^2.0.0" - parse-json "^4.0.0" - tunnel-agent "^0.6.0" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -hyperlinker@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz" - integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== - -iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^4.0.3, ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8: - version "5.1.9" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz" - integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -inquirer@^7.1.0: - version "7.3.3" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-builtin-module@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz" - integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg== - dependencies: - builtin-modules "^3.0.0" - -is-core-module@^2.2.0, is-core-module@^2.5.0: - version "2.8.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - 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-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-object@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz" - integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: - 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== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - -is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-scoped@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz" - integrity sha1-RJypgpnnEwOCViieyytUDcQ3yzA= - dependencies: - scoped-regex "^1.0.0" - -is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-utf8@^0.2.0, is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-windows@^1.0.0, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isbinaryfile@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz" - integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== - dependencies: - buffer-alloc "^1.2.0" - -isbinaryfile@^4.0.0: - version "4.0.8" - resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz" - integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -istextorbinary@^2.2.1, istextorbinary@^2.5.1: - version "2.6.0" - resolved "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.6.0.tgz" - integrity sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA== - dependencies: - binaryextensions "^2.1.2" - editions "^2.2.0" - textextensions "^2.5.0" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -jake@^10.6.1: - version "10.8.2" - resolved "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz" - integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== - dependencies: - async "0.9.x" - chalk "^2.4.2" - filelist "^1.0.1" - minimatch "^3.0.4" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -lazy-cache@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz" - integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= - dependencies: - set-getter "^0.1.0" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -load-json-file@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz" - integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== - dependencies: - graceful-fs "^4.1.15" - parse-json "^4.0.0" - pify "^4.0.1" - strip-bom "^3.0.0" - type-fest "^0.3.0" - -load-json-file@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz" - integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== - dependencies: - graceful-fs "^4.1.15" - parse-json "^5.0.0" - strip-bom "^4.0.0" - type-fest "^0.6.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.5.1: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -mem-fs-editor@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-5.1.0.tgz" - integrity sha512-2Yt2GCYEbcotYbIJagmow4gEtHDqzpq5XN94+yAx/NT5+bGqIjkXnm3KCUQfE6kRfScGp9IZknScoGRKu8L78w== - dependencies: - commondir "^1.0.1" - deep-extend "^0.6.0" - ejs "^2.5.9" - glob "^7.0.3" - globby "^8.0.1" - isbinaryfile "^3.0.2" - mkdirp "^0.5.0" - multimatch "^2.0.0" - rimraf "^2.2.8" - through2 "^2.0.0" - vinyl "^2.0.1" - -mem-fs-editor@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-6.0.0.tgz" - integrity sha512-e0WfJAMm8Gv1mP5fEq/Blzy6Lt1VbLg7gNnZmZak7nhrBTibs+c6nQ4SKs/ZyJYHS1mFgDJeopsLAv7Ow0FMFg== - dependencies: - commondir "^1.0.1" - deep-extend "^0.6.0" - ejs "^2.6.1" - glob "^7.1.4" - globby "^9.2.0" - isbinaryfile "^4.0.0" - mkdirp "^0.5.0" - multimatch "^4.0.0" - rimraf "^2.6.3" - through2 "^3.0.1" - vinyl "^2.2.0" - -mem-fs-editor@^7.0.1: - version "7.1.0" - resolved "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-7.1.0.tgz" - integrity sha512-BH6QEqCXSqGeX48V7zu+e3cMwHU7x640NB8Zk8VNvVZniz+p4FK60pMx/3yfkzo6miI6G3a8pH6z7FeuIzqrzA== - dependencies: - commondir "^1.0.1" - deep-extend "^0.6.0" - ejs "^3.1.5" - glob "^7.1.4" - globby "^9.2.0" - isbinaryfile "^4.0.0" - mkdirp "^1.0.0" - multimatch "^4.0.0" - rimraf "^3.0.0" - through2 "^3.0.2" - vinyl "^2.2.1" - -mem-fs@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/mem-fs/-/mem-fs-1.2.0.tgz" - integrity sha512-b8g0jWKdl8pM0LqAPdK9i8ERL7nYrzmJfRhxMiWH2uYdfYnb7uXnmwVb0ZGe7xyEl4lj+nLIU3yf4zPUT+XsVQ== - dependencies: - through2 "^3.0.0" - vinyl "^2.0.1" - vinyl-file "^3.0.0" - -meow@^3.6.0, meow@^3.7.0: - version "3.7.0" - resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3, merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.5" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mocha@^9: - version "9.1.3" - resolved "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz" - integrity sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw== - 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" - -mock-stdin@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz" - integrity sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q== - -moment@^2.15.1, moment@^2.24.0: - version "2.29.1" - resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz" - integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multimap@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz" - integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw== - -multimatch@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz" - integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis= - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - -multimatch@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz" - integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nanoid@3.1.25: - version "3.1.25" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz" - integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -natural-orderby@^2.0.1: - version "2.0.3" - resolved "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz" - integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== - -ncp@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz" - integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= - -nested-error-stacks@^1.0.0, nested-error-stacks@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz" - integrity sha1-GfYZWRUZ8JZ2mlupqG5u7sgjw88= - dependencies: - inherits "~2.0.1" - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nock@^13.0.0: - version "13.2.1" - resolved "https://registry.npmjs.org/nock/-/nock-13.2.1.tgz" - integrity sha512-CoHAabbqq/xZEknubuyQMjq6Lfi5b7RtK6SoNK6m40lebGp3yiMagWtIoYaw2s9sISD7wPuCfwFpivVHX/35RA== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash.set "^4.3.2" - propagate "^2.0.0" - -node-fetch@^2.6.0: - version "2.6.6" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz" - integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA== - dependencies: - whatwg-url "^5.0.0" - -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-api@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/npm-api/-/npm-api-1.0.1.tgz" - integrity sha512-4sITrrzEbPcr0aNV28QyOmgn6C9yKiF8k92jn4buYAK8wmA5xo1qL3II5/gT1r7wxbXBflSduZ2K3FbtOrtGkA== - dependencies: - JSONStream "^1.3.5" - clone-deep "^4.0.1" - download-stats "^0.3.4" - moment "^2.24.0" - node-fetch "^2.6.0" - paged-request "^2.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nps-utils@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/nps-utils/-/nps-utils-1.7.0.tgz" - integrity sha512-wq/gUxTR3sgLYTLHlUKwMG2paUV3QdfwMj5aifWpQ60Vv9RQzA6pXDkwrAlMA8SNqoz8FwaGPc1X/7I+qjuYwg== - dependencies: - any-shell-escape "^0.1.1" - common-tags "^1.4.0" - concurrently "^3.4.0" - cpy-cli "^1.0.1" - cross-env "^3.1.4" - is-windows "^1.0.0" - mkdirp "^0.5.1" - ncp "2.0.0" - opn-cli "^3.1.0" - rimraf "^2.6.1" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-treeify@^1.1.4: - version "1.1.33" - resolved "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz" - integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -oclif@^2.0.0-main.10: - version "2.0.1" - resolved "https://registry.npmjs.org/oclif/-/oclif-2.0.1.tgz" - integrity sha512-9CzlF5VB7s3dTClBS/QaI2YD1/r/gYhmtQ2qbhhsAShpxbyItRtv46DlqCwCfx/5+amDVNfsRpslFFkWmfKz0g== - dependencies: - "@oclif/core" "1.0.10" - "@oclif/fixpack" "^2.3.0" - "@oclif/plugin-help" "5.1.9" - "@oclif/plugin-not-found" "^2.2.2" - "@oclif/plugin-warn-if-update-available" "^2.0.2" - cli-ux "6.0.6" - debug "^4.1.1" - find-yarn-workspace-root "^2.0.0" - fs-extra "^8.1" - github-slugger "^1.2.1" - lodash "^4.17.11" - normalize-package-data "^3.0.0" - nps-utils "^1.7.0" - qqjs "^0.3.10" - semver "^7.3.5" - sort-pjson "^1.0.3" - tslib "^2.0.0" - yeoman-environment "^2.3.4" - yeoman-generator "3" - yosay "^2.0.2" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -opn-cli@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/opn-cli/-/opn-cli-3.1.0.tgz" - integrity sha1-+BmubK4LQRvQFJuFYP5siK2tIPg= - dependencies: - file-type "^3.6.0" - get-stdin "^5.0.1" - meow "^3.7.0" - opn "^4.0.0" - temp-write "^2.1.0" - -opn@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz" - integrity sha1-erwi5kTf9jsKltWrfyeQwPAavJU= - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz" - integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - 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== - dependencies: - p-limit "^3.0.2" - -p-timeout@^1.1.1: - version "1.2.1" - resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz" - integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= - dependencies: - p-finally "^1.0.0" - -p-try@^2.0.0, p-try@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pad-component@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/pad-component/-/pad-component-0.0.1.tgz" - integrity sha1-rR8izhvw/cDW3dkIrxfzUaQEuKw= - -paged-request@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/paged-request/-/paged-request-2.0.2.tgz" - integrity sha512-NWrGqneZImDdcMU/7vMcAOo1bIi5h/pmpJqe7/jdsy85BA/s5MSaU/KlpxwW/IVPmIwBcq2uKPrBWWhEWhtxag== - dependencies: - axios "^0.21.1" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -password-prompt@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz" - integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA== - dependencies: - ansi-escapes "^3.1.0" - cross-spawn "^6.0.5" - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -pretty-bytes@^5.1.0, pretty-bytes@^5.2.0: - version "5.6.0" - resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qqjs@^0.3.10: - version "0.3.11" - resolved "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz" - integrity sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg== - dependencies: - chalk "^2.4.1" - debug "^4.1.1" - execa "^0.10.0" - fs-extra "^6.0.1" - get-stream "^5.1.0" - glob "^7.1.2" - globby "^10.0.1" - http-call "^5.1.2" - load-json-file "^6.2.0" - pkg-dir "^4.2.0" - tar-fs "^2.0.0" - tmp "^0.1.0" - write-json-file "^4.1.1" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -ramda@^0.27.1: - version "0.27.1" - resolved "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz" - integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-chunk@^3.0.0, read-chunk@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz" - integrity sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ== - dependencies: - pify "^4.0.1" - with-open-file "^0.1.6" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-5.0.0.tgz" - integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== - dependencies: - find-up "^3.0.0" - read-pkg "^5.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.0.0, read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.0.2, readable-stream@^2.1.4, readable-stream@^2.3.5, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -redeyed@~2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz" - integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= - dependencies: - esprima "~4.0.0" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp-tree@^0.1.23, regexp-tree@~0.1.1: - version "0.1.24" - resolved "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz" - integrity sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw== - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - 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== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1: - version "1.20.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^2.2.8, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-async@^2.0.0, run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rx@2.3.24: - version "2.3.24" - resolved "https://registry.npmjs.org/rx/-/rx-2.3.24.tgz" - integrity sha1-FPlQpCF9fjXapxu8vljv9o6ksrc= - -rxjs@^6.6.0: - version "6.6.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -safe-regex@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz" - integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== - dependencies: - regexp-tree "~0.1.1" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -scoped-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz" - integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -set-getter@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz" - integrity sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw== - dependencies: - to-object-path "^0.3.0" - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shelljs@^0.8.0, shelljs@^0.8.4: - version "0.8.4" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shx@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.3.tgz#681a88c7c10db15abe18525349ed474f0f1e7b9f" - integrity sha512-nZJ3HFWVoTSyyB+evEKjJ1STiixGztlqwKLTUNV5KqMWtGey9fTd4KU1gdZ1X9BV6215pswQ/Jew9NsuS/fNDA== - dependencies: - minimist "^1.2.3" - shelljs "^0.8.4" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.6" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sort-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" - integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== - dependencies: - is-plain-obj "^2.0.0" - -sort-pjson@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/sort-pjson/-/sort-pjson-1.0.3.tgz" - integrity sha512-h/xRX+8zuV9tbnbkRwmdNNyyJbjzVTh8YFpMgEgGU2umFDFg2EDfWKtA5YOfnBwT4YoZfJf6hrc0yuXLUvUDFA== - dependencies: - "@oclif/fixpack" "^2.3.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -spawn-command@^0.0.2-1: - version "0.0.2-1" - resolved "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz" - integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stdout-stderr@^0.1.9: - version "0.1.13" - resolved "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz" - integrity sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA== - dependencies: - debug "^4.1.1" - strip-ansi "^6.0.0" - -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz" - integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom-buf@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz" - integrity sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI= - dependencies: - is-utf8 "^0.2.1" - -strip-bom-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz" - integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= - dependencies: - first-chunk-stream "^2.0.0" - strip-bom "^2.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -supports-color@8.1.1, supports-color@^8.1.0, supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz" - integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= - dependencies: - has-flag "^1.0.0" - -supports-color@^5.3.0, supports-color@^5.4.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -table@^6.0.9: - version "6.7.5" - resolved "https://registry.npmjs.org/table/-/table-6.7.5.tgz" - integrity sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -taketalk@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/taketalk/-/taketalk-1.0.0.tgz" - integrity sha1-tNTw3u0gauffd1sSnqLKbeUvJt0= - dependencies: - get-stdin "^4.0.1" - minimist "^1.1.0" - -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -temp-write@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/temp-write/-/temp-write-2.1.0.tgz" - integrity sha1-WYkJGODvCdVIqqNC9L00CdhATpY= - dependencies: - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - os-tmpdir "^1.0.0" - pify "^2.2.0" - pinkie-promise "^2.0.0" - uuid "^2.0.1" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -textextensions@^2.5.0: - version "2.6.0" - resolved "https://registry.npmjs.org/textextensions/-/textextensions-2.6.0.tgz" - integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through2@^3.0.0, through2@^3.0.1, through2@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" - -"through@>=2.2.7 <3", through@^2.3.6: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmp@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== - dependencies: - rimraf "^2.6.3" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - 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== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -tree-kill@^1.1.0: - version "1.2.2" - resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -ts-node@^10.2.1: - version "10.4.0" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz" - integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== - dependencies: - "@cspotcode/source-map-support" "0.7.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - yn "3.1.1" - -tslib@^1, tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2, tslib@^2.0.0, tslib@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: - 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== - -type-fest@^0.20.2: - 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== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.3.0: - version "0.3.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz" - integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.4.3: - version "4.5.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.3.tgz" - integrity sha512-eVYaEHALSt+s9LbvgEv4Ef+Tdq7hBiIZgii12xXJnukryt3pMgJf6aKhoCZ3FWQsu6sydEnkg11fYXLzhLBjeQ== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -untildify@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz" - integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA== - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz" - integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz" - integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vinyl-file@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz" - integrity sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U= - dependencies: - graceful-fs "^4.1.2" - pify "^2.3.0" - strip-bom-buf "^1.0.0" - strip-bom-stream "^2.0.0" - vinyl "^2.0.1" - -vinyl@^2.0.1, vinyl@^2.2.0, vinyl@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz" - integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which@2.0.2, which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -with-open-file@^0.1.6: - version "0.1.7" - resolved "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz" - integrity sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA== - dependencies: - p-finally "^1.0.0" - p-try "^2.1.0" - pify "^4.0.1" - -word-wrap@^1.2.3: - 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== - -workerpool@6.1.5: - version "6.1.5" - resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz" - integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw== - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write-json-file@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz" - integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== - dependencies: - detect-indent "^6.0.0" - graceful-fs "^4.1.15" - is-plain-obj "^2.0.0" - make-dir "^3.0.0" - sort-keys "^4.0.0" - write-file-atomic "^3.0.0" - -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - 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" - -yarn@^1.21.1: - version "1.22.17" - resolved "https://registry.npmjs.org/yarn/-/yarn-1.22.17.tgz" - integrity sha512-H0p241BXaH0UN9IeH//RT82tl5PfNraVpSpEoW+ET7lmopNC61eZ+A+IDvU8FM6Go5vx162SncDL8J1ZjRBriQ== - -yeoman-environment@^2.0.5, yeoman-environment@^2.3.4, yeoman-environment@^2.9.5: - version "2.10.3" - resolved "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.10.3.tgz" - integrity sha512-pLIhhU9z/G+kjOXmJ2bPFm3nejfbH+f1fjYRSOteEXDBrv1EoJE/e+kuHixSXfCYfTkxjYsvRaDX+1QykLCnpQ== - dependencies: - chalk "^2.4.1" - debug "^3.1.0" - diff "^3.5.0" - escape-string-regexp "^1.0.2" - execa "^4.0.0" - globby "^8.0.1" - grouped-queue "^1.1.0" - inquirer "^7.1.0" - is-scoped "^1.0.0" - lodash "^4.17.10" - log-symbols "^2.2.0" - mem-fs "^1.1.0" - mem-fs-editor "^6.0.0" - npm-api "^1.0.0" - semver "^7.1.3" - strip-ansi "^4.0.0" - text-table "^0.2.0" - untildify "^3.0.3" - yeoman-generator "^4.8.2" - -yeoman-generator@3: - version "3.2.0" - resolved "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-3.2.0.tgz" - integrity sha512-iR/qb2je3GdXtSfxgvOXxUW0Cp8+C6LaZaNlK2BAICzFNzwHtM10t/QBwz5Ea9nk6xVDQNj4Q889TjCXGuIv8w== - dependencies: - async "^2.6.0" - chalk "^2.3.0" - cli-table "^0.3.1" - cross-spawn "^6.0.5" - dargs "^6.0.0" - dateformat "^3.0.3" - debug "^4.1.0" - detect-conflict "^1.0.0" - error "^7.0.2" - find-up "^3.0.0" - github-username "^4.0.0" - istextorbinary "^2.2.1" - lodash "^4.17.10" - make-dir "^1.1.0" - mem-fs-editor "^5.0.0" - minimist "^1.2.0" - pretty-bytes "^5.1.0" - read-chunk "^3.0.0" - read-pkg-up "^4.0.0" - rimraf "^2.6.2" - run-async "^2.0.0" - shelljs "^0.8.0" - text-table "^0.2.0" - through2 "^3.0.0" - yeoman-environment "^2.0.5" - -yeoman-generator@^4.8.2: - version "4.13.0" - resolved "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-4.13.0.tgz" - integrity sha512-f2/5N5IR3M2Ozm+QocvZQudlQITv2DwI6Mcxfy7R7gTTzaKgvUpgo/pQMJ+WQKm0KN0YMWCFOZpj0xFGxevc1w== - dependencies: - async "^2.6.2" - chalk "^2.4.2" - cli-table "^0.3.1" - cross-spawn "^6.0.5" - dargs "^6.1.0" - dateformat "^3.0.3" - debug "^4.1.1" - diff "^4.0.1" - error "^7.0.2" - find-up "^3.0.0" - github-username "^3.0.0" - istextorbinary "^2.5.1" - lodash "^4.17.11" - make-dir "^3.0.0" - mem-fs-editor "^7.0.1" - minimist "^1.2.5" - pretty-bytes "^5.2.0" - read-chunk "^3.2.0" - read-pkg-up "^5.0.0" - rimraf "^2.6.3" - run-async "^2.0.0" - semver "^7.2.1" - shelljs "^0.8.4" - text-table "^0.2.0" - through2 "^3.0.1" - optionalDependencies: - grouped-queue "^1.1.0" - yeoman-environment "^2.9.5" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yosay@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/yosay/-/yosay-2.0.2.tgz" - integrity sha512-avX6nz2esp7IMXGag4gu6OyQBsMh/SEn+ZybGu3yKPlOTE6z9qJrzG/0X5vCq/e0rPFy0CUYCze0G5hL310ibA== - dependencies: - ansi-regex "^2.0.0" - ansi-styles "^3.0.0" - chalk "^1.0.0" - cli-boxes "^1.0.0" - pad-component "0.0.1" - string-width "^2.0.0" - strip-ansi "^3.0.0" - taketalk "^1.0.0" - wrap-ansi "^2.0.0" diff --git a/packages/frontier-core/lib-builder/README.md b/packages/frontier-core/lib-builder/README.md deleted file mode 100644 index a2eb7d43..00000000 --- a/packages/frontier-core/lib-builder/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# Frontier Package Builder - -Builds TypeScript packages into module and dist/bundle output with accompanying -types, while also ensuring that code will run in both browser and node contexts -while being fully tree-shakeable for webpack/parcel/etc builders to minimize -client-side bundle size. - - -## How it Works - -This package works by combining TypeScript, Babel, and Webpack to generate the -appropriate build artifacts. It uses TypeScript only to strip types and emit -.d.ts files, leaving the actual JS transpilation to Babel in order to be able to -share @babel/runtime with community packages (instead of getting tied to -ts.lib). Webpack is left to do the bundling for the dist output. - -## Install - -``` -yarn add -D @rdfrontier/lib-builder -``` - -## CLI Usage - -The base command is simply: - -``` -build-package -``` - - diff --git a/packages/frontier-core/lib-builder/index.js b/packages/frontier-core/lib-builder/index.js deleted file mode 100755 index 39717e48..00000000 --- a/packages/frontier-core/lib-builder/index.js +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env node - -const { cwd } = require('process'); -const commandLineArgs = require('command-line-args'); -const { buildOnce } = require('./utils/buildOnce'); -const { buildWatch } = require('./utils/buildWatch'); -const { showUsageGuide } = require('./utils/showUsageGuide'); - -const argDefinitions = [ - { - name: 'pkgDir', - alias: 'p', - type: String, - defaultOption: true, - defaultValue: cwd(), - }, - { name: 'notify', alias: 'n', type: Boolean }, - { name: 'tscOnly', alias: 't', type: Boolean }, - { name: 'watch', alias: 'w', type: Boolean }, - { name: 'serverOnly', alias: 'S', type: Boolean }, - { name: 'webpackOnly', alias: 'W', type: Boolean }, - { name: 'help', alias: 'h', type: Boolean }, -]; - -function run({ help, notify, pkgDir, serverOnly, watch, webpackOnly, tscOnly }) { - if (help) { - return showUsageGuide(); - } - - const pkgName = pkgDir.split('/').pop(); - const buildOpts = { notify, pkgDir, pkgName, serverOnly, webpackOnly, tscOnly }; - - // if not watching, build once and exit - if (!watch) { - return buildOnce(buildOpts); - } - - // start a persistent watch rebuilder - buildWatch(buildOpts); -} - -if (!module.parent) { - run(commandLineArgs(argDefinitions)); -} - -module.exports = run; diff --git a/packages/frontier-core/lib-builder/package.json b/packages/frontier-core/lib-builder/package.json deleted file mode 100644 index aa66c37b..00000000 --- a/packages/frontier-core/lib-builder/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "@rdfrontier/lib-builder", - "version": "1.0.0", - "description": "Builds TS packages into tree-shaking compatible npm modules", - "license": "UNLICENSED", - "author": "Gareth Thomas ", - "homepage": "", - "main": "index.js", - "bin": { - "build-package": "./index.js" - }, - "scripts": { - "fix": "run-s lint:es:fix lint:md:fix", - "lint": "run-s lint:es lint:md", - "lint:es": "cross-env LOCAL_TS=1 eslint --ignore-path ../../../.eslintignore \"**/*\"", - "lint:es:ci": "yarn lint:es --format ", - "lint:es:fix": "yarn lint:es --fix", - "lint:md": "yarn prettier \"**/*.md\" --check", - "lint:md:fix": "yarn prettier \"**/*.md\" --write" - }, - "dependencies": { - "chokidar": "^3.5.2", - "command-line-args": "^5.2.0", - "command-line-usage": "^6.1.1", - "cross-spawn": "^7.0.3", - "fs-extra": "^10.0.0", - "globby": "^11.0.4", - "node-notifier": "^10.0.0", - "rimraf": "^3.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "babel-loader": "^8.2.2", - "typescript": "^4.0.0", - "webpack": "^4.0.0", - "webpack-node-externals": "^3.0.0" - } -} diff --git a/packages/frontier-core/lib-builder/utils/BuildTimer.js b/packages/frontier-core/lib-builder/utils/BuildTimer.js deleted file mode 100644 index 5f9a00d3..00000000 --- a/packages/frontier-core/lib-builder/utils/BuildTimer.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Timer for getting long-pole time from concurrent babel and webpack builds - */ -function BuildTimer({ onTimerFinish }) { - let startTime = Date.now(); - let babelDone; - let webpackDone; - - function reset() { - babelDone = false; - webpackDone = false; - } - - function finish() { - if (babelDone && webpackDone) { - if (onTimerFinish) { - onTimerFinish({ durationSec: (Date.now() - startTime) / 1000 }); - } - - reset(); - } - } - - return { - restart() { - reset(); - startTime = Date.now(); - }, - end() { - babelDone = true; - webpackDone = true; - finish(); - }, - endBabel() { - babelDone = true; - finish(); - }, - endWebpack() { - webpackDone = true; - finish(); - }, - }; -} - -module.exports = { BuildTimer }; diff --git a/packages/frontier-core/lib-builder/utils/babel.js b/packages/frontier-core/lib-builder/utils/babel.js deleted file mode 100644 index afe4dc4c..00000000 --- a/packages/frontier-core/lib-builder/utils/babel.js +++ /dev/null @@ -1,62 +0,0 @@ -const { join, resolve } = require('path'); -const { transformFileAsync } = require('@babel/core'); -const chokidar = require('chokidar'); -const { outputFile } = require('fs-extra'); -const globby = require('globby'); -const { - BABEL_MODULE_ENV, - ESNEXT_TEMP_DIR, - MODULE_DIR, -} = require('./constants'); - -function getSrcAndDestDirs({ pkgDir }) { - return { - destDir: resolve(pkgDir, MODULE_DIR), - srcDir: resolve(pkgDir, ESNEXT_TEMP_DIR), - }; -} - -/** - * Transpiles file for ES5+ESM module output via babel - */ -function babelFileAsync({ cwd, dest, src }) { - return transformFileAsync(src, { cwd, envName: BABEL_MODULE_ENV }).then( - ({ code }) => { - return outputFile(dest, code); - }, - ); -} - -/** - * Transpiles directory for ES5+ESM module output via babel - */ -function babelAsync({ pkgDir }) { - const { destDir, srcDir } = getSrcAndDestDirs({ pkgDir }); - return globby('**/*.js?(x)', { - cwd: srcDir, - }).then((files) => { - return Promise.all( - files.map((file) => { - const src = join(srcDir, file); - const dest = join(destDir, file.replace(/\.jsx$/, '.js')); - return babelFileAsync({ src, dest, cwd: pkgDir }); - }), - ); - }); -} - -/** - * Runs a babel build then starts a chokidar-based watcher for future changes - */ -function babelWatch({ onBuild, pkgDir }) { - const { destDir, srcDir } = getSrcAndDestDirs({ pkgDir }); - return babelAsync({ pkgDir }).then(() => { - onBuild(); - chokidar.watch(srcDir).on('change', (src) => { - const dest = src.replace(srcDir, destDir).replace(/\.jsx$/, '.js'); - babelFileAsync({ src, dest, cwd: pkgDir }).then(onBuild); - }); - }); -} - -module.exports = { babelAsync, babelWatch }; diff --git a/packages/frontier-core/lib-builder/utils/buildOnce.js b/packages/frontier-core/lib-builder/utils/buildOnce.js deleted file mode 100644 index 221c9eb3..00000000 --- a/packages/frontier-core/lib-builder/utils/buildOnce.js +++ /dev/null @@ -1,42 +0,0 @@ -const { BuildTimer } = require('./BuildTimer'); -const { babelAsync } = require('./babel'); -const { cleanupArtifactsAsync } = require('./cleanup'); -const { notifyBuildComplete } = require('./notify'); -const { tscAsync } = require('./typescript'); -const { webpackAsync } = require('./webpack'); - -/** - * Builds types, module and bundle output, and cleans up artifacts in a single pass - */ -function buildOnce({ notify, pkgDir, pkgName, serverOnly, webpackOnly, tscOnly }) { - console.log(`Building ${pkgName} package...\n`); - - function onTimerFinish({ durationSec }) { - console.log(`Build time: ${durationSec}s`); - if (notify) { - notifyBuildComplete({ durationSec, pkgName }); - } - } - const timer = new BuildTimer({ onTimerFinish }); - - const buildAsync = webpackOnly - ? webpackAsync({ pkgDir }) - : tscAsync(pkgDir) - .then(() => { - if (!tscOnly) { - Promise.all([ - webpackAsync({ pkgDir }), - serverOnly ? undefined : babelAsync({ pkgDir }), - ]) - } - }) - .then(() => cleanupArtifactsAsync({ pkgDir })); - - return buildAsync.then(timer.end).catch((e) => { - console.log(`Build failed (${e})`); - // exit with error code - process.exit(1); - }); -} - -module.exports = { buildOnce }; diff --git a/packages/frontier-core/lib-builder/utils/buildWatch.js b/packages/frontier-core/lib-builder/utils/buildWatch.js deleted file mode 100644 index eafef41f..00000000 --- a/packages/frontier-core/lib-builder/utils/buildWatch.js +++ /dev/null @@ -1,56 +0,0 @@ -/* eslint-disable no-inner-declarations */ -const { BuildTimer } = require('./BuildTimer'); -const { babelWatch } = require('./babel'); -const { cleanupArtifacts } = require('./cleanup'); -const { notifyBuildComplete } = require('./notify'); -const { tscWatch } = require('./typescript'); -const { webpackWatch } = require('./webpack'); - -/** - * Builds types and module and bundle output with incremental watching rebuild - * functionality. Cleans up build artifacts on exit. - */ -function buildWatch({ notify, pkgDir, pkgName, serverOnly, webpackOnly }) { - console.clear(); - console.log(`Building ${pkgName} package in watch mode...`); - - if (webpackOnly) { - function onBuild() { - console.log(`Webpack rebuild complete`); - } - - webpackWatch({ pkgDir, onBuild }); - } else { - function onTimerFinish({ durationSec }) { - console.log(`Build time: ${durationSec}s`); - if (notify) { - notifyBuildComplete({ durationSec, pkgName }); - } - } - const timer = new BuildTimer({ onTimerFinish }); - - function onFirstSuccess() { - if (!serverOnly) { - babelWatch({ pkgDir, onBuild: timer.endBabel }); - } - webpackWatch({ pkgDir, onBuild: timer.endWebpack }); - } - - function onChangeDetected() { - console.clear(); - console.log(`Rebuilding ${pkgName} package...`); - timer.restart(); - } - - tscWatch({ pkgDir, onFirstSuccess, onChangeDetected }); - - // on control-C, clean up and then exit - process.on('SIGINT', () => { - cleanupArtifacts({ pkgDir }); - process.exit(); - }); - process.on('exit', () => cleanupArtifacts({ pkgDir })); - } -} - -module.exports = { buildWatch }; diff --git a/packages/frontier-core/lib-builder/utils/cleanup.js b/packages/frontier-core/lib-builder/utils/cleanup.js deleted file mode 100644 index 5af1de7f..00000000 --- a/packages/frontier-core/lib-builder/utils/cleanup.js +++ /dev/null @@ -1,28 +0,0 @@ -const { resolve } = require('path'); -const { promisify } = require('util'); -const rimraf = require('rimraf'); -const { ESNEXT_TEMP_DIR } = require('./constants'); - -const rimrafAsync = promisify(rimraf); - -function getArtifacts({ pkgDir }) { - return [resolve(pkgDir, ESNEXT_TEMP_DIR)]; -} - -/** - * Cleans up any intermediate transpilation artifacts - */ -function cleanupArtifacts({ pkgDir }) { - getArtifacts({ pkgDir }).forEach((artifact) => rimraf.sync(artifact)); -} - -/** - * Cleans up any intermediate transpilation artifacts (Promise-based async) - */ -function cleanupArtifactsAsync({ pkgDir }) { - return Promise.all( - getArtifacts({ pkgDir }).map((artifact) => rimrafAsync(artifact)), - ); -} - -module.exports = { cleanupArtifacts, cleanupArtifactsAsync }; diff --git a/packages/frontier-core/lib-builder/utils/constants.js b/packages/frontier-core/lib-builder/utils/constants.js deleted file mode 100644 index 00f8adc8..00000000 --- a/packages/frontier-core/lib-builder/utils/constants.js +++ /dev/null @@ -1,7 +0,0 @@ -// if at some point this package becomes more flexible w/r/t config, these could -// become defaults instead of the only possible values -module.exports = { - BABEL_MODULE_ENV: 'module', - ESNEXT_TEMP_DIR: 'esnext', - MODULE_DIR: 'module', -}; diff --git a/packages/frontier-core/lib-builder/utils/notify.js b/packages/frontier-core/lib-builder/utils/notify.js deleted file mode 100644 index 0ff1aee0..00000000 --- a/packages/frontier-core/lib-builder/utils/notify.js +++ /dev/null @@ -1,10 +0,0 @@ -const notifier = require('node-notifier'); - -function notifyBuildComplete({ durationSec, pkgName }) { - notifier.notify({ - title: `${pkgName} package`, - message: `Rebuild complete (${durationSec}s)`, - }); -} - -module.exports = { notifyBuildComplete }; diff --git a/packages/frontier-core/lib-builder/utils/showUsageGuide.js b/packages/frontier-core/lib-builder/utils/showUsageGuide.js deleted file mode 100644 index 5adc8bc5..00000000 --- a/packages/frontier-core/lib-builder/utils/showUsageGuide.js +++ /dev/null @@ -1,76 +0,0 @@ -const commandLineUsage = require('command-line-usage'); - -const sections = [ - { - header: 'frontier Package Builder', - content: - 'Builds typescript packages into module and dist/bundle outputs with accompanying types.', - }, - { - header: 'Options', - optionList: [ - { - name: 'pkgDir', - alias: 'p', - description: - 'Root directory of target package (default option, explicit flag not required)', - type: String, - typeLabel: '{underline directory}', - defaultOption: true, - }, - { - name: 'watch', - alias: 'w', - description: 'Build in watch mode', - type: Boolean, - }, - { - name: 'notify', - alias: 'n', - description: 'Display OS notification once build complete', - type: Boolean, - }, - { - name: 'serverOnly', - alias: 'S', - description: 'Build in server-only mode', - type: Boolean, - }, - { - name: 'webpackOnly', - alias: 'W', - description: 'Build in webpack-only mode', - type: Boolean, - }, - { - name: 'help', - description: 'Show the usage guide', - alias: 'h', - type: Boolean, - }, - ], - }, - { - header: 'Examples', - content: [ - { - desc: '1. Basic usage', - example: '$ build-package', - }, - { - desc: '2. Build and watch current package', - example: '$ build-package --watch', - }, - { - desc: '3. Build from outside package', - example: '$ build-package packages/foo', - }, - ], - }, -]; - -function showUsageGuide() { - console.log(commandLineUsage(sections)); -} - -module.exports = { showUsageGuide }; diff --git a/packages/frontier-core/lib-builder/utils/typescript.js b/packages/frontier-core/lib-builder/utils/typescript.js deleted file mode 100644 index 5bbbed40..00000000 --- a/packages/frontier-core/lib-builder/utils/typescript.js +++ /dev/null @@ -1,71 +0,0 @@ -const { spawn } = require('cross-spawn'); - -// reg exps for managing tsc output -const tsErrorRegExp = /error TS/; -const errorCountRegExp = /(?<=Found )\d+(?= error)/; - -/** - * Build types output and esnext intermediate artifact (used for subsequent steps) with tsc - */ -function tscAsync({ pkgDir }) { - return new Promise((resolve, reject) => { - const tsc = spawn('tsc', ['-p', 'tsconfig.build.json'], { cwd: pkgDir }); - tsc.stdout.on('data', (data) => { - const log = data.toString(); - // only relay tsc error messages to stdout - if (tsErrorRegExp.test(log)) { - console.log(log); - } - }); - - tsc.on('close', (code) => { - if (code === 0) { - resolve(); - } else { - reject( - 'tsc error: run `tsc -p tsconfig.build.json --noEmit` for verbose errors', - ); - } - }); - }); -} - -/** - * Build types output and esnext intermediate artifact (used for subsequent steps) with tsc in watch mode - */ -function tscWatch({ onChangeDetected, onFirstSuccess, pkgDir }) { - const tscWatcher = spawn('tsc', ['-w', '-p', 'tsconfig.build.json'], { - cwd: pkgDir, - }); - let firstSuccess = false; - - tscWatcher.stdout.on('data', (data) => { - const log = data.toString(); - - if (errorCountRegExp.test(log)) { - const errorCount = log.match(errorCountRegExp)[0]; - - if (errorCount === '0') { - if (!firstSuccess) { - firstSuccess = true; - onFirstSuccess(); - } - return; - } - - console.log(`Found ${errorCount} TS errors`); - return; - } - - if (log.includes('File change detected')) { - onChangeDetected(); - return; - } - - if (tsErrorRegExp.test(log)) { - console.log(log); - } - }); -} - -module.exports = { tscAsync, tscWatch }; diff --git a/packages/frontier-core/lib-builder/utils/webpack.js b/packages/frontier-core/lib-builder/utils/webpack.js deleted file mode 100644 index 94160d4f..00000000 --- a/packages/frontier-core/lib-builder/utils/webpack.js +++ /dev/null @@ -1,54 +0,0 @@ -const { resolve } = require('path'); -const { promisify } = require('util'); -const webpack = require('webpack'); - -function getWebpackCompiler({ pkgDir }) { - const webpackConfig = require(resolve(pkgDir, 'webpack.config.js')); - return webpack(webpackConfig()); -} - -/** - * Build ES5 bundle output with webpack (requires output of buildTypes) - */ -function webpackAsync({ pkgDir }) { - const webpackCompiler = getWebpackCompiler({ pkgDir }); - return promisify(webpackCompiler.run.bind(webpackCompiler))().then( - (stats) => { - if (!stats.hasErrors()) { - return; - } - - stats - .toJson('errors-only') - .errors.forEach((error) => console.error(error)); - throw new Error('webpack build error'); - }, - ); -} - -/** - * Webpack compiler runs a build and then watches for incremental changes - */ -function webpackWatch({ onBuild, pkgDir }) { - const webpackCompiler = getWebpackCompiler({ pkgDir }); - webpackCompiler.watch({}, (err, stats) => { - if (!err && !stats.hasErrors()) { - onBuild(); - return; - } - - console.error('Webpack build error'); - - if (err) { - console.error(err); - } - - if (stats.hasErrors()) { - stats - .toJson('errors-only') - .errors.forEach((error) => console.error(error)); - } - }); -} - -module.exports = { webpackAsync, webpackWatch }; diff --git a/packages/frontier-libraries/stdlib/README.md b/packages/frontier-libraries/stdlib/README.md deleted file mode 100644 index f7b7724c..00000000 --- a/packages/frontier-libraries/stdlib/README.md +++ /dev/null @@ -1,79 +0,0 @@ - -
-
- - rd logo - -
-
- -# Frontier Standard Library - -### @rdfrontier/stdlib -A collection of functions/logic that are written in pure TypeScript with limited dependencies. These functions expose generic concepts available for use throughout different projects. - -  -  -  - -## Table of Contents - -* [Installation](#install) -* [Usage](#usage) -* [Options](#options) - - -  -  -  -  - -## Installation - -```sh -$ yarn add --save--dev @rdfrontier/stdlib -``` -or - -```sh -$ npm install --save--dev @rdfrontier/stdlib -``` -  -  - -## Usage - -```sh -Eg: import { log } from '@rdfrontier/stdlib'; -``` - - -  -  - -## Options - -| Name | Description | -| --- | ------------- | -| **Type Guards** | | -| isBoolean(value: unknown) | Cheacks if value is a boolean. | -| isNumber(value: unknown) | Cheacks if value is a number. | -| isString(value: unknown) | Cheacks if value is a string. | -| isNumberArray(value: unknown) | Cheacks if value is a number array. | -| isStringArray(value: unknown) | Cheacks if value is a string array. | -| toStringArray(value: unknown[]) | Converts an array to a string array. | -| isJsonString(value: string) | Cheacks if a string value is a JSON string | -| **__Case Conversions__** | | -| toKebabCase(value: string) | Converts a string to a kebab case string. | -| toPascalCase(value: string) | Converts an string to a pascal case string. | -| **Email Validation** | | -| isValidEmail(email: string) | Checks if a string is a valid email address. | -| **Color Validation** | | -| isValidHex(text: string) | Checks if a string is a valid hex color. | -| **Standard Output** | | -| log(message: any = '', ...args: any) | Prints a message to the console. | -| **Object Setting** | | -| makeObjectReadOnly< T >(obj: T) | Make an object readonly. | - -  -  diff --git a/packages/frontier-libraries/stdlib/babel.config.js b/packages/frontier-libraries/stdlib/babel.config.js deleted file mode 100644 index 877711d0..00000000 --- a/packages/frontier-libraries/stdlib/babel.config.js +++ /dev/null @@ -1,14 +0,0 @@ -const configurator = require('../../../babel.root'); - -module.exports = (api) => { - api.cache.using(() => process.env.NODE_ENV); - - const envConfig = { - modules: !api.env('module') && 'auto', - }; - - return configurator({ - envConfig, - isTest: api.env('test'), - }); -}; diff --git a/packages/frontier-libraries/stdlib/jest.config.js b/packages/frontier-libraries/stdlib/jest.config.js deleted file mode 100644 index 9863fb7c..00000000 --- a/packages/frontier-libraries/stdlib/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const configurator = require('../../../jest.root'); - -module.exports = configurator({ - setupFiles: ['./setupTests.ts'], -}); diff --git a/packages/frontier-libraries/stdlib/package.json b/packages/frontier-libraries/stdlib/package.json deleted file mode 100644 index c360e050..00000000 --- a/packages/frontier-libraries/stdlib/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@rdfrontier/stdlib", - "version": "0.0.2", - "description": "stdlib functionality", - "license": "UNLICENSED", - "author": "Realdecoy", - "homepage": "", - "main": "dist/index.js", - "module": "module/index.js", - "files": [ - "dist/", - "module/", - "types/" - ], - "scripts": { - "build": "build-package --tscOnly", - "build:watch": "build-package --watch", - "clean": "rimraf dist esnext module types", - "fix": "run-s lint:es:fix lint:md:fix", - "lint": "run-s lint:es lint:md", - "lint:es": "cross-env LOCAL_TS=1 eslint --ignore-path ../../../.eslintignore \"**/*\"", - "lint:es:ci": "yarn lint:es --format ", - "lint:es:fix": "yarn lint:es --fix", - "lint:md": "yarn prettier \"**/*.md\" --check", - "lint:md:fix": "yarn prettier \"**/*.md\" --write", - "rebuild": "run-s clean build", - "test": "jest", - "test:ci": "jest --ci --coverage", - "test:coverage": "run-s test:ci test:coverage:open", - "test:coverage:open": "open ./test-results/index.html", - "test:watch": "jest --watch", - "typecheck": "tsc --noEmit" - }, - "sideEffects": false, - "types": "types/index.d.ts", - "dependencies": { - "@babel/runtime": "^7.15.0", - "type-fest": "^2.3.4" - }, - "devDependencies": { - "@rdfrontier/lib-builder": "^1.0.0", - "babel-loader": "^8.2.5", - "webpack": "^5.73.0", - "webpack-cli": "^4.10.0" - }, - "browserslist": [ - "chrome 38", - "ios >= 9" - ] -} diff --git a/packages/frontier-libraries/stdlib/setupTests.ts b/packages/frontier-libraries/stdlib/setupTests.ts deleted file mode 100644 index ed220222..00000000 --- a/packages/frontier-libraries/stdlib/setupTests.ts +++ /dev/null @@ -1,7 +0,0 @@ -import 'core-js/stable'; -import 'regenerator-runtime/runtime'; -import type { GlobalWithFetchMock } from 'jest-fetch-mock'; - -const customGlobal: GlobalWithFetchMock = global as unknown as GlobalWithFetchMock; -customGlobal.fetch = require('jest-fetch-mock'); -customGlobal.fetchMock = customGlobal.fetch; diff --git a/packages/frontier-libraries/stdlib/src/caseConversions/case.spec.ts b/packages/frontier-libraries/stdlib/src/caseConversions/case.spec.ts deleted file mode 100644 index dddc1cab..00000000 --- a/packages/frontier-libraries/stdlib/src/caseConversions/case.spec.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { toKebabCase, toPascalCase } from "."; - -const pascalword1 = "testPascalCase" -const pascalword2 = "newPascalWord" -const kebabword1 = "test-kebab-Case" -const kebabword2 = "new-kebab-Word" - - -describe(toKebabCase, () => { - it ("testing kebab case #1", () => { - expect(toKebabCase(pascalword1)).toEqual("test-pascal-case") - }); - - it ("testing kebab case #2", () => { - expect(toKebabCase(pascalword2)).toEqual("new-pascal-word") - }); -}); - -describe(toPascalCase, () => { - it ("testing pascalcase #1", () => { - expect(toPascalCase(kebabword1)).toEqual("TestKebabCase") - }); - - it ("testing pascalcase #2", () => { - expect(toPascalCase(kebabword2)).toEqual("NewKebabWord") - }); - }); \ No newline at end of file diff --git a/packages/frontier-libraries/stdlib/src/caseConversions/index.ts b/packages/frontier-libraries/stdlib/src/caseConversions/index.ts deleted file mode 100644 index 7d690427..00000000 --- a/packages/frontier-libraries/stdlib/src/caseConversions/index.ts +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Description: convert a string to kebab case (e.g. my-project-name) - * @param {string} value - a - * @returns {string} - string value - */ -export function toKebabCase(value: string): string { - return ( - value && - ( - value.match( - /[A-Z]{2,}(?=[A-Z][a-z]+\d*|\b)|[A-Z]?[a-z]+\d*|[A-Z]|\d+/g, - ) ?? [''] - ) - .map((x) => x.toLowerCase()) - .join('-') - ); -} - -/** - * Description: convert a string to pascal case (e.g. PyProjectName) - * @param {string} value - a string value - * @returns {string} - - */ -export function toPascalCase(value: string): string { - return value - .split(/[-_ ]+/) - .join(' ') - .replace( - /\w\S*/g, - (m) => m.charAt(0).toUpperCase() + m.substr(1).toLowerCase(), - ) - .split(' ') - .join(''); -} - -/** - * Description: convert a string to camel case (e.g. myProjectName) - * @param {string} value - a - * @returns {string} - string value - */ -export function toCamelCase(value: string): string { - const pascal = toPascalCase(value); - - return pascal.charAt(0).toLowerCase() + pascal.substr(1); -} diff --git a/packages/frontier-libraries/stdlib/src/color/color.spec.ts b/packages/frontier-libraries/stdlib/src/color/color.spec.ts deleted file mode 100644 index 52cd6a61..00000000 --- a/packages/frontier-libraries/stdlib/src/color/color.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { isValidHex } from '.'; - -describe(isValidHex, () => { - it('returns true for valid hex codes', () => { - expect(isValidHex('#fff')).toBeTruthy(); - expect(isValidHex('#fFf')).toBeTruthy(); - expect(isValidHex('#ffffff')).toBeTruthy(); - expect(isValidHex('#fFfFFf')).toBeTruthy(); - expect(isValidHex('#aB12C4')).toBeTruthy(); - }); - - it('returns false for invalid hex codes', () => { - expect(isValidHex('#gggggg')).toBeFalsy(); - expect(isValidHex('gggggg')).toBeFalsy(); - expect(isValidHex('fff')).toBeFalsy(); - expect(isValidHex('ffffff')).toBeFalsy(); - expect(isValidHex('#12&ffg')).toBeFalsy(); - expect(isValidHex('#23g453')).toBeFalsy(); - expect(isValidHex('#f')).toBeFalsy(); - }); -}); diff --git a/packages/frontier-libraries/stdlib/src/color/index.ts b/packages/frontier-libraries/stdlib/src/color/index.ts deleted file mode 100644 index a48bf631..00000000 --- a/packages/frontier-libraries/stdlib/src/color/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -const VALID_HEX_REGEX = /^#[A-Fa-f0-9]{3,6}$/; - -export function isValidHex(text: string): boolean { - return VALID_HEX_REGEX.test(text.trim()); -} - \ No newline at end of file diff --git a/packages/frontier-libraries/stdlib/src/index.ts b/packages/frontier-libraries/stdlib/src/index.ts deleted file mode 100644 index 21d2f557..00000000 --- a/packages/frontier-libraries/stdlib/src/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './color'; -export * from './stdout'; -export * from './isValidEmail'; -export * from './typeguards'; -export * from './caseConversions'; - diff --git a/packages/frontier-libraries/stdlib/src/isValidEmail/email.spec.ts b/packages/frontier-libraries/stdlib/src/isValidEmail/email.spec.ts deleted file mode 100644 index 9f7ac581..00000000 --- a/packages/frontier-libraries/stdlib/src/isValidEmail/email.spec.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { isValidEmail } from '.'; - -describe(isValidEmail, () => { - it('returns true for valid emails', () => { - expect(isValidEmail('gt@email.com')).toBeTruthy(); - expect(isValidEmail('gt1@email.com')).toBeTruthy(); - expect(isValidEmail('gt2+@email.com')).toBeTruthy(); - expect(isValidEmail('gt-2+@email.com')).toBeTruthy(); - expect(isValidEmail('gt1*@email.com')).toBeTruthy(); - expect(isValidEmail('gt2%@email.com')).toBeTruthy(); - expect(isValidEmail('gt2$@email.com')).toBeTruthy(); - expect(isValidEmail('gt2#@email.com')).toBeTruthy(); - expect(isValidEmail('gt2!@email.com')).toBeTruthy(); - expect(isValidEmail('gt2~@email.com')).toBeTruthy(); - }); - - it('returns false for invalid hex codes', () => { - expect(isValidEmail('gt2@@email.com')).toBeFalsy(); - }); -}); \ No newline at end of file diff --git a/packages/frontier-libraries/stdlib/src/isValidEmail/index.ts b/packages/frontier-libraries/stdlib/src/isValidEmail/index.ts deleted file mode 100644 index d7ec2d14..00000000 --- a/packages/frontier-libraries/stdlib/src/isValidEmail/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Whether a string is considered valid email address - * - * Regex pattern is from HTML's spec for validating email in input type='email' - * https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address - */ - -const VALID_EMAIL_PATTERN = - // disabling eslint to match exact string mentioned in HTML spec - // eslint-disable-next-line no-useless-escape - /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; - -// istanbul ignore next: trivial -export function isValidEmail(email: string): boolean { - return VALID_EMAIL_PATTERN.test(email); -} diff --git a/packages/frontier-libraries/stdlib/src/object/index.ts b/packages/frontier-libraries/stdlib/src/object/index.ts deleted file mode 100644 index 47810234..00000000 --- a/packages/frontier-libraries/stdlib/src/object/index.ts +++ /dev/null @@ -1,7 +0,0 @@ - -/** - * Object helper to make object readonly and cast to read only type - */ -export function makeObjectReadOnly(obj: T): Readonly{ - return Object.freeze(obj) -} \ No newline at end of file diff --git a/packages/frontier-libraries/stdlib/src/stdout/index.ts b/packages/frontier-libraries/stdlib/src/stdout/index.ts deleted file mode 100644 index 098441c5..00000000 --- a/packages/frontier-libraries/stdlib/src/stdout/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import process from 'process'; -import util from 'util'; - -/** - * Emulates the log method from `@oclif/command`, since they don't seem to be - * offering any alternatives. Can be replaced with another logging library. - * @param {any} message The content to print to the console - * @param {Array} args See {@link https://google.com util.format} for formatting arguments. - */ -export function log(message: any = '', ...args: any[]): void { - message = typeof message === 'string' ? message : util.inspect(message) - process.stdout.write(`${util.format(message, ...args)}\n`) -} - diff --git a/packages/frontier-libraries/stdlib/src/stdout/stdout.spec.ts b/packages/frontier-libraries/stdlib/src/stdout/stdout.spec.ts deleted file mode 100644 index 79908527..00000000 --- a/packages/frontier-libraries/stdlib/src/stdout/stdout.spec.ts +++ /dev/null @@ -1,16 +0,0 @@ -//TODO -import process from 'process'; -import { log } from "."; - -const messages = [ - "This is a random message to log", - "This is a second random message to log" -] -//Testing log function -describe(log, () => { - jest.spyOn(process.stdout, 'write') - it.each(messages)('accepts %p', (target: string) => { - expect(log(target)).toBeUndefined; - }); - -}); \ No newline at end of file diff --git a/packages/frontier-libraries/stdlib/src/typeguards/index.ts b/packages/frontier-libraries/stdlib/src/typeguards/index.ts deleted file mode 100644 index 1f4ca043..00000000 --- a/packages/frontier-libraries/stdlib/src/typeguards/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Typeguard for testing whether a value is a boolean - */ -export function isBoolean(value: unknown): value is boolean { - return typeof value === 'boolean'; -} - -/** - * Typeguard for testing whether a value is a number - */ -export function isNumber(value: unknown): value is number { - return typeof value === 'number'; -} - -/** - * Typeguard for testing whether a value is a string - */ -export function isString(value: unknown): value is string { - return typeof value === 'string'; -} - -/** - *Typeguard for testing whether a value is a number array - */ -export function isNumberArray(value: unknown): value is number[] { - return Array.isArray(value) && value.every((i) => typeof i === 'number'); -} - -/** - * Typeguard for testing whether a value is a string array - */ -export function isStringArray(value: unknown): value is string[] { - return Array.isArray(value) && value.every((i) => typeof i === 'string'); -} - -/** - * Convert Array like object to absolute string array - */ -export function toStringArray(value: unknown[]): string[] { - return Array.from(value, (v) => `${v}`); -} - - -/** - * Description: Determine if string is valid JSON string - * @param {string} value - a string literal - * @returns {boolean} - True if string is valid qualified JSON - */ - export function isJsonString(value: string): boolean { - try { - JSON.parse(value); - } catch (error) { - return false; - } - - return true; -} \ No newline at end of file diff --git a/packages/frontier-libraries/stdlib/src/typeguards/typeguards.spec.ts b/packages/frontier-libraries/stdlib/src/typeguards/typeguards.spec.ts deleted file mode 100644 index 728ed023..00000000 --- a/packages/frontier-libraries/stdlib/src/typeguards/typeguards.spec.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { isBoolean, isNumber, isNumberArray, isString, isStringArray, isJsonString } from '.'; - -const booleans = [true, false]; -const numbers = [-1, 0, 1, Infinity, NaN]; -const strings = ['', 'string', `template`]; -// Jest unwraps an array of arrays so we provide wrapped and unwrapped variants. -// This doesn't happen to arrays with mixed content; look at the printed test -// output to ensure you're testing what you think you're testing. -const emptyArray = { - unwrapped: [[]], - wrapped: [[[]]], -}; -const numberArrays = { - unwrapped: [[1], [1, 2, 3]], - wrapped: [[[1]], [[1, 2, 3]]], -}; -const stringArrays = { - unwrapped: [['a'], ['a', 'b', 'c']], - wrapped: [[['a']], [['a', 'b', 'c']]], -}; -const others = [['a', 1], {}, { a: 1 }, undefined, null]; - -const jsonStrings = [ - `{ "letter": "a", "number": 1, "color": "blue" }`, - `{ "letter": "b", "number": 2, "color": "red"}`, - `{ "character": "c", "number": 3, "color": "yellow"}` -] - -const falseJsonStrings = [ - `{ "character": " ", "number": NaN, "color": "white"}`, - `{ "character": _ , "number": NaN, "color": black}`, - `{ "character": $ , "number": infinity, "color": "brown"}` -] - -describe(isBoolean, () => { - it.each(booleans)('accepts %p', (target: unknown) => { - expect(isBoolean(target)).toBeTruthy(); - }); - - it.each([ - ...numbers, - ...strings, - ...emptyArray.unwrapped, - ...numberArrays.unwrapped, - ...stringArrays.unwrapped, - ...others, - ])('rejects %p', (target: unknown) => { - expect(isBoolean(target)).toBeFalsy(); - }); -}); - -describe(isNumber, () => { - it.each(numbers)('accepts %p', (target: unknown) => { - expect(isNumber(target)).toBeTruthy(); - }); - - it.each([ - ...booleans, - ...strings, - ...emptyArray.unwrapped, - ...numberArrays.unwrapped, - ...stringArrays.unwrapped, - ...others, - ])('rejects %p', (target: unknown) => { - expect(isNumber(target)).toBeFalsy(); - }); -}); - -describe(isString, () => { - it.each(strings)('accepts %p', (target: unknown) => { - expect(isString(target)).toBeTruthy(); - }); - - it.each([ - ...booleans, - ...numbers, - ...emptyArray.unwrapped, - ...numberArrays.unwrapped, - ...stringArrays.unwrapped, - ...others, - ])('rejects %p', (target: unknown) => { - expect(isString(target)).toBeFalsy(); - }); -}); - -describe(isNumberArray, () => { - it.each([...emptyArray.wrapped, ...numberArrays.wrapped])( - 'accepts %p', - (target: unknown) => { - expect(isNumberArray(target)).toBeTruthy(); - }, - ); - - it.each([ - ...booleans, - ...numbers, - ...strings, - ...stringArrays.unwrapped, - ...others, - ])('rejects %p', (target: unknown) => { - expect(isNumberArray(target)).toBeFalsy(); - }); -}); - -describe(isStringArray, () => { - it.each([...emptyArray.wrapped, ...stringArrays.wrapped])( - 'accepts %p', - (target: unknown) => { - expect(isStringArray(target)).toBeTruthy(); - }, - ); - - it.each([ - ...booleans, - ...numbers, - ...strings, - ...numberArrays.unwrapped, - ...others, - ])('rejects %p', (target: unknown) => { - expect(isStringArray(target)).toBeFalsy(); - }); -}); - - -//Testing isJsonString -describe(isJsonString, () => { - it.each(jsonStrings)('accepts %p', (target: string) => { - expect(isJsonString(target)).toBeTruthy(); - }); - - it.each(falseJsonStrings)('accepts %p', (target: string) => { - expect(isJsonString(target)).toBeFalsy(); - }); -}); \ No newline at end of file diff --git a/packages/frontier-libraries/stdlib/tsconfig.build.json b/packages/frontier-libraries/stdlib/tsconfig.build.json deleted file mode 100644 index 7f55461d..00000000 --- a/packages/frontier-libraries/stdlib/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "declarationDir": "types", - "outDir": "dist" - }, - "exclude": [ - "setupTests.ts", - "**/*spec.ts", - ] -} diff --git a/packages/frontier-libraries/stdlib/tsconfig.json b/packages/frontier-libraries/stdlib/tsconfig.json deleted file mode 100644 index c702b024..00000000 --- a/packages/frontier-libraries/stdlib/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "compilerOptions": { - "baseUrl": "src", - "paths": { - "@/*": [ - "./src/*" - ] - }, - "rootDir": "src", - "outDir": "dist", - "strict": true, - "target": "es2017", - }, - "include": [ - "setupTests.ts", - "src/**/*" - ] - -} diff --git a/packages/frontier-libraries/stdlib/webpack.config.js b/packages/frontier-libraries/stdlib/webpack.config.js deleted file mode 100644 index 25487b81..00000000 --- a/packages/frontier-libraries/stdlib/webpack.config.js +++ /dev/null @@ -1,36 +0,0 @@ -const { resolve } = require('path'); -const webpack = require('webpack'); -const nodeExternals = require('webpack-node-externals'); -const { name: library } = require('./package.json'); - -const nodeExternalsOpts = {}; - -module.exports = function(env = {}) { - return { - mode: 'production', - entry: resolve(__dirname, 'esnext', 'index'), - resolve: { - extensions: ['.js' ], - }, - externals: [ - nodeExternals(nodeExternalsOpts), - nodeExternals({ - ...nodeExternalsOpts, - modulesDir: resolve(__dirname, '..', '..', '..', 'node_modules'), - }), - ], - module: { - rules: [{ - loader: 'ts-loader', - test: '/\.(ts|tsx)$/', - exclude: /node_modules/ - }], - }, - output: { - filename: 'index.js', - path: resolve(__dirname, 'dist'), - libraryTarget: 'commonjs2', - library, - }, - }; -}; diff --git a/packages/frontier-libraries/typekit/README.md b/packages/frontier-libraries/typekit/README.md deleted file mode 100644 index b345cc22..00000000 --- a/packages/frontier-libraries/typekit/README.md +++ /dev/null @@ -1,158 +0,0 @@ - -
-
- - rd logo - -
-
- -# Frontier Type Library - -### @rdfrontier/typekit -A library of common reusable types. - - -  -  -  - -## Table of Contents - -* [Installation](#install) -* [Usage](#usage) -* [Options](#options) - - -  -  -  -  - -## Installation - -```sh -$ yarn add --save--dev @rdfrontier/typekit -``` - -or - -```sh -$ npm install --save--dev @rdfrontier/typekit -``` - -  -  - -## Usage - -```sh -import { SuccessCode } from '@rdfrontier/typekit'; - -console.log(SuccessCode.Countinue) -``` - - -  -  - -## Options - -| Name | Description | -| --- | ------------- | -| HTTP Status Codes | Add Description | -| Network Information | Add Description | - -  -  - -### HTTP Status Codes -This is ______________ - -#### Information Code -* `Continue - 100` -* `SwitchingProtoclos - 101` -* `Processing - 102` -* `EarlyHints - 103 ` - -#### Success Code -* `OK - 200` -* `Created - 201` -* `Acccepted - 202` -* `NoAuthoritativeInformations - 203` -* `NoConent - 204` -* `ResetConent - 205` -* `PartialConent - 206` -* `MultiStatus - 207` -* `AlreadyReported - 208` -* `IMUsed - 226` - -#### Redirect Code -* `MultipleChoices - 300` -* `MovedPermanently - 301` -* `Found - 302` -* `SeeOther - 303` -* `NotModified - 304` -* `TemporaryRedirect - 307` -* `PermanentRedirect - 308` - -#### Client Error Code -* `BadRequest - 400` -* `Unauthorized - 401` -* `PaymentRequired - 402` -* `Forbidden - 403` -* `NotFound - 404` -* `MethodNotAllowed - 405` -* `NotAcceptable - 406` -* `ProxyAuthenticationRequired - 407` -* `RequestTimeout - 408` -* `Conflict - 409` -* `Gone - 410` -* `LengthRequired - 411` -* `PreconditionFailed - 412` -* `PayloadTooLarge - 413` -* `URITooLong - 414` -* `UnsupportedMediaType - 415` -* `RangeNotSatisifiable - 416` -* `ExpectationFailed - 417` -* `ImATeapot - 418` -* `MisdirectedRequest - 421` -* `UnprocessableEntity - 422` -* `Locked - 423` -* `FailedDependency - 424` -* `UpgradeRequired - 426` -* `PreconditionRequired - 428` -* `ToomanyRequests - 429` -* `RequestHeaderFieldsTooLong - 431` -* `UnavailableForLegalReasins - 451` - -#### Server Error Code -* `InternalServerError - 500` -* `NotImplemented - 501` -* `BadGateway - 502` -* `ServiceUnavailable - 503` -* `GatewayTimeout - 504` -* `HTTPVersionNotSupported - 505` -* `VariantAlsoNegotiates - 506` -* `InusufficientStorage - 507` -* `LoopDetected - 508` -* `NotExtended - 510` -* `NetworkAuthenticationRequired - 511` - -### Network Info - -#### Effective Connection Type -* `FouthGeneration - 4g` -* `SecondGeneration - 2g` -* `SlowSecondGeneration - slow-2g` -* `ThirdGeneration - 3g` - -#### Connection Type -* `Bluetooth - bluetooth` -* `Cellular - cellular` -* `Ethernet - ethernet` -* `None - none` -* `Other - other` -* `Unknown - unknown` -* `WiFI - wifi` -* `WiMax - wimax` \ No newline at end of file diff --git a/packages/frontier-libraries/typekit/babel.config.js b/packages/frontier-libraries/typekit/babel.config.js deleted file mode 100644 index bb49f658..00000000 --- a/packages/frontier-libraries/typekit/babel.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const configurator = require('../../../babel.root'); - -module.exports = (api) => { - api.cache.using(() => process.env.NODE_ENV); - - const envConfig = { - modules: !api.env('module') && 'auto', - }; - - return configurator({ - envConfig, - }); -}; diff --git a/packages/frontier-libraries/typekit/index.ts b/packages/frontier-libraries/typekit/index.ts deleted file mode 100644 index 8879d7a1..00000000 --- a/packages/frontier-libraries/typekit/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './src'; \ No newline at end of file diff --git a/packages/frontier-libraries/typekit/jest.config.js b/packages/frontier-libraries/typekit/jest.config.js deleted file mode 100644 index 9863fb7c..00000000 --- a/packages/frontier-libraries/typekit/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const configurator = require('../../../jest.root'); - -module.exports = configurator({ - setupFiles: ['./setupTests.ts'], -}); diff --git a/packages/frontier-libraries/typekit/package.json b/packages/frontier-libraries/typekit/package.json deleted file mode 100644 index c440b6cc..00000000 --- a/packages/frontier-libraries/typekit/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "@rdfrontier/typekit", - "version": "0.0.1", - "description": "Useful and relevant types", - "license": "UNLICENSED", - "author": "Realdecoy", - "homepage": "", - "main": "dist/index.js", - "module": "module/index.js", - "files": [ - "dist/", - "module/", - "types/" - ], - "scripts": { - "build": "build-package --tscOnly", - "build:watch": "build-packag --tscOnly --watch", - "clean": "rimraf dist esnext module types", - "fix": "run-s lint:es:fix lint:md:fix", - "lint": "run-s lint:es lint:md", - "lint:es": "cross-env LOCAL_TS=1 eslint --ignore-path ../../../.eslintignore \"**/*\"", - "lint:es:fix": "yarn lint:es --fix", - "lint:md": "yarn prettier \"**/*.md\" --check", - "lint:md:fix": "yarn prettier \"**/*.md\" --write", - "rebuild": "run-s clean build", - "typecheck": "tsc --noEmit" - }, - "sideEffects": false, - "types": "types/index.d.ts", - "dependencies": { - "@babel/runtime": "^7.15.0" - }, - "devDependencies": { - "@rdfrontier/lib-builder": "^1.0.0" - }, - "browserslist": [ - "chrome 38", - "ios >= 9" - ], - "engines": { - "node": "^16.13.1", - "yarn": "^1.22.18" - } -} diff --git a/packages/frontier-libraries/typekit/setupTests.ts b/packages/frontier-libraries/typekit/setupTests.ts deleted file mode 100644 index ed220222..00000000 --- a/packages/frontier-libraries/typekit/setupTests.ts +++ /dev/null @@ -1,7 +0,0 @@ -import 'core-js/stable'; -import 'regenerator-runtime/runtime'; -import type { GlobalWithFetchMock } from 'jest-fetch-mock'; - -const customGlobal: GlobalWithFetchMock = global as unknown as GlobalWithFetchMock; -customGlobal.fetch = require('jest-fetch-mock'); -customGlobal.fetchMock = customGlobal.fetch; diff --git a/packages/frontier-libraries/typekit/src/HTTPStatusCode.ts b/packages/frontier-libraries/typekit/src/HTTPStatusCode.ts deleted file mode 100644 index cd6f1799..00000000 --- a/packages/frontier-libraries/typekit/src/HTTPStatusCode.ts +++ /dev/null @@ -1,274 +0,0 @@ -export enum InformationCode { - /** - * RFC 7231 - Server has received headers, client should send body. - */ - Continue = 100, - /** - * RFC 7231 - Server is willing to comply with request via Upgrade header field. - */ - SwitchingProtocols = 101, - /** - * RFC 2518 - Server has received complete request but has not completed it. - */ - Processing = 102, - EarlyHints = 103, -} - -export enum SuccessCode { - /** - * RFC 7231 - Server completed request. Payload is response. - */ - OK = 200, - /** - * RFC 7231 - Server created requested resource. - */ - Created = 201, - /** - * RFC 7231 - Request has been accepted for processing. Processing may happen. - */ - Accepted = 202, - /** - * RFC 7230 - RFC 7231 - Request was successful, but content was modified by proxy. - */ - NonAuthoritativeInformation = 203, - /** - * RFC 7231 - Request was successful but there is no more content to send. - */ - NoContent = 204, - /** - * RFC 7231 - Request fulfilled, the "document view" should be reset. - */ - ResetContent = 205, - /** - * RFC 2733 - Server is responding with a range according the the request's Range header field. - */ - PartialContent = 206, - /** - * RFC 4918 - (WebDAV) Multiple status were returned for each action in the request. - */ - MultiStatus = 207, - /** - * RFC 5842 - (WebDAV) Subsequent successful binding to a collection. - */ - AlreadyReported = 208, - /** - * RFC 3229 - (Delta Encoding) Response represents the result of 1+ instance-manipulation (IM header). - */ - IMUsed = 226, -} - -export enum RedirectionCode { - /** - * RFC 7231 - Target resource has multiple representations. - */ - MultipleChoices = 300, - /** - * RFC 7231 - Resource has new permanent URI in Location header. UA MAY change request from POST to GET when following. - */ - MovedPermanently = 301, - /** - * RFC 7231 - Resource temporarily resides at new URI in Location header. UA MAY change request from POST to GET when following. - */ - Found = 302, - /** - * RFC 7231 - A resource descriptive of the requested resource is available in Location header. - */ - SeeOther = 303, - /** - * RFC 7232 - A conditional GET or HEAD request was received and the condition evaluated to false. - */ - NotModified = 304, - /** - * DEPRECATED for security reasons. DO NOT USE. - */ - // UseProxy = 305, - /** - * DEPRECATED for security reasons. DO NOT USE. - */ - // SwitchProxy = 306, - /** - * RFC 7231 - Resource resides under another temporary URI. UA MUST use POST if initial request was POST. - */ - TemporaryRedirect = 307, - /** - * RFC 7538 - Resource resides at a new permanent URI. UA MUST use POST if initial request was POST. - */ - PermanentRedirect = 308, -} - -export enum ClientErrorCode { - /** - * RFC 7231 - Server can't or won't process due to client error. - */ - BadRequest = 400, - /** - * RFC 7235 - Request lacks valid authentication credentials. - */ - Unauthorized = 401, - /** - * RFC 7231 - (Future use) payment required. - */ - PaymentRequired = 402, - /** - * RFC 7231 - Provided authentication credentials were insufficient, server refuses to authorize. - */ - Forbidden = 403, - /** - * RFC 7231 - No representation of target at URI, or server won't disclose existence. - */ - NotFound = 404, - /** - * RFC 7231 - Resource does not support HTTP method used. - */ - MethodNotAllowed = 405, - /** - * RFC 7231 - Target resource does not have a representation acceptable to the UA. - */ - NotAcceptable = 406, - /** - * RFC 7235 - Client needs to authenticate with proxy. - */ - ProxyAuthenticationRequired = 407, - /** - * RFC 7231 - Server did not receive a complete request within acceptable time. - */ - RequestTimeout = 408, - /** - * RFC 7231 - Request couldn't complete due to a conflict with the state of the target resource. - */ - Conflict = 409, - /** - * RFC 7231 - Target resource is no longer available at the origin server. - */ - Gone = 410, - /** - * RFC 7231 - Request needs a Content-Length. - */ - LengthRequired = 411, - /** - * RFC 7232 - Preconditions in the header failed. - */ - PreconditionFailed = 412, - /** - * RFC 7231 - Request payload is too large. - */ - PayloadTooLarge = 413, - /** - * RFC 7231 - Requested URI is too long. - */ - URITooLong = 414, - /** - * RFC 7231 - Request payload is in a format the server can't process. - */ - UnsupportedMediaType = 415, - /** - * RFC 7233 - None of the ranges in the Range header field are available. - */ - RangeNotSatisifiable = 416, - /** - * RFC 7231 - Expectation in Expect header field could not be met. - */ - ExpectationFailed = 417, - /** - * RFC 2324 - (April Fool's) Attempt to brew coffee with a tea pot could not be fulfilled. - */ - ImATeapot = 418, - /** - * RFC 7540 - Request went to a server that could not produce a response. - */ - MisdirectedRequest = 421, - /** - * RFC 4918 - Understandable content type & proper request entity, but can't process the instructions. - */ - UnprocessableEntity = 422, - /** - * RFC 4918 - Source or destination resource is locked. - */ - Locked = 423, - /** - * RFC 4918 - Method could not be performed because a prerequisite action failed. - */ - FailedDependency = 424, - /** - * RFC 7231 - Protocol must be upgraded to continue. - */ - UpgradeRequired = 426, - /** - * RFC 6585 - Server requires request to be conditional. - */ - PreconditionRequired = 428, - /** - * RFC 6585 - User has sent too many requests and is being rate limited. - */ - TooManyRequests = 429, - /** - * RFC 6585 - Header fields are too large. - */ - RequestHeaderFieldsTooLarge = 431, - /** - * RFC 7725 - Server cannot fulfill requests for legal reasons. - */ - UnavailableForLegalReasons = 451, -} - -export enum ServerErrorCode { - /** - * RFC 7231 - Unexpected error prevented fulfilling the request. - */ - InternalServerError = 500, - /** - * RFC 7231 - The server does not support the functionality to fulfill this request. - */ - NotImplemented = 501, - /** - * RFC 7231 - The server, while acting as a gateway, received an invalid response from the inbound server. - */ - BadGateway = 502, - /** - * RFC 7231 - Server is unavailable to handle request. - */ - ServiceUnavailable = 503, - /** - * RFC 7231 - The server, while acting as a gateway, did not receive a response in a timely manner from the inbound server. - */ - GatewayTimeout = 504, - /** - * RFC 7231 - The server refuses to support the major version of this HTTP request. - */ - HTTPVersionNotSupported = 505, - /** - * RFC 2295 - Server has an internal configuration error. - */ - VariantAlsoNegotiates = 506, - /** - * RFC 4918 - The sserver is unable to store a representation needed to complete the request. - */ - InusufficientStorage = 507, - /** - * RFC 5842 - (WebDAV) Server encountered an infinite loop. - */ - LoopDetected = 508, - /** - * RFC 2774 - (HTTP Extensions) Policy for accessing the resource has not been met in request. - */ - NotExtended = 510, - /** - * RFC - Client needs to authenticate to gain network access. - */ - NetworkAuthenticationRequired = 511, -} - -export type HTTPStatusCode = - | ClientErrorCode - | InformationCode - | RedirectionCode - | ServerErrorCode - | SuccessCode; - -export const HTTPStatusCode = { - ...InformationCode, - ...SuccessCode, - ...RedirectionCode, - ...ClientErrorCode, - ...ServerErrorCode, -}; diff --git a/packages/frontier-libraries/typekit/src/index.ts b/packages/frontier-libraries/typekit/src/index.ts deleted file mode 100644 index 73fc5a59..00000000 --- a/packages/frontier-libraries/typekit/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './HTTPStatusCode'; -export * from './netInfo'; diff --git a/packages/frontier-libraries/typekit/src/netInfo.ts b/packages/frontier-libraries/typekit/src/netInfo.ts deleted file mode 100644 index 3267f1f0..00000000 --- a/packages/frontier-libraries/typekit/src/netInfo.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Values the browser may provide for effective connection type. - */ -export enum EffectiveConnectionType { - FourthGeneration = '4g', - SecondGeneration = '2g', - SlowSecondGeneration = 'slow-2g', - ThirdGeneration = '3g', -} - -/** - * Values the browser may provide for connection type. - */ -export enum ConnectionType { - Bluetooth = 'bluetooth', - Cellular = 'cellular', - Ethernet = 'ethernet', - None = 'none', - Other = 'other', - Unknown = 'unknown', - WiFi = 'wifi', - WiMax = 'wimax', -} - -/** - * The Network Information API as defined by WICG. - * http://wicg.github.io/netinfo/ - */ -export interface NetworkInformation { - /** - * The currently observed download speed for this client. - */ - downlink: number; - /** - * The maximum observed download speed for this client. - */ - downlinkMax: number; - /** - * The effective network connection based on observed up/down/RTT. - * This is in terms of cellular connections. - */ - effectiveType: EffectiveConnectionType; - /** - * The currently observed Round Trip Time (RTT) for this client. - */ - rtt: number; - /** - * The last hop network connection for this client. - * For example, if a tablet is tethered to LTE via wifi this will be "wifi" - * whereas if a cell phone is on LTE it will be "cellular". Use effectiveType - * to get a category of performance. - */ - type: ConnectionType; -} - -/** - * NetworkInformation API values mapped to data science names. - */ -export interface DataScienceNetworkInformation { - /** - * NetworkInformation downlink, when available - */ - bandwidth: number | undefined; - /** - * NetworkInformation downlinkMax, when available - */ - bandwidth_max: number | undefined; - /** - * NetworkInformation effectiveType, when available - */ - effective_mobile_connection_type: EffectiveConnectionType | undefined; - /** - * NetworkInformation type, when available - */ - mobile_connection_type: ConnectionType | undefined; - /** - * NetworkInformation rtt, when available - */ - round_trip_time: number | undefined; -} diff --git a/packages/frontier-libraries/typekit/tsconfig.build.json b/packages/frontier-libraries/typekit/tsconfig.build.json deleted file mode 100644 index f8ab6e93..00000000 --- a/packages/frontier-libraries/typekit/tsconfig.build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "declarationDir": "types", - "isolatedModules": false, - "outDir": "dist" - }, - "exclude": [ - "**/*spec.ts", - "**/setupTests.ts", - ] -} diff --git a/packages/frontier-libraries/typekit/tsconfig.json b/packages/frontier-libraries/typekit/tsconfig.json deleted file mode 100644 index 5c1fb2c1..00000000 --- a/packages/frontier-libraries/typekit/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "include": ["src/**/*"], - "compilerOptions": { - "rootDir": "src", - "outDir": "dist", - "baseUrl": "src", - "paths": { - "@/*": [ - "./src/*" - ] - }, - } -} diff --git a/packages/frontier-libraries/typekit/webpack.config.js b/packages/frontier-libraries/typekit/webpack.config.js deleted file mode 100644 index 82bb4ecf..00000000 --- a/packages/frontier-libraries/typekit/webpack.config.js +++ /dev/null @@ -1,32 +0,0 @@ -const { resolve } = require('path'); -const webpack = require('webpack'); -const nodeExternals = require('webpack-node-externals'); -const { name: library } = require('./package.json'); - -const nodeExternalsOpts = {}; - -module.exports = function (env = {}) { - return { - mode: 'production', - entry: resolve(__dirname, 'esnext', 'index'), - resolve: { - extensions: ['.js' ], - }, - externals: [ - nodeExternals(nodeExternalsOpts), - nodeExternals({ - ...nodeExternalsOpts, - modulesDir: resolve(__dirname, '..', '..', '..', 'node_modules'), - }), - ], - module: { - rules: [], - }, - output: { - filename: 'index.js', - path: resolve(__dirname, 'dist'), - libraryTarget: 'commonjs2', - library, - }, - }; -}; diff --git a/packages/frontier-plugins/plugin-mobile/.editorconfig b/packages/frontier-plugins/plugin-mobile/.editorconfig deleted file mode 100644 index beffa308..00000000 --- a/packages/frontier-plugins/plugin-mobile/.editorconfig +++ /dev/null @@ -1,11 +0,0 @@ -root = true - -[*] -indent_style = space -indent_size = 2 -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/packages/frontier-plugins/plugin-mobile/.eslintignore b/packages/frontier-plugins/plugin-mobile/.eslintignore deleted file mode 100644 index ebe6cd93..00000000 --- a/packages/frontier-plugins/plugin-mobile/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -/lib -/template -/rdv* \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-mobile/.eslintrc b/packages/frontier-plugins/plugin-mobile/.eslintrc deleted file mode 100644 index 964f7fce..00000000 --- a/packages/frontier-plugins/plugin-mobile/.eslintrc +++ /dev/null @@ -1,98 +0,0 @@ -{ - "extends": [ - "oclif", - "oclif-typescript" - ], - "env": { - "es6": true, - "browser": true, - "node": true, - "mocha": true - }, - "parser": "babel-eslint", - "parserOptions": { - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "no-console": 1, - "no-extra-semi": 2, - "semi": [ - 2, - "always" - ], - "semi-spacing": 2, - "quotes": [ - 2, - "single" - ], - "indent": [ - 2, - 2, - { - "SwitchCase": 1 - } - ], - "interface-name": 0, - "object-literal-sort-keys": 0, - "no-consecutive-blank-lines": 0, - "no-any": 0, - "no-var": 0, - "no-cond-assign": 2, - "no-debugger": 2, - "no-duplicate-imports": 2, - "no-empty": 2, - "no-eval": 2, - "no-invalid-this": 2, - "no-irregular-whitespace": 2, - "no-return-await": 2, - "no-trailing-spaces": 2, - "no-empty-character-class": 2, - "no-unsafe-finally": 2, - "no-unused-vars": 2, - "no-unused-expressions": 2, - "no-undef": 2, - "array-type": 0, - "require-await": 2, - "prefer-arrow-callback": 2, - "arrow-spacing": 2, - "spaced-comment": 2, - "curly": 2, - "complexity": 2, - "max-classes-per-file": [ - 2, - 1 - ], - "max-len": [ - 2, - 1000 - ], - "max-lines": [ - 2, - 200 - ], - "new-parens": 2, - "newline-before-return": 2, - "newline-per-chained-call": 2, - "only-arrow-functions": 0, - "prefer-const": 2, - "prefer-object-spread": 2, - "prefer-template": 2, - "radix": 2, - "no-else-return": 2, - "object-curly-spacing": [ - "error", - "always" - ], - "space-before-function-paren": 2, - "space-within-parens": 0, - "no-eq-null": 2, - "comma-dangle": 2, - "eqeqeq": 2, - "valid-typeof": 2, - "block-scoped-var": 2, - "interface-over-type-literal": 0 - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-mobile/README.md b/packages/frontier-plugins/plugin-mobile/README.md deleted file mode 100644 index 26ee6672..00000000 --- a/packages/frontier-plugins/plugin-mobile/README.md +++ /dev/null @@ -1,232 +0,0 @@ -
-
- - rd logo - -
-
- -# RD Mobile - -[RDVue Mobile](https://github.com/realdecoy/rdmobile) is an opinionated CLI for generating React Native projects. We do so by adopting a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Screen models, -and a data-layer design promoting unified consumption through React Contexts and Services. - - - -[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io) - -  -  -  - -## Table of Contents - -* [About](#about) -* [Usage](#usage) -* [Commands](#commands) -* [Options](#options) -* [Development](#development) -* [Dev Instructions](#Development) -* [Testing](#Testing) - - -  -  -  - -## About - -The RDVue mobile CLI is the product of RealDecoy's Frontend Mobile Practice Area. Contributions are welcome! You can help us by reporting or fixing bugs and giving us feedback on new/existing features. - -## Usage - -Installing the RDVue mobile plugin can be done with the following command: -```bash -$ frontier plugins:install @rdfrontier/plugin-mobile -``` - -The help menu can be accessed with the command: - -```bash -frontier mobile --help -``` -The current version of mobile can be retrieved with the command: - -```bash -npx mobile -v | --version -``` - -The format for running an RDVue Mobile command is generally: - -```bash -frontier mobile:COMMAND -``` - - -## Commands - - -- [`Create a RDVue Mobile project`](#create-a-rdvue-mobile-project) -- [`Add a new component module to project`](#add-a-new-component-module-to-project) -- [`Add a new screen module to project`](#add-a-new-screen-module-to-project) -- [`Add a new layout module to project`](#add-a-new-layout-module-to-project) -- [`Add a new service module to project`](#add-a-new-service-module-to-project) -- [`Add a new store module to project`](#add-a-new-store-module-to-project) - - - -### Create a RDVue Mobile project - -```bash -USAGE - $ frontier mobile:create-project [NAME] [BUNDLE_IDENTIFIER] - -ARGUMENTS - NAME Name of project to be created - BUNDLE_IDENTIFIER Bundle identifier of project to be created - -OPTIONS - -h, --help show CLI help - --verbose Show verbose output - -``` - -_See code: -[src/commands/mobile/create-project/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-mobile/src/commands/mobile/create-project/index.ts)_ - - -### Add a new component module to project - - -```bash -USAGE - $ frontier mobile:add:component [NAME] - -ARGUMENTS - NAME Name of new compnent - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add/component/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/component.ts)_ - - -### Add a new screen module to project - - -```bash -USAGE - $ frontier mobile:add:screen [NAME] - -ARGUMENTS - NAME Name of the new screen - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add/screen/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/screen.ts)_ - -### Add a new layout module to project - - -```bash -USAGE - $ frontier mobile:add:layout [NAME] - -ARGUMENTS - NAME Name of the new layout - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add/screen/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/screen.ts)_ - - -### Add a new service module to project - - -```bash -USAGE - $ frontier mobile:add:service [NAME] - -ARGUMENTS - NAME Name of new service - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add:service/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/service.ts)_ - - - -### Add a new store module to project - - -```bash -USAGE - $ frontier mobile:add:store [NAME] - -ARGUMENTS - NAME Name of new store module - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add/store/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/store.ts)_ - -  -  -  - -## Options -```txt -Usage: - npx mobile - -Actions: - create-project - Scaffold a new mobile project - add - Add a feature to a project - plugin - Inject a utility to extend project functionality - -Options: - --help | -h - Show help information - --verbose - Show debug logs to get more information - -``` - -  -  -  - -## Development - -```bash -npm install -npm link -``` - -  -  -  - -## Testing - -### Run Unit Test Suite -```bash -npm run test -``` - -### Creating Tests -- create a ```.test.ts``` file in the ```/test``` folder -- using ```chai``` assertion syntax, describe your unit test cases -- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see more details diff --git a/packages/frontier-plugins/plugin-mobile/bin/run b/packages/frontier-plugins/plugin-mobile/bin/run deleted file mode 100755 index 30b14e17..00000000 --- a/packages/frontier-plugins/plugin-mobile/bin/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env node - -require('@oclif/command').run() -.then(require('@oclif/command/flush')) -.catch(require('@oclif/errors/handle')) diff --git a/packages/frontier-plugins/plugin-mobile/bin/run.cmd b/packages/frontier-plugins/plugin-mobile/bin/run.cmd deleted file mode 100644 index 968fc307..00000000 --- a/packages/frontier-plugins/plugin-mobile/bin/run.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -node "%~dp0\run" %* diff --git a/packages/frontier-plugins/plugin-mobile/docs/cli-commands.md b/packages/frontier-plugins/plugin-mobile/docs/cli-commands.md deleted file mode 100644 index 7e49b0ff..00000000 --- a/packages/frontier-plugins/plugin-mobile/docs/cli-commands.md +++ /dev/null @@ -1,66 +0,0 @@ - - -# CLI Commands --------------- -This reference documents every command and flag available in Stripe’s command-line interface. The mobile CLI helps with scaffolfing project, components and other features right from the terminal. - -## CLI Options - -Run the CLI option below for a list of commands and options - -**Usage** -```bash -$ npx mobile: --help -``` - -| **Option** | **Description** | -| ------------ | :---------------------- | -| \--h, --help | Displays the help menu. | - -___ - -## CLI Command - -RDVue includes the following sub-commands: - -| **Command** | **Description** | -| --------------------------------- | :----------------------------------------------- | -| [create-project](#create-project) | Scaffold a new rdvue project | -| [add](#add) | Add a feature to a project | - -* * * - -### _create-project_ - -_create-project_ will scaffold a new project for you, using one of the presets selected from its interactive shell. - -**Usage** -```bash -$ npx mobile:create-project -``` - - -| **Option** | **Description** | -| :--------------------------- | :----------------------- | -| --bundleIdenifier | The name of the unique identifier that will used for deployment to the App & Google play Store (eg. com.company.app). | -| --verbose | Show debug logs when creating the project. | - -* * * - -### _add_ -Adds a feature to the project. - -Usage -```bash -$ npx mobile:add: -``` -**Features** - -Learn more below about each feature the CLI provides: - -* [Component](features.md#components) -* [Page](features.md#pages) -* [Screen](features.md#screens) -* [Layout](features.md#layouts) -* [Service](features.md#services) -* [Store](features.md#stores) diff --git a/packages/frontier-plugins/plugin-mobile/docs/deployment.md b/packages/frontier-plugins/plugin-mobile/docs/deployment.md deleted file mode 100644 index 85d926fa..00000000 --- a/packages/frontier-plugins/plugin-mobile/docs/deployment.md +++ /dev/null @@ -1 +0,0 @@ -# Deployment (WIP) \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-mobile/docs/features.md b/packages/frontier-plugins/plugin-mobile/docs/features.md deleted file mode 100644 index bd1cda80..00000000 --- a/packages/frontier-plugins/plugin-mobile/docs/features.md +++ /dev/null @@ -1,244 +0,0 @@ -# Features - -This section will provide a brief introduction to generating features inside a project. Each available feature has a dedicated section in our documentation. - -Reading through this section will get you comfortable with the CLI. An in depth look at the command used in this section, along with all available commands, can be found in [CLI Commands](cli-reference.md#add). - -
-> It is recommended to read through the [CLI Reference](cli-reference.md#add) before continuing with this document. - - -* * * - - -## Components - -Components are independent and reusable bits of code. They include the functional logic of the component along with styling and are imported by [Screens](#screens) and [Layout](#layouts). Unlike Screens, Components are never used in Nagivation. That would deviate from our development style guide. - -### Usage - -```bash -$ frontier mobile:add:component - -# Example -$ frontier mobile:add:component fancy-text -``` - -### Technical - -A Component folder consists of for two files. These file include: - -* \[component\]**.tsx**: This file holds actual functional logic and view hierarchy for the component you are trying to create.. - - -* \[component\]**.styles.tsx**: This contains the styling of the component. It is an abstraction similar to CSS StyleSheets with some of the attribute but not all. - -See below for example of folder structure after creating a component called `fancy-text`: - - - - -**Example** - -Below is an example of a component called `fancy-text.tsx` - -```tsx -// @/component/fancy-text/fancy-text.tsx - -import { Component } from "react"; -import styles from "./fancy-text.styles"; - -class FancyText extends Component { - render() { - return Some Fancy Text - } -} - -``` - -This is an example of the stylesheet `fancy-text.styles.tsx`. - -```tsx -// @/component/fancy-text/fancy-text.style.tsx - -import { StyleSheet } from "react-native"; - -export StyleSheet.create({ - text: { - color: "red", - fontSize: 18, - } - }); -}; -``` - -### Choosing between Class and Function components - -There are two ways in which components can be create in React / React Native. We can use Class or Function based components. Function based components are generally quicker to create for simple use cases. However, as the components get more complicated and require more logic Class based components make this a bit easier to work with. Here are some reasons how to help make your decision a bit easier. - -**When to choose Class-Based components:** - -1. If you want to work with components lifecycle functions - Even though react provides hooks like `useEffect()`, this can get quite cumbersome when the components grows. - -2. If you are creating a [Screen](#screens). - -3. If you are creating a [Context Provider](#stores--context). - -4. If your component has a lot a **state** variables - A general rule of thump is to keep state variable count at a max of 5. - -5. If your component has a lot a **props** variables - A general rule of thump is to keep props variable count at a max of 5. - -6. If you intend on making API calls from within the component. - -**When to choose Function-Based components:** - -1. If the component is mostly visual with little to no functional logic. - - -Applying these to your development are not aim at providing technical benefit (for most scenarios) but these will help to ensure the code is more readable and easier to adapt for new developers. - - -* * * - - -## Screens - -A Screen is a conceptual grouping for React Native Components used in nagivation. Technically a screen is a component but in order to standardize how we work with react we want you to think of screen as its own thing. Screen are **not** to be imported by other Screen, Components or Layouts. - -A Screen needs to be added to the [Navigator](#nagivation) before it can be used within a mobile application. -### Usage - -```bash -$ frontier mobile:add:screen - -# Example -$ frontier mobile:add:screen login -``` -### Technical - -Each generated Screen is contained within it's own sub-folder within the **src/screens** directory. The directory contains the following files which each carry out a specific role in developing a Screen: - -* \[screen\].**tsx**: This is similar to a [Component](#component) but this is generally where we make API calls to fetch data to populate the views and import other components. Screen are also used within navigation. - - -* \[screen\].**styles.tsx**: All Stylesheet file are the same as the stylesheet used shown in [Component](#component). - - -*** - - -## Services - -Services are focused classed designed to interact with web API endpoints. As a good design pattern a service should: - -* Only interact with a single domain - -* Only provide features from the domain which are relevant to the theme of the service. Eg. A user service should be focused on methods that support such; adding order related data would make for poor encapsulation. - -```bash -$ frontier mobile:add:service - -# Example -$ frontier mobile:add:service auth - -# Output File -> src/services/auth.service.tsx -``` - -### Technical - -Each generated serive is contained within the sub-folder `src/services` directory. The directory contains a file for each service that has been created: - -* \[service-name\].**serivce.tsx**: The file will contain a related grouping of http functions. - -* While each generated service resides in its own file and class, all services extend a predefined BaseService class in order to provide centralized functionality. - -* Each service is able to specify a unique web API endpoint with which to interact - or none at all for services providing local functionality (Eg. wrapper storage mechanism over AsyncStorage). - - - -*** - -## Nagivation - -A special feature of Pages are that they can benefit from Layouts to automatically add a parent container with common pieces of UI/State that’s shared throughout the application - like Headers and Footers. The [Layouts](#layouts) section goes into more detail on this approach. - -?> A Page needs to be added to the [Router](#routing) before it can be previewed within a web browser. - -### Technical - -Each generated context is contained within the sub-folder `src/contexts` directory. The context will provide high order functions that will help you to inject global state within you Class based components. It will also provide you will hooks for you to use in your function based components. - -* \[page\].**vue**: This contains the Vue template markup used to implement the structure and layout of a Page. It is a mix of HTML and special Vue syntaxes which allow declarative databinding and structural manipulation. - -* \[page\].**ts**: This contains the TypeScript controller which provides the procedural code-behind logical needed to add integrations to a page. Through this file you may expose data and handle events generated by Page elements. - -* \[page\].**scss**: This contains the SASS stylesheet to be applied to the page - and that page only. The styles within this file are scoped, meaning they cannot be used to target any elements except those defined directly within the \[page\].vue template file. - - -?> Scoped CSS may seem weird at first because regular CSS operates with global impunity, however it is a great approach for compartmentalizing styles so they do not jump their intended scope and affect other elements. Global level styles can be added in the Theme directory. - -* \[page\].**spec.ts**: This contains the unit-level tests for the page. Read the [testing section](Testing.md#unit-tests-with-jest) for more details about writing tests. - -## Routing - -In order to determine the Pages that get loaded for a particular path within the browser, Routes are setup to create the respective mappings. - -Below is an example of a Route definition for a sample Login page: - -```jsx - - - -``` - - -The **name** field provides an alternative means of identifying and navigating to defined pages programatically. This approach is preferable because the route names can be externalized into global constants and shared throughout your code for navigational consistency. - -The **component** property specifies the Screen component to load for the given name. - -Navigation should be centralized within the **src/core/navigation** directory. This is where the [React Navigation](https://reactnavigation.org/) library is configured and where the `Stack`. - -For more details on the available options for configuring a Stack, please refer to the [React Navigation](https://reactnavigation.org/docs/stack-navigator/) documentation, and more specifically, the [API Definition](https://reactnavigation.org/docs/stack-navigator/#api-definition). - - -* * * - - -## Stores / Context - -A Context is a mechanism for maintain application state in a way which is globally accessible to all components. We use them as intermediary layers to issue API calls to relevant services, and cache the results for \[re\]use. Though the thought may occur to use a plain JavaScript object to achieve state management, a React Context differs in one distinct ways: - -* Properties are reactive. Changing Context values will automatically propagate to the component-level bindings which use them. - - -An application can have as many Contexts as needed to logically group state concerns. The Frontier CLI creates strongly typed Contexts, enabling full Intellisense and compiler support when writing code against them. - -### Usage - -```bash -$ frontier mobile:add:store - -# Example -$ frontier mobile:add:store auth - -# Output File -> src/contexts/auth.context.tsx -``` - -### Technical - -Each generated serive is contained within the sub-folder `src/contexts` directory. The context will provide high order functions that will help you to inject global state within you Class based components. It will also provide you will hooks for you to use in your function based components. - -| **Member** | **Type** | **Description** | -| ---------------------------------------------- | ----------------| ------------------------------------------------------------------------------------------------------------------------------------ | -| `ContextName`ContextProvider | React Component | Every Context object comes with a Provider React component that allows consuming components to subscribe to context changes. | -| `ContextName`Consumer | React Component | Allows components to subscribe to changes in the global state endpoint. | -| with`ContextName` | HOC[^1] | Used when Class-based components would like to consume data from the a context | -| use`ContextName` | HOC[^1] | Used when function-based components would like to consume data from the a contextresponse. | - -
- -- `ContextName` - This is the provided name for the context when created using the CLI's `add` command above. - -- [^1]_HOC (High-Order Component)_ - a higher-order component is a function that takes a component and returns a new enhanced component. diff --git a/packages/frontier-plugins/plugin-mobile/docs/getting-started.md b/packages/frontier-plugins/plugin-mobile/docs/getting-started.md deleted file mode 100644 index daf48505..00000000 --- a/packages/frontier-plugins/plugin-mobile/docs/getting-started.md +++ /dev/null @@ -1,84 +0,0 @@ -# Getting Started - -[Mobile](https://github.com/realdecoy/rdmobile) is an opinionated CLI for generating React Native Expo projects. We do so by adopting a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Screen models, -and a data-layer design promoting unified consumption through React Contexts and Services. -Follow the [installation guide](#installation) below to set up the Stripe CLI. - - -## System Requirements - -1. You will need [React Native Expo CLI](https://docs.expo.dev/get-started/installation/#expo-cli) and it dependencies in order to run the project. -2. Git -3. For macOS or Linux users: Watchman -4. MacOs to run on iOS simular. - -Recommended tools - -1. Visual Studio Code Editor [VS Code](https://code.visualstudio.com/download). - ---- - - -## Installation -Installing the mobile plugin can be done with the following command: -```bash -$ frontier plugins:install @rdfrontier/plugin-mobile -``` - -### Validate installation - -To check if the everything went will you can check the current version of mobile: - -```bash -frontier mobile -v | --version -``` - ---- - -## Usage -Now we can start using the CLI if the installation was successful. -### Step 1: Create a project - -```bash -frontier mobile create-project -``` -Replace with the actual name of your project. Preferrably written in snake case (eg. `my-awesome-project`). - -**Example** -```bash -frontier mobile create-project my-awesome-project -``` - - -### Step 2: Run project - -```bash -cd my-awesome-project - -# If you have a Mac -npm run ios - -# If you have a Mac or Windows -npm run android -``` - ---- - - -## Next Steps - -From here you can perform multiple other actions but a good next step is to [learn to add features](#cli-commands.md#add). See examples below: - -### Generating a Screen - -``` -frontier mobile:add:screen -``` - -Each generated Screen gets its own dedicated folder. The folder will be given the name of the page. This folder is located at `/src/screens/`. - -### Generating a Component - -``` -frontier mobile:add:component -``` \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-mobile/docs/images/component.png b/packages/frontier-plugins/plugin-mobile/docs/images/component.png deleted file mode 100644 index 17181b55..00000000 Binary files a/packages/frontier-plugins/plugin-mobile/docs/images/component.png and /dev/null differ diff --git a/packages/frontier-plugins/plugin-mobile/docs/testing.md b/packages/frontier-plugins/plugin-mobile/docs/testing.md deleted file mode 100644 index 7acda3ba..00000000 --- a/packages/frontier-plugins/plugin-mobile/docs/testing.md +++ /dev/null @@ -1,6 +0,0 @@ -# Testing (WIP) - -### Run Unit Test Suite -```bash -npm run test -``` diff --git a/packages/frontier-plugins/plugin-mobile/mocha.opts b/packages/frontier-plugins/plugin-mobile/mocha.opts deleted file mode 100644 index 67680354..00000000 --- a/packages/frontier-plugins/plugin-mobile/mocha.opts +++ /dev/null @@ -1,4 +0,0 @@ ---require ts-node/register ---watch-extensions ts ---reporter spec ---timeout 3000000 diff --git a/packages/frontier-plugins/plugin-mobile/package.json b/packages/frontier-plugins/plugin-mobile/package.json deleted file mode 100644 index 5e48c475..00000000 --- a/packages/frontier-plugins/plugin-mobile/package.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "name": "@rdfrontier/plugin-mobile", - "version": "1.0.0-beta.0", - "author": "Realdecoy", - "bin": { - "rdmobile": "./bin/run" - }, - "bugs": "https://github.com/realdecoy/rdmobile/issues", - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/plugin-help": "^3.2.2", - "axios": "^0.27.2", - "bluebird": "^3.7.2", - "chalk": "^4.1.0", - "cli-ux": "^5.5.1", - "fs": "0.0.1-security", - "git-url-parse": "^11.6.0", - "git-user-name": "^2.0.0", - "inquirer": "^8.1.0", - "mkdirp": "^1.0.4", - "path": "^0.12.7", - "replace-in-file": "^6.2.0", - "shelljs": "^0.8.5", - "tslib": "^1.14.1", - "util": "^0.12.4" - }, - "devDependencies": { - "@oclif/dev-cli": "^1.26.0", - "@oclif/test": "^1.2.8", - "@rdfrontier/lib-builder": "^1.0.0", - "@types/bluebird": "^3.5.33", - "@types/chai": "^4.2.15", - "@types/inquirer": "^7.3.1", - "@types/mkdirp": "^1.0.1", - "@types/mocha": "^5.2.7", - "@types/node": "^10.17.55", - "@types/shelljs": "^0.8.8", - "@types/sinon": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "babel-eslint": "^10.1.0", - "chai": "^4.3.4", - "eslint": "^7.27.0", - "eslint-config-oclif": "^3.1.0", - "eslint-config-oclif-typescript": "^0.1.0", - "globby": "^10.0.2", - "mocha": "^5.2.0", - "nyc": "^14.1.1", - "rimraf": "^3.0.2", - "sinon": "^11.1.0", - "ts-node": "^8.10.2", - "typescript": "^3.9.9" - }, - "engines": { - "node": ">=8.0.0" - }, - "files": [ - "/bin", - "/dist", - "/npm-shrinkwrap.json", - "/oclif.manifest.json" - ], - "homepage": "https://www.realdecoy.com/", - "keywords": [ - "oclif" - ], - "license": "ISC", - "main": "lib/index.js", - "oclif": { - "commands": "./dist/commands", - "helpClass": "./dist/help", - "bin": "mobile" - }, - "config": { - "commitizen": { - "path": "cz-conventional-changelog" - } - }, - "repository": { - "type": "git", - "url": "git+https://github.com/realdecoy/rdmobile.git" - }, - "scripts": { - "build": "build-package --tscOnly", - "audit": "npm audit --production", - "postpack": "rimraf oclif.manifest.json", - "posttest": "npm run lint", - "prepack": "rimraf lib && rimraf oclif.manifest.json && rimraf tsconfig.tsbuildinfo && tsc -b && oclif-dev manifest", - "version": "oclif-dev readme && git add README.md", - "test": "nyc --extension .ts mocha \"test/**/*.test.ts\" --forbid-only ", - "lint": "eslint . --ext .ts --config .eslintrc" - }, - "types": "lib/index.d.ts" -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/component.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/component.ts deleted file mode 100644 index f3a9836d..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/component.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { toKebabCase, toPascalCase, isJsonString } from '@rdfrontier/stdlib'; -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parseComponentName } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['components']; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', - 'missing-template-folder', -]; - -export default class Component extends Command { - static description = 'add a new Component module.' - - static flags = { - help: flags.help({ char: 'h' }), - type: flags.string({ hidden: true, char: 't', default: "class" }), - } - - static args = [ - { name: 'name', description: 'name of new component' }, - { name: 'type', description: 'Whether class or function based components. The default is "class". Options "class" | "function" )' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an mobile project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddComponent} command must be run in an existing ${chalk.yellow('mobile')} project`, - }), - ); - } - - const { args, flags } = this.parse(Component); - const isFunctionBased = flags.type.toLowerCase() === 'function'; - const componentType = isFunctionBased ? 'function' : 'class'; - const folderList = TEMPLATE_FOLDERS.map(folder => path.join(folder, componentType)); - - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve component name - const componentName = await parseComponentName(args); - // parse kebab and pascal case of componentName - const componentNameKebab = toKebabCase(componentName); - const componentNamePascal = toPascalCase(componentName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, componentNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, componentNameKebab); - // copy and update files for component being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, componentNameKebab, componentNamePascal); - }); - - this.log(`${CLI_STATE.Success} component added: ${componentNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Component)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/index.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/index.ts deleted file mode 100644 index 7fa60c4d..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/index.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; - -export default class Add extends Command { - static description = 'add a new module' - - static flags = { - help: flags.help({ name: 'help', char: 'h', hidden: false }), - } - - static args = [ - { name: 'component', description: 'component module', hidden: false }, - { name: 'screen', description: 'screen module', hidden: false }, - { name: 'service', description: 'service module', hidden: false }, - { name: 'store', description: 'store module', hidden: false }, - { name: 'layout', description: 'layout module', hidden: false }, - { name: 'cicd', description: 'CI/CD module', hidden: false }, - ] - - showHelp(): void { - const commandId = Add.id; - const commandArgs = Add.args; - const commandFlags = Object.values(Add.flags); - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15; - const numOfSpaces = maxSpaces - arg.name.length; - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}`; - }); - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8; - const numOfSpaces = maxSpaces - flag.name.length; - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}`; - }); - - this.log(` - Usage: - npx ${chalk.blue('mobile')} ${commandId}: - - Features: \t - Utilities to create repeatable project elements${argsList} - - Options:${optionList} - `); - } - - run(): Promise { - this.showHelp(); - - return Promise.resolve(); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/layout.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/layout.ts deleted file mode 100644 index 07108bb4..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/layout.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { toKebabCase, toPascalCase, isJsonString } from '@rdfrontier/stdlib'; -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parseLayoutName } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['layout']; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', - 'missing-template-folder', -]; - -export default class Layout extends Command { - static description = 'add a new Layout module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new layout' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an mobile project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddLayout} command must be run in an existing ${chalk.yellow('mobile')} project`, - }), - ); - } - - const { args } = this.parse(Layout); - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve component name - const layoutName = await parseLayoutName(args); - // parse kebab and pascal case of layoutName - const layoutNameKebab = toKebabCase(layoutName); - const layoutNamePascal = toPascalCase(layoutName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, layoutNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, config.manifest.installWithinFolder ? layoutNameKebab : ''); - // copy and update files for component being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, layoutNameKebab, layoutNamePascal); - }); - - this.log(`${CLI_STATE.Success} component added: ${layoutNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Component)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/screen.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/screen.ts deleted file mode 100644 index 14a38cdf..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/screen.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { toKebabCase, toPascalCase, isJsonString } from '@rdfrontier/stdlib'; -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parseScreenName } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['screen']; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', - 'missing-template-folder', -]; - -export default class Screen extends Command { - static description = 'add a new Screen module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new screen' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - this.log(`\n Test:\n ${chalk.yellow(DOCUMENTATION_LINKS.Page)}\n`); - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an mobile project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddScreen} command must be run in an existing ${chalk.yellow('mobile')} project`, - }), - ); - } - - const { args } = this.parse(Screen); - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve screen name - const screenName = await parseScreenName(args); - // parse kebab and pascal case of screenName - const screenNameKebab = toKebabCase(screenName); - const screenNamePascal = toPascalCase(screenName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, screenNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, screenNameKebab); - // copy and update files for screen being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, screenNameKebab, screenNamePascal); - }); - - this.log(`${CLI_STATE.Success} screen added: ${screenNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Page)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/service.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/service.ts deleted file mode 100644 index 843bcd14..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/service.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { toKebabCase, toPascalCase, isJsonString } from '@rdfrontier/stdlib'; -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parseServiceName } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['service']; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', -]; - -export default class Service extends Command { - static description = 'add a new Service module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new service' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an mobile project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddService} command must be run in an existing ${chalk.yellow('mobile')} project`, - }), - ); - } - - const { args } = this.parse(Service); - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve service name - const serviceName = await parseServiceName(args); - // parse kebab and pascal case of serviceName - const serviceNameKebab = toKebabCase(serviceName); - const serviceNamePascal = toPascalCase(serviceName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, serviceNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy and update files for service being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, serviceNameKebab, serviceNamePascal); - }); - - this.log(`${CLI_STATE.Success} service added: ${serviceNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Service)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/store.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/store.ts deleted file mode 100644 index 37ed602f..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/add/store.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import { toKebabCase, toPascalCase, isJsonString } from '@rdfrontier/stdlib'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parseStoreModuleName, toCamelCase } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['context']; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', - 'missing-template-folder', -]; - -export default class StoreModule extends Command { - static description = 'add a new Store module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new store module' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - - // block command unless being run within an mobile project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddStore} command must be run in an existing ${chalk.yellow('mobile')} project`, - }), - ); - } - - const { args } = this.parse(StoreModule); - const folderList = TEMPLATE_FOLDERS; - - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve storeModule name - const storeModuleName = await parseStoreModuleName(args); - // parse kebab and pascal case of storeModuleName - const storeModuleNameKebab = toKebabCase(storeModuleName); - const storeModuleNamePascal = toPascalCase(storeModuleName); - const storeModuleNameCamel = toCamelCase(storeModuleName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, storeModuleNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy and update files for storeModule being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, storeModuleNameKebab, storeModuleNamePascal, storeModuleNameCamel); - }); - - this.log(`${CLI_STATE.Success} store added: ${storeModuleNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Store)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/create-project/index.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/create-project/index.ts deleted file mode 100644 index 45c90174..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/create-project/index.ts +++ /dev/null @@ -1,140 +0,0 @@ -import shell from 'shelljs'; -import chalk from 'chalk'; -import { Command, flags } from '@oclif/command'; -import { CliUx } from '@oclif/core'; -import { toKebabCase, toPascalCase, isJsonString } from '@rdfrontier/stdlib'; -import { - parseProjectName, - checkProjectValidity, - parseBundleIdentifier -} from '../../../lib/utilities'; -import { replaceInFiles, checkIfFolderExists } from '../../../lib/files'; -import { - TEMPLATE_TAG, - TEMPLATE_PROJECT_NAME_REGEX, - CLI_STATE, - MOBILE_TEMPLATE_REPLACEMENT_FILES, - MOBILE_TEMPLATE_REPO, - MOBILE_TEMPLATE_CI_CD_REPLACEMENT_FILES, -} from '../../../lib/constants'; - -const CUSTOM_ERROR_CODES = [ - 'existing-project', - 'existing-folder', - 'file-not-changed', -]; - -export default class CreateProject extends Command { - static description = 'create a new mobile project' - - static flags = { - help: flags.help({ char: 'h' }), - verbose: flags.boolean({ hidden: true }), - // bare: flags.boolean({ hidden: true }), - } - - static args = [ - { name: 'name', description: 'name of created project' }, - { name: 'bundleIdenifier', description: 'The name of the unique identifier that will used for deployment to the App & Google play Store (eg. com.company.app)' } - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (!hasCustomErrorCode) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { args, flags } = this.parse(CreateProject); - const versbose = flags.verbose === true; - const template: string = MOBILE_TEMPLATE_REPO; - const tag: string = TEMPLATE_TAG; - const replaceRegex = TEMPLATE_PROJECT_NAME_REGEX; - let filesToReplace = MOBILE_TEMPLATE_REPLACEMENT_FILES; - - const { isValid: isValidProject } = checkProjectValidity(); - - if (isValidProject) { - throw new Error( - JSON.stringify({ - code: 'existing-project', - message: `you are already in an existing ${chalk.yellow('mobile')} project`, - }), - ); - } - - // retrieve project name - const projectName = await parseProjectName(args); - const bundleIdenifier = await parseBundleIdentifier(args); - - // convert project name to kebab case - const kebabProjectName = toKebabCase(projectName); - - // verify that project folder doesnt already exist - checkIfFolderExists(kebabProjectName); - - // update files to be replaced with project name reference - filesToReplace = filesToReplace.map(p => `${kebabProjectName}/${p}`); - - this.log(`${CLI_STATE.Info} creating mobile project ${chalk.whiteBright(kebabProjectName)}`); - - // retrieve project files from template source - await shell.exec(`git clone ${template} --depth 1 --branch ${tag} ${kebabProjectName}`, { silent: !versbose }); - - // find and replace project name references - const success = await replaceInFiles(filesToReplace, replaceRegex, `${kebabProjectName}`); - - MOBILE_TEMPLATE_CI_CD_REPLACEMENT_FILES - .map(file => `${kebabProjectName}/${file}`) - .forEach(async file => { - await replaceInFiles(file, /__PROJECT_SCHEME__/g, toPascalCase(projectName)); - await replaceInFiles(file, /__BUNDLE_IDENTIFIER__/g, bundleIdenifier.toLowerCase()); - }); - - - if (success === false) { - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: 'updating your project failed', - }), - ); - } - - CliUx.ux.action.start(`${CLI_STATE.Info} Initializing Git`); - // remove git folder reference to base project - await shell.exec(`npm install -g rimraf && npx rimraf ${kebabProjectName}/.git`, { silent: !versbose }); - - // initialize git in the created project - await shell.exec(`cd ${kebabProjectName} && git init && git add . && git commit -m "Setup: first commit" && git branch -M main`, { silent: !versbose }); - CliUx.ux.action.stop(); - - // Installing dependencies - CliUx.ux.action.start(`${CLI_STATE.Info} Installing dependencies`); - await shell.exec(`cd ${kebabProjectName} && npm install`, { silent: !versbose }); - CliUx.ux.action.stop(); - - this.log(`\n${CLI_STATE.Success} ${chalk.whiteBright(kebabProjectName)} is ready!`); - - // Output final instructions to user - this.log(`\n${chalk.magenta('Next Steps:')}\n${chalk.magenta('-')} cd ${chalk.whiteBright(kebabProjectName)}\n${chalk.magenta('-')} npm run [ android || ios ]\n\nIf you want to integrate with the ${chalk.blue('native')} project, you can run the following command inside the project's root directroy:\n${chalk.magenta('-')} npm run eject\n`); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/plugin/index.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/plugin/index.ts deleted file mode 100644 index 26bb15f6..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/plugin/index.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; - -export default class Plugin extends Command { - static description = 'add a new module' - - static flags = { - help: flags.help({ name: 'help', char: 'h', hidden: false }), - } - - static args = [ - // { name: 'buefy', description: 'lightweigth UI components for Vue.js', hidden: false }, - { name: 'localization', description: 'library for localizing content', hidden: false }, - // { name: 'vuetify', description: 'material design framework for Vue.js', hidden: false }, - // { name: 'storybook', description: '[coming soon] UI component explorer for frontend devs', hidden: true }, - ] - - showHelp(): void { - const commandId = Plugin.id; - const commandArgs = Plugin.args; - const commandFlags = Object.values(Plugin.flags); - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15; - const numOfSpaces = maxSpaces - arg.name.length; - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}`; - }) - .toString() - .split(',') - .join(''); - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8; - const numOfSpaces = maxSpaces - flag.name.length; - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}`; - }) - .toString() - .split(',') - .join(''); - - this.log(` - Usage: - npx ${chalk.blue('mobile')} ${commandId}: - - Libraries: \t - Utilities to extend project functionality${argsList} - - Options:${optionList} - `); - } - - run(): Promise { - this.showHelp(); - - return Promise.resolve(); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/plugin/localization.ts b/packages/frontier-plugins/plugin-mobile/src/commands/mobile/plugin/localization.ts deleted file mode 100644 index 01fe9a70..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/commands/mobile/plugin/localization.ts +++ /dev/null @@ -1,146 +0,0 @@ -import shell from 'shelljs'; -import cli from 'cli-ux'; -const util = require('util'); -const exec = util.promisify(shell.exec); -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseDynamicObjects, parseModuleConfig } from '../../../lib/files'; -import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DYNAMIC_OBJECTS } from '../../../lib/constants'; -import { injectImportsIntoMain, injectModulesIntoMain } from '../../../lib/plugins'; - -const TEMPLATE_FOLDERS = ['localization']; -const TEMPLATE_MIN_VERSION_SUPPORTED = 2; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'missing-template-file', - 'missing-template-folder', - 'dependency-install-error', -]; - -export default class Localization extends Command { - static description = 'adds i18bn localization' - - static flags = { - help: flags.help({ char: 'h' }), - forceProject: flags.string({ hidden: true }), - skipInstall: flags.boolean({ hidden: true }), - } - - static args = [] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { flags } = this.parse(Localization); - const projectName = flags.forceProject; - const skipInstallStep = flags.skipInstall === true; - const hasProjectName = projectName !== undefined; - const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; - - const validityResponse = checkProjectValidity(); - const { isValid: isValidProject } = validityResponse; - let { projectRoot } = validityResponse; - // block command unless being run within an mobile project - if (isValidProject === false && !hasProjectName) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.PluginLocalization} command must be run in an existing ${chalk.yellow('mobile')} project`, - }), - ); - } else if (hasProjectName) { - const dir = path.join(process.cwd(), projectName ?? ''); - projectRoot = dir.trim(); - } - - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string = ''; - let installDirectory: string = ''; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - const config = configs[0]; - const files: Array = config.manifest.files; - const dependencies = config.manifest.packages.dependencies.toString() - .split(',') - .join(' '); - const devDependencies = config.manifest.packages.devDependencies.toString() - .split(',') - .join(' '); - - if (skipInstallStep === false) { - try { - // // install dev dependencies - cli.action.start(`${CLI_STATE.Info} installing localization dev dependencies`); - await exec(`${preInstallCommand} npm install --save-dev ${devDependencies}`, { silent: true }); - cli.action.stop(); - - // // install dependencies - cli.action.start(`${CLI_STATE.Info} installing localization dependencies`); - await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); - cli.action.stop(); - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'dependency-install-error', - message: `${this.id?.split(':')[1]} localization dependencies failed to install`, - }), - ); - } - } else { - cli.action.start(`${CLI_STATE.Info} adding localization dependencies`); - await exec(`cd ${projectName} && npx add-dependencies ${devDependencies} --save-dev`, { silent: true }); - await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); - cli.action.stop(); - } - - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy files for plugin being added - await copyFiles(sourceDirectory, installDirectory, files); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.routes, null, 1), DYNAMIC_OBJECTS.Routes); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.vueOptions, null, 1), DYNAMIC_OBJECTS.Options, true); - if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { - const { imports: mainImports, modules: mainModules } = config.manifest.main; - injectImportsIntoMain(projectRoot, mainImports); - try { - injectModulesIntoMain(projectRoot, mainModules); - } catch (error) { - this.error(error); - } - } else { - // FP-414: backwards compatibility - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.modules, null, 1), DYNAMIC_OBJECTS.Modules, true); - } - - if (skipInstallStep === false) { - this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); - } - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/help.ts b/packages/frontier-plugins/plugin-mobile/src/help.ts deleted file mode 100644 index 0de1b268..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/help.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { Help } from '@oclif/plugin-help'; -import { Command, Topic } from '@oclif/config'; -import chalk from 'chalk'; -import { log } from './lib/stdout'; - -export default class MyHelpClass extends Help { - // acts as a 'router' - // and based on the args it receives - // calls one of showRootHelp, showTopicHelp, - // or showCommandHelp - showRootHelp(): void { - log(` - npx ${chalk.blue('mobile')} - - Actions: - create-project - Scaffold a new mobile project - add - Add a feature to a project - plugin - Inject a utility to extend project functionality - - Options: - --help | -h - Show help information - --verbose - Show debug logs to get more information - `, - ); - } - - showTopicHelp(topic: Topic): void { - const name = topic.name; - const depth = name.split(':').length; - - const subTopics = this.sortedTopics.filter((t: any) => t.name.startsWith(`${name}:`) && t.name.split(':').length === depth + 1); - const commands = this.sortedCommands.filter((c: any) => c.id.startsWith(`${name}:`) && c.id.split(':').length === depth + 1); - - log(this.formatTopic(topic)); - - if (subTopics.length > 0) { - log(this.formatTopics(subTopics)); - log(''); - } - - if (commands.length > 0) { - log(this.formatCommands(commands)); - log(''); - } - } - - // display help for a command - showCommandHelp(command: Command): void { - const commandId = command.id; - const commandArgs = command.args; - const commandFlags = Object.values(command.flags); - - // parse argument names - const argNames = commandArgs - .filter(arg => !arg.hidden) - .map(arg => `<${arg.name}>`); - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15; - const numOfSpaces = maxSpaces - arg.name.length; - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}`; - }); - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8; - const numOfSpaces = maxSpaces - flag.name.length; - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}`; - }); - - log(` - Usage: - npx ${chalk.blue('mobile')} ${commandId} ${argNames} - - Arguments:${argsList} - - Options:${optionList}`); - } -} diff --git a/packages/frontier-plugins/plugin-mobile/src/index.ts b/packages/frontier-plugins/plugin-mobile/src/index.ts deleted file mode 100644 index 63a56fdf..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { run } from '@oclif/command'; diff --git a/packages/frontier-plugins/plugin-mobile/src/lib/constants.ts b/packages/frontier-plugins/plugin-mobile/src/lib/constants.ts deleted file mode 100644 index 81384358..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/lib/constants.ts +++ /dev/null @@ -1,74 +0,0 @@ -import chalk from 'chalk'; - -export const TEMPLATE_ROOT = '.rdvue/template'; -export const MOBILE_TEMPLATE_REPO = - 'https://github.com/realdecoy/rdvue-mobile-template'; -// export const TEMPLATE_TAG = 'main'; // replace this with the appropriate release tag in the template repo -export const TEMPLATE_TAG = 'beta-refactor'; // replace this with the appropriate release tag in the template repo -export const TEMPLATE_PROJECT_NAME_REGEX = /__PROJECT_NAME__/g; -export const TEMPLATE_MOBILE_PROJECT_SCEHEM_REGEX = /__PROJECT_SCHEME__/g; -export const TEMPLATE_MOBILE_PROJECT_BUNLDE_IDNEITIFIER_REGEX = /__BUNDLE_IDENTIFIER__/g; -export const TEMPLATE_VERSIONS_SUPPORTED = [2]; -export const TEMPLATE_CONFIG_FILENAME = 'manifest.json'; - -enum DYNAMIC_OBJECTS_ENUM { - Routes = 'routes', - Store = 'store', - Options = 'options', - Modules = 'modules', -} -export const DYNAMIC_OBJECTS = DYNAMIC_OBJECTS_ENUM; - -enum CLI_COMMANDS_ENUM { - CreateProject = 'create-project', - Upgrade = 'upgrade', - AddComponent = 'add:component', - AddLayout = 'add:layout', - AddScreen = 'add:screen', - AddService = 'add:service', - AddStore = 'add:store', - AddModule = 'add', - PluginBuefy = 'plugin:buefy', - PluginLocalization = 'plugin:localization', - PluginVuetify = 'plugin:vuetify', - PluginBitrise= 'plugin:bitrise', - PluginLibrary = 'plugin', - PoorHelpCommand = 'add-help', -} -export const CLI_COMMANDS = CLI_COMMANDS_ENUM; - -enum DOCUMENTATION_LINKS_ENUM { - Rdvue = 'https://realdecoy.github.io/rdvue/#/', - Component = 'https://realdecoy.github.io/rdvue/#/Features?id=components', - Page = 'https://realdecoy.github.io/rdvue/#/Features?id=pages', - Layout = 'https://realdecoy.github.io/rdvue/#/Features?id=layouts', - Service = 'https://realdecoy.github.io/rdvue/#/Features?id=services', - Store = 'https://realdecoy.github.io/rdvue/#/Features?id=stores', -} -export const DOCUMENTATION_LINKS = DOCUMENTATION_LINKS_ENUM; - - -export const MOBILE_TEMPLATE_REPLACEMENT_FILES = [ - 'package.json', - 'package-lock.json', - '.rdvue/.rdvue', - 'app.json', -]; - -export const MOBILE_TEMPLATE_CI_CD_REPLACEMENT_FILES = [ - 'bitrise.yml', - 'app.json', -]; - -export const CLI_STATE = { - Info: `${chalk.blue('[mobile]')}`, - Error: `${chalk.red('[mobile]')}`, - Warning: `${chalk.yellow('[mobile]')}`, - Success: `${chalk.green('[mobile]')}`, -}; - -export const BITRISE_CONFIGS = { - baseURL: 'https://api.bitrise.io/v0.1', -}; - -export const REQUEST_TIMEOUT_MILLISECONDS = 3600; diff --git a/packages/frontier-plugins/plugin-mobile/src/lib/files.ts b/packages/frontier-plugins/plugin-mobile/src/lib/files.ts deleted file mode 100644 index cfeebf00..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/lib/files.ts +++ /dev/null @@ -1,581 +0,0 @@ -/* eslint-disable max-lines */ -import fileSystem from 'fs'; -import bluebirdPromise from 'bluebird'; -import path from 'path'; -import mkdirp from 'mkdirp'; -const util = require('util'); -import chalk from 'chalk'; -import { Files, InjectOptions } from '../modules'; -const replace = require('replace-in-file'); -import { hasCamel, hasKebab } from './utilities'; -import { DYNAMIC_OBJECTS, TEMPLATE_CONFIG_FILENAME, TEMPLATE_ROOT } from './constants'; -import { log } from '../lib/stdout'; - -const UTF8 = 'utf-8'; -const fs = bluebirdPromise.promisifyAll(fileSystem); -const copyFilePromise = util.promisify(fs.copyFile); -const getDirName = path.dirname; - -/** - * Description: Read file located at specified filePath - * @param {string} filePath - a path to a file - * @returns {string} - - */ -function readFile(filePath: string): string { - return fs.readFileSync(filePath, UTF8); -} - -/** - * Description: Determine whether or not the given path is a - * directory which exists - * @param {string} filePath - a path to a file - * @returns {boolean} - - */ -function directoryExists(filePath: string): boolean { - try { - return fs.statSync(filePath).isDirectory(); - } catch (error) { - return false; - } -} - -/** - * Description: Determine whether or not the given file exists - * @param {string} filePath - a path to a file - * @returns {boolean} - - */ -function fileExists(filePath: string): boolean { - try { - return fs.existsSync(filePath); - } catch (error) { - return false; - } -} - -/** - * Description: Read main config file to determine options the tool can take - * @param {string} filePath - - * @returns {any} - - */ -function readConfigFile(filePath: string): any { - const isExistingFile = fileExists(filePath); - if (isExistingFile === false) { - throw new Error( - JSON.stringify({ - code: 'missing-template-file', - message: `template file not found, run ${chalk.whiteBright('mobile upgrade')} to continue`, - }), - ); - } - - return JSON.parse(readFile(filePath)); -} - -/** - * Description: parse config files required for scaffolding this module - * @param {string[]} folderList - - * @param {string} projectRoot - - * @returns {[any]} - - */ -function parseModuleConfig(folderList: string[], projectRoot: string): { name: string, moduleTemplatePath: string, manifest: any }[] { - return folderList.map(folder => { - const moduleTemplatePath = path.join(projectRoot, TEMPLATE_ROOT, folder); - const configFilePath = path.join(moduleTemplatePath, TEMPLATE_CONFIG_FILENAME); - - return { - name: folder, - moduleTemplatePath, - manifest: readConfigFile(configFilePath), - }; - }); -} - -/** - * Description: Writes given data to a file - * @param {string} filePath - path of file which will be created or modified to include given data - * @param {string} data - data written to file - * @returns {boolean} - - */ -function writeFile(filePath: string, data: string): boolean { - let success = true; - try { - fs.writeFileSync(filePath, data); - } catch (error) { - success = false; - throw new Error('failed to write to file'); - } - - return success; -} - -/** - * Description: Replace content in list of files based on configs passed in - * @param {string|string[]} files - - * @param {RegExp} from - - * @param {string} to - - * @returns {Promise} - - */ -async function replaceInFiles(files: string | string[], from: RegExp, to: string): Promise { - let result = false; - let replaceResults; - let failedFiles; - const options = { - files, - from, - to, - }; - - try { - replaceResults = await replace(options); - failedFiles = replaceResults - .filter((result: { file: string; hasChanged: boolean }) => !result.hasChanged) - .map((result: { file: string; hasChanged: boolean }) => result.file); - result = failedFiles.length === 0; - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: error.message, - }), - ); - } - - return result; -} - -/** - * Description: Replace filename with a given value - * @param {string} fileName - filename to be replaced - * @param {RegExp} placeholder - pattern used with specified flag in order - * to created new RegExp (old file name) - * @param {string} value - value to replace old filename - * @returns {string} - - */ -function replaceFileName( - fileName: string, - placeholder: RegExp, - value: string, -): string { - const r = new RegExp(placeholder, 'g'); - const response = fileName.replace(r, value); - - return response; -} - -/** - * Description: Update target filenames to include feature name - * @param {Array} files - filenames which need to be updated - * @param {string} featureName - the string used to update the name of the files - * @returns {void} - - */ -function replaceTargetFileNames( - files: Array, - featureName: string, -): void { - if (featureName !== '') { - files.forEach((file: string | Files) => { - if (typeof file !== 'string') { - if (file.target !== file.source) { - file.target = replaceFileName( - file.target, - /(\${.*?\})/, - featureName ?? '', - ); - } - } - }); - } -} - -/** - * Description: Copy files from a source directory to a destination directory - * @param {string} srcDir - directory from which files will be copied - * @param {string} destDir - directory to which files will be copied - * @param {Array} files - files to be copied - * @returns {Promise} - - */ -function copyFiles( - srcDir: string, - destDir: string, - files: Array, -): Promise { - return Promise.all( - files.map((f: Files | string) => { - let source = ''; - let dest = ''; - // Get source and destination paths - if (typeof f === 'string') { - source = path.join( - srcDir, - `${srcDir.includes('config') ? 'core' : ''}`, - f, - ); - dest = path.join(destDir, f); - } else { - source = path.join(srcDir, f.source); - dest = path.join(destDir, f.target); - } - - // Create all the necessary directories if they dont exist - const dirName = getDirName(dest); - mkdirp.sync(dirName); - - return copyFilePromise(source, dest); - }), - ); -} - -/** - * Description: Write changes to a file - * @param {string} filePath - location of file to be updated - * @param {string} file - existing file content - * @param {string} placeholder - placeholder to be replaced - * @param {string} value - value to replace content in file - * @returns {Promise} - - */ -async function updateFile( - filePath: string, - file: string, - placeholder: string, - value: string, -): Promise { - const r = new RegExp(placeholder, 'g'); - - if (value !== '') { - const newValue = file.replace(r, value); - await fs.writeFileSync(filePath, newValue, UTF8); - } -} - -/** - * Read files that have been copied to target destination - * and replace template values with input recieved form user - * through prompts - * @param {string} destDir - target destination - * @param {Files[] | Array} files - files to read - * @param {string} kebabName - name of feature in kebab case - * @param {string} pascalName - name of feature in pascal case - * @returns {Promise} - - */ -async function readAndUpdateFeatureFiles( - destDir: string, - files: Files[] | Array, - kebabName: string, - pascalName: string, - camelName: string | undefined = undefined, -): Promise { - let filePath = ''; - const promisedUpdates = []; - - // [3] For each file in the list - for (const file of files) { - if (typeof file === 'string') { - continue; - } - - // [3b] Add the target file to the path of the desired destination directory - filePath = path.join(destDir, file.target); - - // [3c] Check if the contents of the file is defined - if (file.content !== undefined && Array.isArray(file.content)) { - // [3d] For each content block in the file contnet array - for (const contentBlock of file.content) { - if (contentBlock && contentBlock.matchRegex) { - // [4] Get the content at the desired file path - const fileContent = readFile(filePath); - // [5] Update the contents of the file at given filePath - promisedUpdates.push( - updateFile( - filePath, - fileContent, - contentBlock.matchRegex, - hasKebab(contentBlock.replace) === true - ? kebabName - : hasCamel(contentBlock.replace) === true && camelName - ? camelName - : contentBlock.replace.includes('${') - ? pascalName - : contentBlock.replace, - ), - ); - } - } - } else if (file.content) { - throw new Error( - JSON.stringify({ - code: 'failed-match-and-replace', - message: `failed to match and replace for :${kebabName} files`, - }), - ); - } - } - await Promise.all(promisedUpdates); -} - -/** - * Description: determine if is root directory of mobile project - * @param {string|null} location defaults to null - * @returns {boolean} - - */ -function isRootDirectory(location: string | null = null): boolean { - let isRoot = false; - try { - let paths = []; - let testLocation = location; - if (location === null) { - testLocation = process.cwd(); - } - - if (testLocation !== null) { - paths = testLocation.split(path.sep); - if (paths.length > 0 && paths[1] === '') { - isRoot = true; - } - } - } catch (error) { - throw new Error('Error checking root directory'); - } - - return isRoot; -} - -/** - * Description: determine the root of the current project - * @returns {string | null} - - */ -function getProjectRoot(): string | null { - const configFolderName = '.rdvue'; - const maxTraverse = 20; - - let currentPath = process.cwd(); - let currentTraverse = 0; - let projectRoot = null; - let back = './'; - - // eslint-disable-next-line no-constant-condition - while (true) { - currentPath = path.join(process.cwd(), back); - back = path.join(back, '../'); - currentTraverse += 1; - - if (directoryExists(path.join(currentPath, configFolderName))) { - projectRoot = currentPath; - break; - } else if (isRootDirectory(currentPath)) { - projectRoot = null; - break; - } else if (currentTraverse > maxTraverse) { - projectRoot = null; - break; - } - } - - return projectRoot; -} - -/** - * Description: Determine whether or not the given file path is a - * directory which exists - * @param {string} folderPath - a path to a folder - * @returns {void} - - */ -function checkIfFolderExists(folderPath: string): void { - const isExistingFolder = directoryExists(folderPath); - // block command if project folder already exists - if (isExistingFolder === true) { - throw new Error( - JSON.stringify({ - code: 'existing-folder', - message: `folder named ${chalk.whiteBright(folderPath)} already exists`, - }), - ); - } -} - -/** - * Description: Determine whether or not the given folder path is a - * directory which exists - * @param {string} folderPath - a path to a folder - * @returns {void} - - */ -function verifyTemplateFolderExists(folderPath: string): void { - const isExistingFolder = directoryExists(folderPath); - // block command if project folder already exists - if (isExistingFolder === false) { - throw new Error( - JSON.stringify({ - code: 'missing-template-folder', - message: `template folder not found, run ${chalk.whiteBright('mobile upgrade')} to continue`, - }), - ); - } -} - -/** - * Description: Inject dynamic objects into project files - * @param {string} projectRoot - - * @param {string} jsonData - stringified json data from file - * @param {string} objectName - property name to be injected - * @param {boolean?} hasBrackets - injected object has brackets - * @returns {void} - - */ -function parseDynamicObjects( - projectRoot: string, - jsonData: string, - objectName: string, - hasBrackets?: boolean, -): void { - let filePathOfObjectInsideProject; - let objectInProject; - let objectStringToBeWritten = ''; - - // 1[b] Once inside of a project values are assigned to be used - if (projectRoot !== null) { - // Allocate the location of the .js file - filePathOfObjectInsideProject = path.join( - projectRoot, - '.rdvue', - `${objectName}.js`, - ); - - // Read files to be modified - objectInProject = readFile(filePathOfObjectInsideProject); - - // Replace brackets & ("/`) quotations in string - let modifiedJSONData = jsonData.replace(/[[\]"`]+/g, ''); - - // Remove beginning and closing brackets if its an option to be modified - if (hasBrackets) { - modifiedJSONData = modifiedJSONData.substring( - 1, - modifiedJSONData.length - 1, - ); - } - - // Removed closers from files to append information - const originalObjectString = objectInProject.slice(0, -2); - - // Append the new information and close files after changes - objectStringToBeWritten = `${originalObjectString}${modifiedJSONData.trim()},${objectName === DYNAMIC_OBJECTS.Routes ? ']' : '}'};`; - } - - // 1[c] Once everything is clear write the updated file into the ./mobile foldler - if ( - filePathOfObjectInsideProject !== undefined && - objectStringToBeWritten !== '' - ) { - writeFile(filePathOfObjectInsideProject, objectStringToBeWritten); - } -} - -/** - * Injects the content into the targetted file. You can control where the - * the content is injected by specifying the index in the options argument. - * You can also use a method to dynamically determine the index. If the index - * is not defined, this method will inject the content at the start of the file. - * - * @param {string} targetPath full path to the file you are injecting into - * @param {string} content The content to inject - * @param {InjectOptions?} options see InjectOptions type - */ -function inject(targetPath: string, content: string, options?: InjectOptions): void { - const encoding = options?.encoding ?? 'utf-8'; - let index = options?.index ?? 0; - - let targetContent = fs.readFileSync(targetPath, { encoding }); - const lines = targetContent.split(/\r?\n/g); - - if (typeof index === 'function') { - index = index(lines.slice(), targetPath); - } - - lines.splice(index, 0, content); - targetContent = lines.join('\n'); - - fs.writeFileSync(targetPath, targetContent, { encoding }); -} - -/** - * Description: - * @param {string} projectRoot - - * @param {string} folderName - - * @param {string|string[]} featuredata - - * @param {string} fileName - - * @returns {void} - */ -async function updateDynamicImportsAndExports( - projectRoot: string, - folderName: string, - featuredata: string | string[], - fileName: string, -): Promise { - const SOURCE_DIRECTORY = 'src'; - - if (projectRoot === null) { - log('Project location was not found'); - } else { - const fileLocation = path.join(projectRoot, SOURCE_DIRECTORY, folderName, fileName); - if (fileExists(fileLocation)) { - if (typeof featuredata === 'string') { - await fs.appendFileSync(fileLocation, featuredata); - } else { - featuredata.forEach(data => { - fs.appendFileSync(fileLocation, data); - }); - } - } else { - log(`${fileLocation} - Does not exist`); - } - } -} - -/** - * Injects New page route data into RDVue Mobile routes array - * @param {string} projectRoot - Root of project - * @param {string} pageNamePascal - Pascale case version of page name - * @param {string} pageName - Page name - * @param {string[]} lines - Lines being inserted into route array - */ -function updateNativeRoutes( - projectRoot: string, - pageNamePascal: string, - pageName: string, - lines: string[], -): void { - const routePath = path.join(projectRoot, 'src', 'config', 'route.ts'); - const newLines: string[] = []; - const nameRegEx = new RegExp('__NAME__', 'g'); - const pathRegEx = new RegExp('__PATH__', 'g'); - - // Read file and Locate the end of array containing the routes - const encoding = 'utf-8'; - const routes = fs.readFileSync(routePath, { encoding }); - const index = routes.split(/\r?\n/g).findIndex(line => line.trimStart().startsWith('];')); - - // Update generic lines with page values - lines.forEach((line, i) => { - newLines[i] = line.replace(nameRegEx, pageNamePascal).replace(pathRegEx, pageName); - }); - - // Join contents with a new line and inject into file - const contents = newLines.join('/\n'); - inject(routePath, contents, { index }); -} - -export { - updateDynamicImportsAndExports, - parseDynamicObjects, - verifyTemplateFolderExists, - checkIfFolderExists, - parseModuleConfig, - replaceInFiles, - replaceTargetFileNames, - readAndUpdateFeatureFiles, - copyFiles, - getProjectRoot, - fileExists, - writeFile, - inject, - updateNativeRoutes, - readConfigFile, -}; diff --git a/packages/frontier-plugins/plugin-mobile/src/lib/plugins.ts b/packages/frontier-plugins/plugin-mobile/src/lib/plugins.ts deleted file mode 100644 index 7208ea4f..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/lib/plugins.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { inject } from './files'; -import path from 'path'; - -/** - * Private helper method for finding index of last import statement. - * @param {Array} lines the lines of a file - * @returns {number} the index of the last import statement. - * Returns 0 if no imports were found. - */ -function findIndexOfLastImportStatement(lines: string []): number { - const index = lines.slice() - .reverse() - .findIndex(line => line.trimStart().startsWith('import')); - - return (index === -1) ? 0 : lines.length - index; -} - -/** - * Private helper method for finding the the vue initializer - * @param {Array} lines the lines of a file - * @returns {number} the index of the last import statement. - * @throws error if the vue initializer is not found. - */ -function findIndexOfVueConstructor(lines: string[]): number { - const index = lines.findIndex(line => line.trimStart().startsWith('new Vue')); - if (index === -1) { - throw new Error('Vue initializer was not defined in main.ts.'); - } - - return index + 1; -} - -/** - * private helper method for assembling path to main - * @param {string} projectRoot root path to the project - * @returns {string} returns the path - */ -function getMainPath(projectRoot: string): string { - const ext = 'ts'; - - return path.join(projectRoot, 'src', `main.${ext}`); -} - -/** - * helper method for injecting modules into main. - * @param {string} projectRoot the root path of the project - * @param {string | string[]} lines the lines to inject - */ -function injectImportsIntoMain(projectRoot: string, lines: string | string[]): void { - const mainPath = getMainPath(projectRoot); - const contents = Array.isArray(lines) ? lines.join('') : lines.slice(); - inject(mainPath, contents, { - index: findIndexOfLastImportStatement, - }); -} - -/** - * Helper method for injecting modules into the Vue constructor - * @param {string} projectRoot the root path of the project - * @param {strings} lines the lines to inject - */ -function injectModulesIntoMain(projectRoot: string, lines: string | string[]): void { - const mainPath = getMainPath(projectRoot); - const contents = `${Array.isArray(lines) ? lines.join(',\n') : lines.slice()},`; - inject(mainPath, contents, { - index: findIndexOfVueConstructor, - }); -} - -export { - injectImportsIntoMain, - injectModulesIntoMain, -}; diff --git a/packages/frontier-plugins/plugin-mobile/src/lib/stdout.ts b/packages/frontier-plugins/plugin-mobile/src/lib/stdout.ts deleted file mode 100644 index 7f86ccc5..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/lib/stdout.ts +++ /dev/null @@ -1,15 +0,0 @@ -import util from 'util'; -/** - * Emulates the log method from @oclif/command, since they don't seem to be - * offering any alternatives. Can be replaced with another logging library. - * @param {any} message The content to print to the console - * @param {Array} args See util.format for formatting arguments. - */ -function log(message: any = '', ...args: any[]): void { - message = typeof message === 'string' ? message : util.inspect(message); - process.stdout.write(`${util.format(message, ...args)}\n`); -} - -export { - log, -}; diff --git a/packages/frontier-plugins/plugin-mobile/src/lib/utilities.ts b/packages/frontier-plugins/plugin-mobile/src/lib/utilities.ts deleted file mode 100644 index 1f72f71f..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/lib/utilities.ts +++ /dev/null @@ -1,595 +0,0 @@ -/* eslint-disable max-lines */ -import * as inquirer from 'inquirer'; -import { Lookup } from '../modules'; -import { CLI_STATE, TEMPLATE_TAG } from './constants'; -import { getProjectRoot, readConfigFile } from './files'; -import { toPascalCase } from '@rdfrontier/stdlib'; - - -/** - * Description: check if string has a substring 'kebab' in it - * @param {string} value - a string value - * @returns {boolean} - - */ -function hasKebab(value = ''): boolean { - let result = false; - if (value.match(/kebab/gi) !== null) { - result = true; - } - - return result; -} - -/** - * Description: check if string has a substring 'kebab' in it - * @param {string} value - a string value - * @returns {boolean} - - */ -function hasCamel(value = ''): boolean { - let result = false; - if (value.match(/Camel/gi) !== null) { - result = true; - } - - return result; -} - -/** - * Description: convert a string to camel case (e.g. myProjectName) - * @param {string} value - a - * @returns {string} - string value - */ -function toCamelCase(value: string): string { - const pascal = toPascalCase(value); - - return pascal.charAt(0).toLowerCase() + pascal.substr(1); -} - -/** - * Description: determine if string is valid project name - * @param {string} value - a string value - * @returns {any} - - */ -function validateProjectName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidProjectName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A project name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for project names (e.g. my-project-name)`; - } - - return isValidProjectName ? true : resultMessage; -} - -/** - * Description: determine if string is valid project name - * @param {string} value - a string value - * @returns {any} - - */ -function validateDomain(value: string) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = - value.match( - /(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/, - ) !== null; - const isValid = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A bundleIdentifier is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} bundleIdenifiter should be a valid domain. Normally this is the reverse of you website's domain (e.g. com.company.app)`; - } - - return isValid ? true : resultMessage; -} - -/** - * Description: determine if string is valid component name - * @param {string} value - a string value - * @returns {any} - -*/ -function validateComponentName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidComponentName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A component name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for component names (e.g. my-component-name)`; - } - - return isValidComponentName ? true : resultMessage; -} - -/** - * Description: determine if string is valid version name - * @param {string} value - a string value - * @returns {any} - - */ -function validateVersionName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidVersionName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A version name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for version names (e.g. my-version-name)`; - } - - return isValidVersionName ? true : resultMessage; -} - -/** - * Description: determine if string is valid page name - * @param {string} value - a string value - * @returns {any} - - */ -function validatePageName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidArgName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A page name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for page names (e.g. page-name)`; - } - - return isValidArgName ? true : resultMessage; -} - -/** - * Description: determine if string is valid service name - * @param {string} value - a string value - * @returns {any} - - */ -function validateServiceName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidArgName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A service name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for service names (e.g. service-name)`; - } - - return isValidArgName ? true : resultMessage; -} - -/** - * Description: determine if string is valid store module name - * @param {string | null} value - a string value - * @returns {any} - - */ -function validateStoreModuleName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidArgName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A store module name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for store module names (e.g. auth-store)`; - } - - return isValidArgName ? true : resultMessage; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseLayoutName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: 'my-layout', - message: 'Enter a layout name: ', - type: 'input', - validate: validateComponentName, - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseComponentName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: 'my-component', - message: 'Enter a component name (e.g. dashbaord, account-overview): ', - type: 'input', - validate: validateComponentName, - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {string} args - a string value - * @returns {Lookup} - - */ -async function parseProjectName(args: Lookup): Promise { - let argName = args.name; - // if no project name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: 'my-mobile-project', - message: 'Enter a project name: ', - type: 'input', - validate: validateProjectName, - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for template version - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseVersionName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: TEMPLATE_TAG, - message: 'Enter a version: ', - type: 'input', - validate: validateVersionName, - }, - ]); - argName = responses.name; - } - - return argName; -} - - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseScreenName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: 'hello-world', - message: 'Enter a screen name: ', - type: 'input', - validate: validatePageName, - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseServiceName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: 'auth-service', - message: 'Enter a service name: ', - type: 'input', - validate: validateServiceName, - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseStoreModuleName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: 'auth', - message: 'Enter a store module name (e.g. auth, settings): ', - type: 'input', - validate: validateStoreModuleName, - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseBundleIdentifier(args: Lookup): Promise { - let argName = args.bundleIdenifier; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: 'com.company.app', - message: 'Enter app\'s Bundle Idenifier: ', - type: 'input', - validate: validateDomain, - }, - ]); - - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseProjectScheme(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: '', - message: 'Enter a name for the project scheme (eg. ProjectName): ', - type: 'input', - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseBitriseAuthorizationKey(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: '', - message: 'Enter your Bitrise Authorization Key: ', - type: 'input', - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseGitProviderUrl(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: '', - message: - 'Enter SSH version of your repository URL (eg. git@github.com:demo_owner/example-repository.git): ', - type: 'input', - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseRepoOwner(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: '', - message: 'Enter the owner of the repository (eg. demo_owner): ', - type: 'input', - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseGitSlug(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: '', - message: 'Enter your repository slug (eg. example-repository.git): ', - type: 'input', - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseGitProvider(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([ - { - name: 'name', - default: '', - message: 'Enter GIT provider (eg. Github, bitbucket or Gitlab): ', - type: 'input', - }, - ]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: determine if command is ran within a valid rdvue project - * @returns {any} - - */ -function checkProjectValidity(): { isValid: boolean; projectRoot: string } { - const results = { - isValid: false, - projectRoot: '', - }; - - const projectRoot: string | null = getProjectRoot(); - if (projectRoot !== null && projectRoot !== '') { - results.isValid = true; - results.projectRoot = projectRoot; - } else { - results.isValid = false; - } - - return results; -} - -interface ProjectConfig { - projectRoot: string; - cicd: string; -} - -/** - * Description: determine if command is ran within a valid rdvue project - * @returns {any} - - */ -function getProjectConfig(): ProjectConfig { - const projectRoot: string | null = getProjectRoot(); - - return readConfigFile(`${projectRoot}/.rdvue/.rdvue`); -} - -export { - hasKebab, - hasCamel, - toCamelCase, - parseLayoutName, - parseComponentName, - parseProjectName, - // parseProjectPresets, - parseVersionName, - parseScreenName, - parseServiceName, - parseStoreModuleName, - checkProjectValidity, - parseBitriseAuthorizationKey, - parseGitProviderUrl, - parseGitProvider, - parseGitSlug, - parseRepoOwner, - getProjectConfig, - parseProjectScheme, - parseBundleIdentifier, -}; diff --git a/packages/frontier-plugins/plugin-mobile/src/modules/file.ts b/packages/frontier-plugins/plugin-mobile/src/modules/file.ts deleted file mode 100644 index c8e36e85..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/modules/file.ts +++ /dev/null @@ -1,21 +0,0 @@ -export interface FilesContent { - matchRegex: string; - replace: string; -} - -export interface Files { - source: string; - target: string; - content?: FilesContent[]; -} - -export type InjectOptions = { - index?: number | ((lines: string[], filePath: string) => number); - encoding?: string; -} - -export type ModuleConfig = { - name: string; - moduleTemplatePath: string; - manifest: any; -} diff --git a/packages/frontier-plugins/plugin-mobile/src/modules/index.ts b/packages/frontier-plugins/plugin-mobile/src/modules/index.ts deleted file mode 100644 index b97ef9ce..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/modules/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './file'; -export * from './lookup'; diff --git a/packages/frontier-plugins/plugin-mobile/src/modules/lookup.ts b/packages/frontier-plugins/plugin-mobile/src/modules/lookup.ts deleted file mode 100644 index f6879caa..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/modules/lookup.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface Lookup { - [name: string]: any; -} diff --git a/packages/frontier-plugins/plugin-mobile/src/modules/manifest.ts b/packages/frontier-plugins/plugin-mobile/src/modules/manifest.ts deleted file mode 100644 index 61f74492..00000000 --- a/packages/frontier-plugins/plugin-mobile/src/modules/manifest.ts +++ /dev/null @@ -1,10 +0,0 @@ -export interface RouteMeta { - layout: string -} - -export interface Route { - path: string; - name: string; - meta?: RouteMeta; - component: string; -} diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/add.component.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/add.component.test.ts deleted file mode 100644 index 2f702679..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/add.component.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-component-test'; -const testComponentName = 'hello-world'; -const { log } = console; - -describe(CLI_COMMANDS.AddComponent, () => { - test - .stdout() - .command([CLI_COMMANDS.AddComponent]) - .it(`runs mobile ${CLI_COMMANDS.AddComponent} ${testComponentName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] ${CLI_COMMANDS.AddComponent} command must be run in an existing mobile project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.AddComponent, testComponentName]) - .do(() => process.chdir('../')) - .it(`runs mobile ${CLI_COMMANDS.AddComponent} ${testComponentName}`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] component added: ${testComponentName}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/add.page.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/add.page.test.ts deleted file mode 100644 index f8c2dcb1..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/add.page.test.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-hello-world-test'; -const testPageName = 'hello-world'; -// const badPageName = 'he%20-2world'; - -describe(CLI_COMMANDS.AddScreen, () => { - test - .stdout() - .command([CLI_COMMANDS.AddScreen]) - .it(`runs mobile ${CLI_COMMANDS.AddScreen} ${testPageName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] ${CLI_COMMANDS.AddScreen} command must be run in an existing mobile project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.AddScreen, testPageName]) - .do(() => process.chdir('../')) - .it(`runs mobile ${CLI_COMMANDS.AddScreen} ${testPageName}`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] page added: ${testPageName}`); - }); - - // test - // .stdout() - // .do(() => process.chdir(testProjectName)) - // .command([CLI_COMMANDS.AddScreen, badPageName, skipPresets]) - // .it('tries to run create page with a poorly formatted command', ctx => { - // expect(ctx.stdout).to.contain(`Error: command ${CLI_COMMANDS.AddScreen} not found`); - // }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/add.service.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/add.service.test.ts deleted file mode 100644 index c44e0ef1..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/add.service.test.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-auth-service-test'; -const testServiceName = 'auth-service'; -// const badServiceName = 'auth%20-2service'; - -describe(CLI_COMMANDS.AddService, () => { - test - .stdout() - .command([CLI_COMMANDS.AddService]) - .it(`runs mobile ${CLI_COMMANDS.AddService} ${testServiceName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] ${CLI_COMMANDS.AddService} command must be run in an existing mobile project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.AddService, testServiceName]) - .do(() => process.chdir('../')) - .it(`runs mobile ${CLI_COMMANDS.AddService} ${testServiceName}`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] service added: ${testServiceName}`); - }); - - // test - // .stdout() - // .do(() => process.chdir(testProjectName)) - // .command([CLI_COMMANDS.AddService, badServiceName, skipPresets]) - // .it('tries to run create service with a poorly formatted command', ctx => { - // expect(ctx.stdout).to.contain(`Error: command ${CLI_COMMANDS.AddService} not found`); - // }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/add.store.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/add.store.test.ts deleted file mode 100644 index 056d59a3..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/add.store.test.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-store-module-test'; -const testStoreName = 'auth-store'; -// const badStoreName = 'auth%20-2store'; - -describe(CLI_COMMANDS.AddStore, () => { - test - .stdout() - .command([CLI_COMMANDS.AddStore]) - .it(`runs mobile ${CLI_COMMANDS.AddStore} ${testStoreName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] ${CLI_COMMANDS.AddStore} command must be run in an existing mobile project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.AddStore, testStoreName]) - .do(() => process.chdir('../')) - .it(`runs mobile ${CLI_COMMANDS.AddStore} ${testStoreName}`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] store added: ${testStoreName}`); - }); - - // test - // .stdout() - // .do(() => process.chdir(testProjectName)) - // .command([CLI_COMMANDS.AddStore, badStoreName, skipPresets]) - // .it('tries to run create store with a poorly formatted command', ctx => { - // expect(ctx.stdout).to.contain(`Error: command ${CLI_COMMANDS.AddStore} not found`); - // }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/add.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/add.test.ts deleted file mode 100644 index 997b006d..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/add.test.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; - -describe(`${CLI_COMMANDS.AddModule} module`, () => { - test - .stdout() - .command([CLI_COMMANDS.AddModule]) - .it(`runs mobile ${CLI_COMMANDS.AddModule} --help`, ctx => { - expect(ctx.stdout).to.contain('npx mobile add:'); - }); - - // test - // .stdout() - // .command([CLI_COMMANDS.PoorHelpCommand]) - // .it(`runs poorly formatted mobile ${CLI_COMMANDS.AddModule} -help command`, ctx => { - // expect(ctx.error).to.contain(`Error: command ${CLI_COMMANDS.PoorHelpCommand} not found`); - // }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/create-project.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/create-project.test.ts deleted file mode 100644 index 57b03ed2..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/create-project.test.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; -import { exec } from 'child_process'; - -const testProjectName = 'rdv-hello-world'; -const skipPresets = '--skipPresets'; -// const badProjectName = '$testProject@project'; - -describe(CLI_COMMANDS.CreateProject, () => { - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .it(`runs ${CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] ${testProjectName} is ready!`); - }); - - test - .stdout() - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir('../')) - .it(`runs ${CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { - expect(ctx.stdout).to.contain('[mobile] you are already in an existing mobile project'); - }); - - // test - // .stdout() - // .command([CLI_COMMANDS.CreateProject, badProjectName, skipPresets]) - // .it('tries to run create project with a poorly formatted command', ctx => { - // expect(ctx.stdout).to.contain(`Error: command ${CLI_COMMANDS.CreateProject} not found`); - // }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/plugin.buefy.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/plugin.buefy.test.ts deleted file mode 100644 index 553ee776..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/plugin.buefy.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const withBuefy = '--withBuefy'; -const testProjectName = 'rdv-plugin-buefy-test'; - -describe(CLI_COMMANDS.PluginBuefy, () => { - test - .stdout() - .command([CLI_COMMANDS.PluginBuefy]) - .it(`runs mobile ${CLI_COMMANDS.PluginBuefy} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] ${CLI_COMMANDS.PluginBuefy} command must be run in an existing mobile project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets, withBuefy]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.PluginBuefy]) - .do(() => process.chdir('../')) - .it(`runs mobile ${CLI_COMMANDS.PluginBuefy}`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] plugin added: ${CLI_COMMANDS.PluginBuefy.split(':')[1]}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/plugin.localization.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/plugin.localization.test.ts deleted file mode 100644 index fc80d097..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/plugin.localization.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const withLocalization = '--withLocalization'; -const testProjectName = 'rdv-plugin-localization-test'; - -describe(CLI_COMMANDS.PluginLocalization, () => { - test - .stdout() - .command([CLI_COMMANDS.PluginLocalization]) - .it(`runs mobile ${CLI_COMMANDS.PluginLocalization} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] ${CLI_COMMANDS.PluginLocalization} command must be run in an existing mobile project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets, withLocalization]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.PluginLocalization]) - .do(() => process.chdir('../')) - .it(`runs mobile ${CLI_COMMANDS.PluginLocalization}`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] plugin added: ${CLI_COMMANDS.PluginLocalization.split(':')[1]}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/plugin.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/plugin.test.ts deleted file mode 100644 index 1f4c3256..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/plugin.test.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; - -describe(`${CLI_COMMANDS.PluginLibrary} module`, () => { - test - .stdout() - .command([CLI_COMMANDS.PluginLibrary]) - .it(`runs mobile ${CLI_COMMANDS.PluginLibrary} --help`, ctx => { - expect(ctx.stdout).to.contain('npx mobile plugin:'); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/commands/plugin.vuetify.test.ts b/packages/frontier-plugins/plugin-mobile/test/commands/plugin.vuetify.test.ts deleted file mode 100644 index fa0ce30f..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/commands/plugin.vuetify.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/lib/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const withVuetify = '--withVuetify'; -const testProjectName = 'rdv-plugin-vuetify-test'; - -describe(CLI_COMMANDS.PluginVuetify, () => { - test - .stdout() - .command([CLI_COMMANDS.PluginVuetify]) - .it(`runs mobile ${CLI_COMMANDS.PluginVuetify} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] ${CLI_COMMANDS.PluginVuetify} command must be run in an existing mobile project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets, withVuetify]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.PluginVuetify]) - .do(() => process.chdir('../')) - .it(`runs mobile ${CLI_COMMANDS.PluginVuetify}`, ctx => { - expect(ctx.stdout).to.contain(`[mobile] plugin added: ${CLI_COMMANDS.PluginVuetify.split(':')[1]}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-mobile/test/mocha.opts b/packages/frontier-plugins/plugin-mobile/test/mocha.opts deleted file mode 100644 index 67680354..00000000 --- a/packages/frontier-plugins/plugin-mobile/test/mocha.opts +++ /dev/null @@ -1,4 +0,0 @@ ---require ts-node/register ---watch-extensions ts ---reporter spec ---timeout 3000000 diff --git a/packages/frontier-plugins/plugin-mobile/tsconfig.build.json b/packages/frontier-plugins/plugin-mobile/tsconfig.build.json deleted file mode 100644 index 7f55461d..00000000 --- a/packages/frontier-plugins/plugin-mobile/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "declarationDir": "types", - "outDir": "dist" - }, - "exclude": [ - "setupTests.ts", - "**/*spec.ts", - ] -} diff --git a/packages/frontier-plugins/plugin-mobile/tsconfig.json b/packages/frontier-plugins/plugin-mobile/tsconfig.json deleted file mode 100644 index 0da2bf6a..00000000 --- a/packages/frontier-plugins/plugin-mobile/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "importHelpers": true, - "isolatedModules": true, - "module": "commonjs", - "outDir": "dist", - "rootDir": "src", - "strict": true, - "target": "es2017", - "skipLibCheck": true, - "baseUrl": "src", - "paths": { - "@/*": [ - "./src/*" - ] - }, - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - }, - "include": [ - "src/**/*" - ] -} diff --git a/packages/frontier-plugins/plugin-qa/.eslintignore b/packages/frontier-plugins/plugin-qa/.eslintignore deleted file mode 100644 index 502167fa..00000000 --- a/packages/frontier-plugins/plugin-qa/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -/lib diff --git a/packages/frontier-plugins/plugin-qa/.eslintrc b/packages/frontier-plugins/plugin-qa/.eslintrc deleted file mode 100644 index d2b19066..00000000 --- a/packages/frontier-plugins/plugin-qa/.eslintrc +++ /dev/null @@ -1,94 +0,0 @@ -{ - "extends": [ - "oclif", - "oclif-typescript" - ], - "env": { - "es6": true, - "browser": true, - "node": true, - "mocha": true - }, - "parserOptions": { - "sourceType": "module" - }, - "rules": { - "no-console": 1, - "no-extra-semi": 2, - "semi": [ - 2, - "always" - ], - "semi-spacing": 2, - "quotes": [ - 2, - "single" - ], - "indent": [ - 2, - 2, - { - "SwitchCase": 1 - } - ], - "interface-name": 0, - "object-literal-sort-keys": 0, - "no-consecutive-blank-lines": 0, - "no-any": 0, - "no-var": 0, - "no-cond-assign": 2, - "no-debugger": 2, - "no-duplicate-imports": 2, - "no-empty": 2, - "no-eval": 2, - "no-invalid-this": 2, - "no-irregular-whitespace": 2, - "no-return-await": 2, - "no-trailing-spaces": 2, - "no-empty-character-class": 2, - "no-unsafe-finally": 2, - "no-unused-vars": 2, - "no-unused-expressions": 2, - "no-undef": 2, - "array-type": 0, - "require-await": 2, - "prefer-arrow-callback": 2, - "arrow-spacing": 2, - "spaced-comment": 2, - "curly": 2, - "complexity": 2, - "max-classes-per-file": [ - 2, - 1 - ], - "max-len": [ - 2, - 1000 - ], - "max-lines": [ - 2, - 200 - ], - "new-parens": 2, - "newline-before-return": 2, - "newline-per-chained-call": 2, - "only-arrow-functions": 0, - "prefer-const": 2, - "prefer-object-spread": 2, - "prefer-template": 2, - "radix": 2, - "no-else-return": 2, - "object-curly-spacing": [ - "error", - "always" - ], - "space-before-function-paren": 2, - "space-within-parens": 0, - "no-eq-null": 2, - "comma-dangle": 2, - "eqeqeq": 2, - "valid-typeof": 2, - "block-scoped-var": 2, - "interface-over-type-literal": 0 - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/README.md b/packages/frontier-plugins/plugin-qa/README.md deleted file mode 100644 index 6663abaf..00000000 --- a/packages/frontier-plugins/plugin-qa/README.md +++ /dev/null @@ -1,189 +0,0 @@ -
-
- - rd logo - -
-
- - -# Spectre - -### @rdfrontier/plugin-qa -CLI to generate web & mobile automation projects - -[![Version](https://img.shields.io/npm/v/spectre-cli.svg)](https://www.npmjs.com/package/@rdfrontier/plugin-qa) -[![Downloads/week](https://img.shields.io/npm/dw/spectre.svg)](https://www.npmjs.com/package/@rdfrontier/plugin-qa) - -      - - - -## Table of Contents - -- [Usage](#usage) -- [Commands ](#options) -- [Dev Instructions](#Development) -- [Testing](#Testing) - - -      - -## Usage - - -Installing Spectre can be done with the command: -```bash -$ frontier plugins:install @rdfrontier/plugin-qa -``` - -The help menu can be accessed with the command: - -```bash -frontier qa --help -``` - -The format for running an Spectre command is generally: - -```bash -frontier qa:COMMAND -``` - - -      - - -## Commands - -[addd](#frontier-qacreate-screen-object-name) - - -- [`frontier qa:create-mobile-project [NAME]`](#frontier-qa-create-mobile-project-name) -- [`frontier qa:create-page-object [NAME]`](#frontier-qa-create-page-object-name) -- [`frontier qa:create-project [NAME]`](#frontier-q-create-project-name) -- [`frontier qa:create-screen-object [NAME]`](#frontier-qacreate-screen-object-name) -- [`frontier qa:create-test [NAME]`](#frontier-qa-create-test-name) -- [`frontier qa --help [COMMAND]`](#frontier-qa-help-command) - - -### `frontier qa:create-mobile-project [NAME]` - -Create a new WDIO project for Mobile - -``` -USAGE - $ frontier qa:create-mobile-project [NAME] - -ARGUMENTS - NAME Name of the project to be created - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/create-mobile-project/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-qa/src/commands/qa/create-mobile-project/index.ts)_ - -## `frontier qa:create-page-object [NAME]` - -Create a new page object file - -``` -USAGE - $ frontier qa:create-page-object [NAME] - -ARGUMENTS - NAME Name of the page object file to be created - -OPTIONS - -h, --help show CLI help - -EXAMPLE - $ frontier qa:create-page-object - Running this add command! -``` - -_See code: -[src/commands/create-page-object/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-qa/src/commands/qa/create-page-object/index.ts)_ - -## `frontier qa:create-project [NAME]` - -Create a new WDIO project - -``` -USAGE - $ frontier qa:create-project [NAME] - -ARGUMENTS - NAME Name of the project to be created - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/create-project/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-qa/src/commands/qa/create-project/index.ts)_ - -## `frontier qa:create-screen-object [NAME]` - -Create a new screen object file - -``` -USAGE - $ frontier qa:create-screen-object [NAME] - -ARGUMENTS - NAME Name of the page object file to be created - -OPTIONS - -h, --help show CLI help - -EXAMPLE - $ frontier qa:create-screen-object - Running this add command! -``` - -_See code: -[src/commands/create-screen-object/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-qa/src/commands/qa/create-screen-object/index.ts)_ - -## `frontier qa:create-test [NAME]` - -Create a new test file - -``` -USAGE - $ frontier qa:create-test [NAME] - -ARGUMENTS - NAME Name of the test file to be created - -OPTIONS - -h, --help show CLI help - -EXAMPLE - $ frontier qa:create-test - -``` - -_See code: -[src/commands/create-test/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-qa/src/commands/qa/create-test/index.ts)_ - -## `frontier qa:[COMMAND] --help ` - -display help for spectre - -``` -USAGE - $ frontier qa:[COMMAND] --help - -ARGUMENTS - COMMAND command to show help for - -OPTIONS - --all see all commands in CLI -``` - -_See code: -[@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.2/src/commands/help.ts)_ - - diff --git a/packages/frontier-plugins/plugin-qa/babel.config.js b/packages/frontier-plugins/plugin-qa/babel.config.js deleted file mode 100644 index 877711d0..00000000 --- a/packages/frontier-plugins/plugin-qa/babel.config.js +++ /dev/null @@ -1,14 +0,0 @@ -const configurator = require('../../../babel.root'); - -module.exports = (api) => { - api.cache.using(() => process.env.NODE_ENV); - - const envConfig = { - modules: !api.env('module') && 'auto', - }; - - return configurator({ - envConfig, - isTest: api.env('test'), - }); -}; diff --git a/packages/frontier-plugins/plugin-qa/bin/dev b/packages/frontier-plugins/plugin-qa/bin/dev deleted file mode 100644 index 5cc35169..00000000 --- a/packages/frontier-plugins/plugin-qa/bin/dev +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env node -const oclif = require('@oclif/core') - -const path = require('path') -const project = path.join(__dirname, '..', 'tsconfig.json') - -// In dev mode -> use ts-node and dev plugins -process.env.NODE_ENV = 'development' - -require('ts-node').register({project}) - -// In dev mode, always show stack traces -oclif.settings.debug = true; - -// Start the CLI -oclif.run().then(oclif.flush).catch(oclif.Errors.handle) diff --git a/packages/frontier-plugins/plugin-qa/bin/run b/packages/frontier-plugins/plugin-qa/bin/run deleted file mode 100755 index e874ba54..00000000 --- a/packages/frontier-plugins/plugin-qa/bin/run +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env node -require('@oclif/command').run() -.then(require('@oclif/command/flush')) -.catch(require('@oclif/errors/handle')) diff --git a/packages/frontier-plugins/plugin-qa/bin/run.cmd b/packages/frontier-plugins/plugin-qa/bin/run.cmd deleted file mode 100644 index 968fc307..00000000 --- a/packages/frontier-plugins/plugin-qa/bin/run.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -node "%~dp0\run" %* diff --git a/packages/frontier-plugins/plugin-qa/package.json b/packages/frontier-plugins/plugin-qa/package.json deleted file mode 100644 index cb89bdc2..00000000 --- a/packages/frontier-plugins/plugin-qa/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "name": "@rdfrontier/plugin-qa", - "description": "QA toolchain for generating automation projects", - "version": "1.0.0", - "author": "RealDecoy", - "bin": { - "spectre": "./bin/run" - }, - "bugs": "https://github.com/realdecoy/frontier/issues", - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/plugin-help": "^3.2.2", - "@rdfrontier/stdlib": "^0.0.2", - "chalk": "^4.1.1", - "replace-in-file": "^6.2.0", - "shelljs": "^0.8.4", - "tslib": "^1.14.1" - }, - "devDependencies": { - "@oclif/dev-cli": "^1.26.0", - "@oclif/test": "^1.2.8", - "@rdfrontier/lib-builder": "^1.0.0", - "@types/chai": "^4.2.19", - "@types/mocha": "^5.2.7", - "@types/node": "^10.17.60", - "@types/shelljs": "^0.8.8", - "chai": "^4.3.4", - "eslint": "^5.16.0", - "eslint-config-oclif": "^3.1.0", - "eslint-config-oclif-typescript": "^0.1.0", - "globby": "^10.0.2", - "mocha": "^5.2.0", - "nyc": "^14.1.1", - "rimraf": "^3.0.2", - "ts-node": "^8.10.2", - "tscpaths": "^0.0.9", - "typescript": "^4.6.2" - }, - "engines": { - "node": ">=8.5.0" - }, - "files": [ - "/bin", - "/dist", - "/npm-shrinkwrap.json", - "/oclif.manifest.json", - "/template" - ], - "homepage": "https://github.com/realdecoy/frontier", - "keywords": [ - "oclif" - ], - "license": "MIT", - "main": "dist/index.js", - "oclif": { - "commands": "./dist/commands", - "helpClass": "./dist/help", - "bin": "spectre", - "plugins": [ - "@oclif/plugin-help" - ] - }, - "url": "git+https://github.com/realdecoy/frontier.git", - "scripts": { - "build": "build-package --tscOnly", - "build:watch": "build-package --tscOnly --watch", - "clean": "rimraf dist esnext module types lib", - "rebuild": "run-s clean build && oclif-dev manifest", - "test": "jest --passWithNoTests", - "test:ci": "jest --ci --coverage", - "test:coverage": "run-s test:ci test:coverage:open", - "test:coverage:open": "open ./test-results/index.html", - "test:watch": "jest --watch", - "lint": "run-s lint:es lint:md", - "lint:es": "eslint --ignore-path ../../../.eslintignore \"**/*\"", - "lint:es:ci": "yarn lint:es --format", - "lint:es:fix": "yarn lint:es --fix", - "lint:md": "yarn prettier \"**/*.md\" --check", - "lint:md:fix": "yarn prettier \"**/*.md\" --write", - "lint:ts:fix": "yarn prettier \"**/*.ts\" --write", - "audit": "npm audit --production", - "postpack": "rimraf oclif.manifest.json", - "prepack": "rimraf lib && rimraf oclif.manifest.json && rimraf tsconfig.tsbuildinfo && tsc -b && oclif-dev manifest", - "version": "oclif-dev readme && git add README.md", - "typecheck": "tsc --noEmit" - }, - "types": "lib/index.d.ts" -} diff --git a/packages/frontier-plugins/plugin-qa/setupTests.ts b/packages/frontier-plugins/plugin-qa/setupTests.ts deleted file mode 100644 index ed220222..00000000 --- a/packages/frontier-plugins/plugin-qa/setupTests.ts +++ /dev/null @@ -1,7 +0,0 @@ -import 'core-js/stable'; -import 'regenerator-runtime/runtime'; -import type { GlobalWithFetchMock } from 'jest-fetch-mock'; - -const customGlobal: GlobalWithFetchMock = global as unknown as GlobalWithFetchMock; -customGlobal.fetch = require('jest-fetch-mock'); -customGlobal.fetchMock = customGlobal.fetch; diff --git a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-mobile-project/index.ts b/packages/frontier-plugins/plugin-qa/src/commands/qa/create-mobile-project/index.ts deleted file mode 100644 index aa52628e..00000000 --- a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-mobile-project/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { Command, flags } from '@oclif/command' -import { CONSTANTS, TEMPLATE_REPLACEMENT_FILES, MOBILE_PROJECT_TEMPLATE } from '../../../utils/constants' -import { copyFolderSync, replaceInFiles } from '../../../utils/files' -import chalk = require('chalk') -import { checkIfProjectExists } from '../../../utils/utilities' -import shell from 'shelljs'; -; -const { TEMPLATE_REGEX } = CONSTANTS - -/** - * Class representing a mobile project. - * @extends Command - */ -export default class CreateMobileProject extends Command { - static description = 'Create a new WDIO project for Mobile' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'Name of the project to be created' }, - ] - - async run() { - const { args } = this.parse(CreateMobileProject) - const projectName = args.name - const replaceRegex = TEMPLATE_REGEX - let filesToReplace = TEMPLATE_REPLACEMENT_FILES - - // update files to be replaced with project name reference - filesToReplace = filesToReplace.map(p => `${projectName}/${p}`) - - if (checkIfProjectExists(projectName) === true) { - this.log(chalk.redBright(`${projectName} already exists, please use another name!`)) - } else { - // Copy folder and its content from template directory to new project directory - copyFolderSync(MOBILE_PROJECT_TEMPLATE, `${projectName}`) - - // find and replace project name references - const successfulReplace = await replaceInFiles(filesToReplace, replaceRegex, `${projectName}`) - if (successfulReplace) { - shell.exec(`cd ${projectName} && npm install`); - - // Output message saying project is ready - this.log(chalk.blueBright(`Project ${projectName} is ready!`)) - } else { - this.log(chalk.redBright('There was a issue in making your project!')) - } - } - } -} diff --git a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-page-object/index.ts b/packages/frontier-plugins/plugin-qa/src/commands/qa/create-page-object/index.ts deleted file mode 100644 index 19dd6ea8..00000000 --- a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-page-object/index.ts +++ /dev/null @@ -1,53 +0,0 @@ -import chalk from 'chalk' -import path from 'path' -import {Command, flags} from '@oclif/command' -import { CONSTANTS } from '../../../utils/constants' -import { copyPageObjectFile, updatePageObjectFile, updateFileName } from '../../../utils/files' -import { checkIfProjectIsValid } from '../../../utils/utilities' - -const { PAGE_OBJECT_REGEX } = CONSTANTS - -/** - * Class representing a page object. - * @extends Command - */ -export default class CreatePageObject extends Command { - static description = 'Create a new page object file' - - static examples = [ - `$ fronter qa:create-page-object - Running this add command! -`, - ] - - static flags = { - help: flags.help({char: 'h'}), - } - - static args = [ - { name: 'name', description: 'Name of the page object file to be created' }, - ] - - async run() { - const { args } = this.parse(CreatePageObject); - const pageObjectName = args.name - const replaceRegex = PAGE_OBJECT_REGEX - const file = `./src/page_objects/${pageObjectName}.ts` - let currentFilenameSlug = path.parse(file).name // This returns just the filename without the extension - - if(checkIfProjectIsValid() === true) { - copyPageObjectFile(pageObjectName) - const successfulReplace = await updatePageObjectFile(file, replaceRegex, pageObjectName) - await updateFileName(currentFilenameSlug) - - if (successfulReplace) { - // Output message saying project is ready - this.log(chalk.blueBright(`File ${pageObjectName} is ready!`)) - } else { - this.log(chalk.redBright('There was a issue in making your page object file!')) - } - } else { - this.log(chalk.redBright('Unable to make page object, ensure you are in a valid project!')) - } - } -} diff --git a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-project/index.ts b/packages/frontier-plugins/plugin-qa/src/commands/qa/create-project/index.ts deleted file mode 100644 index 635395b5..00000000 --- a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-project/index.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Command, flags } from '@oclif/command' -import { CONSTANTS, TEMPLATE_REPLACEMENT_FILES, PROJECT_TEMPLATE } from '../../../utils/constants' -import { copyFolderSync, replaceInFiles } from '../../../utils/files' -import chalk = require('chalk') -import { checkIfProjectExists } from '../../../utils/utilities' -import shell from 'shelljs'; - -const { TEMPLATE_REGEX } = CONSTANTS - -/** - * Class representing a web project. - * @extends Command - */ -export default class CreateProject extends Command { - static description = 'Create a new WDIO project' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'Name of the project to be created' }, - ] - - async run() { - const { args } = this.parse(CreateProject) - const projectName = args.name - const replaceRegex = TEMPLATE_REGEX - let filesToReplace = TEMPLATE_REPLACEMENT_FILES - - // update files to be replaced with project name reference - filesToReplace = filesToReplace.map(p => `${projectName}/${p}`) - - if (checkIfProjectExists(projectName) === true) { - this.log(chalk.redBright(`${projectName} already exists, please use another name!`)) - } else { - // Copy folder and its content from template directory to new project directory - copyFolderSync(PROJECT_TEMPLATE, `${projectName}`) - - // find and replace project name references - const successfulReplace = await replaceInFiles(filesToReplace, replaceRegex, `${projectName}`) - if (successfulReplace) { - shell.exec(`cd ${projectName} && npm install`); - // Output message saying project is ready - this.log(chalk.blueBright(`Project ${projectName} is ready!`)) - } else { - this.log(chalk.redBright('There was a issue in making your project!')) - } - } - } -} diff --git a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-screen-object/index.ts b/packages/frontier-plugins/plugin-qa/src/commands/qa/create-screen-object/index.ts deleted file mode 100644 index 27eef797..00000000 --- a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-screen-object/index.ts +++ /dev/null @@ -1,53 +0,0 @@ -import chalk from 'chalk' -import path from 'path' -import {Command, flags} from '@oclif/command' -import { CONSTANTS } from '../../../utils/constants' -import { copyScreenObjectFile, updateScreenObjectFile, updateFileName } from '../../../utils/files' -import { checkIfProjectIsValid } from '../../../utils/utilities' - -const { SCREEN_OBJECT_REGEX } = CONSTANTS - -/** - * Class representing a screen object. - * @extends Command - */ -export default class CreateScreenObject extends Command { - static description = 'Create a new screen object file' - - static examples = [ - `$ frontier qa:create-screen-object - Running this add command! -`, - ] - - static flags = { - help: flags.help({char: 'h'}), - } - - static args = [ - { name: 'name', description: 'Name of the page object file to be created' }, - ] - - async run() { - const { args } = this.parse(CreateScreenObject); - const screenObjectName = args.name - const replaceRegex = SCREEN_OBJECT_REGEX - const file = `./src/screen_objects/${screenObjectName}.ts` - let currentFilenameSlug = path.parse(file).name // This returns just the filename without the extension - - if(checkIfProjectIsValid() === true) { - copyScreenObjectFile(screenObjectName) - const successfulReplace = await updateScreenObjectFile(file, replaceRegex, screenObjectName) - await updateFileName(currentFilenameSlug) - - if (successfulReplace) { - // Output message saying project is ready - this.log(chalk.blueBright(`File ${screenObjectName} is ready!`)) - } else { - this.log(chalk.redBright('There was a issue in making your screen object file!')) - } - } else { - this.log(chalk.redBright('Unable to make screen object, ensure you are in a valid project!')) - } - } -} diff --git a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-test/index.ts b/packages/frontier-plugins/plugin-qa/src/commands/qa/create-test/index.ts deleted file mode 100644 index 1b30d0e2..00000000 --- a/packages/frontier-plugins/plugin-qa/src/commands/qa/create-test/index.ts +++ /dev/null @@ -1,50 +0,0 @@ -import {Command, flags} from '@oclif/command' -import { copyTestFile, updateTestFiles } from '../../../utils/files' -import { checkIfProjectIsValid } from '../../../utils/utilities' -import {CONSTANTS} from '../../../utils/constants' -import chalk = require('chalk') - -const {TEST_REGEX} = CONSTANTS - -/** - * Class representing a test. - * @extends Command - */ -export default class CreateTest extends Command { - static description = 'Create a new test file' - - static examples = [ - `$ frontier qa:create-test - -`, - ] - - static flags = { - help: flags.help({char: 'h'}), - } - - static args = [ - { name: 'name', description: 'Name of the test file to be created' }, - ] - - async run() { - const { args } = this.parse(CreateTest) - const testName = args.name - const file = `./test/specs/${testName}.spec.ts` - const replaceRegex = TEST_REGEX - - if (checkIfProjectIsValid() === true) { - copyTestFile(testName) - const successfulReplace = await updateTestFiles(file, replaceRegex, testName) - - if (successfulReplace) { - // Output message saying project is ready - this.log(chalk.blueBright(`Test ${testName} is ready!`)) - } else { - this.log(chalk.redBright('There was a issue in making your test file!')) - } - } else { - this.log(chalk.redBright('Unable to make test, ensure you are in a valid project!')) - } - } -} diff --git a/packages/frontier-plugins/plugin-qa/src/help.ts b/packages/frontier-plugins/plugin-qa/src/help.ts deleted file mode 100644 index 84f8f1d2..00000000 --- a/packages/frontier-plugins/plugin-qa/src/help.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { Help } from '@oclif/plugin-help' -import { Command, Topic } from '@oclif/config' -import chalk from 'chalk' -import { log } from '@rdfrontier/stdlib' -export default class MyHelpClass extends Help { - // acts as a 'router' - // and based on the args it receives - // calls one of showRootHelp, showTopicHelp, - // or showCommandHelp - showRootHelp(): void { - log(` - frontier ${chalk.blueBright('qa:')} - Actions: - create-project Scaffold a new web automation project - create-test Create a test file - create-page-object Create a page object file to be used in a test file - create-mobile-project Scaffold a new mobile automation project - create-screen-object Create a screen object file to be used in a test file - Options: - --help | -h Show help information - `, - ) - } - - showTopicHelp(topic: Topic): void { - const name = topic.name - const depth = name.split(':').length - - const subTopics = this.sortedTopics.filter((t: any) => t.name.startsWith(`${name}:`) && t.name.split(':').length === depth + 1) - const commands = this.sortedCommands.filter((c: any) => c.id.startsWith(`${name}:`) && c.id.split(':').length === depth + 1) - - log(this.formatTopic(topic)) - - if (subTopics.length > 0) { - log(this.formatTopics(subTopics)) - log('') - } - - if (commands.length > 0) { - log(this.formatCommands(commands)) - log('') - } - } - - // display help for a command - showCommandHelp(command: Command): void { - const commandId = command.id - const commandArgs = command.args - const commandFlags = Object.values(command.flags) - - // parse argument names - const argNames = commandArgs - .filter(arg => !arg.hidden) - .map(arg => `<${arg.name}>`) - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15 - const numOfSpaces = maxSpaces - arg.name.length - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}` - }) - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8 - const numOfSpaces = maxSpaces - flag.name.length - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}` - }) - - log(` - Usage: - npx ${chalk.blueBright('spectre')} ${commandId} ${argNames} - Arguments:${argsList} - - Options:${optionList}`) - } -} - \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/src/index.ts b/packages/frontier-plugins/plugin-qa/src/index.ts deleted file mode 100644 index 4caa481e..00000000 --- a/packages/frontier-plugins/plugin-qa/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {run} from '@oclif/command' diff --git a/packages/frontier-plugins/plugin-qa/src/utils/constants.ts b/packages/frontier-plugins/plugin-qa/src/utils/constants.ts deleted file mode 100644 index cdfc656c..00000000 --- a/packages/frontier-plugins/plugin-qa/src/utils/constants.ts +++ /dev/null @@ -1,30 +0,0 @@ - -const path = require('path') - -export const CONSTANTS = { - TEMPLATE_REGEX: /project-([a-zA-Z]+)/g, - TEST_REGEX: //g, - PAGE_OBJECT_REGEX: //g, - SCREEN_OBJECT_REGEX: //g -} - -export const PROJECT_TEMPLATE = path.join(__dirname, '/../../template/project-template/') - -export const MOBILE_PROJECT_TEMPLATE = path.join(__dirname, '/../../template/mobile-project-template/') - -export const TEMPLATE_REPLACEMENT_FILES = [ - 'package.json', -] - -export const TEST_REPLACEMENT_FILE = path.join(__dirname, '/../../template/resources/test.spec.ts') - -export const PAGE_OBJECT_REPLACEMENT_FILE = path.join(__dirname, '/../../template/resources/page-object.ts') - -export const SCREEN_OBJECT_REPLACEMENT_FILE = path.join(__dirname, '/../../template/resources/screen-object.ts') - -export const ROOT_PROJECT_FILE = 'wdio.conf.ts' - -export const ANDROID_MOBILE_ROOT_PROJECT_FILE = 'wdio.local.android.conf.ts' - -export const IOS_MOBILE_ROOT_PROJECT_FILE = 'wdio.local.ios.conf.ts' - diff --git a/packages/frontier-plugins/plugin-qa/src/utils/files.ts b/packages/frontier-plugins/plugin-qa/src/utils/files.ts deleted file mode 100644 index 582d899b..00000000 --- a/packages/frontier-plugins/plugin-qa/src/utils/files.ts +++ /dev/null @@ -1,225 +0,0 @@ -// All file utilities are found here - -const replace = require('replace-in-file') -import fs from 'fs' -import path from 'path' -import { PAGE_OBJECT_REPLACEMENT_FILE, SCREEN_OBJECT_REPLACEMENT_FILE, TEST_REPLACEMENT_FILE, IOS_MOBILE_ROOT_PROJECT_FILE, ANDROID_MOBILE_ROOT_PROJECT_FILE, ROOT_PROJECT_FILE} from './constants' -import {checkIfProjectExists} from './utilities' - -/** - * Description: Replace content in list of files based on configs passed in - * @param {string} files - a path to a file - * @param {RegExp} from - regex of the text to replace - * @param {string} to - string that all matches should be converted to - */ -export async function replaceInFiles(files: string | string[], from: RegExp, to: string): Promise { - - let result = false - let replaceResults - let failedFiles - const options = { - files, - from, - to, - } - - try { - replaceResults = await replace(options) - failedFiles = replaceResults - .filter((result: { file: string; hasChanged: boolean }) => !result.hasChanged) - .map((result: { file: string; hasChanged: boolean }) => result.file) - result = failedFiles.length === 0 - } catch (error) { - const msg = (error as Error).message - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: msg, - }) - ) - } - - return result -} - -/** - * Function to copy test file from template repo - * @param {string} file - file to copy - */ -export function copyTestFile(file: string) { - - const replacementTestFilePath = TEST_REPLACEMENT_FILE - // Copying the file to the right directory - fs.copyFile(replacementTestFilePath, `./test/specs/${file}.spec.ts`, (err: any) => { - if (err) { - console.log('Error Found:', err) - } - }) -} - -/** - * Function to copy page object file from template repo - * @param {string} file - file to copy - */ -export function copyPageObjectFile(file: string) { - - const replacePageObjectFilePath = PAGE_OBJECT_REPLACEMENT_FILE - // Copying the file to the right directory - fs.copyFile(replacePageObjectFilePath, `./src/page_objects/${file}.ts`, (err: any) => { - if (err) { - console.log('Error Found:', err) - } - }) -} - -/** - * Function to copy screen object file from template repo - * @param {string} file - file to copy - */ - export function copyScreenObjectFile(file: string) { - - const replaceScreenObjectFilePath = SCREEN_OBJECT_REPLACEMENT_FILE - // Copying the file to the right directory - fs.copyFile(replaceScreenObjectFilePath, `./src/screen_objects/${file}.ts`, (err: any) => { - if (err) { - console.log('Error Found:', err) - } - }) -} - -/** - * Function to update all test file contents - * @param {string} files - a path to a file - * @param {RegExp} from - regex of the text to replace - * @param {string} to - string that all matches should be converted to - */ -export async function updateTestFiles(files: string | string[], from: RegExp, to: string): Promise { - - const options = { - files, - from, - to, - } - - try { - const results = await replace(options) - return results[0].hasChanged - } catch (error) { - const msg = (error as Error).message - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: msg, - }) - ) - } -} - -/** - * Function to update all page object file contents - * @param {string} files - a path to a file - * @param {RegExp} from - regex of the text to replace - * @param {string} to - string that all matches should be converted to - */ -export async function updatePageObjectFile(files: string | string[], from: RegExp, to: string): Promise { - - const options = { - files, - from, - to - } - - try { - const results = await replace(options) - return results[0].hasChanged - } catch (error) { - const msg = (error as Error).message - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: msg, - }) - ) - } -} - -/** - * Function to update all screen object file contents - * @param {string} files - a path to a file - * @param {RegExp} from - regex of the text to replace - * @param {string} to - string that all matches should be converted to - */ - export async function updateScreenObjectFile(files: string | string[], from: RegExp, to: string): Promise { - - const options = { - files, - from, - to, - } - - try { - const results = await replace(options) - return results[0].hasChanged - } catch (error) { - const msg = (error as Error).message - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: msg, - }) - ) - } -} - -/** - * Function to copy project template files when a user executes the project copy command - * @param {string} from - Folder to copy - * @param {string} to - Where the copied files should go - */ -export function copyFolderSync(from: string, to: string) { - - if (checkIfProjectExists(to) === true) { - console.log('A folder by that name already exists, please try again!') - } else { - fs.mkdirSync(to) - fs.readdirSync(from).forEach((element: any) => { - if (fs.lstatSync(path.join(from, element)).isFile()) { - fs.copyFileSync(path.join(from, element), path.join(to, element)) - } else { - copyFolderSync(path.join(from, element), path.join(to, element)) - } - }) - } -} - -/** - * Function to rename file to include .screen or .page into filename - * @param currentFilename - name of the current file to be renamed - */ -export async function updateFileName(currentFilename: string) { - let newFilename: string - let currentFilenamePath: string - let newFilenamePath: string - - // Check if it is web project - if(fs.existsSync(ROOT_PROJECT_FILE)) { - newFilename = `${currentFilename}-page.ts` - currentFilenamePath = `./src/page_objects/${currentFilename}.ts` - newFilenamePath = `./src/page_objects/${newFilename}` - - fs.rename(currentFilenamePath, newFilenamePath, (error) => { - if(error) console.log(error); - }) - } - - // Check if it is mobile project - if(fs.existsSync(ANDROID_MOBILE_ROOT_PROJECT_FILE) || fs.existsSync(IOS_MOBILE_ROOT_PROJECT_FILE)) { - newFilename = `${currentFilename}-screen.ts` - currentFilenamePath = `./src/screen_objects/${currentFilename}.ts` - newFilenamePath = `./src/screen_objects/${newFilename}` - - fs.rename(currentFilenamePath, newFilenamePath, (error) => { - if(error) console.log(error); - }) - } -} diff --git a/packages/frontier-plugins/plugin-qa/src/utils/stdout.ts b/packages/frontier-plugins/plugin-qa/src/utils/stdout.ts deleted file mode 100644 index 78595b8d..00000000 --- a/packages/frontier-plugins/plugin-qa/src/utils/stdout.ts +++ /dev/null @@ -1,11 +0,0 @@ -import util from 'util' -/** - * Emulates the log method from @oclif/command, since they don't seem to be - * offering any alternatives. Can be replaced with another logging library. - * @param {any} message The content to print to the console - * @param {Array} args See util.format for formatting arguments. - */ -export default function log(message: any = '', ...args: any[]): void { - message = typeof message === 'string' ? message : util.inspect(message) - process.stdout.write(`${util.format(message, ...args)}\n`) -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/src/utils/utilities.ts b/packages/frontier-plugins/plugin-qa/src/utils/utilities.ts deleted file mode 100644 index b942b121..00000000 --- a/packages/frontier-plugins/plugin-qa/src/utils/utilities.ts +++ /dev/null @@ -1,34 +0,0 @@ -import {existsSync, PathLike} from 'fs' -import { ROOT_PROJECT_FILE, ANDROID_MOBILE_ROOT_PROJECT_FILE, IOS_MOBILE_ROOT_PROJECT_FILE } from './constants' - -/** - * This method checks to see if the given file path already exists in a directory - * @param {PathLike} filePath The path to the file/directory - * @returns {boolean} - does this file/directory already exist - */ -export function checkIfProjectExists(filePath: PathLike) { - - if (existsSync(filePath) === true) { - return true - } - return false -} - -/** - * This method checks if the project where a command is being ran is a valid rdspec project - * @returns {boolean} - is this command being ran in a valid project - */ -export function checkIfProjectIsValid() { - - // Checks if this is a valid web automation project - if (existsSync(ROOT_PROJECT_FILE) === true) { - return true - } - - // Checks if this is a valid mobile automation project - if (existsSync(ANDROID_MOBILE_ROOT_PROJECT_FILE) === true && existsSync(IOS_MOBILE_ROOT_PROJECT_FILE) === true) { - return true - } - - return false -} diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/.env-example b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/.env-example deleted file mode 100644 index 8bfff686..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/.env-example +++ /dev/null @@ -1,2 +0,0 @@ -BROWSERSTACK_USERNAME= -BROWSERSTACK_ACCESS_KEY= \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/.gitignore b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/.gitignore deleted file mode 100644 index d54728bd..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -allure-results -allure-report -.env \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/README.md b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/README.md deleted file mode 100644 index 01e7d0a8..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# RD WebdriverIO Mobile Automation Template - -Boilerplate for a mobile automation project using WebDriverIO v7, Appium and -BrowserStack - -## NB - -Ensure you make a .env file in the root of the project, with the contents -provided from the .env.example file. - -When using Browserstack, you may get your credentials from the BrowserStack -dashboard. - -For details on using Appium, please go to https://appium.io/ - -# Installation - -Once created, all dependencies will be installed, just cd into your newly -created project folder! - -# To run tests - -Ensure you have a the apps folder setup in the root of the project with the .apk -and .app file needed for testing. diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/package.json b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/package.json deleted file mode 100644 index bdf30342..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "private":true, - "name": "project-mobile", - "version": "1.0.0", - "description": "A boilerplate project for RealDecoy for mobile automation", - "scripts": { - "test": "wdio wdio.local.conf.ts", - "android_tests": "wdio wdio.android.conf.ts", - "ios_tests": "wdio wdio.ios.conf.ts", - "report": "allure generate ./allure-results --clean && allure open" - }, - "keywords": [ - "automation", - "node" - ], - "author": "RealDecoy", - "license": "ISC", - "devDependencies": { - "@wdio/allure-reporter": "^7.16.13", - "@wdio/appium-service": "^7.18.0", - "@wdio/browserstack-service": "^7.16.3", - "@wdio/cli": "^7.16.9", - "@wdio/local-runner": "^7.16.9", - "@wdio/mocha-framework": "^7.16.6", - "@wdio/selenium-standalone-service": "^7.16.13", - "@wdio/spec-reporter": "^7.16.9", - "allure-commandline": "^2.13.8", - "axios": "^0.24.0", - "chai": "^4.3.4", - "chance": "^1.1.8", - "dotenv": "^10.0.0", - "lodash": "^4.17.21", - "ts-node": "^10.4.0", - "tsconfig-paths": "^3.12.0", - "typescript": "^4.5.2" - } -} diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/assets/webdriverIO.png b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/assets/webdriverIO.png deleted file mode 100644 index 1769529d..00000000 Binary files a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/assets/webdriverIO.png and /dev/null differ diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/helpers/Gestures.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/helpers/Gestures.ts deleted file mode 100644 index 84c26499..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/helpers/Gestures.ts +++ /dev/null @@ -1,169 +0,0 @@ -import { RectReturn } from '@wdio/protocols/build/types'; - -/** - * To make a Gesture methods more robust for multiple devices and also - * multiple screen sizes the advice is to work with percentages instead of - * actual coordinates. The percentages will calculate the position on the - * screen based on the SCREEN_SIZE which will be determined once if needed - * multiple times. - */ - -let SCREEN_SIZE:RectReturn; -interface XY { - x:number; - y:number; -} - -/** - * The values in the below object are percentages of the screen - */ -const SWIPE_DIRECTION = { - down: { - start: { x: 50, y: 15 }, - end: { x: 50, y: 85 }, - }, - left: { - start: { x: 95, y: 50 }, - end: { x: 5, y: 50 }, - }, - right: { - start: { x: 5, y: 50 }, - end: { x: 95, y: 50 }, - }, - up: { - start: { x: 50, y: 85 }, - end: { x: 50, y: 15 }, - }, -}; - -class Gestures { - /** - * Check if an element is visible and if not wipe up a portion of the screen to - * check if it visible after x amount of scrolls - */ - static async checkIfDisplayedWithSwipeUp (element:WebdriverIO.Element, maxScrolls:number, amount = 0){ - // If the element is not displayed and we haven't scrolled the max amount of scrolls - // then scroll and execute the method again - if (!await element.isDisplayed() && amount <= maxScrolls) { - await this.swipeUp(0.85); - await this.checkIfDisplayedWithSwipeUp(element, maxScrolls, amount + 1); - } else if (amount > maxScrolls) { - // If the element is still not visible after the max amount of scroll let it fail - throw new Error(`The element '${element}' could not be found or is not visible.`); - } - - // The element was found, proceed with the next action - } - - /** - * Swipe down based on a percentage - */ - static async swipeDown (percentage = 1) { - await this.swipeOnPercentage( - this.calculateXY(SWIPE_DIRECTION.down.start, percentage), - this.calculateXY(SWIPE_DIRECTION.down.end, percentage), - ); - } - - /** - * Swipe Up based on a percentage - */ - static async swipeUp (percentage = 1) { - await this.swipeOnPercentage( - this.calculateXY(SWIPE_DIRECTION.up.start, percentage), - this.calculateXY(SWIPE_DIRECTION.up.end, percentage), - ); - } - - /** - * Swipe left based on a percentage - */ - static async swipeLeft (percentage = 1) { - await this.swipeOnPercentage( - this.calculateXY(SWIPE_DIRECTION.left.start, percentage), - this.calculateXY(SWIPE_DIRECTION.left.end, percentage), - ); - } - - /** - * Swipe right based on a percentage - */ - static async swipeRight (percentage = 1) { - await this.swipeOnPercentage( - this.calculateXY(SWIPE_DIRECTION.right.start, percentage), - this.calculateXY(SWIPE_DIRECTION.right.end, percentage), - ); - } - - /** - * Swipe from coordinates (from) to the new coordinates (to). The given coordinates are - * percentages of the screen. - */ - static async swipeOnPercentage (from: XY, to: XY) { - // Get the screen size and store it so it can be re-used. - // This will save a lot of webdriver calls if this methods is used multiple times. - SCREEN_SIZE = SCREEN_SIZE || await driver.getWindowRect(); - // Get the start position on the screen for the swipe - const pressOptions = this.getDeviceScreenCoordinates(SCREEN_SIZE, from); - // Get the move to position on the screen for the swipe - const moveToScreenCoordinates = this.getDeviceScreenCoordinates(SCREEN_SIZE, to); - - await this.swipe( - pressOptions, - moveToScreenCoordinates, - ); - } - - /** - * Swipe from coordinates (from) to the new coordinates (to). The given coordinates are in pixels. - */ - static async swipe (from: XY, to: XY) { - await driver.performActions([ - { - // a. Create the event - type: 'pointer', - id: 'finger1', - parameters: { pointerType: 'touch' }, - actions: [ - // b. Move finger into start position - { type: 'pointerMove', duration: 0, x: from.x, y: from.y }, - // c. Finger comes down into contact with screen - { type: 'pointerDown', button: 0 }, - // d. Pause for a little bit - { type: 'pause', duration: 100 }, - // e. Finger moves to end position - // We move our finger from the center of the element to the - // starting position of the element. - // Play with the duration to make the swipe go slower / faster - { type: 'pointerMove', duration: 1000, x: to.x, y: to.y }, - // f. Finger gets up, off the screen - { type: 'pointerUp', button: 0 }, - ], - }, - ]); - // Add a pause, just to make sure the swipe is done - await driver.pause(1000); - } - - /** - * Get the screen coordinates based on a device his screen size - */ - private static getDeviceScreenCoordinates (screenSize:RectReturn, coordinates: XY): XY { - return { - x: Math.round(screenSize.width * (coordinates.x / 100)), - y: Math.round(screenSize.height * (coordinates.y / 100)), - }; - } - - /** - * Calculate the x y coordinates based on a percentage - */ - private static calculateXY ({ x, y }:XY, percentage:number):XY { - return { - x: x * percentage, - y: y * percentage, - }; - } -} - -export default Gestures; \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/app-screen.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/app-screen.ts deleted file mode 100644 index ffe105d6..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/app-screen.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** -* Main screen object containing all methods, selectors and functionality -* that is shared across all page objects -*/ - -export default class AppScreen { - private selector: string; - /** - * Constructor method to initialize this screen object. - * @param selector - */ - constructor (selector: string) { - this.selector = selector; - } - - // -------------------------------------------------------------------------- - // Functions - // -------------------------------------------------------------------------- - - /** - * Wait for the login screen to be visible - * - * @param {boolean} isShown - */ - async waitForIsShown (isShown: boolean = true): Promise { - return $(this.selector).waitForDisplayed({ - reverse: !isShown, - }); - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/components/tab-bar.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/components/tab-bar.ts deleted file mode 100644 index 3d0545cf..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/components/tab-bar.ts +++ /dev/null @@ -1,31 +0,0 @@ -export default class TabBar { - static async openHome () { - await $('~Home').click(); - } - - static async openWebView () { - await $('~Webview').click(); - } - - static async openLogin () { - await $('~Login').click(); - } - - static async openForms () { - await $('~Forms').click(); - } - - static async openSwipe () { - await $('~Swipe').click(); - } - - static async openDrag () { - await $('~Drag').click(); - } - - static async waitForTabBarShown ():Promise { - return $('~Home').waitForDisplayed({ - timeout: 20000, - }); - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/login-screen.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/login-screen.ts deleted file mode 100644 index edb982fd..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/src/screen_objects/login-screen.ts +++ /dev/null @@ -1,129 +0,0 @@ -import AppScreen from './app-screen'; -import Gestures from '../helpers/Gestures'; - -class LoginScreen extends AppScreen { - - /** - * Constructor method to initialize this screen object. - */ - constructor () { - super('~Login-screen'); - } - - // -------------------------------------------------------------------------- - // Selectors - // -------------------------------------------------------------------------- - - private get loginContainerButton () { - return $('~button-login-container'); - } - - private get signUpContainerButton () { - return $('~button-sign-up-container'); - } - - private get loginButton () { - return $('~button-LOGIN'); - } - - private get signUpButton () { - return $('~button-SIGN UP'); - } - - private get email () { - return $('~input-email'); - } - - private get password () { - return $('~input-password'); - } - - private get repeatPassword () { - return $('~input-repeat-password'); - } - - private get biometricButton () { - return $('~button-biometric'); - } - - // -------------------------------------------------------------------------- - // Functions - // -------------------------------------------------------------------------- - - async isBiometricButtonDisplayed () { - return this.biometricButton.isDisplayed(); - } - - async tapOnLoginContainerButton(){ - await this.loginContainerButton.click(); - } - - async tapOnSignUpContainerButton(){ - await this.signUpContainerButton.click(); - } - - async tapOnBiometricButton(){ - await this.biometricButton.click(); - } - - /** - * Submit Login Form - * @param username: string - * @param password: string - */ - - async submitLoginForm({ username, password }:{username:string; password:string;}) { - await this.email.setValue(username); - await this.password.setValue(password); - - if (await driver.isKeyboardShown()) { - /** - * Normally we would hide the keyboard with this command `driver.hideKeyboard()`, but there is an issue for hiding the keyboard - * on iOS when using the command. You will get an error like below - * - * Request failed with status 400 due to Error Domain=com.facebook.WebDriverAgent Code=1 "The keyboard on iPhone cannot be - * dismissed because of a known XCTest issue. Try to dismiss it in the way supported by your application under test." - * UserInfo={NSLocalizedDescription=The keyboard on iPhone cannot be dismissed because of a known XCTest issue. Try to dismiss - * it in the way supported by your application under test.} - * - * That's why we click outside of the keyboard. - */ - await $('~Login-screen').click(); - } - // On smaller screens there could be a possibility that the button is not shown - await Gestures.checkIfDisplayedWithSwipeUp(await this.loginButton, 2); - await this.loginButton.click(); - } - - /** - * Submit Sign Up Form. - * @param username: string - * @param password: string - */ - - async submitSignUpForm({ username, password }:{username:string; password:string;}) { - await this.email.setValue(username); - await this.password.setValue(password); - await this.repeatPassword.setValue(password); - - if (await driver.isKeyboardShown()) { - /** - * Normally we would hide the keyboard with this command `driver.hideKeyboard()`, but there is an issue for hiding the keyboard - * on iOS when using the command. You will get an error like below - * - * Request failed with status 400 due to Error Domain=com.facebook.WebDriverAgent Code=1 "The keyboard on iPhone cannot be - * dismissed because of a known XCTest issue. Try to dismiss it in the way supported by your application under test." - * UserInfo={NSLocalizedDescription=The keyboard on iPhone cannot be dismissed because of a known XCTest issue. Try to dismiss - * it in the way supported by your application under test.} - * - * That's why we click outside of the keyboard. - */ - await $('~Login-screen').click(); - } - // On smaller screens there could be a possibility that the button is not shown - await Gestures.checkIfDisplayedWithSwipeUp(await this.signUpButton, 2); - await this.signUpButton.click(); - } -} - -export default new LoginScreen(); \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/test/specs/login-mobile.example.spec.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/test/specs/login-mobile.example.spec.ts deleted file mode 100644 index 1dd819d3..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/test/specs/login-mobile.example.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -import TabBar from '@/screen_objects/components/tab-bar'; -import LoginScreen from '@/screen_objects/login-screen'; - -describe('WebdriverIO and Appium, when interacting with a login form,', () => { - beforeEach(async () => { - await TabBar.waitForTabBarShown(); - await TabBar.openLogin(); - await LoginScreen.waitForIsShown(true); - }); - - it('should be able login successfully', async () => { - // Always make sure you are on the right tab - await LoginScreen.tapOnLoginContainerButton(); - // Submit the data - await LoginScreen.submitLoginForm({ username: 'test@webdriver.io', password: 'Test1234!' }); - // Wait for the alert and validate it - }); - - it('should be able sign up successfully', async () => { - // Always make sure you are on the right tab - await LoginScreen.tapOnSignUpContainerButton(); - // Submit the data - await LoginScreen.submitSignUpForm({ username: 'test@webdriver.io', password: 'Test1234!' }); - // Wait for the alert and validate it - }); -}); \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/tsconfig.json b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/tsconfig.json deleted file mode 100644 index 2362552e..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/tsconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compilerOptions": { - "resolveJsonModule": true, - "moduleResolution": "node", - "types": [ - "node", - "webdriverio/async", - "@wdio/mocha-framework", - "mocha", - "expect-webdriverio" - ], - "target": "ES5", - "baseUrl": "src", - "paths": { - "@/page_objects/*": [ - "page_objects/*" - ], - "@/screen_objects/*": [ - "screen_objects/*" - ], - "@/assets/*": [ - "@/assets/*" - ] - } - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.android.conf.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.android.conf.ts deleted file mode 100644 index c4a6ac58..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.android.conf.ts +++ /dev/null @@ -1,310 +0,0 @@ -// Use this file to run tests for android on BrowserStack -const allure = require('allure-commandline'); -const dotenv = require('dotenv'); - -dotenv.config(); -export const config: WebdriverIO.Config = { - - user: process.env.BROWSERSTACK_USERNAME, - key: process.env.BROWSERSTACK_ACCESS_KEY, - // - // ==================== - // Runner Configuration - // ==================== - // - // - // ================== - // Specify Test Files - // ================== - // Define which test specs should run. The pattern is relative to the directory - // from which `wdio` was called. - // - // The specs are defined as an array of spec files (optionally using wildcards - // that will be expanded). The test for each spec file will be run in a separate - // worker process. In order to have a group of spec files run in the same worker - // process simply enclose them in an array within the specs array. - // - // If you are calling `wdio` from an NPM script (see https://docs.npmjs.com/cli/run-script), - // then the current working directory is where your `package.json` resides, so `wdio` - // will be called from there. - // - specs: [ - './test/specs/**/*.ts' - ], - // Patterns to exclude. - exclude: [ - // 'path/to/excluded/files' - ], - // - // ============ - // Capabilities - // ============ - // Define your capabilities here. WebdriverIO can run multiple capabilities at the same - // time. Depending on the number of capabilities, WebdriverIO launches several test - // sessions. Within your capabilities you can overwrite the spec and exclude options in - // order to group specific specs to a specific capability. - // - // First, you can define how many instances should be started at the same time. Let's - // say you have 3 different capabilities (Chrome, Firefox, and Safari) and you have - // set maxInstances to 1; wdio will spawn 3 processes. Therefore, if you have 10 spec - // files and you set maxInstances to 10, all spec files will get tested at the same time - // and 30 processes will get spawned. The property handles how many capabilities - // from the same test should run tests. - // - maxInstances: 10, - // - // If you have trouble getting all important capabilities together, check out the - // Sauce Labs platform configurator - a great tool to configure your capabilities: - // https://saucelabs.com/platform/platform-configurator - // - capabilities: [{ - - // maxInstances can get overwritten per capability. So if you have an in-house Selenium - // grid with only 5 firefox instances available you can make sure that not more than - // 5 instances get started at a time. - maxInstances: 5, - // - browserName: 'chrome', - acceptInsecureCerts: true - // If outputDir is provided WebdriverIO can capture driver session logs - // it is possible to configure which logTypes to include/exclude. - // excludeDriverLogs: ['*'], // pass '*' to exclude all driver session logs - // excludeDriverLogs: ['bugreport', 'server'], - }], - // - // =================== - // Test Configurations - // =================== - // Define all options that are relevant for the WebdriverIO instance here - // - // Level of logging verbosity: trace | debug | info | warn | error | silent - logLevel: 'info', - // - // Set specific log levels per logger - // loggers: - // - webdriver, webdriverio - // - @wdio/browserstack-service, @wdio/devtools-service, @wdio/sauce-service - // - @wdio/mocha-framework, @wdio/jasmine-framework - // - @wdio/local-runner - // - @wdio/sumologic-reporter - // - @wdio/cli, @wdio/config, @wdio/utils - // Level of logging verbosity: trace | debug | info | warn | error | silent - // logLevels: { - // webdriver: 'info', - // '@wdio/appium-service': 'info' - // }, - // - // If you only want to run your tests until a specific amount of tests have failed use - // bail (default is 0 - don't bail, run all tests). - bail: 0, - // - // Default timeout for all waitFor* commands. - waitforTimeout: 10000, - // - // Default timeout in milliseconds for request - // if browser driver or grid doesn't send response - connectionRetryTimeout: 120000, - // - // Default request retries count - connectionRetryCount: 3, - // - // Test runner services - // Services take over a specific job you don't want to take care of. They enhance - // your test setup with almost no effort. Unlike plugins, they don't add new - // commands. Instead, they hook themselves up into the test process. - services: [ - ['browserstack', { - browserstackLocal: false - }] - ], - - // Framework you want to run your specs with. - // The following are supported: Mocha, Jasmine, and Cucumber - // see also: https://webdriver.io/docs/frameworks - // - // Make sure you have the wdio adapter package for the specific framework installed - // before running any tests. - framework: 'mocha', - // - // The number of times to retry the entire specfile when it fails as a whole - // specFileRetries: 1, - // - // Delay in seconds between the spec file retry attempts - // specFileRetriesDelay: 0, - // - // Whether or not retried specfiles should be retried immediately or deferred to the end of the queue - // specFileRetriesDeferred: false, - // - // Test reporter for stdout. - // The only one supported by default is 'dot' - // see also: https://webdriver.io/docs/dot-reporter - reporters: ['spec',['allure', {outputDir: 'allure-results', disableWebdriverStepsReporting: true, disableMochaHooks: true}]], - - - - // - // Options to be passed to Mocha. - // See the full list at http://mochajs.org/ - mochaOpts: { - ui: 'bdd', - compilers: [ - 'tsconfig-paths/register' - ], - timeout: 60000 - }, - // - // ===== - // Hooks - // ===== - // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance - // it and to build services around it. You can either apply a single function or an array of - // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got - // resolved to continue. - /** - * Gets executed once before all workers get launched. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - */ - // onPrepare: function (config, capabilities) { - // }, - /** - * Gets executed before a worker process is spawned and can be used to initialise specific service - * for that worker as well as modify runtime environments in an async fashion. - * @param {String} cid capability id (e.g 0-0) - * @param {[type]} caps object containing capabilities for session that will be spawn in the worker - * @param {[type]} specs specs to be run in the worker process - * @param {[type]} args object that will be merged with the main configuration once worker is initialised - * @param {[type]} execArgv list of string arguments passed to the worker process - */ - // onWorkerStart: function (cid, caps, specs, args, execArgv) { - // }, - /** - * Gets executed just before initialising the webdriver session and test framework. It allows you - * to manipulate configurations depending on the capability or spec. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - * @param {String} cid worker id (e.g. 0-0) - */ - // beforeSession: function (config, capabilities, specs, cid) { - // }, - /** - * Gets executed before test execution begins. At this point you can access to all global - * variables like `browser`. It is the perfect place to define custom commands. - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - * @param {Object} browser instance of created browser/device session - */ - before: function () { - require('ts-node').register({ files: true }); - }, - /** - * Runs before a WebdriverIO command gets executed. - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - */ - // beforeCommand: function (commandName, args) { - // }, - /** - * Hook that gets executed before the suite starts - * @param {Object} suite suite details - */ - // beforeSuite: function (suite) { - // }, - /** - * Function to be executed before a test (in Mocha/Jasmine) starts. - */ - // beforeTest: function (test, context) { - // }, - /** - * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling - * beforeEach in Mocha) - */ - // beforeHook: function (test, context) { - // }, - /** - * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling - * afterEach in Mocha) - */ - // afterHook: function (test, context, { error, result, duration, passed, retries }) { - // }, - /** - * Function to be executed after a test (in Mocha/Jasmine only) - * @param {Object} test test object - * @param {Object} context scope object the test was executed with - * @param {Error} result.error error object in case the test fails, otherwise `undefined` - * @param {Any} result.result return object of test function - * @param {Number} result.duration duration of test - * @param {Boolean} result.passed true if test has passed, otherwise false - * @param {Object} result.retries informations to spec related retries, e.g. `{ attempts: 0, limit: 0 }` - */ - afterTest: async function(test, context, { error, result, duration, passed, retries }) { - if (!passed) { - await browser.takeScreenshot(); - } - }, - - - /** - * Hook that gets executed after the suite has ended - * @param {Object} suite suite details - */ - // afterSuite: function (suite) { - // }, - /** - * Runs after a WebdriverIO command gets executed - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - * @param {Number} result 0 - command success, 1 - command error - * @param {Object} error error object if any - */ - // afterCommand: function (commandName, args, result, error) { - // }, - /** - * Gets executed after all tests are done. You still have access to all global variables from - * the test. - * @param {Number} result 0 - test pass, 1 - test fail - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // after: function (result, capabilities, specs) { - // }, - /** - * Gets executed right after terminating the webdriver session. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // afterSession: function (config, capabilities, specs) { - // }, - /** - * Gets executed after all workers got shut down and the process is about to exit. An error - * thrown in the onComplete hook will result in the test run failing. - */ - onComplete: function() { - const reportError = new Error('Could not generate Allure report'); - const generation = allure(['generate', 'allure-results', '--clean']); - return new Promise((resolve, reject) => { - const generationTimeout = setTimeout( - () => reject(reportError), - 9000); - - generation.on('exit', function(exitCode) { - clearTimeout(generationTimeout); - - if (exitCode !== 0) { - return reject(reportError); - } - - resolve('Allure report successfully generated'); - }); - }); - }, - /** - * Gets executed when a refresh happens. - * @param {String} oldSessionId session ID of the old session - * @param {String} newSessionId session ID of the new session - */ - //onReload: function(oldSessionId, newSessionId) { - //} -} diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.ios.conf.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.ios.conf.ts deleted file mode 100644 index 24fc0823..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.ios.conf.ts +++ /dev/null @@ -1,263 +0,0 @@ -// Use this file to run tests for iOS on BrowserStack - -const timeout = 99999999; -const dotenv = require('dotenv'); -const allure = require('allure-commandline'); -import { join } from "path"; - -dotenv.config(); - -exports.config = { - user: process.env.BROWSERSTACK_USERNAME, - key: process.env.BROWSERSTACK_ACCESS_KEY, - // - // ==================== - // Runner Configuration - // ==================== - // - // WebdriverIO allows it to run your tests in arbitrary locations (e.g. locally or - // on a remote machine). - runner: 'local', - - // - // ================== - // Specify Test Files - // ================== - // Define which test specs should run. The pattern is relative to the directory - // from which `wdio` was called. Notice that, if you are calling `wdio` from an - // NPM script (see https://docs.npmjs.com/cli/run-script) then the current working - // directory is where your package.json resides, so `wdio` will be called from there. - // - specs: [ - './test/**/*.ts' - ], - // Patterns to exclude. - exclude: [ - // 'path/to/excluded/files' - ], - // - // ============ - // Capabilities - // ============ - // Define your capabilities here. WebdriverIO can run multiple capabilities at the same - // time. Depending on the number of capabilities, WebdriverIO launches several test - // sessions. Within your capabilities you can overwrite the spec and exclude options in - // order to group specific specs to a specific capability. - // - // For W3C the appium capabilities need to have an extension prefix - // This is `appium:` for all Appium Capabilities which can be found here - // http://appium.io/docs/en/writing-running-appium/caps/ - - capabilities: [{ - platformName: "iOS", - maxInstances: 1, - "appium:deviceName": "", - "appium:platformVersion": "", - "appium:orientation": "PORTRAIT", - "appium:automationName": "XCUITest", - // The path to the app - "appium:app": join( - process.cwd(), - "" - ), - }], - // - // =================== - // Test Configurations - // =================== - // Define all options that are relevant for the WebdriverIO instance here - // - // Level of logging verbosity: trace | debug | info | warn | error - logLevel: 'error', - // - // Warns when a deprecated command is used - deprecationWarnings: true, - // - // If you only want to run your tests until a specific amount of tests have failed use - // bail (default is 0 - don't bail, run all tests). - bail: 0, - // - // Set a base URL in order to shorten url command calls. If your `url` parameter starts - // with `/`, the base url gets prepended, not including the path portion of your baseUrl. - // If your `url` parameter starts without a scheme or `/` (like `some/path`), the base url - // gets prepended directly. - // - // Default timeout for all waitFor* commands. - waitforTimeout: 10000, - // - // Default timeout in milliseconds for request - // if Selenium Grid doesn't send response - connectionRetryTimeout: 90000, - // - // Default request retries count - connectionRetryCount: 3, - // - // Test runner services - // Services take over a specific job you don't want to take care of. They enhance - // your test setup with almost no effort. Unlike plugins, they don't add new - // commands. Instead, they hook themselves up into the test process. - services: [ - ['browserstack', { - browserstackLocal: false - }] - ], - // Framework you want to run your specs with. - // The following are supported: Mocha, Jasmine, and Cucumber - // see also: https://webdriver.io/docs/frameworks.html - // - // Make sure you have the wdio adapter package for the specific framework installed - // before running any tests. - framework: 'mocha', - // - // Test reporter for stdout. - // The only one supported by default is 'dot' - // see also: https://webdriver.io/docs/dot-reporter.html - reporters: ['spec', ['allure', { - outputDir: 'allure-results', - disableWebdriverStepsReporting: true, - }]], - - // - // Options to be passed to Mocha. - // See the full list at http://mochajs.org/ - mochaOpts: { - ui: 'bdd', - compilers: [ - 'tsconfig-paths/register' - ], - timeout: timeout - }, - // - // ===== - // Hooks - // ===== - // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance - // it and to build services around it. You can either apply a single function or an array of - // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got - // resolved to continue. - /** - * Gets executed once before all workers get launched. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - */ - // onPrepare: function (config, capabilities) { - // }, - /** - * Gets executed just before initialising the webdriver session and test framework. It allows you - * to manipulate configurations depending on the capability or spec. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - */ - // beforeSession: function (config, capabilities, specs) { - // }, - /** - * Gets executed before test execution begins. At this point you can access to all global - * variables like `browser`. It is the perfect place to define custom commands. - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - */ - before: function () { - require('ts-node').register({ files: true }); - }, - /** - * Runs before a WebdriverIO command gets executed. - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - */ - // beforeCommand: function (commandName, args) { - // }, - - /** - * Hook that gets executed before the suite starts - * @param {Object} suite suite details - */ - // beforeSuite: function (suite) { - // }, - /** - * Function to be executed before a test (in Mocha/Jasmine) or a step (in Cucumber) starts. - * @param {Object} test test details - */ - // beforeTest: function (test) { - // }, - /** - * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling - * beforeEach in Mocha) - */ - // beforeHook: function () { - // }, - /** - * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling - * afterEach in Mocha) - */ - // afterHook: function () { - // }, - /** - * Function to be executed after a test (in Mocha/Jasmine) or a step (in Cucumber) starts. - * @param {Object} test test details - */ - afterTest: async function(test, context, { error, result, duration, passed, retries }) { - if (!passed) { - await browser.takeScreenshot(); - } - }, - /** - * Hook that gets executed after the suite has ended - * @param {Object} suite suite details - */ - // afterSuite: function (suite) { - // }, - - /** - * Runs after a WebdriverIO command gets executed - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - * @param {Number} result 0 - command success, 1 - command error - * @param {Object} error error object if any - */ - // afterCommand: function (commandName, args, result, error) { - // }, - /** - * Gets executed after all tests are done. You still have access to all global variables from - * the test. - * @param {Number} result 0 - test pass, 1 - test fail - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // after: function (result, capabilities, specs) { - // }, - /** - * Gets executed right after terminating the webdriver session. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // afterSession: function (config, capabilities, specs) { - // }, - /** - * Gets executed after all workers got shut down and the process is about to exit. - * @param {Object} exitCode 0 - success, 1 - fail - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {} results object containing test results - */ - onComplete: function() { - const reportError = new Error('Could not generate Allure report'); - const generation = allure(['generate', 'allure-results', '--clean']); - return new Promise((resolve, reject) => { - const generationTimeout = setTimeout( - () => reject(reportError), - 9000); - - generation.on('exit', function(exitCode) { - clearTimeout(generationTimeout); - - if (exitCode !== 0) { - return reject(reportError); - } - - resolve('Allure report successfully generated'); - }); - }); - }, -} diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.local.android.conf.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.local.android.conf.ts deleted file mode 100644 index b3262d5d..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.local.android.conf.ts +++ /dev/null @@ -1,271 +0,0 @@ -const timeout = 999999; -const dotenv = require('dotenv'); -const allure = require('allure-commandline'); -import {join} from 'path' - -dotenv.config(); - -export const config: WebdriverIO.Config = { - // - // ==================== - // Runner Configuration - // ==================== - // - // WebdriverIO allows it to run your tests in arbitrary locations (e.g. locally or - // on a remote machine). - runner: 'local', - - // - // ================== - // Specify Test Files - // ================== - // Define which test specs should run. The pattern is relative to the directory - // from which `wdio` was called. Notice that, if you are calling `wdio` from an - // NPM script (see https://docs.npmjs.com/cli/run-script) then the current working - // directory is where your package.json resides, so `wdio` will be called from there. - // - specs: [ - './test/**/*.ts' - ], - // Patterns to exclude. - exclude: [ - // 'path/to/excluded/files' - ], - // - // ============ - // Capabilities - // ============ - // Define your capabilities here. WebdriverIO can run multiple capabilities at the same - // time. Depending on the number of capabilities, WebdriverIO launches several test - // sessions. Within your capabilities you can overwrite the spec and exclude options in - // order to group specific specs to a specific capability. - // - // First, you can define how many instances should be started at the same time. Let's - // say you have 3 different capabilities (Chrome, Firefox, and Safari) and you have - // set maxInstances to 1; wdio will spawn 3 processes. Therefore, if you have 10 spec - // files and you set maxInstances to 10, all spec files will get tested at the same time - // and 30 processes will get spawned. The property handles how many capabilities - // from the same test should run tests. - // - maxInstances: 1, - // - // If you have trouble getting all important capabilities together, check out the - // Sauce Labs platform configurator - a great tool to configure your capabilities: - // https://docs.saucelabs.com/reference/platforms-configurator - // - capabilities: [{ - // maxInstances can get overwritten per capability. So if you have an in-house Selenium - // grid with only 5 firefox instances available you can make sure that not more than - // 5 instances get started at a time. - 'appium:deviceName': process.env.ANDROID_DEVICE_NAME, - 'appium:platformVersion': process.env.ANDROID_PLATFORM_VERSION, - 'appium:platformName':'Android', - 'appium:orientation': 'PORTRAIT', - 'appium:automationName': 'UiAutomator2', - // The path to the app - 'appium:app': process.env.ANDROID_APP_PATH, - // @ts-ignore - 'appium:appWaitActivity': '*', - 'appium:newCommandTimeout': 240, - }], - // - // =================== - // Test Configurations - // =================== - // Define all options that are relevant for the WebdriverIO instance here - // - // Level of logging verbosity: trace | debug | info | warn | error - logLevel: 'debug', - // - // If you only want to run your tests until a specific amount of tests have failed use - // bail (default is 0 - don't bail, run all tests). - bail: 0, - // - // Set a base URL in order to shorten url command calls. If your `url` parameter starts - // with `/`, the base url gets prepended, not including the path portion of your baseUrl. - // If your `url` parameter starts without a scheme or `/` (like `some/path`), the base url - // gets prepended directly. - // - // Default timeout for all waitFor* commands. - waitforTimeout: 30000, - // - // Default timeout in milliseconds for request - // if Selenium Grid doesn't send response - connectionRetryTimeout: 90000, - // - // Default request retries count - connectionRetryCount: 3, - // - // Test runner services - // Services take over a specific job you don't want to take care of. They enhance - // your test setup with almost no effort. Unlike plugins, they don't add new - // commands. Instead, they hook themselves up into the test process. - port: 4723, // default appium port - services: [ - ['appium', { - command : 'appium' - }] - ], - // Framework you want to run your specs with. - // The following are supported: Mocha, Jasmine, and Cucumber - // see also: https://webdriver.io/docs/frameworks.html - // - // Make sure you have the wdio adapter package for the specific framework installed - // before running any tests. - framework: 'mocha', - // - // Test reporter for stdout. - // The only one supported by default is 'dot' - // see also: https://webdriver.io/docs/dot-reporter.html - reporters: ['spec',['allure', {outputDir: 'allure-results', disableWebdriverStepsReporting: true, disableMochaHooks: true}]], - // - // Options to be passed to Mocha. - // See the full list at http://mochajs.org/ - mochaOpts: { - ui: 'bdd', - compilers: [ - 'tsconfig-paths/register' - ], - timeout: timeout - }, - // - // ===== - // Hooks - // ===== - // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance - // it and to build services around it. You can either apply a single function or an array of - // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got - // resolved to continue. - /** - * Gets executed once before all workers get launched. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - */ - // onPrepare: function (config, capabilities) { - // }, - /** - * Gets executed just before initialising the webdriver session and test framework. It allows you - * to manipulate configurations depending on the capability or spec. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - */ - // beforeSession: function (config, capabilities, specs) { - // }, - /** - * Gets executed before test execution begins. At this point you can access to all global - * variables like `browser`. It is the perfect place to define custom commands. - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - * @param {Object} browser instance of created browser/device session - */ - before: function () { - require('ts-node').register({ files: true }); - }, - /** - * Runs before a WebdriverIO command gets executed. - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - */ - // beforeCommand: function (commandName, args) { - // }, - - /** - * Hook that gets executed before the suite starts - * @param {Object} suite suite details - */ - // beforeSuite: function (suite) { - // }, - /** - * Function to be executed before a test (in Mocha/Jasmine) or a step (in Cucumber) starts. - * @param {Object} test test details - */ - // beforeTest: function (test) { - // }, - /** - * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling - * beforeEach in Mocha) - */ - // beforeHook: function () { - // }, - /** - * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling - * afterEach in Mocha) - */ - // afterHook: function () { - // }, - /** - * Function to be executed after a test (in Mocha/Jasmine only) - * @param {Object} test test object - * @param {Object} context scope object the test was executed with - * @param {Error} result.error error object in case the test fails, otherwise `undefined` - * @param {Any} result.result return object of test function - * @param {Number} result.duration duration of test - * @param {Boolean} result.passed true if test has passed, otherwise false - * @param {Object} result.retries informations to spec related retries, e.g. `{ attempts: 0, limit: 0 }` - */ - afterTest: async function(test, context, { error, result, duration, passed, retries }) { - if (!passed) { - await browser.takeScreenshot(); - } - }, - /** - * Hook that gets executed after the suite has ended - * @param {Object} suite suite details - */ - // afterSuite: function (suite) { - // }, - - /** - * Runs after a WebdriverIO command gets executed - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - * @param {Number} result 0 - command success, 1 - command error - * @param {Object} error error object if any - */ - // afterCommand: function (commandName, args, result, error) { - // }, - /** - * Gets executed after all tests are done. You still have access to all global variables from - * the test. - * @param {Number} result 0 - test pass, 1 - test fail - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // after: function (result, capabilities, specs) { - // }, - /** - * Gets executed right after terminating the webdriver session. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // afterSession: function (config, capabilities, specs) { - // }, - /** - * Gets executed after all workers got shut down and the process is about to exit. - * @param {Object} exitCode 0 - success, 1 - fail - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {} results object containing test results - */ - onComplete: function() { - const reportError = new Error('Could not generate Allure report'); - const generation = allure(['generate', 'allure-results', '--clean']); - return new Promise((resolve, reject) => { - const generationTimeout = setTimeout( - () => reject(reportError), - 10000); - - generation.on('exit', function(exitCode) { - clearTimeout(generationTimeout); - - if (exitCode !== 0) { - return reject(reportError); - } - - resolve('Allure report successfully generated'); - }); - }); - }, -} diff --git a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.local.ios.conf.ts b/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.local.ios.conf.ts deleted file mode 100644 index 40a16681..00000000 --- a/packages/frontier-plugins/plugin-qa/template/mobile-project-template/wdio.local.ios.conf.ts +++ /dev/null @@ -1,270 +0,0 @@ -const timeout = 999999; -const dotenv = require('dotenv'); -const allure = require('allure-commandline'); -import { join } from "path"; - -dotenv.config(); - -export const config: WebdriverIO.Config = { - // - // ==================== - // Runner Configuration - // ==================== - // - // WebdriverIO allows it to run your tests in arbitrary locations (e.g. locally or - // on a remote machine). - runner: 'local', - - // - // ================== - // Specify Test Files - // ================== - // Define which test specs should run. The pattern is relative to the directory - // from which `wdio` was called. Notice that, if you are calling `wdio` from an - // NPM script (see https://docs.npmjs.com/cli/run-script) then the current working - // directory is where your package.json resides, so `wdio` will be called from there. - // - specs: [ - './test/**/*.ts' - ], - // Patterns to exclude. - exclude: [ - // 'path/to/excluded/files' - ], - // - // ============ - // Capabilities - // ============ - // Define your capabilities here. WebdriverIO can run multiple capabilities at the same - // time. Depending on the number of capabilities, WebdriverIO launches several test - // sessions. Within your capabilities you can overwrite the spec and exclude options in - // order to group specific specs to a specific capability. - // - // First, you can define how many instances should be started at the same time. Let's - // say you have 3 different capabilities (Chrome, Firefox, and Safari) and you have - // set maxInstances to 1; wdio will spawn 3 processes. Therefore, if you have 10 spec - // files and you set maxInstances to 10, all spec files will get tested at the same time - // and 30 processes will get spawned. The property handles how many capabilities - // from the same test should run tests. - // - maxInstances: 1, - // - // If you have trouble getting all important capabilities together, check out the - // Sauce Labs platform configurator - a great tool to configure your capabilities: - // https://docs.saucelabs.com/reference/platforms-configurator - // - capabilities: [{ - platformName: "iOS", - maxInstances: 1, - // For W3C the appium capabilities need to have an extension prefix - // This is `appium:` for all Appium Capabilities which can be found here - // http://appium.io/docs/en/writing-running-appium/caps/ - "appium:deviceName": process.env.IOS_DEVICE_NAME, - "appium:platformVersion": process.env.IOS_PLATFORM_VERSION, - "appium:orientation": "PORTRAIT", - "appium:automationName": "XCUITest", - // The path to the app - 'appium:app': process.env.IOS_APP_PATH, - "appium:newCommandTimeout": 240, - }], - // - // =================== - // Test Configurations - // =================== - // Define all options that are relevant for the WebdriverIO instance here - // - // Level of logging verbosity: trace | debug | info | warn | error - logLevel: 'debug', - // - // If you only want to run your tests until a specific amount of tests have failed use - // bail (default is 0 - don't bail, run all tests). - bail: 0, - // - // Set a base URL in order to shorten url command calls. If your `url` parameter starts - // with `/`, the base url gets prepended, not including the path portion of your baseUrl. - // If your `url` parameter starts without a scheme or `/` (like `some/path`), the base url - // gets prepended directly. - // - // Default timeout for all waitFor* commands. - waitforTimeout: 30000, - // - // Default timeout in milliseconds for request - // if Selenium Grid doesn't send response - connectionRetryTimeout: timeout, - // - // Default request retries count - connectionRetryCount: 3, - // - // Test runner services - // Services take over a specific job you don't want to take care of. They enhance - // your test setup with almost no effort. Unlike plugins, they don't add new - // commands. Instead, they hook themselves up into the test process. - port: 4723, // default appium port - services: [ - ['appium', { - command : 'appium' - }] - ], - // Framework you want to run your specs with. - // The following are supported: Mocha, Jasmine, and Cucumber - // see also: https://webdriver.io/docs/frameworks.html - // - // Make sure you have the wdio adapter package for the specific framework installed - // before running any tests. - framework: 'mocha', - // - // Test reporter for stdout. - // The only one supported by default is 'dot' - // see also: https://webdriver.io/docs/dot-reporter.html - reporters: ['spec',['allure', {outputDir: 'allure-results', disableWebdriverStepsReporting: true, disableMochaHooks: true}]], - // - // Options to be passed to Mocha. - // See the full list at http://mochajs.org/ - mochaOpts: { - ui: 'bdd', - compilers: [ - 'tsconfig-paths/register' - ], - timeout: timeout - }, - // - // ===== - // Hooks - // ===== - // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance - // it and to build services around it. You can either apply a single function or an array of - // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got - // resolved to continue. - /** - * Gets executed once before all workers get launched. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - */ - // onPrepare: function (config, capabilities) { - // }, - /** - * Gets executed just before initialising the webdriver session and test framework. It allows you - * to manipulate configurations depending on the capability or spec. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - */ - // beforeSession: function (config, capabilities, specs) { - // }, - /** - * Gets executed before test execution begins. At this point you can access to all global - * variables like `browser`. It is the perfect place to define custom commands. - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - * @param {Object} browser instance of created browser/device session - */ - before: function () { - require('ts-node').register({ files: true }); - }, - /** - * Runs before a WebdriverIO command gets executed. - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - */ - // beforeCommand: function (commandName, args) { - // }, - - /** - * Hook that gets executed before the suite starts - * @param {Object} suite suite details - */ - // beforeSuite: function (suite) { - // }, - /** - * Function to be executed before a test (in Mocha/Jasmine) or a step (in Cucumber) starts. - * @param {Object} test test details - */ - // beforeTest: function (test) { - // }, - /** - * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling - * beforeEach in Mocha) - */ - // beforeHook: function () { - // }, - /** - * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling - * afterEach in Mocha) - */ - // afterHook: function () { - // }, - /** - * Function to be executed after a test (in Mocha/Jasmine only) - * @param {Object} test test object - * @param {Object} context scope object the test was executed with - * @param {Error} result.error error object in case the test fails, otherwise `undefined` - * @param {Any} result.result return object of test function - * @param {Number} result.duration duration of test - * @param {Boolean} result.passed true if test has passed, otherwise false - * @param {Object} result.retries informations to spec related retries, e.g. `{ attempts: 0, limit: 0 }` - */ - afterTest: async function(test, context, { error, result, duration, passed, retries }) { - if (!passed) { - await browser.takeScreenshot(); - } - }, - /** - * Hook that gets executed after the suite has ended - * @param {Object} suite suite details - */ - // afterSuite: function (suite) { - // }, - - /** - * Runs after a WebdriverIO command gets executed - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - * @param {Number} result 0 - command success, 1 - command error - * @param {Object} error error object if any - */ - // afterCommand: function (commandName, args, result, error) { - // }, - /** - * Gets executed after all tests are done. You still have access to all global variables from - * the test. - * @param {Number} result 0 - test pass, 1 - test fail - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // after: function (result, capabilities, specs) { - // }, - /** - * Gets executed right after terminating the webdriver session. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // afterSession: function (config, capabilities, specs) { - // }, - /** - * Gets executed after all workers got shut down and the process is about to exit. - * @param {Object} exitCode 0 - success, 1 - fail - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {} results object containing test results - */ - onComplete: function() { - const reportError = new Error('Could not generate Allure report'); - const generation = allure(['generate', 'allure-results', '--clean']); - return new Promise((resolve, reject) => { - const generationTimeout = setTimeout( - () => reject(reportError), - 10000); - - generation.on('exit', function(exitCode) { - clearTimeout(generationTimeout); - - if (exitCode !== 0) { - return reject(reportError); - } - - resolve('Allure report successfully generated'); - }); - }); - }, -} diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/.env.example b/packages/frontier-plugins/plugin-qa/template/project-template/.env.example deleted file mode 100644 index 4aafdd64..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/.env.example +++ /dev/null @@ -1,3 +0,0 @@ -BASE_URL= -USERNAME= -PASSWORD= \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/.gitignore b/packages/frontier-plugins/plugin-qa/template/project-template/.gitignore deleted file mode 100644 index d54728bd..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -allure-results -allure-report -.env \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/README.md b/packages/frontier-plugins/plugin-qa/template/project-template/README.md deleted file mode 100644 index d0669e86..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# RD WebdriverIO Web Automation Template - -Boilerplate for a web automation project using WebDriverIO v7, with examples of -different types of testing scenarios. - -# Installation - -Once created, all dependencies will be installed, just cd into your newly -created project folder! - -## NB - -Leverage a .env file for credentials during testing. Please use .env.example for -an example of values that can be used from a .env file. diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/package.json b/packages/frontier-plugins/plugin-qa/template/project-template/package.json deleted file mode 100644 index 5b3f46f2..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "private": true, - "name": "project-standard", - "version": "1.0.0", - "description": "A boilerplate project for RealDecoy for web automation", - "scripts": { - "test": "wdio wdio.conf.ts", - "pipelines_test": "wdio wdio.pipelines.conf.ts", - "report": "allure generate ./allure-results --clean && allure open" - }, - "keywords": [ - "automation", - "node" - ], - "author": "RealDecoy", - "license": "ISC", - "devDependencies": { - "@wdio/allure-reporter": "^7.16.13", - "@wdio/cli": "^7.16.9", - "@wdio/local-runner": "^7.16.9", - "@wdio/mocha-framework": "^7.16.6", - "@wdio/selenium-standalone-service": "^7.16.13", - "@wdio/spec-reporter": "^7.16.9", - "allure-commandline": "^2.13.8", - "axios": "^0.24.0", - "chai": "^4.3.4", - "chance": "^1.1.8", - "dotenv": "^10.0.0", - "lodash": "^4.17.21", - "ts-node": "^10.4.0", - "tsconfig-paths": "^3.12.0", - "typescript": "^4.5.2" - } -} diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/assets/webdriverIO.png b/packages/frontier-plugins/plugin-qa/template/project-template/src/assets/webdriverIO.png deleted file mode 100644 index 1769529d..00000000 Binary files a/packages/frontier-plugins/plugin-qa/template/project-template/src/assets/webdriverIO.png and /dev/null differ diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-basic-auth-page.ts b/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-basic-auth-page.ts deleted file mode 100644 index e86095cb..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-basic-auth-page.ts +++ /dev/null @@ -1,9 +0,0 @@ -import BasePage from './page' - -class BasicAuthPage extends BasePage { - get message() { - return $('#content > div > p').getText(); - } -} - -export default new BasicAuthPage(); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-dropdown-page.ts b/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-dropdown-page.ts deleted file mode 100644 index 003afdec..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-dropdown-page.ts +++ /dev/null @@ -1,13 +0,0 @@ -import BasePage from './page' - -class DropdownPage extends BasePage { - open() { - return browser.url('/dropdown'); - } - - get dropdownElement() { - return $('#dropdown'); - } -} - -export default new DropdownPage(); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-dynamic-loading-page.ts b/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-dynamic-loading-page.ts deleted file mode 100644 index 265061f2..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-dynamic-loading-page.ts +++ /dev/null @@ -1,35 +0,0 @@ -import BasePage from './page' - -class DynamicLoadingPage extends BasePage { - open() { - return browser.url('/dynamic_loading'); - } - - get elementExistsButIsHidden() { - return $('[href="/dynamic_loading/1"]').click(); - } - - get elementIsRenderedAfterLoading() { - return $('[href="/dynamic_loading/2"]').click(); - } - - get start() { - return $('#start > button').click(); - } - - get finishElement() { - return $('#finish > h4'); - } - - get finishText() { - return this.finishElement.getText(); - } - - waitUntilElementIsDisplayed() { - browser.waitUntil(() => { - return this.finishElement.isDisplayed(); - }); - } -} - -export default new DynamicLoadingPage(); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-login-page.ts b/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-login-page.ts deleted file mode 100644 index 30da98e9..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/example-login-page.ts +++ /dev/null @@ -1,42 +0,0 @@ - import BasePage from './page' - -/** - * Sub page containing specific selectors and methods for a specific page - */ -class LoginPage extends BasePage { - /** - * Selectors - * Define selectors in this section using getter methods - */ - get inputUsername() { - return $('#username') - } - - get inputPassword() { - return $('#password') - } - - get btnSubmit () { - return $('button[type="submit"]'); - } - - get flash() { - return $('#flash').getText(); -} - - // Functions - - /** - * Login on the page using a username and password - * @param {string} username . - * @param {string} password . - */ - async loginWithCredentials(username: string, password: string) { - this.inputUsername.setValue(username) - this.inputPassword.setValue(password) - this.btnSubmit.click() - } - -} - -export default new LoginPage(); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/file-upload-page.ts b/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/file-upload-page.ts deleted file mode 100644 index 1476fb75..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/file-upload-page.ts +++ /dev/null @@ -1,25 +0,0 @@ -import BasePage from './page' - -class FileUploadPage extends BasePage { - open() { - return browser.url('/upload'); - } - - get chooseFileElement() { - return $('#file-upload'); - } - - get upload() { - return $('#file-submit').click(); - } - - get uploadedFiles() { - return $('#uploaded-files').getText(); - } - - chooseFile(filePath) { - this.chooseFileElement.setValue(filePath); - } -} - -export default new FileUploadPage(); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/javascript-alerts-page.ts b/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/javascript-alerts-page.ts deleted file mode 100644 index 4b88cbd8..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/javascript-alerts-page.ts +++ /dev/null @@ -1,17 +0,0 @@ -import BasePage from './page' - -class JavaScriptAlertsPage extends BasePage { - open() { - return browser.url('/javascript_alerts'); - } - - get clickForAlert() { - return browser.$('button=Click for JS Alert').click(); - } - - get result() { - return $('#result').getText(); - } -} - -export default new JavaScriptAlertsPage(); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/key-press-page.ts b/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/key-press-page.ts deleted file mode 100644 index bb0f8b09..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/key-press-page.ts +++ /dev/null @@ -1,17 +0,0 @@ -import BasePage from './page' - -class KeyPressPage extends BasePage { - open() { - return browser.url('/key_presses'); - } - - get result() { - return $('#result').getText(); - } - - submitKeyPress(value) { - return browser.keys(value); - } -} - -export default new KeyPressPage(); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/page.ts b/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/page.ts deleted file mode 100644 index 4bb0eb89..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/src/page_objects/page.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** -* Main page object containing all methods, selectors and functionality -* that is shared across all page objects -*/ -export default class BasePage { - /** - * Opens a sub page of the page - * @param {string} path of the sub page (e.g. /path/to/page.html) - * @returns {string} This returns the base path - */ - open(path: string) { - return browser.url(`https://the-internet.herokuapp.com/${path}`) - } -} diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/basicAuth.example.spec.ts b/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/basicAuth.example.spec.ts deleted file mode 100644 index aaf20b83..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/basicAuth.example.spec.ts +++ /dev/null @@ -1,10 +0,0 @@ -import {expect} from 'chai'; -import BasicAuthPage from '@/page_objects/example-basic-auth-page'; - -describe('Basic auth', () => { - it('works if username and password are passed in the url', async () => { - browser.url('http://admin:admin@the-internet.herokuapp.com/basic_auth'); - let message = await BasicAuthPage.message - expect(message).to.eq('Congratulations! You must have the proper credentials.'); - }); -}); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/dropdown.example.spec.ts b/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/dropdown.example.spec.ts deleted file mode 100644 index 82680900..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/dropdown.example.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -import {expect} from 'chai'; -import DropdownPage from '@/page_objects/example-dropdown-page' - -describe('Dropdown', () => { - it('can be set using selectByVisibleText', async () => { - await DropdownPage.open(); - await DropdownPage.dropdownElement.selectByVisibleText('Option 2'); - let element = await DropdownPage.dropdownElement.getValue(); - expect(element).to.eq('2'); - }); - - it ('can be set using selectByAttribute',async () => { - await DropdownPage.open(); - let dropDown = await DropdownPage.dropdownElement; - await dropDown.selectByAttribute('value', '1'); - let value = await DropdownPage.dropdownElement.getValue() - expect(value).to.eq('1'); - }); - - it ('can be set using selectByIndex', async () => { - await DropdownPage.open(); - await DropdownPage.dropdownElement.selectByIndex(2); - let element = await DropdownPage.dropdownElement.getValue(); - expect(element).to.eq('2'); - }); -}); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/dynamicLoading.example.spec.ts b/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/dynamicLoading.example.spec.ts deleted file mode 100644 index 6535236f..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/dynamicLoading.example.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -import {expect} from 'chai'; -import DynamicLoadingPage from '@/page_objects/example-dynamic-loading-page'; - -describe('Dynamic loading', () => { - it('even when element is rendered after loading', async () => { - await DynamicLoadingPage.open(); - await DynamicLoadingPage.elementIsRenderedAfterLoading; - await DynamicLoadingPage.start; - await DynamicLoadingPage.waitUntilElementIsDisplayed(); - let element = await DynamicLoadingPage.finishText; - - expect(element).to.eq('Hello World!'); - }); -}); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/fileUpload.example.spec.ts b/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/fileUpload.example.spec.ts deleted file mode 100644 index 23a035ae..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/fileUpload.example.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import {expect} from 'chai'; -import FileUploadPage from '@/page_objects/file-upload-page'; -import path = require('path'); - -describe('File upload Example', () => { - it('should upload a file successfully', async () => { - const imageName = 'webdriverIO.png'; - const filePath = path.join(__dirname, '../../src/assets/webdriverIO.png'); - - await FileUploadPage.open(); - await FileUploadPage.chooseFile(filePath); - await browser.pause(2000) - await FileUploadPage.upload; - - let element = await FileUploadPage.uploadedFiles; - expect(element).to.eq(imageName); - }); -}); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/javascriptAlert.example.spec.ts b/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/javascriptAlert.example.spec.ts deleted file mode 100644 index 638e2667..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/javascriptAlert.example.spec.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {expect} from 'chai'; -import JavaScriptAlertsPage from '@/page_objects/javascript-alerts-page'; - -describe('JavaScript Alerts', () => { - it('can be accepted', async () => { - await JavaScriptAlertsPage.open(); - await JavaScriptAlertsPage.clickForAlert; - - await browser.acceptAlert(); - let element = await JavaScriptAlertsPage.result; - expect(element).to.eq('You successfully clicked an alert'); - }); -}); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/keyPress.example.spec.ts b/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/keyPress.example.spec.ts deleted file mode 100644 index 224a6b3e..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/keyPress.example.spec.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {expect} from 'chai'; -import KeyPressPage from '@/page_objects/key-press-page'; - -describe('Key Presses', () => { - it('can be performed using .keys()', async() => { - const keyValue = 'Enter'; - - await KeyPressPage.open(); - await KeyPressPage.submitKeyPress(keyValue); - let element = await KeyPressPage.result; - expect(element).to.eq(`You entered: ${keyValue.toUpperCase()}`); - }); -}); diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/login.example.spec.ts b/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/login.example.spec.ts deleted file mode 100644 index 790e3e97..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/test/specs/login.example.spec.ts +++ /dev/null @@ -1,9 +0,0 @@ -import LoginPage from '@/page_objects/example-login-page'; - -describe('My Login application', () => { - it('should login with valid credentials', async () => { - await LoginPage.open('/login'); - - await LoginPage.loginWithCredentials('tomsmith', 'SuperSecretPassword!'); - }); -}) diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/tsconfig.json b/packages/frontier-plugins/plugin-qa/template/project-template/tsconfig.json deleted file mode 100644 index 8dace31a..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "resolveJsonModule": true, - "moduleResolution": "node", - "types": [ - "node", - "webdriverio/async", - "@wdio/mocha-framework", - "mocha", - "expect-webdriverio" - ], - "target": "ES5", - "baseUrl": "src", - "paths": { - "@/page_objects/*": [ - "page_objects/*" - ], - "@/assets/*": [ - "@/assets/*" - ] - } - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/wdio.conf.ts b/packages/frontier-plugins/plugin-qa/template/project-template/wdio.conf.ts deleted file mode 100644 index 8c7d1221..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/wdio.conf.ts +++ /dev/null @@ -1,309 +0,0 @@ - -const allure = require('allure-commandline'); -const dotenv = require('dotenv'); - -dotenv.config(); -export const config: WebdriverIO.Config = { - // - // ==================== - // Runner Configuration - // ==================== - // - // - // ================== - // Specify Test Files - // ================== - // Define which test specs should run. The pattern is relative to the directory - // from which `wdio` was called. - // - // The specs are defined as an array of spec files (optionally using wildcards - // that will be expanded). The test for each spec file will be run in a separate - // worker process. In order to have a group of spec files run in the same worker - // process simply enclose them in an array within the specs array. - // - // If you are calling `wdio` from an NPM script (see https://docs.npmjs.com/cli/run-script), - // then the current working directory is where your `package.json` resides, so `wdio` - // will be called from there. - // - specs: [ - './test/specs/**/*.ts' - ], - // Patterns to exclude. - exclude: [ - // 'path/to/excluded/files' - ], - // - // ============ - // Capabilities - // ============ - // Define your capabilities here. WebdriverIO can run multiple capabilities at the same - // time. Depending on the number of capabilities, WebdriverIO launches several test - // sessions. Within your capabilities you can overwrite the spec and exclude options in - // order to group specific specs to a specific capability. - // - // First, you can define how many instances should be started at the same time. Let's - // say you have 3 different capabilities (Chrome, Firefox, and Safari) and you have - // set maxInstances to 1; wdio will spawn 3 processes. Therefore, if you have 10 spec - // files and you set maxInstances to 10, all spec files will get tested at the same time - // and 30 processes will get spawned. The property handles how many capabilities - // from the same test should run tests. - // - maxInstances: 10, - // - // If you have trouble getting all important capabilities together, check out the - // Sauce Labs platform configurator - a great tool to configure your capabilities: - // https://saucelabs.com/platform/platform-configurator - // - capabilities: [{ - - // maxInstances can get overwritten per capability. So if you have an in-house Selenium - // grid with only 5 firefox instances available you can make sure that not more than - // 5 instances get started at a time. - maxInstances: 5, - // - browserName: 'chrome', - acceptInsecureCerts: true - // If outputDir is provided WebdriverIO can capture driver session logs - // it is possible to configure which logTypes to include/exclude. - // excludeDriverLogs: ['*'], // pass '*' to exclude all driver session logs - // excludeDriverLogs: ['bugreport', 'server'], - }], - // - // =================== - // Test Configurations - // =================== - // Define all options that are relevant for the WebdriverIO instance here - // - // Level of logging verbosity: trace | debug | info | warn | error | silent - logLevel: 'info', - // - // Set specific log levels per logger - // loggers: - // - webdriver, webdriverio - // - @wdio/browserstack-service, @wdio/devtools-service, @wdio/sauce-service - // - @wdio/mocha-framework, @wdio/jasmine-framework - // - @wdio/local-runner - // - @wdio/sumologic-reporter - // - @wdio/cli, @wdio/config, @wdio/utils - // Level of logging verbosity: trace | debug | info | warn | error | silent - // logLevels: { - // webdriver: 'info', - // '@wdio/appium-service': 'info' - // }, - // - // If you only want to run your tests until a specific amount of tests have failed use - // bail (default is 0 - don't bail, run all tests). - bail: 0, - // - // Set a base URL in order to shorten url command calls. If your `url` parameter starts - // with `/`, the base url gets prepended, not including the path portion of your baseUrl. - // If your `url` parameter starts without a scheme or `/` (like `some/path`), the base url - // gets prepended directly. - baseUrl: 'https://the-internet.herokuapp.com/', - // - // Default timeout for all waitFor* commands. - waitforTimeout: 10000, - // - // Default timeout in milliseconds for request - // if browser driver or grid doesn't send response - connectionRetryTimeout: 120000, - // - // Default request retries count - connectionRetryCount: 3, - // - // Test runner services - // Services take over a specific job you don't want to take care of. They enhance - // your test setup with almost no effort. Unlike plugins, they don't add new - // commands. Instead, they hook themselves up into the test process. - services: ['selenium-standalone'], - - // Framework you want to run your specs with. - // The following are supported: Mocha, Jasmine, and Cucumber - // see also: https://webdriver.io/docs/frameworks - // - // Make sure you have the wdio adapter package for the specific framework installed - // before running any tests. - framework: 'mocha', - // - // The number of times to retry the entire specfile when it fails as a whole - // specFileRetries: 1, - // - // Delay in seconds between the spec file retry attempts - // specFileRetriesDelay: 0, - // - // Whether or not retried specfiles should be retried immediately or deferred to the end of the queue - // specFileRetriesDeferred: false, - // - // Test reporter for stdout. - // The only one supported by default is 'dot' - // see also: https://webdriver.io/docs/dot-reporter - reporters: ['spec',['allure', {outputDir: 'allure-results', disableWebdriverStepsReporting: true, disableMochaHooks: true}]], - - - - // - // Options to be passed to Mocha. - // See the full list at http://mochajs.org/ - mochaOpts: { - ui: 'bdd', - compilers: [ - 'tsconfig-paths/register' - ], - timeout: 60000 - }, - // - // ===== - // Hooks - // ===== - // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance - // it and to build services around it. You can either apply a single function or an array of - // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got - // resolved to continue. - /** - * Gets executed once before all workers get launched. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - */ - // onPrepare: function (config, capabilities) { - // }, - /** - * Gets executed before a worker process is spawned and can be used to initialise specific service - * for that worker as well as modify runtime environments in an async fashion. - * @param {String} cid capability id (e.g 0-0) - * @param {[type]} caps object containing capabilities for session that will be spawn in the worker - * @param {[type]} specs specs to be run in the worker process - * @param {[type]} args object that will be merged with the main configuration once worker is initialised - * @param {[type]} execArgv list of string arguments passed to the worker process - */ - // onWorkerStart: function (cid, caps, specs, args, execArgv) { - // }, - /** - * Gets executed just before initialising the webdriver session and test framework. It allows you - * to manipulate configurations depending on the capability or spec. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - * @param {String} cid worker id (e.g. 0-0) - */ - // beforeSession: function (config, capabilities, specs, cid) { - // }, - /** - * Gets executed before test execution begins. At this point you can access to all global - * variables like `browser`. It is the perfect place to define custom commands. - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that are to be run - * @param {Object} browser instance of created browser/device session - */ - before: function () { - require('ts-node').register({ files: true }); - }, - /** - * Runs before a WebdriverIO command gets executed. - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - */ - // beforeCommand: function (commandName, args) { - // }, - /** - * Hook that gets executed before the suite starts - * @param {Object} suite suite details - */ - // beforeSuite: function (suite) { - // }, - /** - * Function to be executed before a test (in Mocha/Jasmine) starts. - */ - // beforeTest: function (test, context) { - // }, - /** - * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling - * beforeEach in Mocha) - */ - // beforeHook: function (test, context) { - // }, - /** - * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling - * afterEach in Mocha) - */ - // afterHook: function (test, context, { error, result, duration, passed, retries }) { - // }, - /** - * Function to be executed after a test (in Mocha/Jasmine only) - * @param {Object} test test object - * @param {Object} context scope object the test was executed with - * @param {Error} result.error error object in case the test fails, otherwise `undefined` - * @param {Any} result.result return object of test function - * @param {Number} result.duration duration of test - * @param {Boolean} result.passed true if test has passed, otherwise false - * @param {Object} result.retries informations to spec related retries, e.g. `{ attempts: 0, limit: 0 }` - */ - afterTest: async function(test, context, { error, result, duration, passed, retries }) { - if (!passed) { - await browser.takeScreenshot(); - } - }, - - - /** - * Hook that gets executed after the suite has ended - * @param {Object} suite suite details - */ - // afterSuite: function (suite) { - // }, - /** - * Runs after a WebdriverIO command gets executed - * @param {String} commandName hook command name - * @param {Array} args arguments that command would receive - * @param {Number} result 0 - command success, 1 - command error - * @param {Object} error error object if any - */ - // afterCommand: function (commandName, args, result, error) { - // }, - /** - * Gets executed after all tests are done. You still have access to all global variables from - * the test. - * @param {Number} result 0 - test pass, 1 - test fail - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // after: function (result, capabilities, specs) { - // }, - /** - * Gets executed right after terminating the webdriver session. - * @param {Object} config wdio configuration object - * @param {Array.} capabilities list of capabilities details - * @param {Array.} specs List of spec file paths that ran - */ - // afterSession: function (config, capabilities, specs) { - // }, - /** - * Gets executed after all workers got shut down and the process is about to exit. An error - * thrown in the onComplete hook will result in the test run failing. - */ - onComplete: function() { - const reportError = new Error('Could not generate Allure report'); - const generation = allure(['generate', 'allure-results', '--clean']); - return new Promise((resolve, reject) => { - const generationTimeout = setTimeout( - () => reject(reportError), - 9000); - - generation.on('exit', function(exitCode) { - clearTimeout(generationTimeout); - - if (exitCode !== 0) { - return reject(reportError); - } - - resolve('Allure report successfully generated'); - }); - }); - }, - /** - * Gets executed when a refresh happens. - * @param {String} oldSessionId session ID of the old session - * @param {String} newSessionId session ID of the new session - */ - //onReload: function(oldSessionId, newSessionId) { - //} -} diff --git a/packages/frontier-plugins/plugin-qa/template/project-template/wdio.pipelines.conf.ts b/packages/frontier-plugins/plugin-qa/template/project-template/wdio.pipelines.conf.ts deleted file mode 100644 index 01bfe038..00000000 --- a/packages/frontier-plugins/plugin-qa/template/project-template/wdio.pipelines.conf.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Let's load the default configs: -const defaults = require('./wdio.conf').config; -import * as _ from 'lodash'; - -const overrides = { - // Here are all 'pipelines' specific overrides: - capabilities: [{ - browserName: 'chrome', - 'goog:chromeOptions': { - args: [ - '--disable-infobars', - '--window-size=1280,800', - '--headless', - '--no-sandbox', - '--disable-gpu', - '--disable-setuid-sandbox', - '--disable-dev-shm-usage', - ], - }, - }], - -}; - -// Send the merged config to wdio -exports.config = _.defaultsDeep(overrides, defaults) \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-qa/template/resources/page-object.ts b/packages/frontier-plugins/plugin-qa/template/resources/page-object.ts deleted file mode 100644 index f125a92f..00000000 --- a/packages/frontier-plugins/plugin-qa/template/resources/page-object.ts +++ /dev/null @@ -1,23 +0,0 @@ - -// All imports go here - -// Importing Base Page Object -import page from './page-object'; - -/** - * Page containing specific selectors and methods for a specific page - */ -class extends page { - /** - * Selectors - * Define selectors in this section using getter methods - */ - - /** - * Functions - * Define functions for different methods that can be carried out on the page - */ - -} - -export default new (); diff --git a/packages/frontier-plugins/plugin-qa/template/resources/screen-object.ts b/packages/frontier-plugins/plugin-qa/template/resources/screen-object.ts deleted file mode 100644 index 28f30971..00000000 --- a/packages/frontier-plugins/plugin-qa/template/resources/screen-object.ts +++ /dev/null @@ -1,23 +0,0 @@ - -// All imports go here - -// Importing Base Screen Object -import screen from './app-screen'; - -/** - * Page containing specific selectors and methods for a specific page - */ -class extends screen { - /** - * Selectors - * Define selectors in this section using getter methods - */ - - /** - * Functions - * Define functions for different methods that can be carried out on the page - */ - -} - -export default new (); diff --git a/packages/frontier-plugins/plugin-qa/template/resources/test.spec.ts b/packages/frontier-plugins/plugin-qa/template/resources/test.spec.ts deleted file mode 100644 index c8e866a5..00000000 --- a/packages/frontier-plugins/plugin-qa/template/resources/test.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -// All imports go here - -describe('', () => { - it('should login with valid credentials', () => { - // Enter test details - }); -}); - diff --git a/packages/frontier-plugins/plugin-qa/test/commands/create-page-object.spec.ts b/packages/frontier-plugins/plugin-qa/test/commands/create-page-object.spec.ts deleted file mode 100644 index 753297dc..00000000 --- a/packages/frontier-plugins/plugin-qa/test/commands/create-page-object.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -import {expect, test} from '@oclif/test' -import { exec } from 'child_process' - -const PageObjectFileName = 'HelloWorld' -const testProjectName = 'rdspec-hello-world-3' - -describe('rdspec - Create A PageObject File Test', () => { - test - .stdout() - .command(['create-project', testProjectName]) - .it(`runs create-project ${testProjectName}`, ctx => { - expect(ctx.stdout).to.contain(`${testProjectName} is ready!`) - }) - - test - .stdout() - .do(() => process.chdir(testProjectName)) - .command(['create-page-object', PageObjectFileName]) - .do(() => process.chdir('../')) - .it(`runs create-page-object ${PageObjectFileName}`, ctx => { - expect(ctx.stdout).to.contain(`${PageObjectFileName} is ready!`) - }) - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - console.log(`error: ${error.message}`) - } - }) - }) -}) diff --git a/packages/frontier-plugins/plugin-qa/test/commands/create-project.spec.ts b/packages/frontier-plugins/plugin-qa/test/commands/create-project.spec.ts deleted file mode 100644 index 48c87b65..00000000 --- a/packages/frontier-plugins/plugin-qa/test/commands/create-project.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import {expect, test} from '@oclif/test' -import { exec } from 'child_process' - -const testProjectName = 'rdspec-hello-world-1' - -describe('rdspec - Create A Project Test', () => { - test - .stdout() - .command(['create-project', testProjectName]) - .it(`runs create-project ${testProjectName}`, ctx => { - expect(ctx.stdout).to.contain(`${testProjectName} is ready!`) - }) - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - console.log(`error: ${error.message}`) - } - }) - }) -}) diff --git a/packages/frontier-plugins/plugin-qa/test/commands/create-test-file.spec.ts b/packages/frontier-plugins/plugin-qa/test/commands/create-test-file.spec.ts deleted file mode 100644 index 2384558f..00000000 --- a/packages/frontier-plugins/plugin-qa/test/commands/create-test-file.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -import {expect, test} from '@oclif/test' -import { exec } from 'child_process' - -const testFileName = 'helloWorld' -const testProjectName = 'rdspec-hello-world-2' - -describe('rdspec - Create A Test File Test', () => { - test - .stdout() - .command(['create-project', testProjectName]) - .it(`runs create-project ${testProjectName}`, ctx => { - expect(ctx.stdout).to.contain(`${testProjectName} is ready!`) - }) - - test - .stdout() - .do(() => process.chdir(testProjectName)) - .command(['create-test', testFileName]) - .do(() => process.chdir('../')) - .it(`runs create-test ${testFileName}`, ctx => { - expect(ctx.stdout).to.contain(`${testFileName} is ready!`) - }) - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - console.log(`error: ${error.message}`) - } - }) - }) -}) diff --git a/packages/frontier-plugins/plugin-qa/test/mocha.opts b/packages/frontier-plugins/plugin-qa/test/mocha.opts deleted file mode 100644 index 54f27e0e..00000000 --- a/packages/frontier-plugins/plugin-qa/test/mocha.opts +++ /dev/null @@ -1,5 +0,0 @@ ---require ts-node/register ---watch-extensions ts ---recursive ---reporter spec ---timeout 80000 diff --git a/packages/frontier-plugins/plugin-qa/test/tsconfig.json b/packages/frontier-plugins/plugin-qa/test/tsconfig.json deleted file mode 100644 index 6c92a474..00000000 --- a/packages/frontier-plugins/plugin-qa/test/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../tsconfig", - "compilerOptions": { - "noEmit": true, - }, - "references": [ - {"path": ".."} - ] -} diff --git a/packages/frontier-plugins/plugin-qa/tsconfig.build.json b/packages/frontier-plugins/plugin-qa/tsconfig.build.json deleted file mode 100644 index d5e6da46..00000000 --- a/packages/frontier-plugins/plugin-qa/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "declarationDir": "types", - "outDir": "dist", - }, - "exclude": [ - "setupTests.ts", - "**/*spec.ts", - ] -} diff --git a/packages/frontier-plugins/plugin-qa/tsconfig.json b/packages/frontier-plugins/plugin-qa/tsconfig.json deleted file mode 100644 index 4e1dabaf..00000000 --- a/packages/frontier-plugins/plugin-qa/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "importHelpers": true, - "isolatedModules": true, - "module": "commonjs", - "outDir": "dist", - "rootDir": "src", - "strict": true, - "target": "es2017", - "skipLibCheck": true, - "esModuleInterop": true, - "baseUrl": "src", - "paths": { - "@/*": [ - "./src/*" - ] - } - }, - "include": [ - "src/**/*" ], - "exclude": [ - "node_modules/**/*" - ] -} diff --git a/packages/frontier-plugins/plugin-qa/yarn.lock b/packages/frontier-plugins/plugin-qa/yarn.lock deleted file mode 100644 index 8498a1d8..00000000 --- a/packages/frontier-plugins/plugin-qa/yarn.lock +++ /dev/null @@ -1,3015 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== - dependencies: - "@babel/highlight" "^7.14.5" - -"@babel/generator@^7.14.5", "@babel/generator@^7.4.0": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz" - integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== - dependencies: - "@babel/types" "^7.14.5" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz" - integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== - dependencies: - "@babel/helper-get-function-arity" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/helper-get-function-arity@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz" - integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-hoist-variables@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz" - integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-split-export-declaration@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz" - integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-validator-identifier@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz" - integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== - -"@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.14.5", "@babel/parser@^7.14.7", "@babel/parser@^7.4.3": - version "7.14.7" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz" - integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== - -"@babel/template@^7.14.5", "@babel/template@^7.4.0": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz" - integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/traverse@^7.4.3": - version "7.14.7" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz" - integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/parser" "^7.14.7" - "@babel/types" "^7.14.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.14.5", "@babel/types@^7.4.0": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz" - integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - to-fast-properties "^2.0.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.7" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz" - integrity sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@oclif/command@^1.5.20", "@oclif/command@^1.6.0", "@oclif/command@^1.8.0": - version "1.8.0" - resolved "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz" - integrity sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw== - dependencies: - "@oclif/config" "^1.15.1" - "@oclif/errors" "^1.3.3" - "@oclif/parser" "^3.8.3" - "@oclif/plugin-help" "^3" - debug "^4.1.1" - semver "^7.3.2" - -"@oclif/config@^1.15.1", "@oclif/config@^1.17.0": - version "1.17.0" - resolved "https://registry.npmjs.org/@oclif/config/-/config-1.17.0.tgz" - integrity sha512-Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA== - dependencies: - "@oclif/errors" "^1.3.3" - "@oclif/parser" "^3.8.0" - debug "^4.1.1" - globby "^11.0.1" - is-wsl "^2.1.1" - tslib "^2.0.0" - -"@oclif/dev-cli@^1.26.0": - version "1.26.0" - resolved "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.26.0.tgz" - integrity sha512-272udZP+bG4qahoAcpWcMTJKiA+V42kRMqQM7n4tgW35brYb2UP5kK+p08PpF8sgSfRTV8MoJVJG9ax5kY82PA== - dependencies: - "@oclif/command" "^1.8.0" - "@oclif/config" "^1.17.0" - "@oclif/errors" "^1.3.3" - "@oclif/plugin-help" "^3.2.0" - cli-ux "^5.2.1" - debug "^4.1.1" - find-yarn-workspace-root "^2.0.0" - fs-extra "^8.1" - github-slugger "^1.2.1" - lodash "^4.17.11" - normalize-package-data "^3.0.0" - qqjs "^0.3.10" - tslib "^2.0.3" - -"@oclif/errors@^1.2.1", "@oclif/errors@^1.2.2", "@oclif/errors@^1.3.3": - version "1.3.4" - resolved "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.4.tgz" - integrity sha512-pJKXyEqwdfRTUdM8n5FIHiQQHg5ETM0Wlso8bF9GodczO40mF5Z3HufnYWJE7z8sGKxOeJCdbAVZbS8Y+d5GCw== - dependencies: - clean-stack "^3.0.0" - fs-extra "^8.1" - indent-string "^4.0.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -"@oclif/linewrap@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz" - integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== - -"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.3": - version "3.8.5" - resolved "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.5.tgz" - integrity sha512-yojzeEfmSxjjkAvMRj0KzspXlMjCfBzNRPkWw8ZwOSoNWoJn+OCS/m/S+yfV6BvAM4u2lTzX9Y5rCbrFIgkJLg== - dependencies: - "@oclif/errors" "^1.2.2" - "@oclif/linewrap" "^1.0.0" - chalk "^2.4.2" - tslib "^1.9.3" - -"@oclif/plugin-help@^3", "@oclif/plugin-help@^3.2.0", "@oclif/plugin-help@^3.2.2": - version "3.2.2" - resolved "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.2.tgz" - integrity sha512-SPZ8U8PBYK0n4srFjCLedk0jWU4QlxgEYLCXIBShJgOwPhTTQknkUlsEwaMIevvCU4iCQZhfMX+D8Pz5GZjFgA== - dependencies: - "@oclif/command" "^1.5.20" - "@oclif/config" "^1.15.1" - "@oclif/errors" "^1.2.2" - chalk "^4.1.0" - indent-string "^4.0.0" - lodash.template "^4.4.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" - widest-line "^3.1.0" - wrap-ansi "^4.0.0" - -"@oclif/screen@^1.0.3": - version "1.0.4" - resolved "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz" - integrity sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw== - -"@oclif/test@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@oclif/test/-/test-1.2.8.tgz" - integrity sha512-HCh0qPge1JCqTEw4s2ScnicEZd4Ro4/0VvdjpsfCiX6fuDV53fRZ2uqLTgxKGHrVoqOZnVrRZHyhFyEsFGs+zQ== - dependencies: - fancy-test "^1.4.3" - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^7.1.0": - version "7.1.2" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz" - integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@types/chai@*", "@types/chai@^4.2.19": - version "4.2.19" - resolved "https://registry.npmjs.org/@types/chai/-/chai-4.2.19.tgz" - integrity sha512-jRJgpRBuY+7izT7/WNXP/LsMO9YonsstuL+xuvycDyESpoDoIAsMd7suwpB4h9oEWB+ZlPTqJJ8EHomzNhwTPQ== - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - -"@types/glob@*", "@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/json-schema@^7.0.3": - version "7.0.7" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/lodash@*": - version "4.14.170" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.170.tgz" - integrity sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q== - -"@types/minimatch@*": - version "3.0.4" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz" - integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== - -"@types/mocha@^5.2.7": - version "5.2.7" - resolved "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz" - integrity sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ== - -"@types/node@*", "@types/node@^10.17.60": - version "10.17.60" - resolved "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz" - integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== - -"@types/shelljs@^0.8.8": - version "0.8.8" - resolved "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.8.tgz" - integrity sha512-lD3LWdg6j8r0VRBFahJVaxoW0SIcswxKaFUrmKl33RJVeeoNYQAz4uqCJ5Z6v4oIBOsC5GozX+I5SorIKiTcQA== - dependencies: - "@types/glob" "*" - "@types/node" "*" - -"@types/sinon@*": - version "10.0.2" - resolved "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.2.tgz" - integrity sha512-BHn8Bpkapj8Wdfxvh2jWIUoaYB/9/XhsL0oOvBfRagJtKlSl9NWPcFOz2lRukI9szwGxFtYZCTejJSqsGDbdmw== - dependencies: - "@sinonjs/fake-timers" "^7.1.0" - -"@typescript-eslint/eslint-plugin@^2.6.1": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz" - integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== - dependencies: - "@typescript-eslint/experimental-utils" "2.34.0" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@2.34.0": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz" - integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^2.6.1": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz" - integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.34.0" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz" - integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -acorn-jsx@^5.0.0: - version "5.3.1" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== - -acorn@^6.0.7: - version "6.4.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -ajv@^6.10.2, ajv@^6.9.1: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-escapes@^3.1.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansicolors@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" - integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= - -append-transform@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz" - integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== - dependencies: - default-require-extensions "^2.0.0" - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.1: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -caching-transform@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz" - integrity sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w== - dependencies: - hasha "^3.0.0" - make-dir "^2.0.0" - package-hash "^3.0.0" - write-file-atomic "^2.4.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -cardinal@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz" - integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= - dependencies: - ansicolors "~0.3.2" - redeyed "~2.1.0" - -chai@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz" - integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== - 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" - -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.1.0, chalk@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -clean-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" - integrity sha1-jffHquUf02h06PjQW5GAvBGj/tc= - dependencies: - escape-string-regexp "^1.0.5" - -clean-stack@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz" - integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== - dependencies: - escape-string-regexp "4.0.0" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-progress@^3.4.0: - version "3.9.0" - resolved "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.0.tgz" - integrity sha512-g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA== - dependencies: - colors "^1.1.2" - string-width "^4.2.0" - -cli-ux@^5.2.1: - version "5.6.2" - resolved "https://registry.npmjs.org/cli-ux/-/cli-ux-5.6.2.tgz" - integrity sha512-CuiamOCfPaOTjbuAQXdFsfZLQmO6XSmCDxulq4y8pIets1hZ3eaysHppPKGdrcdgLugUGUap5+bXd3IukJASBA== - dependencies: - "@oclif/command" "^1.6.0" - "@oclif/errors" "^1.2.1" - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^1.0.3" - ansi-escapes "^4.3.0" - ansi-styles "^4.2.0" - cardinal "^2.1.1" - chalk "^4.1.0" - clean-stack "^3.0.0" - cli-progress "^3.4.0" - extract-stack "^2.0.0" - fs-extra "^8.1" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.13.1" - lodash "^4.17.11" - natural-orderby "^2.0.1" - object-treeify "^1.1.4" - password-prompt "^1.1.2" - semver "^7.3.2" - string-width "^4.2.0" - strip-ansi "^6.0.0" - supports-color "^8.1.0" - supports-hyperlinks "^2.1.0" - tslib "^2.0.0" - -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colors@^1.1.2: - version "1.4.0" - resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -commander@2.15.1: - version "2.15.1" - resolved "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz" - integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -content-type@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.6.0: - version "1.8.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -cp-file@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz" - integrity sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA== - dependencies: - graceful-fs "^4.1.2" - make-dir "^2.0.0" - nested-error-stacks "^2.0.0" - pify "^4.0.1" - safe-buffer "^5.0.1" - -cross-spawn@^4: - version "4.0.2" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz" - integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -debug@3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== - dependencies: - type-detect "^4.0.0" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -default-require-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz" - integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= - dependencies: - strip-bom "^3.0.0" - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -diff@3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -"emoji-regex@>=6.0.0 <=6.1.1": - version "6.1.1" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz" - integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es6-error@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" - integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-ast-utils@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz" - integrity sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA== - dependencies: - lodash.get "^4.4.2" - lodash.zip "^4.2.0" - -eslint-config-oclif-typescript@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-0.1.0.tgz" - integrity sha512-BjXNJcH2F02MdaSFml9vJskviUFVkLHbTPGM5tinIt98H6klFNKP7/lQ+fB/Goc2wB45usEuuw6+l/fwAv9i7g== - dependencies: - "@typescript-eslint/eslint-plugin" "^2.6.1" - "@typescript-eslint/parser" "^2.6.1" - eslint-config-oclif "^3.1.0" - eslint-config-xo-space "^0.20.0" - eslint-plugin-mocha "^5.2.0" - eslint-plugin-node "^7.0.1" - eslint-plugin-unicorn "^6.0.1" - -eslint-config-oclif@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-3.1.0.tgz" - integrity sha512-Tqgy43cNXsSdhTLWW4RuDYGFhV240sC4ISSv/ZiUEg/zFxExSEUpRE6J+AGnkKY9dYwIW4C9b2YSUVv8z/miMA== - dependencies: - eslint-config-xo-space "^0.20.0" - eslint-plugin-mocha "^5.2.0" - eslint-plugin-node "^7.0.1" - eslint-plugin-unicorn "^6.0.1" - -eslint-config-xo-space@^0.20.0: - version "0.20.0" - resolved "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.20.0.tgz" - integrity sha512-bOsoZA8M6v1HviDUIGVq1fLVnSu3mMZzn85m2tqKb73tSzu4GKD4Jd2Py4ZKjCgvCbRRByEB5HPC3fTMnnJ1uw== - dependencies: - eslint-config-xo "^0.24.0" - -eslint-config-xo@^0.24.0: - version "0.24.2" - resolved "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.24.2.tgz" - integrity sha512-ivQ7qISScW6gfBp+p31nQntz1rg34UCybd3uvlngcxt5Utsf4PMMi9QoAluLFcPUM5Tvqk4JGraR9qu3msKPKQ== - -eslint-plugin-es@^1.3.1: - version "1.4.1" - resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz" - integrity sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA== - dependencies: - eslint-utils "^1.4.2" - regexpp "^2.0.1" - -eslint-plugin-mocha@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz" - integrity sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A== - dependencies: - ramda "^0.26.1" - -eslint-plugin-node@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz" - integrity sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw== - dependencies: - eslint-plugin-es "^1.3.1" - eslint-utils "^1.3.1" - ignore "^4.0.2" - minimatch "^3.0.4" - resolve "^1.8.1" - semver "^5.5.0" - -eslint-plugin-unicorn@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-6.0.1.tgz" - integrity sha512-hjy9LhTdtL7pz8WTrzS0CGXRkWK3VAPLDjihofj8JC+uxQLfXm0WwZPPPB7xKmcjRyoH+jruPHOCrHNEINpG/Q== - dependencies: - clean-regexp "^1.0.0" - eslint-ast-utils "^1.0.0" - import-modules "^1.1.0" - lodash.camelcase "^4.1.1" - lodash.kebabcase "^4.0.1" - lodash.snakecase "^4.0.1" - lodash.upperfirst "^4.2.0" - safe-regex "^1.1.0" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^1.3.1, eslint-utils@^1.4.2: - version "1.4.3" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint@^5.16.0: - version "5.16.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz" - integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.9.1" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^4.0.3" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^5.0.1" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^6.2.2" - js-yaml "^3.13.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.11" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" - table "^5.2.3" - text-table "^0.2.0" - -espree@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== - dependencies: - acorn "^6.0.7" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" - -esprima@^4.0.0, esprima@~4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extract-stack@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz" - integrity sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ== - -fancy-test@^1.4.3: - version "1.4.10" - resolved "https://registry.npmjs.org/fancy-test/-/fancy-test-1.4.10.tgz" - integrity sha512-AaUX6wKS7D5OP2YK2q5G7c8PGx2lgoyLUD7Bbg8z323sb9aebBqzb9UN6phzI73UgO/ViihmNfOxF3kdfZLhew== - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - lodash "^4.17.13" - mock-stdin "^1.0.0" - nock "^13.0.0" - stdout-stderr "^0.1.9" - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.0.3, fast-glob@^3.1.1: - version "3.2.6" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.6.tgz" - integrity sha512-GnLuqj/pvQ7pX8/L4J84nijv6sAnlwvSDpMkJi9i7nPmPxGtRPkBSStfvDW5l6nMdX9VWe+pkKWFTgD+vF2QSQ== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== - dependencies: - reusify "^1.0.4" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-yarn-workspace-root@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" - integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== - dependencies: - micromatch "^4.0.2" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - -foreground-child@^1.5.6: - version "1.5.6" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz" - integrity sha1-T9ca0t/elnibmApcCilZN8svXOk= - dependencies: - cross-spawn "^4" - signal-exit "^3.0.0" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz" - integrity sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1: - version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -github-slugger@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz" - integrity sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q== - dependencies: - emoji-regex ">=6.0.0 <=6.1.1" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@7.1.2: - version "7.1.2" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.6: - version "7.1.7" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0, globals@^11.7.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^10.0.1, globby@^10.0.2: - version "10.0.2" - resolved "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -globby@^11.0.1: - version "11.0.4" - resolved "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.6" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -growl@1.10.5: - version "1.10.5" - resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hasha@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz" - integrity sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk= - dependencies: - is-stream "^1.0.1" - -he@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/he/-/he-1.1.1.tgz" - integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-call@^5.1.2: - version "5.3.0" - resolved "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz" - integrity sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== - dependencies: - content-type "^1.0.4" - debug "^4.1.1" - is-retry-allowed "^1.1.0" - is-stream "^2.0.0" - parse-json "^4.0.0" - tunnel-agent "^0.6.0" - -hyperlinker@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz" - integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== - -iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^4.0.2, ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -import-fresh@^3.0.0: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-modules@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/import-modules/-/import-modules-1.1.0.tgz" - integrity sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw= - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inquirer@^6.2.2: - version "6.5.2" - resolved "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-core-module@^2.2.0: - version "2.4.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz" - integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== - dependencies: - has "^1.0.3" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - 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-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^2.0.0: - 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== - -is-retry-allowed@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-wsl@^2.1.1, is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - -istanbul-lib-hook@^2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz" - integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== - dependencies: - append-transform "^1.0.0" - -istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-report@^2.0.8: - version "2.0.8" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-source-maps@^3.0.6: - version "3.0.6" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-reports@^2.2.4: - version "2.2.7" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz" - integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== - dependencies: - html-escaper "^2.0.0" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.0, js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -load-json-file@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz" - integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== - dependencies: - graceful-fs "^4.1.15" - parse-json "^5.0.0" - strip-bom "^4.0.0" - type-fest "^0.6.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.camelcase@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - -lodash.flattendeep@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" - integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - -lodash.kebabcase@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" - integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash.snakecase@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz" - integrity sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40= - -lodash.template@^4.4.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.upperfirst@^4.2.0: - version "4.3.1" - resolved "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz" - integrity sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984= - -lodash.zip@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz" - integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= - -lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge2@^1.2.3, merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -minimatch@3.0.4, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -mkdirp@0.5.1: - version "0.5.1" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.5" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mocha@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz" - integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== - dependencies: - browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" - diff "3.5.0" - escape-string-regexp "1.0.5" - glob "7.1.2" - growl "1.10.5" - he "1.1.1" - minimatch "3.0.4" - mkdirp "0.5.1" - supports-color "5.4.0" - -mock-stdin@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz" - integrity sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -natural-orderby@^2.0.1: - version "2.0.3" - resolved "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz" - integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== - -nested-error-stacks@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz" - integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nock@^13.0.0: - version "13.1.0" - resolved "https://registry.npmjs.org/nock/-/nock-13.1.0.tgz" - integrity sha512-3N3DUY8XYrxxzWazQ+nSBpiaJ3q6gcpNh4gXovC/QBxrsvNp4tq+wsLHF6mJ3nrn3lPLn7KCJqKxy/9aD+0fdw== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash.set "^4.3.2" - propagate "^2.0.0" - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz" - integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== - dependencies: - hosted-git-info "^4.0.1" - resolve "^1.20.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -nyc@^14.1.1: - version "14.1.1" - resolved "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz" - integrity sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw== - dependencies: - archy "^1.0.0" - caching-transform "^3.0.2" - convert-source-map "^1.6.0" - cp-file "^6.2.0" - find-cache-dir "^2.1.0" - find-up "^3.0.0" - foreground-child "^1.5.6" - glob "^7.1.3" - istanbul-lib-coverage "^2.0.5" - istanbul-lib-hook "^2.0.7" - istanbul-lib-instrument "^3.3.0" - istanbul-lib-report "^2.0.8" - istanbul-lib-source-maps "^3.0.6" - istanbul-reports "^2.2.4" - js-yaml "^3.13.1" - make-dir "^2.1.0" - merge-source-map "^1.1.0" - resolve-from "^4.0.0" - rimraf "^2.6.3" - signal-exit "^3.0.2" - spawn-wrap "^1.4.2" - test-exclude "^5.2.3" - uuid "^3.3.2" - yargs "^13.2.2" - yargs-parser "^13.0.0" - -object-treeify@^1.1.4: - version "1.1.33" - resolved "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz" - integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -optionator@^0.8.2: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz" - integrity sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA== - dependencies: - graceful-fs "^4.1.15" - hasha "^3.0.0" - lodash.flattendeep "^4.4.0" - release-zalgo "^1.0.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -password-prompt@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz" - integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA== - dependencies: - ansi-escapes "^3.1.0" - cross-spawn "^6.0.5" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qqjs@^0.3.10: - version "0.3.11" - resolved "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz" - integrity sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg== - dependencies: - chalk "^2.4.1" - debug "^4.1.1" - execa "^0.10.0" - fs-extra "^6.0.1" - get-stream "^5.1.0" - glob "^7.1.2" - globby "^10.0.1" - http-call "^5.1.2" - load-json-file "^6.2.0" - pkg-dir "^4.2.0" - tar-fs "^2.0.0" - tmp "^0.1.0" - write-json-file "^4.1.1" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -ramda@^0.26.1: - version "0.26.1" - resolved "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz" - integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -readable-stream@^3.1.1, readable-stream@^3.4.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -redeyed@~2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz" - integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= - dependencies: - esprima "~4.0.0" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpp@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -release-zalgo@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz" - integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= - dependencies: - es6-error "^4.0.1" - -replace-in-file@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.2.0.tgz" - integrity sha512-Im2AF9G/qgkYneOc9QwWwUS/efyyonTUBvzXS2VXuxPawE5yQIjT/e6x4CTijO0Quq48lfAujuo+S89RR2TP2Q== - dependencies: - chalk "^4.1.0" - glob "^7.1.6" - yargs "^16.2.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.8.1: - version "1.20.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^2.6.2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-async@^2.2.0: - version "2.4.1" - resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^6.4.0: - version "6.6.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.2, semver@^7.3.4: - version "7.3.5" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shelljs@^0.8.4: - version "0.8.4" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -sort-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" - integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== - dependencies: - is-plain-obj "^2.0.0" - -source-map-support@^0.5.17: - version "0.5.19" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spawn-wrap@^1.4.2: - version "1.4.3" - resolved "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz" - integrity sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw== - dependencies: - foreground-child "^1.5.6" - mkdirp "^0.5.0" - os-homedir "^1.0.1" - rimraf "^2.6.2" - signal-exit "^3.0.2" - which "^1.3.0" - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.9" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz" - integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -stdout-stderr@^0.1.9: - version "0.1.13" - resolved "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz" - integrity sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA== - dependencies: - debug "^4.1.1" - strip-ansi "^6.0.0" - -string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-json-comments@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -supports-color@5.4.0: - version "5.4.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz" - integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== - dependencies: - has-flag "^3.0.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.npmjs.org/table/-/table-5.4.6.tgz" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz" - integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmp@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== - dependencies: - rimraf "^2.6.3" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-regex-range@^5.0.1: - 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== - dependencies: - is-number "^7.0.0" - -ts-node@^8.10.2: - version "8.10.2" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz" - integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== - dependencies: - arg "^4.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tslib@^1.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0, tslib@^2.0.3: - version "2.3.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" - integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== - -tsutils@^3.17.1: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: - 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== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz" - integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9, which@^1.3.0: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -word-wrap@~1.2.3: - 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== - -wrap-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-4.0.0.tgz" - integrity sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg== - dependencies: - ansi-styles "^3.2.0" - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^2.4.2: - version "2.4.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write-json-file@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz" - integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== - dependencies: - detect-indent "^6.0.0" - graceful-fs "^4.1.15" - is-plain-obj "^2.0.0" - make-dir "^3.0.0" - sort-keys "^4.0.0" - write-file-atomic "^3.0.0" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/write/-/write-1.0.3.tgz" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^13.0.0, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^13.2.2: - version "13.3.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - 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" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== diff --git a/packages/frontier-plugins/plugin-shared/README.md b/packages/frontier-plugins/plugin-shared/README.md deleted file mode 100644 index d4f24739..00000000 --- a/packages/frontier-plugins/plugin-shared/README.md +++ /dev/null @@ -1,69 +0,0 @@ - -
-
- - rd logo - -
-
- -# Frontier Plugin Shared Functions Library - -### @rdfrontier/plugin-shared -A library of common functionalities utilized amongst the frontier plugins available. - - -  -  -  - -## Table of Contents - -* [Installation](#install) -* [Usage](#usage) -* [Options](#options) - - -  -  -  -  - -## Installation - -```sh -$ yarn add @rdfrontier/plugin-shared -``` - -or - -```sh -$ npm install @rdfrontier/plugin-shared -``` - -  -  - -## Usage - -```sh -Eg: import { invalidProject } from '@rdfrontier/plugin-shared'; -``` - - -  -  - -## Options - -| Name | Description | -| --- | ------------- | -| **Errors** | | -| invalidProject(commandType: string, projectType: string) | Throw error if project location is invalid. | -| existingProject(projectType: string) | Throw error if project already exists. | -| fileNotChanged() | Throw error file has not been updated.
| -| **Response** | | -| successfulReplaceResponse(successfulReplace: boolean, elementName: string, elementType: string) | Return response of whether file is ready for use or not. | - -  -  diff --git a/packages/frontier-plugins/plugin-shared/babel.config.js b/packages/frontier-plugins/plugin-shared/babel.config.js deleted file mode 100644 index 877711d0..00000000 --- a/packages/frontier-plugins/plugin-shared/babel.config.js +++ /dev/null @@ -1,14 +0,0 @@ -const configurator = require('../../../babel.root'); - -module.exports = (api) => { - api.cache.using(() => process.env.NODE_ENV); - - const envConfig = { - modules: !api.env('module') && 'auto', - }; - - return configurator({ - envConfig, - isTest: api.env('test'), - }); -}; diff --git a/packages/frontier-plugins/plugin-shared/jest.config.js b/packages/frontier-plugins/plugin-shared/jest.config.js deleted file mode 100644 index 9863fb7c..00000000 --- a/packages/frontier-plugins/plugin-shared/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const configurator = require('../../../jest.root'); - -module.exports = configurator({ - setupFiles: ['./setupTests.ts'], -}); diff --git a/packages/frontier-plugins/plugin-shared/package.json b/packages/frontier-plugins/plugin-shared/package.json deleted file mode 100644 index 538e819d..00000000 --- a/packages/frontier-plugins/plugin-shared/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "@rdfrontier/plugin-shared", - "version": "0.0.8", - "description": "plugin shared functionalities", - "license": "UNLICENSED", - "author": "Realdecoy", - "main": "dist/index.js", - "module": "module/index.js", - "files": [ - "dist/", - "module/", - "types/" - ], - "scripts": { - "build": "build-package --tscOnly", - "build:watch": "build-package --tscOnly --watch", - "clean": "rimraf dist esnext module types", - "fix": "run-s lint:es:fix lint:md:fix", - "lint": "run-s lint:es lint:md", - "lint:es": "cross-env LOCAL_TS=1 eslint --ignore-path ../../../.eslintignore \"**/*\"", - "lint:es:ci": "yarn lint:es --format", - "lint:es:fix": "yarn lint:es --fix", - "lint:md": "yarn prettier \"**/*.md\" --check", - "lint:md:fix": "yarn prettier \"**/*.md\" --write", - "rebuild": "run-s clean build", - "test": "jest", - "test:ci": "jest --ci --coverage", - "test:coverage": "run-s test:ci test:coverage:open", - "test:coverage:open": "open ./test-results/index.html", - "test:watch": "jest --watch", - "typecheck": "tsc --noEmit" - }, - "sideEffects": false, - "types": "types/index.d.ts", - "dependencies": { - "@rdfrontier/stdlib": "^0.0.2" - }, - "devDependencies": { - "@rdfrontier/lib-builder": "^1.0.0" - }, - "browserslist": [ - "chrome 38", - "ios >= 9" - ] -} diff --git a/packages/frontier-plugins/plugin-shared/setupTests.ts b/packages/frontier-plugins/plugin-shared/setupTests.ts deleted file mode 100644 index ed220222..00000000 --- a/packages/frontier-plugins/plugin-shared/setupTests.ts +++ /dev/null @@ -1,7 +0,0 @@ -import 'core-js/stable'; -import 'regenerator-runtime/runtime'; -import type { GlobalWithFetchMock } from 'jest-fetch-mock'; - -const customGlobal: GlobalWithFetchMock = global as unknown as GlobalWithFetchMock; -customGlobal.fetch = require('jest-fetch-mock'); -customGlobal.fetchMock = customGlobal.fetch; diff --git a/packages/frontier-plugins/plugin-shared/src/catch/catch.spec.ts b/packages/frontier-plugins/plugin-shared/src/catch/catch.spec.ts deleted file mode 100644 index e8f1a080..00000000 --- a/packages/frontier-plugins/plugin-shared/src/catch/catch.spec.ts +++ /dev/null @@ -1,60 +0,0 @@ - -import { catchError } from '.'; -import chalk from 'chalk'; - -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'missing-template-file', - 'missing-template-folder', - 'dependency-install-error', -]; - -const CLI_STATE = { - Info: `${chalk.blue('[rdvue]')}`, - Error: `${chalk.red('[rdvue]')}`, - Warning: `${chalk.yellow('[rdvue]')}`, - Success: `${chalk.green('[rdvue]')}`, -}; - -describe('test the catch function', () => { - beforeEach(() => { - jest.setTimeout(2000); - }); - - it("should pass if an error was thrown", async function () { - const errorMessage = "Random error message"; - try { - const caught = await catchError(Error(errorMessage), CLI_STATE); - expect(typeof(caught)).toBe(typeof(Promise)); - } catch (error) { - expect(error).toContain(errorMessage); - } - }) - - it("should pass if an error contains a custom error code", async function () { - const errorMessage = "code red project invalid"; - const errorCode = CUSTOM_ERROR_CODES[0]; - try { - const caught = await catchError(Error(`{ "code": ${errorCode}, "message": ${errorMessage} }`), CLI_STATE); - expect(typeof(caught)).toBe(typeof(Promise)); - } catch (error) { - expect(error).toContain(errorCode); - expect(error).toContain(errorMessage); - } - }) - - it("should pass if an error does not contain a custom error code", async function () { - const errorMessage = "code red project invalid"; - const errorCode = "component-invalid"; - try { - const caught = await catchError(Error(`{ "code": ${errorCode}, "message": ${errorMessage} }`), CLI_STATE); - expect(typeof(caught)).toBe(typeof(Promise)); - } catch (error) { - expect(error).toContain(errorCode); - expect(error).toContain(errorMessage); - } - }) -}) - - - diff --git a/packages/frontier-plugins/plugin-shared/src/catch/index.ts b/packages/frontier-plugins/plugin-shared/src/catch/index.ts deleted file mode 100644 index 05435dca..00000000 --- a/packages/frontier-plugins/plugin-shared/src/catch/index.ts +++ /dev/null @@ -1,68 +0,0 @@ - -import { isJsonString, log } from '@rdfrontier/stdlib'; -// import process from 'process'; -// import util from 'util'; - -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', - 'missing-template-folder', -]; - - -/** - * Description: custom catch function to override the command class error handler. - * @param {Error} error - - * @returns {Promise} - - */ -// override Command class error handler -export function catchError(error:Error, CLI_STATE:{Info: string, Error: string, Warning: string, Success: string}): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); -} - - -// /** -// * Emulates the log method from `@oclif/command`, since they don't seem to be -// * offering any alternatives. Can be replaced with another logging library. -// * @param {any} message The content to print to the console -// * @param {Array} args See {@link https://google.com util.format} for formatting arguments. -// */ -// export function log(message: any = '', ...args: any[]): void { -// message = typeof message === 'string' ? message : util.inspect(message) -// process.stdout.write(`${util.format(message, ...args)}\n`) -// } - -// /** -// * Description: Determine if string is valid JSON string -// * @param {string} value - a string literal -// * @returns {boolean} - True if string is valid qualified JSON -// */ -// export function isJsonString(value: string): boolean { -// try { -// JSON.parse(value); -// } catch (error) { -// return false; -// } - -// return true; -// } \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-shared/src/errors/errors.spec.ts b/packages/frontier-plugins/plugin-shared/src/errors/errors.spec.ts deleted file mode 100644 index f3fb0845..00000000 --- a/packages/frontier-plugins/plugin-shared/src/errors/errors.spec.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { invalidProject } from '.' - - -describe('test project validity check function', () => { - beforeEach(() => { - jest.setTimeout(20000) - }); - - it("should pass if a project-invalid error was thrown", async function () { - const isValidProject = false; - try { - if (isValidProject === false) { - invalidProject("add:component", "rdvue"); - } - } catch (error) { - let err; - interface errorStructure { - code: string; - message: string; - } - if (error instanceof Error) err = error.message - let invalidProject: errorStructure = JSON.parse(`${err}`); - expect(invalidProject.code).toEqual('project-invalid') - } - }) - -}) \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-shared/src/errors/index.ts b/packages/frontier-plugins/plugin-shared/src/errors/index.ts deleted file mode 100644 index 98808ef4..00000000 --- a/packages/frontier-plugins/plugin-shared/src/errors/index.ts +++ /dev/null @@ -1,45 +0,0 @@ -import chalk from 'chalk'; - -/** - * Description: Throws error if project is invalid. - * @param {string} commandType - Type of command being ran eg: "add:component" - * @param {string} projectType - Type of project being used eg: "rdvue" - * @returns {Promise} - - */ -export function invalidProject(commandType: string, projectType: string): Promise { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${commandType} command must be run in an existing ${chalk.yellow(`${projectType}`)} project`, - }), - ); -} - - -/** - * Description: Throw error if project already exists. - * @param {string} projectType - Type of project being used eg: "rdvue" - * @returns {Promise} - - */ -export function existingProject(projectType: string): Promise { - throw new Error( - JSON.stringify({ - code: 'existing-project', - message: `you are already in an existing ${chalk.yellow(`${projectType}`)} project`, - }), - ); -} - - -/** - * Description: Throw error if file has not been changed. - * @returns {Promise} - - */ -export function fileNotChanged(): Promise { - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: 'updating your project failed', - }), - ); -} diff --git a/packages/frontier-plugins/plugin-shared/src/index.ts b/packages/frontier-plugins/plugin-shared/src/index.ts deleted file mode 100644 index bce18f1d..00000000 --- a/packages/frontier-plugins/plugin-shared/src/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './catch'; -export * from './errors'; -export * from './response'; - diff --git a/packages/frontier-plugins/plugin-shared/src/response/index.ts b/packages/frontier-plugins/plugin-shared/src/response/index.ts deleted file mode 100644 index ba04f59d..00000000 --- a/packages/frontier-plugins/plugin-shared/src/response/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import chalk from 'chalk'; - -/** - * Description: Outputs if a file is ready for use nor not. - * @param {boolean} successfulReplace - a boolean value eg: true - * @param {string} elementName - name of element being created eg: "testComponent" - * @param {string} elementType - type of element being created eg: "component" - * @returns {string} - - */ -export function successfulReplaceResponse(successfulReplace: boolean, elementName: string, elementType: string): string { - if (successfulReplace) { - // Output message saying project is ready - return (chalk.blue(`File ${elementName} is ready!`)) - } else { - return (chalk.red(`There was a issue in making your ${elementType} file!`)) - } -} diff --git a/packages/frontier-plugins/plugin-shared/src/response/response.spec.ts b/packages/frontier-plugins/plugin-shared/src/response/response.spec.ts deleted file mode 100644 index 79bde473..00000000 --- a/packages/frontier-plugins/plugin-shared/src/response/response.spec.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { successfulReplaceResponse } from '.' -import chalk from 'chalk'; - - -describe('test response function', () => { - beforeEach(() => { - jest.setTimeout(20000) - }); - - it("should pass test file was successfully created", async function () { - const successfulReplace: boolean = true; - const elementName: string = "testFile"; - const elementType: string = "test file"; - const dummyResponse = (chalk.blue(`File ${elementName} is ready!`)); - expect(successfulReplaceResponse(successfulReplace, elementName, elementType)).toEqual(dummyResponse); - }); - - it("should pass test file was not successfully created", async function () { - const successfulReplace: boolean = false; - const elementName: string = "testFile"; - const elementType: string = "test"; - const dummyResponse = (chalk.red(`There was a issue in making your ${elementType} file!`)); - expect(successfulReplaceResponse(successfulReplace, elementName, elementType)).toEqual(dummyResponse); - }) - - it("should pass page object file was successfully created", async function () { - const successfulReplace: boolean = true; - const elementName: string = "pageObject"; - const elementType: string = "page object "; - const dummyResponse = (chalk.blue(`File ${elementName} is ready!`)); - expect(successfulReplaceResponse(successfulReplace, elementName, elementType)).toEqual(dummyResponse); - }); - - it("should pass page object file was not successfully created", async function () { - const successfulReplace: boolean = false; - const elementName: string = "pageObject"; - const elementType: string = "page object"; - const dummyResponse = (chalk.red(`There was a issue in making your ${elementType} file!`)); - expect(successfulReplaceResponse(successfulReplace, elementName, elementType)).toEqual(dummyResponse); - }) - - it("should pass screen object file was successfully created", async function () { - const successfulReplace: boolean = true; - const elementName: string = "screenObject"; - const elementType: string = "screen object "; - const dummyResponse = (chalk.blue(`File ${elementName} is ready!`)); - expect(successfulReplaceResponse(successfulReplace, elementName, elementType)).toEqual(dummyResponse); - }); - - it("should pass screen object file was not successfully created", async function () { - const successfulReplace: boolean = false; - const elementName: string = "screenObject"; - const elementType: string = "screen object"; - const dummyResponse = (chalk.red(`There was a issue in making your ${elementType} file!`)); - expect(successfulReplaceResponse(successfulReplace, elementName, elementType)).toEqual(dummyResponse); - }) - -}) \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-shared/tsconfig.build.json b/packages/frontier-plugins/plugin-shared/tsconfig.build.json deleted file mode 100644 index 7f55461d..00000000 --- a/packages/frontier-plugins/plugin-shared/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "declarationDir": "types", - "outDir": "dist" - }, - "exclude": [ - "setupTests.ts", - "**/*spec.ts", - ] -} diff --git a/packages/frontier-plugins/plugin-shared/tsconfig.json b/packages/frontier-plugins/plugin-shared/tsconfig.json deleted file mode 100644 index 983bd08e..00000000 --- a/packages/frontier-plugins/plugin-shared/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "importHelpers": true, - "module": "commonjs", - "outDir": "dist", - "rootDir": "src", - "strict": true, - "target": "es2019", - "skipLibCheck": true, - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - }, - "include": [ - "src/**/*" - ] -} diff --git a/packages/frontier-plugins/plugin-vue-v2/.eslintignore b/packages/frontier-plugins/plugin-vue-v2/.eslintignore deleted file mode 100644 index ebe6cd93..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -/lib -/template -/rdv* \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue-v2/.eslintrc b/packages/frontier-plugins/plugin-vue-v2/.eslintrc deleted file mode 100644 index 964f7fce..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/.eslintrc +++ /dev/null @@ -1,98 +0,0 @@ -{ - "extends": [ - "oclif", - "oclif-typescript" - ], - "env": { - "es6": true, - "browser": true, - "node": true, - "mocha": true - }, - "parser": "babel-eslint", - "parserOptions": { - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "no-console": 1, - "no-extra-semi": 2, - "semi": [ - 2, - "always" - ], - "semi-spacing": 2, - "quotes": [ - 2, - "single" - ], - "indent": [ - 2, - 2, - { - "SwitchCase": 1 - } - ], - "interface-name": 0, - "object-literal-sort-keys": 0, - "no-consecutive-blank-lines": 0, - "no-any": 0, - "no-var": 0, - "no-cond-assign": 2, - "no-debugger": 2, - "no-duplicate-imports": 2, - "no-empty": 2, - "no-eval": 2, - "no-invalid-this": 2, - "no-irregular-whitespace": 2, - "no-return-await": 2, - "no-trailing-spaces": 2, - "no-empty-character-class": 2, - "no-unsafe-finally": 2, - "no-unused-vars": 2, - "no-unused-expressions": 2, - "no-undef": 2, - "array-type": 0, - "require-await": 2, - "prefer-arrow-callback": 2, - "arrow-spacing": 2, - "spaced-comment": 2, - "curly": 2, - "complexity": 2, - "max-classes-per-file": [ - 2, - 1 - ], - "max-len": [ - 2, - 1000 - ], - "max-lines": [ - 2, - 200 - ], - "new-parens": 2, - "newline-before-return": 2, - "newline-per-chained-call": 2, - "only-arrow-functions": 0, - "prefer-const": 2, - "prefer-object-spread": 2, - "prefer-template": 2, - "radix": 2, - "no-else-return": 2, - "object-curly-spacing": [ - "error", - "always" - ], - "space-before-function-paren": 2, - "space-within-parens": 0, - "no-eq-null": 2, - "comma-dangle": 2, - "eqeqeq": 2, - "valid-typeof": 2, - "block-scoped-var": 2, - "interface-over-type-literal": 0 - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue-v2/.gitignore b/packages/frontier-plugins/plugin-vue-v2/.gitignore deleted file mode 100644 index 6ae80cf5..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -*-debug.log -*-error.log -/.nyc_output -/dist -/lib -/tmp -/yarn.lock -/test-projects -node_modules -/rdv-* -oclif.manifest.json -tsconfig.tsbuildinfo \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue-v2/.prettierrc b/packages/frontier-plugins/plugin-vue-v2/.prettierrc deleted file mode 100644 index 92cde390..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/.prettierrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "singleQuote": true -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue-v2/README.md b/packages/frontier-plugins/plugin-vue-v2/README.md deleted file mode 100644 index 7ab9990a..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/README.md +++ /dev/null @@ -1,298 +0,0 @@ -
-
- - rd logo - -
-
- -# RDVue [![npm version](https://badge.fury.io/js/rdvue.svg)](https://badge.fury.io/js/rdvue) - -[RDVue](https://github.com/realdecoy/rdvue) is an opinionated CLI for generating -Vue.js projects. We do so by adopting a development style guide which enforces -strong typing with TypeScript, standardized Component, Layout and Page models, -and a data-layer design promoting unified consumption through Stores and -Services. - -[![Version](https://img.shields.io/npm/v/rdvue.svg)](https://www.npmjs.com/package/@rdfrontier/plugin-vue) -[![Downloads/week](https://img.shields.io/npm/dw/rdvue.svg)](https://www.npmjs.com/package/@rdfrontier/plugin-vue) - -      - - - -## Table of Contents - -- [About](#about) -- [Usage](#usage) -- [Commands](#commands) -- [Dev Instructions](#Development) -- [Testing](#Testing) - - -      - -## About - -The RDVue CLI is the product of RealDecoy's Frontend Practice group. -Contributions are welcome! You can help us by reporting or fixing bugs and -giving us feedback on new/existing features. - -      - -## Usage - - -Installing RDVue can be done with the command: -```bash -$ frontier plugins:install @rdfrontier/plugin-vue -``` - -The help menu can be accessed with the command: - -```bash -frontier vue --help -``` - -The format for running an RDVue command is generally: - -```bash -frontier vue:COMMAND -``` - - -      - - -## Commands - - - -- [`frontier vue:create-project [NAME]`](#frontier-vue-create-project-name) -- [`frontier vue:add:component [NAME]`](#frontier-vue-add-component-name) -- [`frontier vue:add:page [NAME]`](#frontier-vue-add-page-name) -- [`frontier vue:add:service [NAME]`](#frontier-vue-add-service-name) -- [`frontier vue:add:store [NAME]`](#frontier-vue-add-store-name) -- [`frontier vue:plugin [NAME]`](#frontier-vue-plugin-name) -- [`frontier vue:plugin:buefy `](#frontier-vue-plugin-buefy-name) -- [`frontier vue:plugin:localization `](#frontier-vue-plugin-localization-name) -- [`frontier vue:plugin:vuetify `](#frontier-vue-plugin-vuetify-name) -- [`frontier vue:upgrade [NAME]`](#frontier-vue-upgrade-name) - - -### `frontier vue:create-project [NAME] [PERSET]` - -Create a RDVue project - -``` -USAGE - $ frontier vue:create-project [NAME] [PRESET] - -ARGUMENTS - NAME Name of project to be created - PERSET Name of plugin preset - -OPTIONS - -h, --help show CLI help - -``` - -_See code: -[src/commands/create-project/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/create-project/index.ts)_ - -### `frontier vue:add:component [NAME]` - -Add a new component module to project - -``` -USAGE - $ frontier vue:add:component [NAME] - -ARGUMENTS - NAME Name of new compnent - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add/component/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/add/component.ts)_ - - -### `frontier vue:add:page [NAME]` - -Add a new page module to project - -``` -USAGE - $ frontier vue:add:page [NAME] - -ARGUMENTS - NAME Name of the new page - -OPTIONS - -h, --help show CLI help - -EXAMPLE - $ frontier vue:add:page - Running this add command! -``` - -_See code: -[src/commands/add/page/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/add/page.ts)_ - - -### `frontier vue:add:service [NAME]` - -Add a new service module to project - -``` -USAGE - $ frontier vue:add:service [NAME] - -ARGUMENTS - NAME Name of new service - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add:service/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/add/service.ts)_ - -### `frontier vue:add:store [NAME]` - -Add a new store module to project - -``` -USAGE - $ frontier vue:add:store [NAME] - -ARGUMENTS - NAME Name of new store module - -OPTIONS - -h, --help show CLI help - -EXAMPLE - $ frontier vue:add:store - Running this add command! -``` - -_See code: -[src/commands/add/store/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/add/store.ts)_ - -### `frontier vue:plugin [NAME]` - -Add a new plugin module to project - -``` -USAGE - $ frontier vue:plugin [NAME] - -ARGUMENTS - BUEFY Lightweigth UI components for Vue.js - LOCALIZATION Adds i18bn localization - VUETIFY lightweigth UI components for Vuejs - -OPTIONS - -h, --help show CLI help - -``` - - -### `frontier vue:plugin:buefy` - -Add lightweigth UI components for Vue.js - -``` -USAGE - $ frontier vue:plugin:buefy - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/plugin/buefy/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/buefy.ts)_ - -### `frontier vue:plugin:localization` - -Add i18bn localization to vue project - -``` -USAGE - $ frontier vue:plugin:localization - - -OPTIONS - -h, --help show CLI help - -``` - -_See code: -[src/commands/plugin/localization/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/localization.ts)_ - -### `frontier vue:plugin:vuetify` - -Add lightweigth UI components for Vue.js - -``` -USAGE - $ frontier vue:plugin:vuetify - - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/plugin/vuetify/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/vuetify.ts)_ - - -## `frontier vue:upgrade [NAME]` - -Specify the rdvue template version for a project - -``` -USAGE - $ frontier vue:upgrade [NAME] - -ARGUMENTS - NAME RDVue version to specify to - -OPTIONS - -h, --help show CLI help - -``` - -_See code: -[src/commands/upgrade/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/upgrade/index.ts)_ - - - -      - - -## Development - -```bash - -``` - -      - -## Testing - -### Run Unit Test Suite - -```bash -npm run test -``` - -### Creating Tests - -- create a `.test.ts` file in the `/test` folder -- using `chai` assertion syntax, describe your unit test cases -- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see - more details diff --git a/packages/frontier-plugins/plugin-vue-v2/bin/run b/packages/frontier-plugins/plugin-vue-v2/bin/run deleted file mode 100755 index 30b14e17..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/bin/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env node - -require('@oclif/command').run() -.then(require('@oclif/command/flush')) -.catch(require('@oclif/errors/handle')) diff --git a/packages/frontier-plugins/plugin-vue-v2/bin/run.cmd b/packages/frontier-plugins/plugin-vue-v2/bin/run.cmd deleted file mode 100644 index 968fc307..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/bin/run.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -node "%~dp0\run" %* diff --git a/packages/frontier-plugins/plugin-vue-v2/package-lock.json b/packages/frontier-plugins/plugin-vue-v2/package-lock.json deleted file mode 100644 index e4b2c9c5..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/package-lock.json +++ /dev/null @@ -1,13384 +0,0 @@ -{ - "name": "rdvue", - "version": "2.2.3", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "rdvue", - "version": "2.2.3", - "license": "ISC", - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/plugin-help": "^3.2.2", - "bluebird": "^3.7.2", - "chalk": "^4.1.0", - "cli-ux": "^5.5.1", - "fs": "0.0.1-security", - "git-user-name": "^2.0.0", - "inquirer": "^8.1.0", - "mkdirp": "^1.0.4", - "ncp": "^2.0.0", - "path": "^0.12.7", - "replace-in-file": "^6.2.0", - "shelljs": "^0.8.5", - "tslib": "^1.14.1", - "util": "^0.12.4" - }, - "bin": { - "rdvue": "bin/run" - }, - "devDependencies": { - "@oclif/dev-cli": "^1.26.0", - "@oclif/test": "^1.2.8", - "@types/bluebird": "^3.5.33", - "@types/chai": "^4.2.15", - "@types/inquirer": "^7.3.1", - "@types/mkdirp": "^1.0.1", - "@types/mocha": "^5.2.7", - "@types/node": "^10.17.55", - "@types/shelljs": "^0.8.8", - "@types/sinon": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "babel-eslint": "^10.1.0", - "chai": "^4.3.4", - "eslint": "^7.27.0", - "eslint-config-oclif": "^3.1.0", - "eslint-config-oclif-typescript": "^0.1.0", - "globby": "^10.0.2", - "mocha": "^10.0.0", - "nyc": "^14.1.1", - "rimraf": "^3.0.2", - "sinon": "^11.1.0", - "ts-node": "^8.10.2", - "typescript": "^3.9.9" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.12.13" - } - }, - "node_modules/@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "node_modules/@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.11.tgz", - "integrity": "sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "node_modules/@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", - "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dependencies": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@oclif/command": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz", - "integrity": "sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==", - "dependencies": { - "@oclif/config": "^1.15.1", - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.3", - "@oclif/plugin-help": "^3", - "debug": "^4.1.1", - "semver": "^7.3.2" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@oclif/config": "^1" - } - }, - "node_modules/@oclif/config": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.17.0.tgz", - "integrity": "sha512-Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==", - "dependencies": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/config/node_modules/globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@oclif/config/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - }, - "node_modules/@oclif/dev-cli": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.26.0.tgz", - "integrity": "sha512-272udZP+bG4qahoAcpWcMTJKiA+V42kRMqQM7n4tgW35brYb2UP5kK+p08PpF8sgSfRTV8MoJVJG9ax5kY82PA==", - "dev": true, - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/errors": "^1.3.3", - "@oclif/plugin-help": "^3.2.0", - "cli-ux": "^5.2.1", - "debug": "^4.1.1", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^8.1", - "github-slugger": "^1.2.1", - "lodash": "^4.17.11", - "normalize-package-data": "^3.0.0", - "qqjs": "^0.3.10", - "tslib": "^2.0.3" - }, - "bin": { - "oclif-dev": "bin/run" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/@oclif/dev-cli/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@oclif/dev-cli/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - }, - "node_modules/@oclif/errors": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.4.tgz", - "integrity": "sha512-pJKXyEqwdfRTUdM8n5FIHiQQHg5ETM0Wlso8bF9GodczO40mF5Z3HufnYWJE7z8sGKxOeJCdbAVZbS8Y+d5GCw==", - "dependencies": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/errors/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@oclif/help": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@oclif/help/-/help-1.0.1.tgz", - "integrity": "sha512-8rsl4RHL5+vBUAKBL6PFI3mj58hjPCp2VYyXD4TAa7IMStikFfOH2gtWmqLzIlxAED2EpD0dfYwo9JJxYsH7Aw==", - "dependencies": { - "@oclif/config": "1.18.2", - "@oclif/errors": "1.3.5", - "chalk": "^4.1.2", - "indent-string": "^4.0.0", - "lodash": "^4.17.21", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/help/node_modules/@oclif/config": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", - "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", - "dependencies": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/help/node_modules/@oclif/errors": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", - "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", - "dependencies": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/help/node_modules/@oclif/errors/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==", - "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/@oclif/help/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@oclif/help/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@oclif/help/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@oclif/help/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/@oclif/help/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@oclif/linewrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", - "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==" - }, - "node_modules/@oclif/parser": { - "version": "3.8.5", - "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.5.tgz", - "integrity": "sha512-yojzeEfmSxjjkAvMRj0KzspXlMjCfBzNRPkWw8ZwOSoNWoJn+OCS/m/S+yfV6BvAM4u2lTzX9Y5rCbrFIgkJLg==", - "dependencies": { - "@oclif/errors": "^1.2.2", - "@oclif/linewrap": "^1.0.0", - "chalk": "^2.4.2", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/parser/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/parser/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/parser/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@oclif/parser/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@oclif/parser/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@oclif/parser/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@oclif/plugin-help": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.3.1.tgz", - "integrity": "sha512-QuSiseNRJygaqAdABYFWn/H1CwIZCp9zp/PLid6yXvy6VcQV7OenEFF5XuYaCvSARe2Tg9r8Jqls5+fw1A9CbQ==", - "dependencies": { - "@oclif/command": "^1.8.15", - "@oclif/config": "1.18.2", - "@oclif/errors": "1.3.5", - "@oclif/help": "^1.0.1", - "chalk": "^4.1.2", - "indent-string": "^4.0.0", - "lodash": "^4.17.21", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/plugin-help/node_modules/@oclif/command": { - "version": "1.8.16", - "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.16.tgz", - "integrity": "sha512-rmVKYEsKzurfRU0xJz+iHelbi1LGlihIWZ7Qvmb/CBz1EkhL7nOkW4SVXmG2dA5Ce0si2gr88i6q4eBOMRNJ1w==", - "dependencies": { - "@oclif/config": "^1.18.2", - "@oclif/errors": "^1.3.5", - "@oclif/help": "^1.0.1", - "@oclif/parser": "^3.8.6", - "debug": "^4.1.1", - "semver": "^7.3.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@oclif/config": "^1" - } - }, - "node_modules/@oclif/plugin-help/node_modules/@oclif/config": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", - "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", - "dependencies": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/plugin-help/node_modules/@oclif/errors": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", - "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", - "dependencies": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/plugin-help/node_modules/@oclif/errors/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==", - "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/@oclif/plugin-help/node_modules/@oclif/parser": { - "version": "3.8.6", - "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.6.tgz", - "integrity": "sha512-tXb0NKgSgNxmf6baN6naK+CCwOueaFk93FG9u202U7mTBHUKsioOUlw1SG/iPi9aJM3WE4pHLXmty59pci0OEw==", - "dependencies": { - "@oclif/errors": "^1.2.2", - "@oclif/linewrap": "^1.0.0", - "chalk": "^4.1.0", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/plugin-help/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@oclif/plugin-help/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@oclif/plugin-help/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@oclif/plugin-help/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/@oclif/plugin-help/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@oclif/screen": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz", - "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@oclif/test": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@oclif/test/-/test-1.2.8.tgz", - "integrity": "sha512-HCh0qPge1JCqTEw4s2ScnicEZd4Ro4/0VvdjpsfCiX6fuDV53fRZ2uqLTgxKGHrVoqOZnVrRZHyhFyEsFGs+zQ==", - "dev": true, - "dependencies": { - "fancy-test": "^1.4.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.0.tgz", - "integrity": "sha512-hAEzXi6Wbvlb67NnGMGSNOeAflLVnMa4yliPU/ty1qjgW/vAletH15/v/esJwASSIA0YlIyjnloenFbEZc9q9A==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@sinonjs/samsam": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", - "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true - }, - "node_modules/@types/bluebird": { - "version": "3.5.33", - "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.33.tgz", - "integrity": "sha512-ndEo1xvnYeHxm7I/5sF6tBvnsA4Tdi3zj1keRKRs12SP+2ye2A27NDJ1B6PqkfMbGAcT+mqQVqbZRIrhfOp5PQ==", - "dev": true - }, - "node_modules/@types/chai": { - "version": "4.2.15", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.15.tgz", - "integrity": "sha512-rYff6FI+ZTKAPkJUoyz7Udq3GaoDZnxYDEvdEdFZASiA7PoErltHezDishqQiSDWrGxvxmplH304jyzQmjp0AQ==", - "dev": true - }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "node_modules/@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/inquirer": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.1.tgz", - "integrity": "sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==", - "dev": true, - "dependencies": { - "@types/through": "*", - "rxjs": "^6.4.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "node_modules/@types/lodash": { - "version": "4.14.168", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", - "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/mkdirp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.1.tgz", - "integrity": "sha512-HkGSK7CGAXncr8Qn/0VqNtExEE+PHMWb+qlR1faHMao7ng6P3tAaoWWBMdva0gL5h4zprjIO89GJOLXsMcDm1Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "10.17.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.55.tgz", - "integrity": "sha512-koZJ89uLZufDvToeWO5BrC4CR4OUfHnUz2qoPs/daQH6qq3IN62QFxCTZ+bKaCE0xaoCAJYE4AXre8AbghCrhg==", - "dev": true - }, - "node_modules/@types/shelljs": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.8.tgz", - "integrity": "sha512-lD3LWdg6j8r0VRBFahJVaxoW0SIcswxKaFUrmKl33RJVeeoNYQAz4uqCJ5Z6v4oIBOsC5GozX+I5SorIKiTcQA==", - "dev": true, - "dependencies": { - "@types/glob": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sinon": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.0.tgz", - "integrity": "sha512-jDZ55oCKxqlDmoTBBbBBEx+N8ZraUVhggMZ9T5t+6/Dh8/4NiOjSUfpLrPiEwxQDlAe3wpAkoXhWvE6LibtsMQ==", - "dev": true, - "dependencies": { - "@sinonjs/fake-timers": "^7.0.4" - } - }, - "node_modules/@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.25.0.tgz", - "integrity": "sha512-Qfs3dWkTMKkKwt78xp2O/KZQB8MPS1UQ5D3YW2s6LQWBE1074BE+Rym+b1pXZIX3M3fSvPUDaCvZLKV2ylVYYQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.25.0", - "@typescript-eslint/scope-manager": "4.25.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^4.0.0", - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.25.0.tgz", - "integrity": "sha512-f0doRE76vq7NEEU0tw+ajv6CrmPelw5wLoaghEHkA2dNLFb3T/zJQqGPQ0OYt5XlZaS13MtnN+GTPCuUVg338w==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.25.0", - "@typescript-eslint/types": "4.25.0", - "@typescript-eslint/typescript-estree": "4.25.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.25.0.tgz", - "integrity": "sha512-2NElKxMb/0rya+NJG1U71BuNnp1TBd1JgzYsldsdA83h/20Tvnf/HrwhiSlNmuq6Vqa0EzidsvkTArwoq+tH6w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.25.0", - "@typescript-eslint/visitor-keys": "4.25.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.25.0.tgz", - "integrity": "sha512-+CNINNvl00OkW6wEsi32wU5MhHti2J25TJsJJqgQmJu3B3dYDBcmOxcE5w9cgoM13TrdE/5ND2HoEnBohasxRQ==", - "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.25.0.tgz", - "integrity": "sha512-1B8U07TGNAFMxZbSpF6jqiDs1cVGO0izVkf18Q/SPcUAc9LhHxzvSowXDTvkHMWUVuPpagupaW63gB6ahTXVlg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.25.0", - "@typescript-eslint/visitor-keys": "4.25.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.25.0.tgz", - "integrity": "sha512-AmkqV9dDJVKP/TcZrbf6s6i1zYXt5Hl8qOLrRDTFfRNae4+LB8A4N3i+FLZPW85zIxRy39BgeWOfMS3HoH5ngg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.25.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" - }, - "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/append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "dependencies": { - "default-require-extensions": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "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", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", - "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "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/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/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "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==", - "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": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/caching-transform": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", - "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", - "dev": true, - "dependencies": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/caching-transform/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/caching-transform/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/caching-transform/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "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==", - "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", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", - "dependencies": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - }, - "bin": { - "cdl": "bin/cdl.js" - } - }, - "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/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "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": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/clean-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", - "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/clean-regexp/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "dependencies": { - "escape-string-regexp": "4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-progress": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.0.tgz", - "integrity": "sha512-g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA==", - "dependencies": { - "colors": "^1.1.2", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-ux": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-5.5.1.tgz", - "integrity": "sha512-t3DT1U1C3rArLGYLpKa3m9dr/8uKZRI8HRm/rXKL7UTjm4c+Yd9zHNWg1tP8uaJkUbhmvx5SQHwb3VWpPUVdHQ==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dependencies": { - "@oclif/command": "^1.6.0", - "@oclif/errors": "^1.2.1", - "@oclif/linewrap": "^1.0.0", - "@oclif/screen": "^1.0.3", - "ansi-escapes": "^4.3.0", - "ansi-styles": "^4.2.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.0", - "clean-stack": "^3.0.0", - "cli-progress": "^3.4.0", - "extract-stack": "^2.0.0", - "fs-extra": "^8.1", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.13.1", - "lodash": "^4.17.11", - "natural-orderby": "^2.0.1", - "object-treeify": "^1.1.4", - "password-prompt": "^1.1.2", - "semver": "^7.3.2", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "supports-color": "^7.1.0", - "supports-hyperlinks": "^2.1.0", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/cli-ux/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/cli-ux/node_modules/tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cp-file/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cp-file/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "dependencies": { - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/default-require-extensions/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dependencies": { - "clone": "^1.0.2" - } - }, - "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==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "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/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/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, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "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==", - "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-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.27.0.tgz", - "integrity": "sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-ast-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz", - "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==", - "dev": true, - "dependencies": { - "lodash.get": "^4.4.2", - "lodash.zip": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-3.1.0.tgz", - "integrity": "sha512-Tqgy43cNXsSdhTLWW4RuDYGFhV240sC4ISSv/ZiUEg/zFxExSEUpRE6J+AGnkKY9dYwIW4C9b2YSUVv8z/miMA==", - "dev": true, - "dependencies": { - "eslint-config-xo-space": "^0.20.0", - "eslint-plugin-mocha": "^5.2.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-unicorn": "^6.0.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/eslint-config-oclif-typescript": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-0.1.0.tgz", - "integrity": "sha512-BjXNJcH2F02MdaSFml9vJskviUFVkLHbTPGM5tinIt98H6klFNKP7/lQ+fB/Goc2wB45usEuuw6+l/fwAv9i7g==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^2.6.1", - "@typescript-eslint/parser": "^2.6.1", - "eslint-config-oclif": "^3.1.0", - "eslint-config-xo-space": "^0.20.0", - "eslint-plugin-mocha": "^5.2.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-unicorn": "^6.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "peer": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "peer": true - }, - "node_modules/eslint-config-oclif-typescript/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true, - "peer": true - }, - "node_modules/eslint-config-oclif-typescript/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/eslint/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/eslint/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-config-oclif-typescript/node_modules/eslint/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "peer": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "peer": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true, - "peer": true - }, - "node_modules/eslint-config-oclif-typescript/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "peer": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-config-oclif-typescript/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, - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, - "node_modules/eslint-config-oclif-typescript/node_modules/inquirer/node_modules/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, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "peer": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "peer": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "peer": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "peer": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "peer": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/table/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "peer": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint-config-oclif-typescript/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-config-xo": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.24.2.tgz", - "integrity": "sha512-ivQ7qISScW6gfBp+p31nQntz1rg34UCybd3uvlngcxt5Utsf4PMMi9QoAluLFcPUM5Tvqk4JGraR9qu3msKPKQ==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">=5.3.0" - } - }, - "node_modules/eslint-config-xo-space": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.20.0.tgz", - "integrity": "sha512-bOsoZA8M6v1HviDUIGVq1fLVnSu3mMZzn85m2tqKb73tSzu4GKD4Jd2Py4ZKjCgvCbRRByEB5HPC3fTMnnJ1uw==", - "dev": true, - "dependencies": { - "eslint-config-xo": "^0.24.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": "^5.3.0" - } - }, - "node_modules/eslint-plugin-es": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", - "dev": true, - "dependencies": { - "eslint-utils": "^1.4.2", - "regexpp": "^2.0.1" - }, - "engines": { - "node": ">=6.5.0" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-mocha": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz", - "integrity": "sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A==", - "dev": true, - "dependencies": { - "ramda": "^0.26.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">= 4.0.0" - } - }, - "node_modules/eslint-plugin-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", - "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^4.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-node/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/eslint-plugin-node/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/eslint-plugin-unicorn": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-6.0.1.tgz", - "integrity": "sha512-hjy9LhTdtL7pz8WTrzS0CGXRkWK3VAPLDjihofj8JC+uxQLfXm0WwZPPPB7xKmcjRyoH+jruPHOCrHNEINpG/Q==", - "dev": true, - "dependencies": { - "clean-regexp": "^1.0.0", - "eslint-ast-utils": "^1.0.0", - "import-modules": "^1.1.0", - "lodash.camelcase": "^4.1.1", - "lodash.kebabcase": "^4.0.1", - "lodash.snakecase": "^4.0.1", - "lodash.upperfirst": "^4.2.0", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/eslint/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", - "integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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/eslint/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/execa/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/extract-stack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz", - "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/fancy-test": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/fancy-test/-/fancy-test-1.4.10.tgz", - "integrity": "sha512-AaUX6wKS7D5OP2YK2q5G7c8PGx2lgoyLUD7Bbg8z323sb9aebBqzb9UN6phzI73UgO/ViihmNfOxF3kdfZLhew==", - "dev": true, - "dependencies": { - "@types/chai": "*", - "@types/lodash": "*", - "@types/node": "*", - "@types/sinon": "*", - "lodash": "^4.17.13", - "mock-stdin": "^1.0.0", - "nock": "^13.0.0", - "stdout-stderr": "^0.1.9" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "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==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dev": true, - "dependencies": { - "micromatch": "^4.0.2" - } - }, - "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", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "node_modules/foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "dependencies": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - } - }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "node_modules/foreground-child/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/foreground-child/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "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", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "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==", - "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==", - "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-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/git-config-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz", - "integrity": "sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=", - "dependencies": { - "extend-shallow": "^2.0.1", - "fs-exists-sync": "^0.1.0", - "homedir-polyfill": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/git-user-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-user-name/-/git-user-name-2.0.0.tgz", - "integrity": "sha512-1DC8rUNm2I5V9v4eIpK6PSjKCp9bI0t6Wl05WSk+xEMS8GhR8GWzxM3aGZfPrfuqEfWxSbui5/pQJryJFXqCzQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "git-config-path": "^1.0.1", - "parse-git-config": "^1.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", - "dev": true, - "dependencies": { - "emoji-regex": ">=6.0.0 <=6.1.1" - } - }, - "node_modules/github-slugger/node_modules/emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=", - "dev": true - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", - "dev": true, - "dependencies": { - "is-stream": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "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/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hosted-git-info": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.1.tgz", - "integrity": "sha512-eT7NrxAsppPRQEBSwKSosReE+v8OzABwEScQYk5d4uxaEPlzxTIku7LINXtBGalthkLhJnq5lBI89PfK43zAKg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-call": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", - "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", - "dev": true, - "dependencies": { - "content-type": "^1.0.4", - "debug": "^4.1.1", - "is-retry-allowed": "^1.1.0", - "is-stream": "^2.0.0", - "parse-json": "^4.0.0", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-call/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/hyperlinker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", - "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "engines": { - "node": ">= 4" - } - }, - "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" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-1.1.0.tgz", - "integrity": "sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inquirer": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.0.tgz", - "integrity": "sha512-1nKYPoalt1vMBfCMtpomsUc32wmOoWXAoq3kM/5iTfxyQ2f/BxjixQpC+mbZ7BI0JUXHED4/XPXekDVtJNpXYw==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.3.0", - "run-async": "^2.4.0", - "rxjs": "^6.6.6", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "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.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", - "integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "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==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "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.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "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==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", - "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", - "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.0-next.2", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "dependencies": { - "append-transform": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "dependencies": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-instrument/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, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/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/istanbul-lib-source-maps/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "node_modules/load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "node_modules/lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "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.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", - "dev": true - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=", - "dev": true - }, - "node_modules/lodash.zip": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", - "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=", - "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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/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, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", - "dev": true, - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.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/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/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "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/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mocha/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "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/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "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/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": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/mocha/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/mocha/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/mocha/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/mock-stdin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz", - "integrity": "sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==", - "dev": true - }, - "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==" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-orderby": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", - "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", - "engines": { - "node": "*" - } - }, - "node_modules/ncp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", - "bin": { - "ncp": "bin/ncp" - } - }, - "node_modules/nested-error-stacks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", - "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", - "dev": true - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/nise": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", - "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0", - "@sinonjs/fake-timers": "^7.0.4", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "node_modules/nock": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.11.tgz", - "integrity": "sha512-sKZltNkkWblkqqPAsjYW0bm3s9DcHRPiMOyKO/PkfJ+ANHZ2+LA2PLe22r4lLrKgXaiSaDQwW3qGsJFtIpQIeQ==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash.set": "^4.3.2", - "propagate": "^2.0.0" - }, - "engines": { - "node": ">= 10.13" - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "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/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nyc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", - "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", - "dev": true, - "dependencies": { - "archy": "^1.0.0", - "caching-transform": "^3.0.2", - "convert-source-map": "^1.6.0", - "cp-file": "^6.2.0", - "find-cache-dir": "^2.1.0", - "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", - "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.2.3", - "uuid": "^3.3.2", - "yargs": "^13.2.2", - "yargs-parser": "^13.0.0" - }, - "bin": { - "nyc": "bin/nyc.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/nyc/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/nyc/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/nyc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "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==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-treeify": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", - "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", - "engines": { - "node": ">= 10" - } - }, - "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==", - "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/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", - "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/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==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-git-config": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz", - "integrity": "sha1-06mYQxcTL1c5hxK7pDjhKVkN34w=", - "dependencies": { - "extend-shallow": "^2.0.1", - "fs-exists-sync": "^0.1.0", - "git-config-path": "^1.0.1", - "ini": "^1.3.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/password-prompt": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", - "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", - "dependencies": { - "ansi-escapes": "^3.1.0", - "cross-spawn": "^6.0.5" - } - }, - "node_modules/password-prompt/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "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/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/path/node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dependencies": { - "inherits": "2.0.3" - } - }, - "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/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qqjs": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz", - "integrity": "sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "debug": "^4.1.1", - "execa": "^0.10.0", - "fs-extra": "^6.0.1", - "get-stream": "^5.1.0", - "glob": "^7.1.2", - "globby": "^10.0.1", - "http-call": "^5.1.2", - "load-json-file": "^6.2.0", - "pkg-dir": "^4.2.0", - "tar-fs": "^2.0.0", - "tmp": "^0.1.0", - "write-json-file": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/qqjs/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qqjs/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qqjs/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/qqjs/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/qqjs/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/qqjs/node_modules/fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/qqjs/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", - "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==", - "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/ramda": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", - "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", - "dev": true - }, - "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/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-pkg-up/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "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/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", - "dependencies": { - "esprima": "~4.0.0" - } - }, - "node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "dependencies": { - "es6-error": "^4.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/replace-in-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.2.0.tgz", - "integrity": "sha512-Im2AF9G/qgkYneOc9QwWwUS/efyyonTUBvzXS2VXuxPawE5yQIjT/e6x4CTijO0Quq48lfAujuo+S89RR2TP2Q==", - "dependencies": { - "chalk": "^4.1.0", - "glob": "^7.1.6", - "yargs": "^16.2.0" - }, - "bin": { - "replace-in-file": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/replace-in-file/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==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/replace-in-file/node_modules/y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/replace-in-file/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "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/replace-in-file/node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "engines": { - "node": ">=10" - } - }, - "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=", - "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", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "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==", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", - "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "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==", - "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/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "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/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/sinon": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.0.tgz", - "integrity": "sha512-wCbMjy6pepGX3CE/IBz3QDqOmdYP96tWrrqTMVnbREgJG989725EbMZD9vp+Cd+A6MNXDjb7weWLi/bPPpcH/g==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^7.1.0", - "@sinonjs/samsam": "^6.0.2", - "diff": "^5.0.0", - "nise": "^5.1.0", - "supports-color": "^8.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, - "node_modules/sinon/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/sinon/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/sinon/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": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", - "dev": true, - "dependencies": { - "is-plain-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawn-wrap": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", - "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", - "dev": true, - "dependencies": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" - } - }, - "node_modules/spawn-wrap/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/spawn-wrap/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/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/stdout-stderr": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz", - "integrity": "sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "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==", - "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==", - "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.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", - "integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "dependencies": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dev": true, - "dependencies": { - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tmp/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/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", - "dev": true, - "dependencies": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "typescript": ">=2.7" - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "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.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "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==", - "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/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "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==", - "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/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", - "dependencies": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "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==", - "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=" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", - "dev": true, - "dependencies": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8.3" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "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/yargs-unparser/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/yargs-unparser/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/yargs/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.11.tgz", - "integrity": "sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@eslint/eslintrc": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz", - "integrity": "sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "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 - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@oclif/command": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz", - "integrity": "sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==", - "requires": { - "@oclif/config": "^1.15.1", - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.3", - "@oclif/plugin-help": "^3", - "debug": "^4.1.1", - "semver": "^7.3.2" - } - }, - "@oclif/config": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.17.0.tgz", - "integrity": "sha512-Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==", - "requires": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - }, - "dependencies": { - "globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } - } - }, - "@oclif/dev-cli": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.26.0.tgz", - "integrity": "sha512-272udZP+bG4qahoAcpWcMTJKiA+V42kRMqQM7n4tgW35brYb2UP5kK+p08PpF8sgSfRTV8MoJVJG9ax5kY82PA==", - "dev": true, - "requires": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/errors": "^1.3.3", - "@oclif/plugin-help": "^3.2.0", - "cli-ux": "^5.2.1", - "debug": "^4.1.1", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^8.1", - "github-slugger": "^1.2.1", - "lodash": "^4.17.11", - "normalize-package-data": "^3.0.0", - "qqjs": "^0.3.10", - "tslib": "^2.0.3" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - } - } - }, - "@oclif/errors": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.4.tgz", - "integrity": "sha512-pJKXyEqwdfRTUdM8n5FIHiQQHg5ETM0Wlso8bF9GodczO40mF5Z3HufnYWJE7z8sGKxOeJCdbAVZbS8Y+d5GCw==", - "requires": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "@oclif/help": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@oclif/help/-/help-1.0.1.tgz", - "integrity": "sha512-8rsl4RHL5+vBUAKBL6PFI3mj58hjPCp2VYyXD4TAa7IMStikFfOH2gtWmqLzIlxAED2EpD0dfYwo9JJxYsH7Aw==", - "requires": { - "@oclif/config": "1.18.2", - "@oclif/errors": "1.3.5", - "chalk": "^4.1.2", - "indent-string": "^4.0.0", - "lodash": "^4.17.21", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "@oclif/config": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", - "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", - "requires": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - } - }, - "@oclif/errors": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", - "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", - "requires": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "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==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@oclif/linewrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz", - "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==" - }, - "@oclif/parser": { - "version": "3.8.5", - "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.5.tgz", - "integrity": "sha512-yojzeEfmSxjjkAvMRj0KzspXlMjCfBzNRPkWw8ZwOSoNWoJn+OCS/m/S+yfV6BvAM4u2lTzX9Y5rCbrFIgkJLg==", - "requires": { - "@oclif/errors": "^1.2.2", - "@oclif/linewrap": "^1.0.0", - "chalk": "^2.4.2", - "tslib": "^1.9.3" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@oclif/plugin-help": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.3.1.tgz", - "integrity": "sha512-QuSiseNRJygaqAdABYFWn/H1CwIZCp9zp/PLid6yXvy6VcQV7OenEFF5XuYaCvSARe2Tg9r8Jqls5+fw1A9CbQ==", - "requires": { - "@oclif/command": "^1.8.15", - "@oclif/config": "1.18.2", - "@oclif/errors": "1.3.5", - "@oclif/help": "^1.0.1", - "chalk": "^4.1.2", - "indent-string": "^4.0.0", - "lodash": "^4.17.21", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "widest-line": "^3.1.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "@oclif/command": { - "version": "1.8.16", - "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.16.tgz", - "integrity": "sha512-rmVKYEsKzurfRU0xJz+iHelbi1LGlihIWZ7Qvmb/CBz1EkhL7nOkW4SVXmG2dA5Ce0si2gr88i6q4eBOMRNJ1w==", - "requires": { - "@oclif/config": "^1.18.2", - "@oclif/errors": "^1.3.5", - "@oclif/help": "^1.0.1", - "@oclif/parser": "^3.8.6", - "debug": "^4.1.1", - "semver": "^7.3.2" - } - }, - "@oclif/config": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz", - "integrity": "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==", - "requires": { - "@oclif/errors": "^1.3.3", - "@oclif/parser": "^3.8.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-wsl": "^2.1.1", - "tslib": "^2.0.0" - } - }, - "@oclif/errors": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz", - "integrity": "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==", - "requires": { - "clean-stack": "^3.0.0", - "fs-extra": "^8.1", - "indent-string": "^4.0.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "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==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@oclif/parser": { - "version": "3.8.6", - "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.6.tgz", - "integrity": "sha512-tXb0NKgSgNxmf6baN6naK+CCwOueaFk93FG9u202U7mTBHUKsioOUlw1SG/iPi9aJM3WE4pHLXmty59pci0OEw==", - "requires": { - "@oclif/errors": "^1.2.2", - "@oclif/linewrap": "^1.0.0", - "chalk": "^4.1.0", - "tslib": "^2.0.0" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@oclif/screen": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz", - "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==" - }, - "@oclif/test": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@oclif/test/-/test-1.2.8.tgz", - "integrity": "sha512-HCh0qPge1JCqTEw4s2ScnicEZd4Ro4/0VvdjpsfCiX6fuDV53fRZ2uqLTgxKGHrVoqOZnVrRZHyhFyEsFGs+zQ==", - "dev": true, - "requires": { - "fancy-test": "^1.4.3" - } - }, - "@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.0.tgz", - "integrity": "sha512-hAEzXi6Wbvlb67NnGMGSNOeAflLVnMa4yliPU/ty1qjgW/vAletH15/v/esJwASSIA0YlIyjnloenFbEZc9q9A==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@sinonjs/samsam": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", - "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.6.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "@sinonjs/text-encoding": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", - "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", - "dev": true - }, - "@types/bluebird": { - "version": "3.5.33", - "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.33.tgz", - "integrity": "sha512-ndEo1xvnYeHxm7I/5sF6tBvnsA4Tdi3zj1keRKRs12SP+2ye2A27NDJ1B6PqkfMbGAcT+mqQVqbZRIrhfOp5PQ==", - "dev": true - }, - "@types/chai": { - "version": "4.2.15", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.15.tgz", - "integrity": "sha512-rYff6FI+ZTKAPkJUoyz7Udq3GaoDZnxYDEvdEdFZASiA7PoErltHezDishqQiSDWrGxvxmplH304jyzQmjp0AQ==", - "dev": true - }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/inquirer": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.1.tgz", - "integrity": "sha512-osD38QVIfcdgsPCT0V3lD7eH0OFurX71Jft18bZrsVQWVRt6TuxRzlr0GJLrxoHZR2V5ph7/qP8se/dcnI7o0g==", - "dev": true, - "requires": { - "@types/through": "*", - "rxjs": "^6.4.0" - } - }, - "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "@types/lodash": { - "version": "4.14.168", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", - "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/mkdirp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.1.tgz", - "integrity": "sha512-HkGSK7CGAXncr8Qn/0VqNtExEE+PHMWb+qlR1faHMao7ng6P3tAaoWWBMdva0gL5h4zprjIO89GJOLXsMcDm1Q==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", - "dev": true - }, - "@types/node": { - "version": "10.17.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.55.tgz", - "integrity": "sha512-koZJ89uLZufDvToeWO5BrC4CR4OUfHnUz2qoPs/daQH6qq3IN62QFxCTZ+bKaCE0xaoCAJYE4AXre8AbghCrhg==", - "dev": true - }, - "@types/shelljs": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.8.tgz", - "integrity": "sha512-lD3LWdg6j8r0VRBFahJVaxoW0SIcswxKaFUrmKl33RJVeeoNYQAz4uqCJ5Z6v4oIBOsC5GozX+I5SorIKiTcQA==", - "dev": true, - "requires": { - "@types/glob": "*", - "@types/node": "*" - } - }, - "@types/sinon": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.0.tgz", - "integrity": "sha512-jDZ55oCKxqlDmoTBBbBBEx+N8ZraUVhggMZ9T5t+6/Dh8/4NiOjSUfpLrPiEwxQDlAe3wpAkoXhWvE6LibtsMQ==", - "dev": true, - "requires": { - "@sinonjs/fake-timers": "^7.0.4" - } - }, - "@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.25.0.tgz", - "integrity": "sha512-Qfs3dWkTMKkKwt78xp2O/KZQB8MPS1UQ5D3YW2s6LQWBE1074BE+Rym+b1pXZIX3M3fSvPUDaCvZLKV2ylVYYQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "4.25.0", - "@typescript-eslint/scope-manager": "4.25.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.25.0.tgz", - "integrity": "sha512-f0doRE76vq7NEEU0tw+ajv6CrmPelw5wLoaghEHkA2dNLFb3T/zJQqGPQ0OYt5XlZaS13MtnN+GTPCuUVg338w==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.25.0", - "@typescript-eslint/types": "4.25.0", - "@typescript-eslint/typescript-estree": "4.25.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "dependencies": { - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - } - } - }, - "@typescript-eslint/scope-manager": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.25.0.tgz", - "integrity": "sha512-2NElKxMb/0rya+NJG1U71BuNnp1TBd1JgzYsldsdA83h/20Tvnf/HrwhiSlNmuq6Vqa0EzidsvkTArwoq+tH6w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.25.0", - "@typescript-eslint/visitor-keys": "4.25.0" - } - }, - "@typescript-eslint/types": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.25.0.tgz", - "integrity": "sha512-+CNINNvl00OkW6wEsi32wU5MhHti2J25TJsJJqgQmJu3B3dYDBcmOxcE5w9cgoM13TrdE/5ND2HoEnBohasxRQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.25.0.tgz", - "integrity": "sha512-1B8U07TGNAFMxZbSpF6jqiDs1cVGO0izVkf18Q/SPcUAc9LhHxzvSowXDTvkHMWUVuPpagupaW63gB6ahTXVlg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.25.0", - "@typescript-eslint/visitor-keys": "4.25.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.25.0.tgz", - "integrity": "sha512-AmkqV9dDJVKP/TcZrbf6s6i1zYXt5Hl8qOLrRDTFfRNae4+LB8A4N3i+FLZPW85zIxRy39BgeWOfMS3HoH5ngg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "4.25.0", - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "@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", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" - }, - "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" - } - }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "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", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz", - "integrity": "sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==" - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "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 - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "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==", - "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": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "caching-transform": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", - "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", - "dev": true, - "requires": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "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": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", - "requires": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - } - }, - "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" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "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.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "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" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "clean-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", - "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - } - } - }, - "clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "requires": { - "escape-string-regexp": "4.0.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-progress": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.9.0.tgz", - "integrity": "sha512-g7rLWfhAo/7pF+a/STFH/xPyosaL1zgADhI0OM83hl3c7S43iGvJWEAV2QuDOnQ8i6EMBj/u4+NTd0d5L+4JfA==", - "requires": { - "colors": "^1.1.2", - "string-width": "^4.2.0" - } - }, - "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" - }, - "cli-ux": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-5.5.1.tgz", - "integrity": "sha512-t3DT1U1C3rArLGYLpKa3m9dr/8uKZRI8HRm/rXKL7UTjm4c+Yd9zHNWg1tP8uaJkUbhmvx5SQHwb3VWpPUVdHQ==", - "requires": { - "@oclif/command": "^1.6.0", - "@oclif/errors": "^1.2.1", - "@oclif/linewrap": "^1.0.0", - "@oclif/screen": "^1.0.3", - "ansi-escapes": "^4.3.0", - "ansi-styles": "^4.2.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.0", - "clean-stack": "^3.0.0", - "cli-progress": "^3.4.0", - "extract-stack": "^2.0.0", - "fs-extra": "^8.1", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.13.1", - "lodash": "^4.17.11", - "natural-orderby": "^2.0.1", - "object-treeify": "^1.1.4", - "password-prompt": "^1.1.2", - "semver": "^7.3.2", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "supports-color": "^7.1.0", - "supports-hyperlinks": "^2.1.0", - "tslib": "^2.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "tslib": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", - "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" - } - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "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": { - "type-detect": "^4.0.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "^3.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "requires": { - "clone": "^1.0.2" - } - }, - "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==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": 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 - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "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==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "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" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "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==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "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==" - }, - "eslint": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.27.0.tgz", - "integrity": "sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "globals": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.9.0.tgz", - "integrity": "sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "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 - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "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 - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "eslint-ast-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz", - "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==", - "dev": true, - "requires": { - "lodash.get": "^4.4.2", - "lodash.zip": "^4.2.0" - } - }, - "eslint-config-oclif": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-3.1.0.tgz", - "integrity": "sha512-Tqgy43cNXsSdhTLWW4RuDYGFhV240sC4ISSv/ZiUEg/zFxExSEUpRE6J+AGnkKY9dYwIW4C9b2YSUVv8z/miMA==", - "dev": true, - "requires": { - "eslint-config-xo-space": "^0.20.0", - "eslint-plugin-mocha": "^5.2.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-unicorn": "^6.0.1" - } - }, - "eslint-config-oclif-typescript": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-0.1.0.tgz", - "integrity": "sha512-BjXNJcH2F02MdaSFml9vJskviUFVkLHbTPGM5tinIt98H6klFNKP7/lQ+fB/Goc2wB45usEuuw6+l/fwAv9i7g==", - "dev": true, - "requires": { - "@typescript-eslint/eslint-plugin": "^2.6.1", - "@typescript-eslint/parser": "^2.6.1", - "eslint-config-oclif": "^3.1.0", - "eslint-config-xo-space": "^0.20.0", - "eslint-plugin-mocha": "^5.2.0", - "eslint-plugin-node": "^7.0.1", - "eslint-plugin-unicorn": "^6.0.1" - }, - "dependencies": { - "@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - } - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "peer": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "peer": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "peer": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true, - "peer": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "peer": true - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "peer": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "peer": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "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 - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "peer": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "peer": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "peer": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true, - "peer": true - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "peer": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "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, - "peer": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "peer": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "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, - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "peer": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "peer": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "peer": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "peer": true - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "peer": true, - "requires": { - "glob": "^7.1.3" - } - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "peer": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "peer": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "peer": true - } - } - }, - "eslint-config-xo": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.24.2.tgz", - "integrity": "sha512-ivQ7qISScW6gfBp+p31nQntz1rg34UCybd3uvlngcxt5Utsf4PMMi9QoAluLFcPUM5Tvqk4JGraR9qu3msKPKQ==", - "dev": true, - "requires": {} - }, - "eslint-config-xo-space": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.20.0.tgz", - "integrity": "sha512-bOsoZA8M6v1HviDUIGVq1fLVnSu3mMZzn85m2tqKb73tSzu4GKD4Jd2Py4ZKjCgvCbRRByEB5HPC3fTMnnJ1uw==", - "dev": true, - "requires": { - "eslint-config-xo": "^0.24.0" - } - }, - "eslint-plugin-es": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", - "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", - "dev": true, - "requires": { - "eslint-utils": "^1.4.2", - "regexpp": "^2.0.1" - } - }, - "eslint-plugin-mocha": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz", - "integrity": "sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A==", - "dev": true, - "requires": { - "ramda": "^0.26.1" - } - }, - "eslint-plugin-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", - "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", - "dev": true, - "requires": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^4.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" - }, - "dependencies": { - "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 - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "eslint-plugin-unicorn": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-6.0.1.tgz", - "integrity": "sha512-hjy9LhTdtL7pz8WTrzS0CGXRkWK3VAPLDjihofj8JC+uxQLfXm0WwZPPPB7xKmcjRyoH+jruPHOCrHNEINpG/Q==", - "dev": true, - "requires": { - "clean-regexp": "^1.0.0", - "eslint-ast-utils": "^1.0.0", - "import-modules": "^1.1.0", - "lodash.camelcase": "^4.1.1", - "lodash.kebabcase": "^4.0.1", - "lodash.snakecase": "^4.0.1", - "lodash.upperfirst": "^4.2.0", - "safe-regex": "^1.1.0" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "extract-stack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz", - "integrity": "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==" - }, - "fancy-test": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/fancy-test/-/fancy-test-1.4.10.tgz", - "integrity": "sha512-AaUX6wKS7D5OP2YK2q5G7c8PGx2lgoyLUD7Bbg8z323sb9aebBqzb9UN6phzI73UgO/ViihmNfOxF3kdfZLhew==", - "dev": true, - "requires": { - "@types/chai": "*", - "@types/lodash": "*", - "@types/node": "*", - "@types/sinon": "*", - "lodash": "^4.17.13", - "mock-stdin": "^1.0.0", - "nock": "^13.0.0", - "stdout-stderr": "^0.1.9" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", - "requires": { - "reusify": "^1.0.4" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "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==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.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 - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dev": true, - "requires": { - "micromatch": "^4.0.2" - } - }, - "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", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "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", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "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==" - }, - "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==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "git-config-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz", - "integrity": "sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=", - "requires": { - "extend-shallow": "^2.0.1", - "fs-exists-sync": "^0.1.0", - "homedir-polyfill": "^1.0.0" - } - }, - "git-user-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-user-name/-/git-user-name-2.0.0.tgz", - "integrity": "sha512-1DC8rUNm2I5V9v4eIpK6PSjKCp9bI0t6Wl05WSk+xEMS8GhR8GWzxM3aGZfPrfuqEfWxSbui5/pQJryJFXqCzQ==", - "requires": { - "extend-shallow": "^2.0.1", - "git-config-path": "^1.0.1", - "parse-git-config": "^1.1.1" - } - }, - "github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", - "dev": true, - "requires": { - "emoji-regex": ">=6.0.0 <=6.1.1" - }, - "dependencies": { - "emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=", - "dev": true - } - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "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==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "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==" - }, - "hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", - "dev": true, - "requires": { - "is-stream": "^1.0.1" - } - }, - "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 - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.1.tgz", - "integrity": "sha512-eT7NrxAsppPRQEBSwKSosReE+v8OzABwEScQYk5d4uxaEPlzxTIku7LINXtBGalthkLhJnq5lBI89PfK43zAKg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-call": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz", - "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==", - "dev": true, - "requires": { - "content-type": "^1.0.4", - "debug": "^4.1.1", - "is-retry-allowed": "^1.1.0", - "is-stream": "^2.0.0", - "parse-json": "^4.0.0", - "tunnel-agent": "^0.6.0" - }, - "dependencies": { - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - } - } - }, - "hyperlinker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", - "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" - }, - "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, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-1.1.0.tgz", - "integrity": "sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw=", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "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==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "inquirer": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.0.tgz", - "integrity": "sha512-1nKYPoalt1vMBfCMtpomsUc32wmOoWXAoq3kM/5iTfxyQ2f/BxjixQpC+mbZ7BI0JUXHED4/XPXekDVtJNpXYw==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.3.0", - "run-async": "^2.4.0", - "rxjs": "^6.6.6", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" - }, - "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.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" - }, - "is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" - }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "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-generator-function": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", - "integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" - }, - "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.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", - "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", - "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.0-next.2", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "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==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "requires": { - "append-transform": "^1.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "just-extend": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", - "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "load-json-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", - "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "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 - }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", - "dev": true - }, - "lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=", - "dev": true - }, - "lodash.zip": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", - "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=", - "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", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", - "dev": true, - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "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 - }, - "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" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "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" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "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 - }, - "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" - } - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.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" - } - }, - "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" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "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 - } - } - }, - "mock-stdin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz", - "integrity": "sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-orderby": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", - "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==" - }, - "ncp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==" - }, - "nested-error-stacks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", - "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "nise": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", - "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0", - "@sinonjs/fake-timers": "^7.0.4", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } - }, - "nock": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.11.tgz", - "integrity": "sha512-sKZltNkkWblkqqPAsjYW0bm3s9DcHRPiMOyKO/PkfJ+ANHZ2+LA2PLe22r4lLrKgXaiSaDQwW3qGsJFtIpQIeQ==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash.set": "^4.3.2", - "propagate": "^2.0.0" - } - }, - "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "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 - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nyc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", - "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", - "dev": true, - "requires": { - "archy": "^1.0.0", - "caching-transform": "^3.0.2", - "convert-source-map": "^1.6.0", - "cp-file": "^6.2.0", - "find-cache-dir": "^2.1.0", - "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", - "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.2.3", - "uuid": "^3.3.2", - "yargs": "^13.2.2", - "yargs-parser": "^13.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.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 - }, - "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" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-treeify": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", - "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" - }, - "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==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "ora": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", - "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "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==", - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - } - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "package-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-git-config": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz", - "integrity": "sha1-06mYQxcTL1c5hxK7pDjhKVkN34w=", - "requires": { - "extend-shallow": "^2.0.1", - "fs-exists-sync": "^0.1.0", - "git-config-path": "^1.0.1", - "ini": "^1.3.4" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" - }, - "password-prompt": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", - "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", - "requires": { - "ansi-escapes": "^3.1.0", - "cross-spawn": "^6.0.5" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - } - } - }, - "path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "requires": { - "process": "^0.11.1", - "util": "^0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "requires": { - "inherits": "2.0.3" - } - } - } - }, - "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 - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qqjs": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz", - "integrity": "sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "debug": "^4.1.1", - "execa": "^0.10.0", - "fs-extra": "^6.0.1", - "get-stream": "^5.1.0", - "glob": "^7.1.2", - "globby": "^10.0.1", - "http-call": "^5.1.2", - "load-json-file": "^6.2.0", - "pkg-dir": "^4.2.0", - "tar-fs": "^2.0.0", - "tmp": "^0.1.0", - "write-json-file": "^4.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "queue-microtask": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz", - "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==" - }, - "ramda": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", - "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==", - "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" - } - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.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 - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "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" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, - "redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", - "requires": { - "esprima": "~4.0.0" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "release-zalgo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "dev": true, - "requires": { - "es6-error": "^4.0.1" - } - }, - "replace-in-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.2.0.tgz", - "integrity": "sha512-Im2AF9G/qgkYneOc9QwWwUS/efyyonTUBvzXS2VXuxPawE5yQIjT/e6x4CTijO0Quq48lfAujuo+S89RR2TP2Q==", - "requires": { - "chalk": "^4.1.0", - "glob": "^7.1.6", - "yargs": "^16.2.0" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "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.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "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-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", - "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", - "requires": { - "tslib": "^1.9.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==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "requires": { - "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" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "sinon": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.0.tgz", - "integrity": "sha512-wCbMjy6pepGX3CE/IBz3QDqOmdYP96tWrrqTMVnbREgJG989725EbMZD9vp+Cd+A6MNXDjb7weWLi/bPPpcH/g==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.8.3", - "@sinonjs/fake-timers": "^7.1.0", - "@sinonjs/samsam": "^6.0.2", - "diff": "^5.0.0", - "nise": "^5.1.0", - "supports-color": "^8.1.1" - }, - "dependencies": { - "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 - }, - "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 - }, - "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" - } - } - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", - "dev": true, - "requires": { - "is-plain-obj": "^2.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "spawn-wrap": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", - "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", - "dev": true, - "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0" - }, - "dependencies": { - "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" - } - }, - "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" - } - } - } - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "stdout-stderr": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz", - "integrity": "sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "strip-ansi": "^6.0.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "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==", - "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==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } - } - }, - "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } - } - }, - "table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.5.0.tgz", - "integrity": "sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "tmp": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz", - "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==", - "dev": true, - "requires": { - "rimraf": "^2.6.3" - }, - "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" - } - } - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "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==", - "requires": { - "is-number": "^7.0.0" - } - }, - "ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", - "dev": true, - "requires": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "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.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", - "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==", - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "requires": { - "defaults": "^1.0.3" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "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==", - "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" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", - "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "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.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "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==", - "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=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "write-json-file": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz", - "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==", - "dev": true, - "requires": { - "detect-indent": "^6.0.0", - "graceful-fs": "^4.1.15", - "is-plain-obj": "^2.0.0", - "make-dir": "^3.0.0", - "sort-keys": "^4.0.0", - "write-file-atomic": "^3.0.0" - } - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.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 - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "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" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "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 - } - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "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/packages/frontier-plugins/plugin-vue-v2/package.json b/packages/frontier-plugins/plugin-vue-v2/package.json deleted file mode 100644 index f0b190b2..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/package.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "name": "@rdfrontier/plugin-vue", - "version": "1.1.1-beta.8", - "author": "Realdecoy", - "bin": { - "rdvue": "./bin/run" - }, - "bugs": "https://github.com/realdecoy/frontier/issues", - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/plugin-help": "^3.2.2", - "bluebird": "^3.7.2", - "chalk": "^4.1.0", - "cli-ux": "^5.5.1", - "fs": "0.0.1-security", - "git-user-name": "^2.0.0", - "inquirer": "^8.1.0", - "mkdirp": "^1.0.4", - "ncp": "^2.0.0", - "path": "^0.12.7", - "replace-in-file": "^6.2.0", - "shelljs": "^0.8.5", - "tslib": "^1.14.1", - "util": "^0.12.4" - }, - "devDependencies": { - "@oclif/dev-cli": "^1.26.0", - "@oclif/test": "^1.2.8", - "@types/bluebird": "^3.5.33", - "@types/chai": "^4.2.15", - "@types/inquirer": "^7.3.1", - "@types/mkdirp": "^1.0.1", - "@types/mocha": "^5.2.7", - "@types/node": "^10.17.55", - "@types/shelljs": "^0.8.8", - "@types/sinon": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "babel-eslint": "^10.1.0", - "chai": "^4.3.4", - "eslint": "^7.27.0", - "eslint-config-oclif": "^3.1.0", - "eslint-config-oclif-typescript": "^0.1.0", - "globby": "^10.0.2", - "mocha": "^10.0.0", - "nyc": "^14.1.1", - "rimraf": "^3.0.2", - "sinon": "^11.1.0", - "ts-node": "^8.10.2", - "typescript": "^3.9.9" - }, - "engines": { - "node": ">=8.0.0" - }, - "files": [ - "/bin", - "/lib", - "/npm-shrinkwrap.json", - "/oclif.manifest.json" - ], - "homepage": "https://www.realdecoy.com/", - "keywords": [ - "oclif" - ], - "license": "ISC", - "main": "lib/index.js", - "oclif": { - "commands": "./lib/commands", - "helpClass": "./lib/help", - "bin": "rdvue" - }, - "config": { - "commitizen": { - "path": "cz-conventional-changelog" - } - }, - "repository": { - "type": "git", - "url": "git+https://github.com/realdecoy/frontier.git" - }, - "scripts": { - "build": "tsc -b", - "audit": "npm audit --production", - "postpack": "rimraf oclif.manifest.json", - "posttest": "npm run lint", - "prepack": "rimraf lib && rimraf oclif.manifest.json && rimraf tsconfig.tsbuildinfo && tsc -b && oclif-dev manifest", - "version": "oclif-dev readme && git add README.md", - "test": "nyc --extension .ts mocha \"test/**/*.test.ts\" --forbid-only ", - "lint": "eslint . --ext .ts --config .eslintrc" - }, - "types": "lib/index.d.ts" -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/component.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/component.ts deleted file mode 100644 index 47dfb269..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/component.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parseComponentName, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['component']; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', - 'missing-template-folder', -]; - -export default class Component extends Command { - static description = 'add a new Component module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new component' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an rdvue project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddComponent} command must be run in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } - - const { args } = this.parse(Component); - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve component name - const componentName = await parseComponentName(args); - // parse kebab and pascal case of componentName - const componentNameKebab = toKebabCase(componentName); - const componentNamePascal = toPascalCase(componentName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, componentNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, componentNameKebab); - // copy and update files for component being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, componentNameKebab, componentNamePascal); - }); - - this.log(`${CLI_STATE.Success} component added: ${componentNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Component)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/index.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/index.ts deleted file mode 100644 index 263a5e60..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/index.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; - -export default class Add extends Command { - static description = 'add a new module' - - static flags = { - help: flags.help({ name: 'help', char: 'h', hidden: false }), - } - - static args = [ - { name: 'component', description: 'component module', hidden: false }, - { name: 'page', description: 'page module', hidden: false }, - { name: 'service', description: 'service module', hidden: false }, - { name: 'store', description: 'store module', hidden: false }, - ] - - showHelp(): void { - const commandId = Add.id; - const commandArgs = Add.args; - const commandFlags = Object.values(Add.flags); - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15; - const numOfSpaces = maxSpaces - arg.name.length; - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}`; - }); - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8; - const numOfSpaces = maxSpaces - flag.name.length; - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}`; - }); - - this.log(` - Usage: - npx ${chalk.blue('rdvue')} ${commandId}: - - Features: \t - Utilities to create repeatable project elements${argsList} - - Options:${optionList} - `); - } - - run(): Promise { - this.showHelp(); - - return Promise.resolve(); - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/page.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/page.ts deleted file mode 100644 index 6fdd8369..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/page.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parsePageName, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['page']; -const CUSTOM_ERROR_MESSAGES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', - 'missing-template-folder', -]; - -export default class Page extends Command { - static description = 'add a new Page module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new page' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_MESSAGES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an rdvue project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddPage} command must be run in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } - - const { args } = this.parse(Page); - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve page name - const pageName = await parsePageName(args); - // parse kebab and pascal case of pageName - const pageNameKebab = toKebabCase(pageName); - const pageNamePascal = toPascalCase(pageName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, pageNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, pageNameKebab); - - // copy and update files for page being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, pageNameKebab, pageNamePascal); - }); - - this.log(`${CLI_STATE.Success} page added: ${pageNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Page)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/service.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/service.ts deleted file mode 100644 index f53f772f..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/service.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parseServiceName, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['service']; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', -]; - -export default class Service extends Command { - static description = 'add a new Service module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new service' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an rdvue project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddService} command must be run in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } - - const { args } = this.parse(Service); - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve service name - const serviceName = await parseServiceName(args); - // parse kebab and pascal case of serviceName - const serviceNameKebab = toKebabCase(serviceName); - const serviceNamePascal = toPascalCase(serviceName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, serviceNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy and update files for service being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, serviceNameKebab, serviceNamePascal); - }); - - this.log(`${CLI_STATE.Success} service added: ${serviceNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Service)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/store.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/store.ts deleted file mode 100644 index 13192d47..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/add/store.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; -import { checkProjectValidity, parseStoreModuleName, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../lib/constants'; - -const TEMPLATE_FOLDERS = ['store']; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'failed-match-and-replace', - 'missing-template-file', - 'missing-template-folder', -]; - -export default class StoreModule extends Command { - static description = 'add a new Store module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new store module' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - - // block command unless being run within an rdvue project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.AddStore} command must be run in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } - - const { args } = this.parse(StoreModule); - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // retrieve storeModule name - const storeModuleName = await parseStoreModuleName(args); - // parse kebab and pascal case of storeModuleName - const storeModuleNameKebab = toKebabCase(storeModuleName); - const storeModuleNamePascal = toPascalCase(storeModuleName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, storeModuleNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy and update files for storeModule being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, storeModuleNameKebab, storeModuleNamePascal); - }); - - this.log(`${CLI_STATE.Success} store added: ${storeModuleNameKebab}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Store)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/create-project/index.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/create-project/index.ts deleted file mode 100644 index 70cd012b..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/create-project/index.ts +++ /dev/null @@ -1,156 +0,0 @@ -import shell from 'shelljs'; -import chalk from 'chalk'; -import { Command, flags } from '@oclif/command'; -import Buefy from '../plugin/buefy'; -import Localization from '../plugin/localization'; -import Vuetify from '../plugin/vuetify'; -import { toKebabCase, parseProjectName, isJsonString, checkProjectValidity, parseProjectPresets } from '../../../lib/utilities'; -import { replaceInFiles, checkIfFolderExists } from '../../../lib/files'; -import { - TEMPLATE_REPO, - DESIGN_TEMPLATE_REPO, - DESIGN_TEMPLATE_FOLDER, - TEMPLATE_TAG, - TEMPLATE_PROJECT_NAME_REGEX, - TEMPLATE_REPLACEMENT_FILES, - CLI_STATE, - PLUGIN_PRESET_LIST, -} from '../../../lib/constants'; - -const CUSTOM_ERROR_CODES = [ - 'existing-project', - 'existing-folder', - 'file-not-changed', -]; - -export default class CreateProject extends Command { - static description = 'create a new rdvue project' - - static flags = { - help: flags.help({ char: 'h' }), - skipPresets: flags.boolean({ hidden: true }), - withBuefy: flags.boolean({ hidden: true }), - withLocalization: flags.boolean({ hidden: true }), - withVuetify: flags.boolean({ hidden: true }), - withDesignSystem: flags.boolean({ hidden: true }), - } - - static args = [ - { name: 'name', description: 'name of created project' }, - { name: 'preset', description: 'name of plugin preset' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (!hasCustomErrorCode) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { args, flags } = this.parse(CreateProject); - const template: string = TEMPLATE_REPO; - const designTemplate: string = DESIGN_TEMPLATE_REPO; - const designTemplateFolder: string = DESIGN_TEMPLATE_FOLDER; - const tag: string = TEMPLATE_TAG; - const replaceRegex = TEMPLATE_PROJECT_NAME_REGEX; - const skipPresetsStep = flags.skipPresets === true; - const withBuefy = flags.withBuefy === true; - const withVuetify = flags.withVuetify === true; - const withLocalization = flags.withLocalization === true; - const withDesignSystem = flags.withDesignSystem === true; - - let filesToReplace = TEMPLATE_REPLACEMENT_FILES; - let projectName: string; - let presetName: string = ''; - const { isValid: isValidProject } = checkProjectValidity(); - // block command if being run within an rdvue project - if (isValidProject) { - throw new Error( - JSON.stringify({ - code: 'existing-project', - message: `you are already in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } - - // retrieve project name - projectName = await parseProjectName(args); - // retrieve project preset - // on skip preset flag set presetName to skip presets - presetName = skipPresetsStep ? PLUGIN_PRESET_LIST[2] : await parseProjectPresets(args); - // convert project name to kebab case - projectName = toKebabCase(projectName); - // verify that project folder doesnt already exist - checkIfFolderExists(projectName); - - // update files to be replaced with project name reference - filesToReplace = filesToReplace.map(p => `${projectName}/${p}`); - - this.log(`${CLI_STATE.Info} creating project ${chalk.whiteBright(projectName)}`); - - // retrieve project files from template source - await shell.exec(`git clone ${template} --depth 1 --branch ${tag} ${projectName}`, { silent: true }); - // remove git folder reference to base project - await shell.exec(`npx rimraf ${projectName}/.git`); - // find and replace project name references - const success = await replaceInFiles(filesToReplace, replaceRegex, `${projectName}`); - - const presetIndex = PLUGIN_PRESET_LIST.indexOf(presetName); - const shouldInstallBuefy = presetIndex === 0 || withBuefy === true; - const shouldInstallVuetify = presetIndex === 1 || withVuetify === true; - const shouldInstallLocalization = presetIndex === 0 || presetIndex === 1 || withLocalization === true; - const shouldInstallDesignSystem = withDesignSystem === true; - - if (success === false) { - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: 'updating your project failed', - }), - ); - } else { - if (shouldInstallBuefy === true) { // buefy - await Buefy.run(['--forceProject', projectName, '--skipInstall']); - } - if (shouldInstallVuetify) { // Vuetify - await Vuetify.run(['--forceProject', projectName, '--skipInstall']); - } - if (shouldInstallLocalization === true) { // localization - await Localization.run(['--forceProject', projectName, '--skipInstall']); - } - } - - if (shouldInstallDesignSystem === true) { - // retrieve project files from template source - await shell.exec(`git clone ${designTemplate} --depth 1 --branch ${tag} ${projectName}/${designTemplateFolder}`, { silent: true }); - // remove git folder reference to base project - await shell.exec(`npx rimraf ${projectName}/${designTemplateFolder}/.git`); - } - - // initialize git in the created project - await shell.exec(`cd ${projectName} && git init && git add . && git commit -m "Setup: first commit" && git branch -M main`, { silent: true }); - - this.log(`${CLI_STATE.Success} ${chalk.whiteBright(projectName)} is ready!`); - - // Output final instructions to user - this.log(`\nNext Steps:\n${chalk.magenta('-')} cd ${chalk.whiteBright(projectName)}\n${chalk.magenta('-')} npm install\n${chalk.magenta('-')} npm run serve`); - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/buefy.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/buefy.ts deleted file mode 100644 index d11b5626..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/buefy.ts +++ /dev/null @@ -1,150 +0,0 @@ -import shell from 'shelljs'; -import cli from 'cli-ux'; -const util = require('util'); -const exec = util.promisify(shell.exec); -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, inject, parseModuleConfig, updateDynamicImportsAndExports } from '../../../lib/files'; -import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE } from '../../../lib/constants'; -import { injectImportsIntoMain } from '../../../lib/plugins'; -import { Route } from '../../../modules/manifest'; - -const TEMPLATE_FOLDERS = ['buefy']; -const TEMPLATE_MIN_VERSION_SUPPORTED = 2; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'missing-template-file', - 'missing-template-folder', - 'dependency-install-error', -]; - -export default class Buefy extends Command { - static description = 'lightweigth UI components for Vuejs' - - static flags = { - help: flags.help({ char: 'h' }), - forceProject: flags.string({ hidden: true }), - skipInstall: flags.boolean({ hidden: true }), - } - - static args = [] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { flags } = this.parse(Buefy); - const projectName = flags.forceProject; - const skipInstallStep = flags.skipInstall === true; - const hasProjectName = projectName !== undefined; - const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; - - const projectValidity = checkProjectValidity(); - const { isValid: isValidProject } = projectValidity; - let { projectRoot } = projectValidity; - - // block command unless being run within an rdvue project - if (isValidProject === false && !hasProjectName) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.PluginBuefy} command must be run in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } else if (hasProjectName) { - const dir = path.join(process.cwd(), projectName ?? ''); - projectRoot = dir.trim(); - } - - const folderList = TEMPLATE_FOLDERS; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - const config = configs[0]; - const files: Array = config.manifest.files; - const dependencies = config.manifest.packages.dependencies.toString() - .split(',') - .join(' '); - - if (skipInstallStep === false) { - try { - // install dependencies - cli.action.start(`${CLI_STATE.Info} installing buefy dependencies`); - await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); - cli.action.stop(); - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'dependency-install-error', - message: `${this.id?.split(':')[1]} buefy dependencies failed to install`, - }), - ); - } - } else { - cli.action.start(`${CLI_STATE.Info} adding buefy dependencies`); - await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); - cli.action.stop(); - } - - const sourceDirectory: string = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - const installDirectory: string = path.join(projectRoot, 'src', config.manifest.installDirectory); - const routePath: string = path.join(projectRoot, 'src', 'config', 'router.ts'); - - // copy and update files for plugin being added - await copyFiles(sourceDirectory, installDirectory, files); - const { routes }: { routes: Array } = config.manifest; - if (routes && routes.length > 0) { - const formattedContent: string = JSON.stringify(routes, null, 2) - .replace(/(? { - const index = lines.findIndex(line => line.trim().startsWith('routes: [')); - if (index < 0) { - throw new Error(`Could not find routes in ${file}`); - } - - return index + 1; - }, - }); - } - updateDynamicImportsAndExports(projectRoot, 'theme', config.manifest.projectTheme, '_all.scss'); - updateDynamicImportsAndExports(projectRoot, 'modules/core', config.manifest.moduleImports, 'index.ts'); - if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { - const { imports: mainImports } = config.manifest.main; - injectImportsIntoMain(projectRoot, mainImports); - } - - if (skipInstallStep === false) { - this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); - } - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/index.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/index.ts deleted file mode 100644 index 039b91a4..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/index.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; - -export default class Plugin extends Command { - static description = 'add a new module' - - static flags = { - help: flags.help({ name: 'help', char: 'h', hidden: false }), - } - - static args = [ - { name: 'buefy', description: 'lightweigth UI components for Vue.js', hidden: false }, - { name: 'localization', description: 'library for localizing content', hidden: false }, - { name: 'vuetify', description: 'material design framework for Vue.js', hidden: false }, - { name: 'storybook', description: '[coming soon] UI component explorer for frontend devs', hidden: true }, - ] - - showHelp(): void { - const commandId = Plugin.id; - const commandArgs = Plugin.args; - const commandFlags = Object.values(Plugin.flags); - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15; - const numOfSpaces = maxSpaces - arg.name.length; - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}`; - }) - .toString() - .split(',') - .join(''); - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8; - const numOfSpaces = maxSpaces - flag.name.length; - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}`; - }) - .toString() - .split(',') - .join(''); - - this.log(` - Usage: - npx ${chalk.blue('rdvue')} ${commandId}: - - Libraries: \t - Utilities to extend project functionality${argsList} - - Options:${optionList} - `); - } - - run(): Promise { - this.showHelp(); - - return Promise.resolve(); - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/localization.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/localization.ts deleted file mode 100644 index 4c60bd5f..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/localization.ts +++ /dev/null @@ -1,146 +0,0 @@ -import shell from 'shelljs'; -import cli from 'cli-ux'; -const util = require('util'); -const exec = util.promisify(shell.exec); -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseDynamicObjects, parseModuleConfig } from '../../../lib/files'; -import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DYNAMIC_OBJECTS } from '../../../lib/constants'; -import { injectImportsIntoMain, injectModulesIntoMain } from '../../../lib/plugins'; - -const TEMPLATE_FOLDERS = ['localization']; -const TEMPLATE_MIN_VERSION_SUPPORTED = 2; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'missing-template-file', - 'missing-template-folder', - 'dependency-install-error', -]; - -export default class Localization extends Command { - static description = 'adds i18bn localization' - - static flags = { - help: flags.help({ char: 'h' }), - forceProject: flags.string({ hidden: true }), - skipInstall: flags.boolean({ hidden: true }), - } - - static args = [] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { flags } = this.parse(Localization); - const projectName = flags.forceProject; - const skipInstallStep = flags.skipInstall === true; - const hasProjectName = projectName !== undefined; - const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; - - const validityResponse = checkProjectValidity(); - const { isValid: isValidProject } = validityResponse; - let { projectRoot } = validityResponse; - // block command unless being run within an rdvue project - if (isValidProject === false && !hasProjectName) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.PluginLocalization} command must be run in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } else if (hasProjectName) { - const dir = path.join(process.cwd(), projectName ?? ''); - projectRoot = dir.trim(); - } - - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string = ''; - let installDirectory: string = ''; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - const config = configs[0]; - const files: Array = config.manifest.files; - const dependencies = config.manifest.packages.dependencies.toString() - .split(',') - .join(' '); - const devDependencies = config.manifest.packages.devDependencies.toString() - .split(',') - .join(' '); - - if (skipInstallStep === false) { - try { - // // install dev dependencies - cli.action.start(`${CLI_STATE.Info} installing localization dev dependencies`); - await exec(`${preInstallCommand} npm install --save-dev ${devDependencies}`, { silent: true }); - cli.action.stop(); - - // // install dependencies - cli.action.start(`${CLI_STATE.Info} installing localization dependencies`); - await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); - cli.action.stop(); - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'dependency-install-error', - message: `${this.id?.split(':')[1]} localization dependencies failed to install`, - }), - ); - } - } else { - cli.action.start(`${CLI_STATE.Info} adding localization dependencies`); - await exec(`cd ${projectName} && npx add-dependencies ${devDependencies} --save-dev`, { silent: true }); - await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); - cli.action.stop(); - } - - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy files for plugin being added - await copyFiles(sourceDirectory, installDirectory, files); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.routes, null, 1), DYNAMIC_OBJECTS.Routes); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.vueOptions, null, 1), DYNAMIC_OBJECTS.Options, true); - if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { - const { imports: mainImports, modules: mainModules } = config.manifest.main; - injectImportsIntoMain(projectRoot, mainImports); - try { - injectModulesIntoMain(projectRoot, mainModules); - } catch (error) { - this.error(error); - } - } else { - // FP-414: backwards compatibility - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.modules, null, 1), DYNAMIC_OBJECTS.Modules, true); - } - - if (skipInstallStep === false) { - this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); - } - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/vuetify.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/vuetify.ts deleted file mode 100644 index d4efb7e6..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/plugin/vuetify.ts +++ /dev/null @@ -1,147 +0,0 @@ -import shell from 'shelljs'; -import cli from 'cli-ux'; -const util = require('util'); -const exec = util.promisify(shell.exec); -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from '../../../modules'; -import { copyFiles, parseDynamicObjects, parseModuleConfig } from '../../../lib/files'; -import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; -import { CLI_COMMANDS, CLI_STATE, DYNAMIC_OBJECTS } from '../../../lib/constants'; -import { injectImportsIntoMain, injectModulesIntoMain } from '../../../lib/plugins'; - -const TEMPLATE_FOLDERS = ['vuetify']; -const TEMPLATE_MIN_VERSION_SUPPORTED = 2; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'missing-template-file', - 'missing-template-folder', - 'dependency-install-error', -]; - -export default class Vuetify extends Command { - static description = 'lightweigth UI components for Vuejs' - - static flags = { - help: flags.help({ char: 'h' }), - forceProject: flags.string({ hidden: true }), - skipInstall: flags.boolean({ hidden: true }), - } - - static args = [] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { flags } = this.parse(Vuetify); - const projectName = flags.forceProject; - const skipInstallStep = flags.skipInstall === true; - const hasProjectName = projectName !== undefined; - const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; - - const validityResponse = checkProjectValidity(); - const { isValid: isValidProject } = validityResponse; - let { projectRoot } = validityResponse; - // block command unless being run within an rdvue project - if (isValidProject === false && !hasProjectName) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.PluginVuetify} command must be run in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } else if (hasProjectName) { - const dir = path.join(process.cwd(), projectName ?? ''); - projectRoot = dir.trim(); - } - - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string = ''; - let installDirectory: string = ''; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - const config = configs[0]; - const files: Array = config.manifest.files; - const dependencies = config.manifest.packages.dependencies.toString() - .split(',') - .join(' '); - const devDependencies = config.manifest.packages.devDependencies.toString() - .split(',') - .join(' '); - - if (skipInstallStep === false) { - try { - // // install dev dependencies - cli.action.start(`${CLI_STATE.Info} installing vuetify dev dependencies`); - await exec(`${preInstallCommand} npm install --save-dev ${devDependencies}`, { silent: true }); - cli.action.stop(); - - // // install dependencies - cli.action.start(`${CLI_STATE.Info} installing vuetify dependencies`); - await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); - cli.action.stop(); - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'dependency-install-error', - message: `${this.id?.split(':')[1]} vuetify dependencies failed to install`, - }), - ); - } - } else { - cli.action.start(`${CLI_STATE.Info} adding vuetify dependencies`); - await exec(`cd ${projectName} && npx add-dependencies ${devDependencies} --save-dev`, { silent: true }); - await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); - cli.action.stop(); - } - - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy files for plugin being added - await copyFiles(sourceDirectory, installDirectory, files); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.routes, null, 1), DYNAMIC_OBJECTS.Routes); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.vueOptions, null, 1), DYNAMIC_OBJECTS.Options, true); - - if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { - const { imports: mainImports, modules: mainModules } = config.manifest.main; - injectImportsIntoMain(projectRoot, mainImports); - try { - injectModulesIntoMain(projectRoot, mainModules); - } catch (error) { - this.error(error); - } - } else { - // FP-414: backwards compatibility - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.modules, null, 1), DYNAMIC_OBJECTS.Modules, true); - } - - if (skipInstallStep === false) { - this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); - } - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/upgrade/index.ts b/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/upgrade/index.ts deleted file mode 100644 index 800741e5..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/commands/vue/upgrade/index.ts +++ /dev/null @@ -1,218 +0,0 @@ -/* eslint-disable max-lines */ -const fs = require('fs'); -import shell from 'shelljs'; -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { checkProjectValidity, createChangelogReadme, isJsonString } from '../../../lib/utilities'; -import { copyDirectoryRecursive, copyFiles, deleteFile, readFile, updateFile } from '../../../lib/files'; -import { CLI_COMMANDS, CLI_STATE, TEMPLATE_REPO, TEMPLATE_ROOT, TEMPLATE_TAG, DOCUMENTATION_LINKS, CHANGE_LOG_FOLDER, CHANGE_LOG_FILENAME, CHAR_PERIOD } from '../../../lib/constants'; -import { DEFAULT_CHANGE_LOG, changeLogFile, ChangelogResource, ChangelogResourcesContent, ChangeLog, ChangelogConfigTypes, handlePrimitives, handleArraysAndObjects } from '../../../modules'; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', -]; - -export default class Upgrade extends Command { - static description = 'Specify the rdvue template version for a project' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'rdvue version' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - this.log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an rdvue project - if (isValidProject === false) { - throw new Error( - JSON.stringify({ - code: 'project-invalid', - message: `${CLI_COMMANDS.Upgrade} command must be run in an existing ${chalk.yellow('rdvue')} project`, - }), - ); - } - - const { args } = this.parse(Upgrade); - const template: string = TEMPLATE_REPO; - const versionName = args.name ?? TEMPLATE_TAG; - const temporaryProjectFolder = path.join(projectRoot, 'node_modules', '_temp'); - const templateSourcePath = path.join(temporaryProjectFolder, TEMPLATE_ROOT); - - const templateDestinationPath = path.join(projectRoot, TEMPLATE_ROOT); - const changelogPath = path.join(projectRoot, CHANGE_LOG_FILENAME); - - // retrieve project files from template source - await shell.exec(`git clone ${template} --depth 1 --branch ${versionName} ${temporaryProjectFolder}`, { silent: true }); - - // copy template files to project local template storage - const result = await copyDirectoryRecursive(templateSourcePath, templateDestinationPath); - /** - * @Todo create method to generate changelog dynamically from git diff. - * add changelog to project temp directory and read based on release version number - */ - const rawGeneratedChangelog = readFile(path.join(templateDestinationPath, CHANGE_LOG_FOLDER, versionName)); - const parsedGeneratedChangelog: ChangeLog | null = rawGeneratedChangelog.length > 0 ? JSON.parse(rawGeneratedChangelog) : null; - const changeLogData = parsedGeneratedChangelog ?? DEFAULT_CHANGE_LOG; - - /** - * Steps for Executing changelog - * 1. read package.json file from project root - * 2. compare packages in existing package.json with the updated package.json cloned in above - * 3. remove unused project dependencies and devDependencies - * 4. add missing packages to project dependencies and devDependencies - * 5. update existing packages to appropriate versions - * 6. write package.json file back to project root - * 7. remove unused files ( vue.config.js, .env, .env.example, .package-lock.json ) - * 8. include new project folders and files ( scripts/config, config/.env, config/.env.example, webpack.config.js ) - * 9. update existing project files ( main.ts, tsconfig.json, tailwind.config.js, src/pages/hello-world, readme ) - */ - const resourcesToCreate = changeLogData[ChangelogConfigTypes.CREATE]?.resources; - const resourcesToUpdate = changeLogData[ChangelogConfigTypes.UPDATE]?.resources; - const resourcesToDelete = changeLogData[ChangelogConfigTypes.DELETE]?.resources; - if (resourcesToCreate) { - await this.createProjectFiles(projectRoot, temporaryProjectFolder, resourcesToCreate); - } - if (resourcesToUpdate) { - await this.updateProjectFiles(projectRoot, resourcesToUpdate); - } - if (resourcesToDelete) { - this.deleteProjectFiles(projectRoot, resourcesToDelete); - } - - fs.rmdirSync(temporaryProjectFolder, { recursive: true }); - - this.log(`${CLI_STATE.Success} rdvue updated to version: ${chalk.green(versionName)}`); - - createChangelogReadme(versionName, changelogPath, changeLogData); - this.log(`${CLI_STATE.Success} CHANGELOG.md generated at : ${chalk.green(changelogPath)}`); - - this.log(`\n ${chalk.yellow('rdvue')} has been updated to use the esbuild bundler!\n Learn more here: ${chalk.yellow(DOCUMENTATION_LINKS.EsBuild)}\n`); - this.log(changeLogData.reccomendations); - } - - async createProjectFiles(projectRoot: string, temporaryProjectFolder: string, resources: ChangelogResource[]): Promise { - for await (const resource of resources) { - try { - const name = resource.name; - const src = resource.srcPath; - const dest = resource.destPath; - const resourceFile = resource.file; - - if (src !== undefined && dest !== undefined && resourceFile) { - const srcDir = path.join(temporaryProjectFolder, src.trim()); - const destDir = path.join(projectRoot, dest.trim()); - - const existingFile = readFile(path.join(destDir, name)); - if (existingFile && !resourceFile.target.includes(ChangelogConfigTypes.UPDATE)) { - const current = resourceFile.target.split(CHAR_PERIOD); - current.splice(current.length - 1, 0, ChangelogConfigTypes.UPDATE); - resourceFile.target = current.join(CHAR_PERIOD); - } - - const files: changeLogFile[] = [resourceFile]; - await copyFiles(srcDir, destDir, files, false); - } else { - throw this.error; - } - } catch (error) { - this.log(`${CLI_STATE.Warning} could not create file at: ${chalk.yellow(error)}`); - } - } - } - - async updateProjectFiles(projectRoot: string, resources: ChangelogResource[]): Promise { - for await (const resource of resources) { - const destPath = resource.destPath; - const destDir = path.join(projectRoot, destPath); - const name = resource.name; - const contents: ChangelogResourcesContent[] | undefined = resource.contents; - - if (contents && contents.length > 0) { - const filePath = path.join(projectRoot, name); - const rawJsonData = readFile(filePath); - const parsedJsonData = this.jsonReader(filePath); - - for (const content of contents) { - const keys: string[] = content.key.split('.'); - this.parseAndUpdateJson(parsedJsonData, keys, content); - } - - const regex = /[^]*/; - await updateFile(destDir, rawJsonData, regex, JSON.stringify(parsedJsonData, null, 2)); - } - } - } - - deleteProjectFiles(projectRoot: string, resources: ChangelogResource[]): void { - for (const resource of resources) { - const destPath = resource.destPath; - const name = resource.name; - - const destDir = path.join(projectRoot, destPath); - const targetFile = path.join(destDir, name); - const rawData = readFile(targetFile); - - if (!rawData) { - return; - } - try { - deleteFile(targetFile); - } catch (error) { - this.log(`${CLI_STATE.Warning} could not find file at: ${chalk.yellow(targetFile)} to delete`); - } - } - } - - parseAndUpdateJson(data: any, keys: string[], content: ChangelogResourcesContent): void { - if (!data || keys.length <= 0) { - return; - } - const currentKey = keys.shift(); - if (currentKey) { - if (keys.length <= 0) { - const operation = content.operation; - const newValue = content.value; - - if (!Array.isArray(newValue) && !(newValue instanceof Object)) { - handlePrimitives(data, currentKey, operation, newValue); - } else { - handleArraysAndObjects(data, currentKey, operation, newValue); - } - - return; - } - this.parseAndUpdateJson(data[currentKey], keys, content); - } - } - - jsonReader(filePath: string): any { - const text = fs.readFileSync(filePath); - return JSON.parse(text); - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue-v2/src/help.ts b/packages/frontier-plugins/plugin-vue-v2/src/help.ts deleted file mode 100644 index fe9333b3..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/help.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { Help } from '@oclif/plugin-help'; -import { Command, Topic } from '@oclif/config'; -import chalk from 'chalk'; -import { log } from './lib/stdout'; - -export default class MyHelpClass extends Help { - // acts as a 'router' - // and based on the args it receives - // calls one of showRootHelp, showTopicHelp, - // or showCommandHelp - showRootHelp(): void { - log(` - npx ${chalk.blue('rdvue')} - - Actions: - create-project - Scaffold a new rdvue project - add - Add a feature to a project - plugin - Inject a utility to extend project functionality - upgrade - Specify the rdvue template version for a project - - Options: - --help | -h - Show help information - `, - ); - } - - showTopicHelp(topic: Topic): void { - const name = topic.name; - const depth = name.split(':').length; - - const subTopics = this.sortedTopics.filter((t: any) => t.name.startsWith(`${name}:`) && t.name.split(':').length === depth + 1); - const commands = this.sortedCommands.filter((c: any) => c.id.startsWith(`${name}:`) && c.id.split(':').length === depth + 1); - - log(this.formatTopic(topic)); - - if (subTopics.length > 0) { - log(this.formatTopics(subTopics)); - log(''); - } - - if (commands.length > 0) { - log(this.formatCommands(commands)); - log(''); - } - } - - // display help for a command - showCommandHelp(command: Command): void { - const commandId = command.id; - const commandArgs = command.args; - const commandFlags = Object.values(command.flags); - - // parse argument names - const argNames = commandArgs - .filter(arg => !arg.hidden) - .map(arg => `<${arg.name}>`); - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15; - const numOfSpaces = maxSpaces - arg.name.length; - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}`; - }); - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8; - const numOfSpaces = maxSpaces - flag.name.length; - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}`; - }); - - log(` - Usage: - npx ${chalk.blue('rdvue')} ${commandId} ${argNames} - - Arguments:${argsList} - - Options:${optionList}`); - } -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/index.ts b/packages/frontier-plugins/plugin-vue-v2/src/index.ts deleted file mode 100644 index 63a56fdf..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { run } from '@oclif/command'; diff --git a/packages/frontier-plugins/plugin-vue-v2/src/modules/changelog.ts b/packages/frontier-plugins/plugin-vue-v2/src/modules/changelog.ts deleted file mode 100644 index 029ca9d3..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/modules/changelog.ts +++ /dev/null @@ -1,634 +0,0 @@ -/* eslint-disable max-lines */ -export enum ChangelogMetaDataTypes { - MIGRATION = 'migration', - UPDATE = 'update', - PATCH = 'patch', -} - -export enum ChangelogConfigTypes { - META_DATA = 'metadata', - CREATE = 'create', - UPDATE = 'update', - DELETE = 'delete', -} - -export enum ChangelogContentOperations { - ADD = 'add', - REMOVE = 'remove', - UPDATE = 'update', -} - -export type ChangelogResourcesContent = { - key: string; - value: any; - operation: string; -} - -export type changeLogFile = { - source: string; - target: string; -} - -export type ChangelogResource = { - name: string; - file?: changeLogFile; - destPath: string; - srcPath?: string; - type: string; - contents?: ChangelogResourcesContent[] -} - -export type ChangelogResources = { - resources: ChangelogResource[]; -} - -export type Metadata = { - version: string; - type?: ChangelogMetaDataTypes; - resources?: ChangelogResources[]; -}; - -export type ChangeLog = { - metadata: Metadata; - reccomendations: string; - create?: ChangelogResources; - update?: ChangelogResources; - delete?: ChangelogResources; -} - -export function handleArraysAndObjects(data: any, key: string, operation: string, newValue: any): void { - const currentValue = data[key]; - if (operation === ChangelogContentOperations.REMOVE) { - if (Array.isArray(newValue)) { - for (const item of newValue) { - const index = currentValue.indexOf(item); - delete currentValue[index]; - } - } else { - delete data[key]; - } - } else if (operation === ChangelogContentOperations.UPDATE) { - data[key] = Array.isArray(newValue) ? [...currentValue, ...newValue] : { - ...currentValue, - ...newValue, - }; - } else if (operation === ChangelogContentOperations.ADD) { - data[key] = Array.isArray(newValue) ? [...newValue] : { - ...newValue, - }; - } -} - -export function handlePrimitives(data: any, key: string, operation: string, newValue: any): void { - if (operation === ChangelogContentOperations.REMOVE) { - delete data[key]; - } else if (operation === ChangelogContentOperations.ADD) { - data[key] = newValue; - } -} - -export const DEFAULT_CHANGE_LOG: ChangeLog = { - metadata: { - version: 'default', - type: ChangelogMetaDataTypes.MIGRATION, - }, - reccomendations: `For this release, we recommend the following: - - Update node to version **16.x** - - Compare the changes to the files with a **.update** file extension and its original file - - Optionally, you can run \`npm run upgrade\` to automatically update your project files - - Delete existing node_modules and run \`npm install\` to update your dependencies to the latest version - - Run \`npm run serve\` to launch webpack-dev-server - - For any issues regarding the recent tailwind upgrade, please refer to the following links: - - https://tailwindcss.com/docs/upgrading-to-v2 - - https://tailwindcss.com/docs/upgrade-guide - - `, - create: { - resources: [{ - name: 'index.ts', - file: { - source: 'index.ts', - target: 'index.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: '.env', - file: { - source: '.env', - target: '.env', - }, - destPath: 'config', - srcPath: 'config', - type: 'file', - }, - { - name: '.env.example', - file: { - source: '.env.example', - target: '.env.example', - }, - destPath: 'config', - srcPath: 'config', - type: 'file', - }, - { - name: 'media-loader.ts', - file: { - source: 'media-loader.ts', - target: 'media-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'sass-loader.ts', - file: { - source: 'sass-loader.ts', - target: 'sass-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'ts-loader.ts', - file: { - source: 'ts-loader.ts', - target: 'ts-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'vue-loader.ts', - file: { - source: 'vue-loader.ts', - target: 'vue-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'font-loader.ts', - file: { - source: 'font-loader.ts', - target: 'font-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'webpack.config.ts', - file: { - source: 'webpack.config.ts', - target: 'webpack.config.ts', - }, - destPath: '', - srcPath: '', - type: 'file', - }, - { - name: 'main.ts', - file: { - source: 'main.ts', - target: 'main.update.ts', - }, - srcPath: 'src', - destPath: 'src', - type: 'file', - }, - { - name: 'tsconfig.json', - file: { - source: 'tsconfig.json', - target: 'tsconfig.update.json', - }, - srcPath: '', - destPath: '', - type: 'file', - }, - { - name: 'postcss.config.js', - file: { - source: 'postcss.config.js', - target: 'postcss.config.update.js', - }, - srcPath: '', - destPath: '', - type: 'file', - }, - { - name: 'tailwind.config.js', - file: { - source: 'tailwind.config.js', - target: 'tailwind.config.update.js', - }, - srcPath: '', - destPath: '', - type: 'file', - }, - { - name: 'README', - file: { - source: 'README.md', - target: 'README.update.md', - }, - srcPath: '', - destPath: '', - type: 'file', - }], - }, - update: { - resources: [{ - name: 'package.json', - destPath: 'package.json', - type: 'file', - contents: [{ - key: 'scripts.audit', - value: 'npm audit --prod', - operation: 'add', - }, - { - key: 'scripts.serve', - value: 'vue-cli-service serve', - operation: 'remove', - }, - { - key: 'scripts.serve-static', - value: 'cd dist && ws --spa index.html -z', - operation: 'remove', - }, - { - key: 'scripts.build', - value: 'vue-cli-service build', - operation: 'remove', - }, - { - key: 'scripts.launch-ds', - value: 'cd node_modules/design-system && npm install && npm run serve:rdvue -- --port', - operation: 'add', - }, - { - key: 'scripts.preinstall', - value: 'npx rdvue@latest upgrade', - operation: 'add', - }, - { - key: 'scripts.serve', - value: 'cross-env NODE_ENV=development webpack serve', - operation: 'add', - }, - { - key: 'scripts.build', - value: 'cross-env NODE_ENV=development webpack build', - operation: 'add', - }, - { - key: 'scripts.serve:build', - value: 'cd dist && ws --https --spa index.html -z -p 9000', - operation: 'add', - }, - { - key: 'scripts.serve:docker', - value: 'docker run -it -p 8080:8080 -v $(pwd):/app -w /app --rm node bash -c "npm run serve"', - operation: 'add', - }, - { - key: 'scripts.serve:ds', - value: 'run-s setup-ds-webpack launch-design-system', - operation: 'add', - }, - { - key: 'scripts.test:unit', - value: 'echo "Error: no unit test specified" && exit 1', - operation: 'remove', - }, - { - key: 'launch-design-system', - value: 'cd node_modules/design-system && npm install && npm run serve:rdvue -- --port 9000', - operation: 'remove', - }, - { - key: 'serve:design-system', - value: 'run-s setup-ds-webpack launch-design-system', - operation: 'remove', - }, - { - key: 'scripts.upgrade-rdvue', - value: 'npx rdvue@latest upgrade', - operation: 'remove', - }, - { - key: 'test:unit', - value: 'echo "Error: no unit test specified" && exit 1', - operation: 'add', - }, - { - key: 'dependencies.favicons', - value: '^6.2.0', - operation: 'remove', - }, - { - key: 'dependencies.js-beautify', - value: '^1.13.0', - operation: 'remove', - }, - { - key: 'dependencies.log-symbols', - value: '^4.0.0', - operation: 'remove', - }, - { - key: 'dependencies.register-service-worker', - value: '^1.5.2', - operation: 'remove', - }, - { - key: 'dependencies.ws', - value: '^7.4.5', - operation: 'remove', - }, - { - key: 'dependencies.webpack', - value: '^5.71.0', - operation: 'add', - }, - { - key: 'devDependencies.@babel/register', - value: '^7.16.9', - operation: 'add', - }, - { - key: 'devDependencies.@types/copy-webpack-plugin', - value: '^8.0.1', - operation: 'add', - }, - { - key: 'devDependencies.@types/dotenv-webpack', - value: '^7.0.2', - operation: 'add', - }, - { - key: 'devDependencies.@types/favicons', - value: '^5.5.0', - operation: 'add', - }, - { - key: 'devDependencies.@types/marked', - value: '^2.0.3', - operation: 'add', - }, - { - key: 'devDependencies.@types/mini-css-extract-plugin', - value: '^1.4.3', - operation: 'add', - }, - { - key: 'devDependencies.@types/mocha', - value: '^5.2.7', - operation: 'add', - }, - { - key: 'devDependencies.@vue/cli-plugin-babel', - value: '^3.4.0', - operation: 'remove', - }, - { - key: 'devDependencies.@vue/cli-plugin-typescript', - value: '^3.4.0', - operation: 'remove', - }, - { - key: 'devDependencies.@vue/cli-service', - value: '^4.3.1', - operation: 'remove', - }, - { - key: 'devDependencies.@types/pretty', - value: '^2.0.0', - operation: 'add', - }, - { - key: 'devDependencies.@types/speed-measure-webpack-plugin', - value: '^1.3.4', - operation: 'add', - }, - { - key: 'devDependencies.@types/tailwindcss', - value: '^3.0.2', - operation: 'add', - }, - { - key: 'devDependencies.@types/webpack-dev-server', - value: '^3.11.4', - operation: 'add', - }, - { - key: 'devDependencies.@types/webpack-env', - value: '^1.16.0', - operation: 'add', - }, - { - key: 'devDependencies.clean-webpack-plugin', - value: '^4.0.0', - operation: 'add', - }, - { - key: 'devDependencies.copy-webpack-plugin', - value: '^10.2.0', - operation: 'add', - }, - { - key: 'devDependencies.cross-env', - value: '^7.0.3', - operation: 'add', - }, - { - key: 'devDependencies.css-loader', - value: '^5.2.6', - operation: 'add', - }, - { - key: 'devDependencies.file-loader', - value: '^6.2.0', - operation: 'add', - }, - { - key: 'devDependencies.dotenv-webpack', - value: '^7.1.0', - operation: 'add', - }, - { - key: 'devDependencies.esbuild-loader', - value: '^2.18.0', - operation: 'add', - }, - { - key: 'devDependencies.favicons', - value: '^6.2.0', - operation: 'add', - }, - { - key: 'devDependencies.glob', - value: '^7.2.0', - operation: 'add', - }, - { - key: 'devDependencies.html-webpack-plugin', - value: '^5.5.0', - operation: 'add', - }, - { - key: 'devDependencies.js-beautify', - value: '^1.13.0', - operation: 'add', - }, - { - key: 'devDependencies.local-web-server', - value: '^5.1.1', - operation: 'add', - }, - { - key: 'devDependencies.log-symbols', - value: '^4.0.0', - operation: 'add', - }, - { - key: 'devDependencies.mini-css-extract-plugin', - value: '^2.5.2', - operation: 'add', - }, - { - key: 'devDependencies.postcss', - value: '^8.4.5', - operation: 'add', - }, - { - key: 'devDependencies.postcss-loader', - value: '^4.0.3', - operation: 'add', - }, - { - key: 'devDependencies.register-service-worker', - value: '^1.5.2', - operation: 'add', - }, - { - key: 'devDependencies.sass', - value: '^1.45.1', - operation: 'add', - }, - { - key: 'devDependencies.sass-loader', - value: '^7.1.0', - operation: 'remove', - }, - { - key: 'devDependencies.sass-loader', - value: '^10.2.1', - operation: 'add', - }, - { - key: 'devDependencies.speed-measure-webpack-plugin', - value: '^1.5.0', - operation: 'add', - }, - { - key: 'devDependencies.ts-node', - value: '^10.7.0', - operation: 'add', - }, - { - key: 'devDependencies.typescript-node', - value: '^0.1.3', - operation: 'add', - }, - { - key: 'devDependencies.typescript-require', - value: '^0.3.0', - operation: 'add', - }, - { - key: 'devDependencies.vue-loader', - value: '^15.9.8', - operation: 'add', - }, - { - key: 'devDependencies.webpack-bundle-analyzer', - value: '^3.7.0', - operation: 'add', - }, - { - key: 'devDependencies.webpack-cli', - value: '^4.9.2', - operation: 'add', - }, - { - key: 'devDependencies.webpack-dev-server', - value: '^3.11.3', - operation: 'add', - }, - { - key: 'devDependencies.webpackbar', - value: '^5.0.2', - operation: 'add', - }, - { - key: 'devDependencies.ws', - value: '^7.5.6', - operation: 'add', - }, - { - key: 'devDependencies.node-sass', - value: '^4.9.0', - operation: 'remove', - }, - { - key: 'devDependencies.webpack-bundle-analyzer', - value: '^3.7.0', - operation: 'remove', - }, - - { - key: 'scripts.lint', - value: 'tslint -p .', - operation: 'add', - }, - { - key: 'scripts.lint:fix', - value: 'tslint --fix -p .', - operation: 'add', - }, - { - key: 'devDependencies.typescript', - value: '^3.9.10', - operation: 'add', - }, - { - key: 'devDependencies.tslint', - value: '^6.1.3', - operation: 'add', - }], - }], - }, - delete: { - resources: [{ - name: 'vue.config.js', - destPath: '', - type: 'file', - }, - { - name: '.package-lock.json', - destPath: '', - type: 'file', - }], - }, -}; diff --git a/packages/frontier-plugins/plugin-vue-v2/src/modules/file.ts b/packages/frontier-plugins/plugin-vue-v2/src/modules/file.ts deleted file mode 100644 index c8e36e85..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/modules/file.ts +++ /dev/null @@ -1,21 +0,0 @@ -export interface FilesContent { - matchRegex: string; - replace: string; -} - -export interface Files { - source: string; - target: string; - content?: FilesContent[]; -} - -export type InjectOptions = { - index?: number | ((lines: string[], filePath: string) => number); - encoding?: string; -} - -export type ModuleConfig = { - name: string; - moduleTemplatePath: string; - manifest: any; -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/modules/index.ts b/packages/frontier-plugins/plugin-vue-v2/src/modules/index.ts deleted file mode 100644 index f3c2b03c..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/modules/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './file'; -export * from './lookup'; -export * from './changelog'; diff --git a/packages/frontier-plugins/plugin-vue-v2/src/modules/lookup.ts b/packages/frontier-plugins/plugin-vue-v2/src/modules/lookup.ts deleted file mode 100644 index f6879caa..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/modules/lookup.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface Lookup { - [name: string]: any; -} diff --git a/packages/frontier-plugins/plugin-vue-v2/src/modules/manifest.ts b/packages/frontier-plugins/plugin-vue-v2/src/modules/manifest.ts deleted file mode 100644 index 61f74492..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/src/modules/manifest.ts +++ /dev/null @@ -1,10 +0,0 @@ -export interface RouteMeta { - layout: string -} - -export interface Route { - path: string; - name: string; - meta?: RouteMeta; - component: string; -} diff --git a/packages/frontier-plugins/plugin-vue-v2/tsconfig.json b/packages/frontier-plugins/plugin-vue-v2/tsconfig.json deleted file mode 100644 index 511a9011..00000000 --- a/packages/frontier-plugins/plugin-vue-v2/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "importHelpers": true, - "isolatedModules": true, - "module": "commonjs", - "outDir": "lib", - "rootDir": "src", - "strict": true, - "target": "es2017", - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - "composite": true, - }, - "include": [ - "src/**/*" - ] -} diff --git a/packages/frontier-plugins/plugin-vue/.eslintrc b/packages/frontier-plugins/plugin-vue/.eslintrc deleted file mode 100644 index 18f30c19..00000000 --- a/packages/frontier-plugins/plugin-vue/.eslintrc +++ /dev/null @@ -1,98 +0,0 @@ -{ - "extends": [ - "oclif", - "oclif-typescript" - ], - "env": { - "es6": true, - "browser": true, - "node": true, - "mocha": true - }, - "parser": "babel-eslint", - "parserOptions": { - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "rules": { - "no-console": 1, - "no-extra-semi": 2, - "semi": [ - 2, - "always" - ], - "semi-spacing": 2, - "quotes": [ - 2, - "single" - ], - "indent": [ - 2, - 2, - { - "SwitchCase": 1 - } - ], - "interface-name": 0, - "object-literal-sort-keys": 0, - "no-consecutive-blank-lines": 0, - "no-any": 0, - "no-var": 0, - "no-cond-assign": 2, - "no-debugger": 2, - "no-duplicate-imports": 2, - "no-empty": 2, - "no-eval": 2, - "no-invalid-this": 2, - "no-irregular-whitespace": 2, - "no-return-await": 2, - "no-trailing-spaces": 2, - "no-empty-character-class": 2, - "no-unsafe-finally": 2, - "no-unused-vars": 2, - "no-unused-expressions": 2, - "no-undef": 2, - "array-type": 0, - "require-await": 2, - "prefer-arrow-callback": 2, - "arrow-spacing": 2, - "spaced-comment": 2, - "curly": 2, - "complexity": 2, - "max-classes-per-file": [ - 2, - 1 - ], - "max-len": [ - 2, - 1000 - ], - "max-lines": [ - 2, - 700 - ], - "new-parens": 2, - "newline-before-return": 2, - "newline-per-chained-call": 2, - "only-arrow-functions": 0, - "prefer-const": 2, - "prefer-object-spread": 2, - "prefer-template": 2, - "radix": 2, - "no-else-return": 2, - "object-curly-spacing": [ - "error", - "always" - ], - "space-before-function-paren": 2, - "space-within-parens": 0, - "no-eq-null": 2, - "comma-dangle": 2, - "eqeqeq": 2, - "valid-typeof": 2, - "block-scoped-var": 2, - "interface-over-type-literal": 0 - } -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue/README.md b/packages/frontier-plugins/plugin-vue/README.md deleted file mode 100644 index e2f32aab..00000000 --- a/packages/frontier-plugins/plugin-vue/README.md +++ /dev/null @@ -1,298 +0,0 @@ -
-
- - rd logo - -
-
- -# RDVue [![npm version](https://badge.fury.io/js/rdvue.svg)](https://badge.fury.io/js/rdvue) - -[RDVue](https://github.com/realdecoy/rdvue) is an opinionated CLI for generating -Vue.js projects. We do so by adopting a development style guide which enforces -strong typing with TypeScript, standardized Component, Layout and Page models, -and a data-layer design promoting unified consumption through Stores and -Services. - -[![Version](https://img.shields.io/npm/v/rdvue.svg)](https://www.npmjs.com/package/@rdfrontier/plugin-vue) -[![Downloads/week](https://img.shields.io/npm/dw/rdvue.svg)](https://www.npmjs.com/package/@rdfrontier/plugin-vue) - -      - - - -## Table of Contents - -- [About](#about) -- [Usage](#usage) -- [Commands](#commands) -- [Dev Instructions](#Development) -- [Testing](#Testing) - - -      - -## About - -The RDVue CLI is the product of RealDecoy's Frontend Practice group. -Contributions are welcome! You can help us by reporting or fixing bugs and -giving us feedback on new/existing features. - -      - -## Usage - - -Installing RDVue can be done with the command: -```bash -$ frontier plugins:install @rdfrontier/plugin-vue -``` - -The help menu can be accessed with the command: - -```bash -frontier vue --help -``` - -The format for running an RDVue command is generally: - -```bash -frontier vue:COMMAND -``` - - -      - - -## Commands - - - -- [`frontier vue:create-project [NAME]`](#frontier-vue-create-project-name) -- [`frontier vue:add:component [NAME]`](#frontier-vue-add-component-name) -- [`frontier vue:add:page [NAME]`](#frontier-vue-add-page-name) -- [`frontier vue:add:service [NAME]`](#frontier-vue-add-service-name) -- [`frontier vue:add:store [NAME]`](#frontier-vue-add-store-name) -- [`frontier vue:plugin [NAME]`](#frontier-vue-plugin-name) -- [`frontier vue:plugin:buefy `](#frontier-vue-plugin-buefy-name) -- [`frontier vue:plugin:localization `](#frontier-vue-plugin-localization-name) -- [`frontier vue:plugin:vuetify `](#frontier-vue-plugin-vuetify-name) -- [`frontier vue:upgrade [NAME]`](#frontier-vue-upgrade-name) - - -### `frontier vue:create-project [NAME] [PRESET]` - -Create a RDVue project - -``` -USAGE - $ frontier vue:create-project [NAME] [PRESET] - -ARGUMENTS - NAME Name of project to be created - PERSET Name of plugin preset - -OPTIONS - -h, --help show CLI help - -``` - -_See code: -[src/commands/create-project/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/create-project/index.ts)_ - -### `frontier vue:add:component [NAME]` - -Add a new component module to project - -``` -USAGE - $ frontier vue:add:component [NAME] - -ARGUMENTS - NAME Name of new compnent - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add/component/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/add/component.ts)_ - - -### `frontier vue:add:page [NAME]` - -Add a new page module to project - -``` -USAGE - $ frontier vue:add:page [NAME] - -ARGUMENTS - NAME Name of the new page - -OPTIONS - -h, --help show CLI help - -EXAMPLE - $ frontier vue:add:page - Running this add command! -``` - -_See code: -[src/commands/add/page/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/add/page.ts)_ - - -### `frontier vue:add:service [NAME]` - -Add a new service module to project - -``` -USAGE - $ frontier vue:add:service [NAME] - -ARGUMENTS - NAME Name of new service - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/add:service/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/add/service.ts)_ - -### `frontier vue:add:store [NAME]` - -Add a new store module to project - -``` -USAGE - $ frontier vue:add:store [NAME] - -ARGUMENTS - NAME Name of new store module - -OPTIONS - -h, --help show CLI help - -EXAMPLE - $ frontier vue:add:store - Running this add command! -``` - -_See code: -[src/commands/add/store/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/add/store.ts)_ - -### `frontier vue:plugin [NAME]` - -Add a new plugin module to project - -``` -USAGE - $ frontier vue:plugin [NAME] - -ARGUMENTS - BUEFY Lightweigth UI components for Vue.js - LOCALIZATION Adds i18bn localization - VUETIFY lightweigth UI components for Vuejs - -OPTIONS - -h, --help show CLI help - -``` - - -### `frontier vue:plugin:buefy` - -Add lightweigth UI components for Vue.js - -``` -USAGE - $ frontier vue:plugin:buefy - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/plugin/buefy/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/buefy.ts)_ - -### `frontier vue:plugin:localization` - -Add i18bn localization to vue project - -``` -USAGE - $ frontier vue:plugin:localization - - -OPTIONS - -h, --help show CLI help - -``` - -_See code: -[src/commands/plugin/localization/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/localization.ts)_ - -### `frontier vue:plugin:vuetify` - -Add lightweigth UI components for Vue.js - -``` -USAGE - $ frontier vue:plugin:vuetify - - -OPTIONS - -h, --help show CLI help -``` - -_See code: -[src/commands/plugin/vuetify/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/vuetify.ts)_ - - -## `frontier vue:upgrade [NAME]` - -Specify the rdvue template version for a project - -``` -USAGE - $ frontier vue:upgrade [NAME] - -ARGUMENTS - NAME RDVue version to specify to - -OPTIONS - -h, --help show CLI help - -``` - -_See code: -[src/commands/upgrade/index.ts](https://github.com/realdecoy/frontier/blob/main/packages/frontier-plugins/plugin-vue/src/commands/vue/upgrade/index.ts)_ - - - -      - - -## Development - -```bash - -``` - -      - -## Testing - -### Run Unit Test Suite - -```bash -npm run test -``` - -### Creating Tests - -- create a `.test.ts` file in the `/test` folder -- using `chai` assertion syntax, describe your unit test cases -- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see - more details diff --git a/packages/frontier-plugins/plugin-vue/bin/dev b/packages/frontier-plugins/plugin-vue/bin/dev deleted file mode 100755 index bbc3f51d..00000000 --- a/packages/frontier-plugins/plugin-vue/bin/dev +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env node - -const oclif = require('@oclif/core') - -const path = require('path') -const project = path.join(__dirname, '..', 'tsconfig.json') - -// In dev mode -> use ts-node and dev plugins -process.env.NODE_ENV = 'development' - -require('ts-node').register({project}) - -// In dev mode, always show stack traces -oclif.settings.debug = true; - -// Start the CLI -oclif.run().then(oclif.flush).catch(oclif.Errors.handle) diff --git a/packages/frontier-plugins/plugin-vue/bin/run b/packages/frontier-plugins/plugin-vue/bin/run deleted file mode 100755 index 30b14e17..00000000 --- a/packages/frontier-plugins/plugin-vue/bin/run +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env node - -require('@oclif/command').run() -.then(require('@oclif/command/flush')) -.catch(require('@oclif/errors/handle')) diff --git a/packages/frontier-plugins/plugin-vue/bin/run.cmd b/packages/frontier-plugins/plugin-vue/bin/run.cmd deleted file mode 100644 index 968fc307..00000000 --- a/packages/frontier-plugins/plugin-vue/bin/run.cmd +++ /dev/null @@ -1,3 +0,0 @@ -@echo off - -node "%~dp0\run" %* diff --git a/packages/frontier-plugins/plugin-vue/package.json b/packages/frontier-plugins/plugin-vue/package.json deleted file mode 100644 index 26a615ab..00000000 --- a/packages/frontier-plugins/plugin-vue/package.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "name": "@rdfrontier/plugin-vue", - "version": "1.1.1-beta.7", - "author": "Realdecoy", - "bin": { - "rdvue": "./bin/run" - }, - "bugs": "https://github.com/realdecoy/frontier/issues", - "dependencies": { - "@oclif/command": "^1.8.0", - "@oclif/config": "^1.17.0", - "@oclif/plugin-help": "^3.2.2", - "@rdfrontier/stdlib": "^0.0.2", - "@rdfrontier/plugin-shared": "^0.0.8", - "bluebird": "^3.7.2", - "chalk": "^4.1.0", - "cli-ux": "^5.5.1", - "git-user-name": "^2.0.0", - "inquirer": "^8.1.0", - "mkdirp": "^1.0.4", - "ncp": "^2.0.0", - "path": "^0.12.7", - "replace-in-file": "^6.2.0", - "shelljs": "^0.8.5", - "tslib": "^1.14.1", - "util": "^0.12.4" - }, - "devDependencies": { - "@oclif/dev-cli": "^1.26.0", - "@oclif/test": "^1.2.8", - "@rdfrontier/lib-builder": "^1.0.0", - "@types/bluebird": "^3.5.33", - "@types/chai": "^4.2.15", - "@types/inquirer": "^7.3.1", - "@types/mkdirp": "^1.0.1", - "@types/node": "^10.17.60", - "@types/shelljs": "^0.8.8", - "@types/sinon": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "babel-eslint": "^10.1.0", - "chai": "^4.3.4", - "eslint": "^7.27.0", - "eslint-config-oclif": "^3.1.0", - "eslint-config-oclif-typescript": "^0.1.0", - "globby": "^10.0.2", - "mocha": "^10.0.0", - "nyc": "^14.1.1", - "rimraf": "^3.0.2", - "sinon": "^11.1.0", - "ts-node": "^8.10.2", - "typescript": "^3.9.9" - }, - "engines": { - "node": ">=8.0.0" - }, - "files": [ - "/bin", - "/dist", - "/npm-shrinkwrap.json", - "/oclif.manifest.json" - ], - "homepage": "https://www.realdecoy.com/", - "keywords": [ - "oclif" - ], - "license": "ISC", - "main": "dist/index.js", - "oclif": { - "commands": "./dist/commands", - "helpClass": "./dist/help", - "bin": "rdvue" - }, - "config": { - "commitizen": { - "path": "cz-conventional-changelog" - } - }, - "repository": { - "type": "git", - "url": "git+https://github.com/realdecoy/frontier.git" - }, - "scripts": { - "build": "build-package --tscOnly", - "build:watch": "build-package --tscOnly --watch", - "clean": "rimraf dist esnext module types lib", - "rebuild": "run-s clean build && oclif-dev manifest", - "test": "jest --passWithNoTests", - "test:ci": "jest --ci --coverage", - "test:coverage": "run-s test:ci test:coverage:open", - "test:coverage:open": "open ./test-results/index.html", - "test:watch": "jest --watch", - "lint": "run-s lint:es lint:md", - "lint:es": "eslint --ignore-path ../../../.eslintignore \"**/*\"", - "lint:es:ci": "yarn lint:es --format", - "lint:es:fix": "yarn lint:es --fix", - "lint:md": "yarn prettier \"**/*.md\" --check", - "lint:md:fix": "yarn prettier \"**/*.md\" --write", - "lint:ts:fix": "yarn prettier \"**/*.ts\" --write", - "audit": "npm audit --production", - "postpack": "rimraf oclif.manifest.json", - "posttest": "npm run lint", - "prepack": "npm run build", - "version": "oclif-dev readme && git add README.md", - "typecheck": "tsc --noEmit" - }, - "types": "types/index.d.ts" -} diff --git a/packages/frontier-plugins/plugin-vue/setupTests.ts b/packages/frontier-plugins/plugin-vue/setupTests.ts deleted file mode 100644 index ed220222..00000000 --- a/packages/frontier-plugins/plugin-vue/setupTests.ts +++ /dev/null @@ -1,7 +0,0 @@ -import 'core-js/stable'; -import 'regenerator-runtime/runtime'; -import type { GlobalWithFetchMock } from 'jest-fetch-mock'; - -const customGlobal: GlobalWithFetchMock = global as unknown as GlobalWithFetchMock; -customGlobal.fetch = require('jest-fetch-mock'); -customGlobal.fetchMock = customGlobal.fetch; diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/add/component.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/add/component.ts deleted file mode 100644 index 31ef45f9..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/add/component.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; -import { toKebabCase } from '@rdfrontier/stdlib'; -import { checkProjectValidity, parseComponentName } from '../../../utils/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../utils/constants'; -import { addElementFunction } from '../../../functions/addElement'; -import { invalidProject } from '@rdfrontier/plugin-shared' -import { catchError } from '@rdfrontier/plugin-shared'; - -const TEMPLATE_FOLDERS = ['component']; - -/** - * Class representing a component. - * @extends Command - */ -export default class Component extends Command { - static description = 'add a new Component module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new component' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - return catchError(error, CLI_STATE); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an rdvue project - if (isValidProject === false) { - invalidProject(CLI_COMMANDS.AddComponent, "rdvue"); - } - - const { args } = this.parse(Component); - // retrieve component name - const componentName = await parseComponentName(args); - - // parse config files required for scaffolding this module - addElementFunction(TEMPLATE_FOLDERS, projectRoot, componentName) - this.log(`${CLI_STATE.Success} component added: ${toKebabCase(componentName)}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Component)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/add/page.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/add/page.ts deleted file mode 100644 index 4d9ed0dd..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/add/page.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; -import { toKebabCase } from '@rdfrontier/stdlib'; -import { checkProjectValidity, parsePageName } from '../../../utils/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../utils/constants'; -import { addElementFunction } from '../../../functions/addElement/index'; -import { invalidProject } from '@rdfrontier/plugin-shared'; -import { catchError } from '@rdfrontier/plugin-shared'; - -const TEMPLATE_FOLDERS = ['page']; - -/** - * Class representing a page. - * @extends Command - */ -export default class Page extends Command { - static description = 'add a new Page module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new page' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - return catchError(error, CLI_STATE); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an rdvue project - if (isValidProject === false) { - invalidProject(CLI_COMMANDS.AddPage, "rdvue"); - } - - const { args } = this.parse(Page); - - // retrieve page name - const pageName = await parsePageName(args); - - // parse config files required for scaffolding this module - addElementFunction(TEMPLATE_FOLDERS, projectRoot, pageName) - - this.log(`${CLI_STATE.Success} page added: ${toKebabCase(pageName)}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Page)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/add/service.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/add/service.ts deleted file mode 100644 index e7331424..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/add/service.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; -import { toKebabCase } from '@rdfrontier/stdlib'; -import { checkProjectValidity, parseServiceName } from '../../../utils/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../utils/constants'; -import { catchError } from '@rdfrontier/plugin-shared';; -import { invalidProject } from '@rdfrontier/plugin-shared'; -import { addElementFunction } from '../../../functions/addElement'; - -const TEMPLATE_FOLDERS = ['service']; - -/** - * Class representing a service. - * @extends Command - */ -export default class Service extends Command { - static description = 'add a new Service module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new service' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - return catchError(error, CLI_STATE); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an rdvue project - if (isValidProject === false) { - invalidProject(CLI_COMMANDS.AddService, "rdvue"); - } - - const { args } = this.parse(Service); - - // retrieve service name - const serviceName = await parseServiceName(args); - // parse config files required for scaffolding this module - addElementFunction(TEMPLATE_FOLDERS, projectRoot, serviceName) - - this.log(`${CLI_STATE.Success} service added: ${toKebabCase(serviceName)}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Service)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/add/store.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/add/store.ts deleted file mode 100644 index ff0fddee..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/add/store.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; -import { toKebabCase } from '@rdfrontier/stdlib'; -import { checkProjectValidity, parseStoreModuleName } from '../../../utils/utilities'; -import { CLI_COMMANDS, CLI_STATE, DOCUMENTATION_LINKS } from '../../../utils/constants'; -import { addElementFunction } from '../../../functions/addElement'; -import { invalidProject } from '@rdfrontier/plugin-shared'; -import { catchError } from '@rdfrontier/plugin-shared';; - -const TEMPLATE_FOLDERS = ['store']; - -/** - * Class representing a store module. - * @extends Command - */ -export default class StoreModule extends Command { - static description = 'add a new Store module.' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'name of new store module' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - return catchError(error, CLI_STATE); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - - // block command unless being run within an rdvue project - if (isValidProject === false) { - invalidProject(CLI_COMMANDS.AddStore, "rdvue"); - } - - const { args } = this.parse(StoreModule); - - // retrieve storeModule name - const storeModuleName = await parseStoreModuleName(args); - - // parse config files required for scaffolding this module - addElementFunction(TEMPLATE_FOLDERS, projectRoot, storeModuleName) - - this.log(`${CLI_STATE.Success} store added: ${toKebabCase(storeModuleName)}`); - this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOCUMENTATION_LINKS.Store)}\n`); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/create-project/index.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/create-project/index.ts deleted file mode 100644 index 333fb5bf..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/create-project/index.ts +++ /dev/null @@ -1,153 +0,0 @@ -import shell from 'shelljs'; -import chalk from 'chalk'; -import { Command, flags } from '@oclif/command'; -import Buefy from '../plugin/buefy'; -import Localization from '../plugin/localization'; -import Vuetify from '../plugin/vuetify'; -import { isJsonString, log, toKebabCase } from '@rdfrontier/stdlib'; -import { parseProjectName, checkProjectValidity, parseProjectPresets } from '../../../utils/utilities'; -import { replaceInFiles, checkIfFolderExists } from '../../../utils/files'; -import { - TEMPLATE_REPO, - DESIGN_TEMPLATE_REPO, - DESIGN_TEMPLATE_FOLDER, - TEMPLATE_TAG, - TEMPLATE_PROJECT_NAME_REGEX, - TEMPLATE_REPLACEMENT_FILES, - CLI_STATE, - PLUGIN_PRESET_LIST, -} from '../../../utils/constants'; -// import { catchError } from '@rdfrontier/plugin-shared'; -import { existingProject, fileNotChanged } from '@rdfrontier/plugin-shared'; - -const CUSTOM_ERROR_CODES = [ - 'existing-project', - 'existing-folder', - 'file-not-changed', -]; - -/** - * Class representing a create project object. - * @extends Command - */ -export default class CreateProject extends Command { - static description = 'create a new rdvue project' - - static flags = { - help: flags.help({ char: 'h' }), - skipPresets: flags.boolean({ hidden: true }), - withBuefy: flags.boolean({ hidden: true }), - withLocalization: flags.boolean({ hidden: true }), - withVuetify: flags.boolean({ hidden: true }), - withDesignSystem: flags.boolean({ hidden: true }), - } - - static args = [ - { name: 'name', description: 'name of created project' }, - { name: 'preset', description: 'name of plugin preset' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - const errorMessage = error.message; - const isValidJSON = isJsonString(errorMessage); - const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; - const customErrorCode = parsedError.code; - const customErrorMessage = parsedError.message; - const hasCustomErrorCode = customErrorCode !== undefined; - - if (hasCustomErrorCode === false) { - // throw cli errors to be handled globally - throw errorMessage; - } - - // handle errors thrown with known error codes - if (CUSTOM_ERROR_CODES.includes(customErrorCode)) { - log(`${CLI_STATE.Error} ${customErrorMessage}`); - } else { - throw new Error(customErrorMessage); - } - - return Promise.resolve(); - } - - async run(): Promise { - const { args, flags } = this.parse(CreateProject); - const template: string = TEMPLATE_REPO; - const designTemplate: string = DESIGN_TEMPLATE_REPO; - const designTemplateFolder: string = DESIGN_TEMPLATE_FOLDER; - const tag: string = TEMPLATE_TAG; - const replaceRegex = TEMPLATE_PROJECT_NAME_REGEX; - const skipPresetsStep = flags.skipPresets === true; - const withBuefy = flags.withBuefy === true; - const withVuetify = flags.withVuetify === true; - const withLocalization = flags.withLocalization === true; - const withDesignSystem = flags.withDesignSystem === true; - - let filesToReplace = TEMPLATE_REPLACEMENT_FILES; - let projectName: string; - let presetName: string = ''; - const { isValid: isValidProject } = checkProjectValidity(); - // block command if being run within an rdvue project - if (isValidProject) { - existingProject('rdvue'); - } - - // retrieve project name - projectName = await parseProjectName(args); - // retrieve project preset - // on skip preset flag set presetName to skip presets - presetName = skipPresetsStep ? PLUGIN_PRESET_LIST[2] : await parseProjectPresets(args); - // convert project name to kebab case - projectName = toKebabCase(projectName); - // verify that project folder doesnt already exist - checkIfFolderExists(projectName); - - // update files to be replaced with project name reference - filesToReplace = filesToReplace.map(p => `${projectName}/${p}`); - - this.log(`${CLI_STATE.Info} creating project ${chalk.whiteBright(projectName)}`); - - // retrieve project files from template source - await shell.exec(`git clone ${template} --depth 1 --branch ${tag} ${projectName}`, { silent: true }); - // remove git folder reference to base project - await shell.exec(`npx rimraf ${projectName}/.git`); - // find and replace project name references - const success = await replaceInFiles(filesToReplace, replaceRegex, `${projectName}`); - - const presetIndex = PLUGIN_PRESET_LIST.indexOf(presetName); - const shouldInstallBuefy = presetIndex === 0 || withBuefy === true; - const shouldInstallVuetify = presetIndex === 1 || withVuetify === true; - const shouldInstallLocalization = presetIndex === 0 || presetIndex === 1 || withLocalization === true; - const shouldInstallDesignSystem = withDesignSystem === true; - - if (success === false) { - fileNotChanged(); - } else { - if (shouldInstallBuefy === true) { // buefy - await Buefy.run(['--forceProject', projectName, '--skipInstall']); - } - if (shouldInstallVuetify) { // Vuetify - await Vuetify.run(['--forceProject', projectName, '--skipInstall']); - } - if (shouldInstallLocalization === true) { // localization - await Localization.run(['--forceProject', projectName, '--skipInstall']); - } - } - - if (shouldInstallDesignSystem === true) { - // retrieve project files from template source - await shell.exec(`git clone ${designTemplate} --depth 1 --branch ${tag} ${projectName}/${designTemplateFolder}`, { silent: true }); - // remove git folder reference to base project - await shell.exec(`npx rimraf ${projectName}/${designTemplateFolder}/.git`); - } - - // initialize git in the created project - await shell.exec(`cd ${projectName} && git init && git add . && git commit -m "Setup: first commit" && git branch -M main`, { silent: true }); - - this.log(`${CLI_STATE.Success} ${chalk.whiteBright(projectName)} is ready!`); - - // Output final instructions to user - this.log(`\nNext Steps:\n${chalk.magenta('-')} cd ${chalk.whiteBright(projectName)}\n${chalk.magenta('-')} npm install\n${chalk.magenta('-')} npm run serve`); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/buefy.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/buefy.ts deleted file mode 100644 index dd54bbfe..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/buefy.ts +++ /dev/null @@ -1,125 +0,0 @@ -import shell from 'shelljs'; -import cli from 'cli-ux'; -const util = require('util'); -const exec = util.promisify(shell.exec); -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import { Files } from 'modules'; -import { copyFiles, inject, parseModuleConfig, updateDynamicImportsAndExports } from '../../../utils/files'; -import { checkProjectValidity } from '../../../utils/utilities'; -import { CLI_COMMANDS, CLI_STATE } from '../../../utils/constants'; -import { injectImportsIntoMain } from '../../../utils/plugins'; -import { Route } from 'modules/manifest'; -import { catchError } from '@rdfrontier/plugin-shared';; -import { invalidProject } from '@rdfrontier/plugin-shared'; - -const TEMPLATE_FOLDERS = ['buefy']; -const TEMPLATE_MIN_VERSION_SUPPORTED = 2; - -/** - * Class representing buefy plugin. - * @extends Command - */ -export default class Buefy extends Command { - static description = 'lightweigth UI components for Vuejs' - - static flags = { - help: flags.help({ char: 'h' }), - forceProject: flags.string({ hidden: true }), - skipInstall: flags.boolean({ hidden: true }), - } - - static args = [] - - // override Command class error handler - catch(error: Error): Promise { - return catchError(error, CLI_STATE); - } - - async run(): Promise { - const { flags } = this.parse(Buefy); - const projectName = flags.forceProject; - const skipInstallStep = flags.skipInstall === true; - const hasProjectName = projectName !== undefined; - const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; - - const projectValidity = checkProjectValidity(); - const { isValid: isValidProject } = projectValidity; - let { projectRoot } = projectValidity; - - // block command unless being run within an rdvue project - if (isValidProject === false && !hasProjectName) { - invalidProject(CLI_COMMANDS.PluginBuefy, "rdvue"); - } else if (hasProjectName) { - const dir = path.join(process.cwd(), projectName ?? ''); - projectRoot = dir.trim(); - } - - const folderList = TEMPLATE_FOLDERS; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - const config = configs[0]; - const files: Array = config.manifest.files; - const dependencies = config.manifest.packages.dependencies.toString() - .split(',') - .join(' '); - - if (skipInstallStep === false) { - try { - // install dependencies - cli.action.start(`${CLI_STATE.Info} installing buefy dependencies`); - await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); - cli.action.stop(); - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'dependency-install-error', - message: `${this.id?.split(':')[1]} buefy dependencies failed to install`, - }), - ); - } - } else { - cli.action.start(`${CLI_STATE.Info} adding buefy dependencies`); - await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); - cli.action.stop(); - } - - const sourceDirectory: string = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - const installDirectory: string = path.join(projectRoot, 'src', config.manifest.installDirectory); - const routePath: string = path.join(projectRoot, 'src', 'config', 'router.ts'); - - // copy and update files for plugin being added - await copyFiles(sourceDirectory, installDirectory, files); - const { routes }: { routes: Array } = config.manifest; - if (routes && routes.length > 0) { - const formattedContent: string = JSON.stringify(routes, null, 2) - .replace(/(? { - const index = lines.findIndex(line => line.trim().startsWith('routes: [')); - if (index < 0) { - throw new Error(`Could not find routes in ${file}`); - } - - return index + 1; - }, - }); - } - updateDynamicImportsAndExports(projectRoot, 'theme', config.manifest.projectTheme, '_all.scss'); - updateDynamicImportsAndExports(projectRoot, 'modules/core', config.manifest.moduleImports, 'index.ts'); - if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { - const { imports: mainImports } = config.manifest.main; - injectImportsIntoMain(projectRoot, mainImports); - } - - if (skipInstallStep === false) { - this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); - } - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/index.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/index.ts deleted file mode 100644 index 039b91a4..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/index.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Command, flags } from '@oclif/command'; -import chalk from 'chalk'; - -export default class Plugin extends Command { - static description = 'add a new module' - - static flags = { - help: flags.help({ name: 'help', char: 'h', hidden: false }), - } - - static args = [ - { name: 'buefy', description: 'lightweigth UI components for Vue.js', hidden: false }, - { name: 'localization', description: 'library for localizing content', hidden: false }, - { name: 'vuetify', description: 'material design framework for Vue.js', hidden: false }, - { name: 'storybook', description: '[coming soon] UI component explorer for frontend devs', hidden: true }, - ] - - showHelp(): void { - const commandId = Plugin.id; - const commandArgs = Plugin.args; - const commandFlags = Object.values(Plugin.flags); - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15; - const numOfSpaces = maxSpaces - arg.name.length; - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}`; - }) - .toString() - .split(',') - .join(''); - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8; - const numOfSpaces = maxSpaces - flag.name.length; - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}`; - }) - .toString() - .split(',') - .join(''); - - this.log(` - Usage: - npx ${chalk.blue('rdvue')} ${commandId}: - - Libraries: \t - Utilities to extend project functionality${argsList} - - Options:${optionList} - `); - } - - run(): Promise { - this.showHelp(); - - return Promise.resolve(); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/localization.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/localization.ts deleted file mode 100644 index 3e670a26..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/localization.ts +++ /dev/null @@ -1,122 +0,0 @@ -import shell from 'shelljs'; -import cli from 'cli-ux'; -const util = require('util'); -const exec = util.promisify(shell.exec); -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import { Files } from 'modules'; -import { copyFiles, parseDynamicObjects, parseModuleConfig } from '../../../utils/files'; -import { checkProjectValidity } from '../../../utils/utilities'; -import { CLI_COMMANDS, CLI_STATE, DYNAMIC_OBJECTS } from '../../../utils/constants'; -import { injectImportsIntoMain, injectModulesIntoMain } from '../../../utils/plugins'; -import { invalidProject } from '@rdfrontier/plugin-shared'; -import { catchError } from '@rdfrontier/plugin-shared';; - -const TEMPLATE_FOLDERS = ['localization']; -const TEMPLATE_MIN_VERSION_SUPPORTED = 2; - -/** - * Class representing localization plugin. - * @extends Command - */ -export default class Localization extends Command { - static description = 'adds i18bn localization' - - static flags = { - help: flags.help({ char: 'h' }), - forceProject: flags.string({ hidden: true }), - skipInstall: flags.boolean({ hidden: true }), - } - - static args = [] - - // override Command class error handler - catch(error: Error): Promise { - return catchError(error, CLI_STATE); - } - - async run(): Promise { - const { flags } = this.parse(Localization); - const projectName = flags.forceProject; - const skipInstallStep = flags.skipInstall === true; - const hasProjectName = projectName !== undefined; - const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; - - const validityResponse = checkProjectValidity(); - const { isValid: isValidProject } = validityResponse; - let { projectRoot } = validityResponse; - // block command unless being run within an rdvue project - if (isValidProject === false && !hasProjectName) { - invalidProject(CLI_COMMANDS.PluginLocalization, "rdvue"); - } else if (hasProjectName) { - const dir = path.join(process.cwd(), projectName ?? ''); - projectRoot = dir.trim(); - } - - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string = ''; - let installDirectory: string = ''; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - const config = configs[0]; - const files: Array = config.manifest.files; - const dependencies = config.manifest.packages.dependencies.toString() - .split(',') - .join(' '); - const devDependencies = config.manifest.packages.devDependencies.toString() - .split(',') - .join(' '); - - if (skipInstallStep === false) { - try { - // // install dev dependencies - cli.action.start(`${CLI_STATE.Info} installing localization dev dependencies`); - await exec(`${preInstallCommand} npm install --save-dev ${devDependencies}`, { silent: true }); - cli.action.stop(); - - // // install dependencies - cli.action.start(`${CLI_STATE.Info} installing localization dependencies`); - await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); - cli.action.stop(); - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'dependency-install-error', - message: `${this.id?.split(':')[1]} localization dependencies failed to install`, - }), - ); - } - } else { - cli.action.start(`${CLI_STATE.Info} adding localization dependencies`); - await exec(`cd ${projectName} && npx add-dependencies ${devDependencies} --save-dev`, { silent: true }); - await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); - cli.action.stop(); - } - - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy files for plugin being added - await copyFiles(sourceDirectory, installDirectory, files); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.routes, null, 1), DYNAMIC_OBJECTS.Routes); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.vueOptions, null, 1), DYNAMIC_OBJECTS.Options, true); - - if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { - const { imports: mainImports, modules: mainModules } = config.manifest.main; - injectImportsIntoMain(projectRoot, mainImports); - try { - injectModulesIntoMain(projectRoot, mainModules); - } catch (error) { - this.error(error as any); - } - } else { - // FP-414: backwards compatibility - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.modules, null, 1), DYNAMIC_OBJECTS.Modules, true); - } - - if (skipInstallStep === false) { - this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); - } - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/vuetify.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/vuetify.ts deleted file mode 100644 index 32fe7704..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/plugin/vuetify.ts +++ /dev/null @@ -1,130 +0,0 @@ -import shell from 'shelljs'; -import cli from 'cli-ux'; -const util = require('util'); -const exec = util.promisify(shell.exec); -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { Files } from 'modules'; -import { isJsonString } from '@rdfrontier/stdlib'; -import { copyFiles, parseDynamicObjects, parseModuleConfig } from '../../../utils/files'; -import { checkProjectValidity } from '../../../utils/utilities'; -import { CLI_COMMANDS, CLI_STATE, DYNAMIC_OBJECTS } from '../../../utils/constants'; -import { injectImportsIntoMain, injectModulesIntoMain } from '../../../utils/plugins'; -import { catchError } from '@rdfrontier/plugin-shared';; -import { invalidProject } from '@rdfrontier/plugin-shared'; - -const TEMPLATE_FOLDERS = ['vuetify']; -const TEMPLATE_MIN_VERSION_SUPPORTED = 2; -const CUSTOM_ERROR_CODES = [ - 'project-invalid', - 'missing-template-file', - 'missing-template-folder', - 'dependency-install-error', -]; - -/** - * Class representing vuetify plugin. - * @extends Command - */ -export default class Vuetify extends Command { - static description = 'lightweigth UI components for Vuejs' - - static flags = { - help: flags.help({ char: 'h' }), - forceProject: flags.string({ hidden: true }), - skipInstall: flags.boolean({ hidden: true }), - } - - static args = [] - - // override Command class error handler - catch(error: Error): Promise { - return catchError(error, CLI_STATE); - } - - async run(): Promise { - const { flags } = this.parse(Vuetify); - const projectName = flags.forceProject; - const skipInstallStep = flags.skipInstall === true; - const hasProjectName = projectName !== undefined; - const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; - - const validityResponse = checkProjectValidity(); - const { isValid: isValidProject } = validityResponse; - let { projectRoot } = validityResponse; - // block command unless being run within an rdvue project - if (isValidProject === false && !hasProjectName) { - invalidProject(CLI_COMMANDS.PluginVuetify, "rdvue"); - } else if (hasProjectName) { - const dir = path.join(process.cwd(), projectName ?? ''); - projectRoot = dir.trim(); - } - - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string = ''; - let installDirectory: string = ''; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - const config = configs[0]; - const files: Array = config.manifest.files; - const dependencies = config.manifest.packages.dependencies.toString() - .split(',') - .join(' '); - const devDependencies = config.manifest.packages.devDependencies.toString() - .split(',') - .join(' '); - - if (skipInstallStep === false) { - try { - // // install dev dependencies - cli.action.start(`${CLI_STATE.Info} installing vuetify dev dependencies`); - await exec(`${preInstallCommand} npm install --save-dev ${devDependencies}`, { silent: true }); - cli.action.stop(); - - // // install dependencies - cli.action.start(`${CLI_STATE.Info} installing vuetify dependencies`); - await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); - cli.action.stop(); - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'dependency-install-error', - message: `${this.id?.split(':')[1]} vuetify dependencies failed to install`, - }), - ); - } - } else { - cli.action.start(`${CLI_STATE.Info} adding vuetify dependencies`); - await exec(`cd ${projectName} && npx add-dependencies ${devDependencies} --save-dev`, { silent: true }); - await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); - cli.action.stop(); - } - - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); - - // copy files for plugin being added - await copyFiles(sourceDirectory, installDirectory, files); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.routes, null, 1), DYNAMIC_OBJECTS.Routes); - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.vueOptions, null, 1), DYNAMIC_OBJECTS.Options, true); - - if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { - const { imports: mainImports, modules: mainModules } = config.manifest.main; - injectImportsIntoMain(projectRoot, mainImports); - try { - injectModulesIntoMain(projectRoot, mainModules); - } catch (error) { - this.error(error as any); - } - } else { - // FP-414: backwards compatibility - await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.modules, null, 1), DYNAMIC_OBJECTS.Modules, true); - } - - if (skipInstallStep === false) { - this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); - } - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/commands/vue/upgrade/index.ts b/packages/frontier-plugins/plugin-vue/src/commands/vue/upgrade/index.ts deleted file mode 100644 index 2c692c9c..00000000 --- a/packages/frontier-plugins/plugin-vue/src/commands/vue/upgrade/index.ts +++ /dev/null @@ -1,201 +0,0 @@ -import shell from 'shelljs'; -import { Command, flags } from '@oclif/command'; -import path from 'path'; -import chalk from 'chalk'; -import { isJsonString } from '@rdfrontier/stdlib'; -import { checkProjectValidity, createChangelogReadme } from '../../../utils/utilities'; -import { CLI_COMMANDS, CLI_STATE, TEMPLATE_REPO, TEMPLATE_ROOT, TEMPLATE_TAG, DOCUMENTATION_LINKS, CHANGE_LOG_FOLDER, CHANGE_LOG_FILENAME, CHAR_PERIOD } from '../../../utils/constants'; -import { catchError } from '@rdfrontier/plugin-shared';; -import { invalidProject } from '@rdfrontier/plugin-shared'; -import fs from 'fs'; -import { copyDirectoryRecursive, copyFiles, deleteFile, readFile, updateFile, deleteFolderRecursive } from '../../../utils/files'; -import { DEFAULT_CHANGE_LOG, changeLogFile, ChangelogResource, ChangelogResourcesContent, ChangeLog, ChangelogConfigTypes, handlePrimitives, handleArraysAndObjects } from '../../../modules'; - -const CUSTOM_ERROR_CODES = [ - 'project-invalid', -]; - -export default class Upgrade extends Command { - static description = 'Specify the rdvue template version for a project' - - static flags = { - help: flags.help({ char: 'h' }), - } - - static args = [ - { name: 'name', description: 'rdvue version' }, - ] - - // override Command class error handler - catch(error: Error): Promise { - return catchError(error, CLI_STATE); - } - - async run(): Promise { - const { isValid: isValidProject, projectRoot } = checkProjectValidity(); - // block command unless being run within an rdvue project - if (isValidProject === false) { - invalidProject(CLI_COMMANDS.Upgrade, "rdvue"); - } - - const { args } = this.parse(Upgrade); - const template: string = TEMPLATE_REPO; - - // // retrieve component name - const versionName = args.name ?? TEMPLATE_TAG; - const temporaryProjectFolder = path.join(projectRoot, 'node_modules', '_temp'); - const templateSourcePath = path.join(temporaryProjectFolder, TEMPLATE_ROOT); - const templateDestinationPath = path.join(projectRoot, TEMPLATE_ROOT); - const changelogPath = path.join(projectRoot, CHANGE_LOG_FILENAME); - - // retrieve project files from template source - await shell.exec(`git clone ${template} --depth 1 --branch ${versionName} ${temporaryProjectFolder}`, { silent: true }); - - // copy template files to project local template storage - const result = await copyDirectoryRecursive(templateSourcePath, templateDestinationPath); - - - /** - * @Todo create method to generate changelog dynamically from git diff. - * add changelog to project temp directory and read based on release version number - */ - const rawGeneratedChangelog = readFile(path.join(templateDestinationPath, CHANGE_LOG_FOLDER, versionName)); - const parsedGeneratedChangelog: ChangeLog | null = rawGeneratedChangelog.length > 0 ? JSON.parse(rawGeneratedChangelog) : null; - const changeLogData = parsedGeneratedChangelog ?? DEFAULT_CHANGE_LOG; - - /** - * Steps for Executing changelog - * 1. read package.json file from project root - * 2. compare packages in existing package.json with the updated package.json cloned in above - * 3. remove unused project dependencies and devDependencies - * 4. add missing packages to project dependencies and devDependencies - * 5. update existing packages to appropriate versions - * 6. write package.json file back to project root - * 7. remove unused files ( vue.config.js, .env, .env.example, .package-lock.json ) - * 8. include new project folders and files ( scripts/config, config/.env, config/.env.example, webpack.config.js ) - * 9. update existing project files ( main.ts, tsconfig.json, tailwind.config.js, src/pages/hello-world, readme ) - */ - const resourcesToCreate = changeLogData[ChangelogConfigTypes.CREATE]?.resources; - const resourcesToUpdate = changeLogData[ChangelogConfigTypes.UPDATE]?.resources; - const resourcesToDelete = changeLogData[ChangelogConfigTypes.DELETE]?.resources; - if (resourcesToCreate) { - await this.createProjectFiles(projectRoot, temporaryProjectFolder, resourcesToCreate); - } - if (resourcesToUpdate) { - await this.updateProjectFiles(projectRoot, resourcesToUpdate); - } - if (resourcesToDelete) { - this.deleteProjectFiles(projectRoot, resourcesToDelete); - } - - deleteFolderRecursive(temporaryProjectFolder); - - this.log(`${CLI_STATE.Success} rdvue updated to version: ${chalk.green(versionName)}`); - - createChangelogReadme(versionName, changelogPath, changeLogData); - this.log(`${CLI_STATE.Success} CHANGELOG.md generated at : ${chalk.green(changelogPath)}`); - - this.log(`\n ${chalk.yellow('rdvue')} has been updated to use the esbuild bundler!\n Learn more here: ${chalk.yellow(DOCUMENTATION_LINKS.EsBuild)}\n`); - this.log(changeLogData.recomendations); - } - - async createProjectFiles(projectRoot: string, temporaryProjectFolder: string, resources: ChangelogResource[]): Promise { - for await (const resource of resources) { - try { - const name = resource.name; - const src = resource.srcPath; - const dest = resource.destPath; - const resourceFile = resource.file; - - if (src !== undefined && dest !== undefined && resourceFile) { - const srcDir = path.join(temporaryProjectFolder, src.trim()); - const destDir = path.join(projectRoot, dest.trim()); - - const existingFile = readFile(path.join(destDir, name)); - if (existingFile && !resourceFile.target.includes(ChangelogConfigTypes.UPDATE)) { - const current = resourceFile.target.split(CHAR_PERIOD); - current.splice(current.length - 1, 0, ChangelogConfigTypes.UPDATE); - resourceFile.target = current.join(CHAR_PERIOD); - } - - const files: changeLogFile[] = [resourceFile]; - await copyFiles(srcDir, destDir, files, false); - } else { - throw this.error; - } - } catch (error) { - this.log(`${CLI_STATE.Warning} could not create file at: ${chalk.yellow(error)}`); - } - } - } - - async updateProjectFiles(projectRoot: string, resources: ChangelogResource[]): Promise { - for await (const resource of resources) { - const destPath = resource.destPath; - const destDir = path.join(projectRoot, destPath); - const name = resource.name; - const contents: ChangelogResourcesContent[] | undefined = resource.contents; - - if (contents && contents.length > 0) { - const filePath = path.join(projectRoot, name); - const rawJsonData = readFile(filePath); - const parsedJsonData = this.jsonReader(filePath); - - for (const content of contents) { - const keys: string[] = content.key.split('.'); - this.parseAndUpdateJson(parsedJsonData, keys, content); - } - - const regex = /[^]*/; - await updateFile(destDir, rawJsonData, regex, JSON.stringify(parsedJsonData, null, 2)); - } - } - } - - deleteProjectFiles(projectRoot: string, resources: ChangelogResource[]): void { - for (const resource of resources) { - const destPath = resource.destPath; - const name = resource.name; - - const destDir = path.join(projectRoot, destPath); - const targetFile = path.join(destDir, name); - const rawData = readFile(targetFile); - - if (!rawData) { - return; - } - try { - deleteFile(targetFile); - } catch (error) { - this.log(`${CLI_STATE.Warning} could not find file at: ${chalk.yellow(targetFile)} to delete`); - } - } - } - - parseAndUpdateJson(data: any, keys: string[], content: ChangelogResourcesContent): void { - if (!data || keys.length <= 0) { - return; - } - const currentKey = keys.shift(); - if (currentKey) { - if (keys.length <= 0) { - const operation = content.operation; - const newValue = content.value; - - if (!Array.isArray(newValue) && !(newValue instanceof Object)) { - handlePrimitives(data, currentKey, operation, newValue); - } else { - handleArraysAndObjects(data, currentKey, operation, newValue); - } - - return; - } - this.parseAndUpdateJson(data[currentKey], keys, content); - } - } - - jsonReader(filePath: string): any { - const text = fs.readFileSync(filePath, 'utf-8'); - return JSON.parse(text); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/functions/addElement/addElement.spec.ts b/packages/frontier-plugins/plugin-vue/src/functions/addElement/addElement.spec.ts deleted file mode 100644 index 3da2e2b3..00000000 --- a/packages/frontier-plugins/plugin-vue/src/functions/addElement/addElement.spec.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { addElementFunction } from '.' - - -// This test is not completed so it will not work -describe('Add element to vue project', () => { - it("should pass if template file missing error was thrown", async function () { - const projectRoot = process.cwd(); - const TEMPLATE_FOLDERS: string[] = ['component']; - try { - await addElementFunction(TEMPLATE_FOLDERS, projectRoot, "RandomComponent") - } catch (error) { - let err; - interface errorStructure { - code: string; - message: string; - } - if (error instanceof Error) err = error.message - let invalidProject: errorStructure = JSON.parse(`${err}`); - expect(invalidProject.code).toEqual("missing-template-file") - } - }) - - it("should pass if element was created", async function () { - const projectRoot = __dirname; - const TEMPLATE_FOLDERS: string[] = ['component']; - try { - await addElementFunction(TEMPLATE_FOLDERS, projectRoot, "RandomComponent") - } catch (error) { - let err; - interface errorStructure { - code: string; - message: string; - } - if (error instanceof Error) err = error.message - let invalidProject: errorStructure = JSON.parse(`${err}`); - expect(invalidProject.code).toEqual("missing-template-file") - } - }) - -}) diff --git a/packages/frontier-plugins/plugin-vue/src/functions/addElement/index.ts b/packages/frontier-plugins/plugin-vue/src/functions/addElement/index.ts deleted file mode 100644 index 298ca611..00000000 --- a/packages/frontier-plugins/plugin-vue/src/functions/addElement/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import path from 'path'; -import { Files } from 'modules'; -import { copyFiles, parseModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../utils/files'; -import { toKebabCase, toPascalCase } from '@rdfrontier/stdlib'; - - -/** - * Description: Creates a new element of a specific type in a folder. - * @param {string[]} TEMPLATE_FOLDERS - folders from which template files are located eg: ["component"] - * @param {string} projectRoot - root folder location where element should be created. - * @param {string} elementName - name of element being created eg: "testComponent" - * @returns {Promise} - - */ -export async function addElementFunction(TEMPLATE_FOLDERS: string[], projectRoot: string, elementName: string): Promise { - - const folderList = TEMPLATE_FOLDERS; - let sourceDirectory: string; - let installDirectory: string; - - // parse config files required for scaffolding this module - const configs = parseModuleConfig(folderList, projectRoot); - - // parse kebab and pascal case of componentName - const elementNameKebab = toKebabCase(elementName); - const elementNamePascal = toPascalCase(elementName); - - configs.forEach(async config => { - const files: Array = config.manifest.files; - // replace file names in config with kebab case equivalent - replaceTargetFileNames(files, elementNameKebab); - sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); - installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, elementNameKebab); - // copy and update files for component being added - await copyFiles(sourceDirectory, installDirectory, files); - await readAndUpdateFeatureFiles(installDirectory, files, elementNameKebab, elementNamePascal); - }); - -} \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue/src/functions/installDependencies/index.ts b/packages/frontier-plugins/plugin-vue/src/functions/installDependencies/index.ts deleted file mode 100644 index acd382e0..00000000 --- a/packages/frontier-plugins/plugin-vue/src/functions/installDependencies/index.ts +++ /dev/null @@ -1,45 +0,0 @@ -import shell from 'shelljs'; -import cli from 'cli-ux'; -const util = require('util'); -const exec = util.promisify(shell.exec); -import { CLI_STATE } from '../../utils/constants'; - -/** - * Description: Install plugin dependencies into a project. - * @param {string} pluginName - name of plugin eg:"buefy" - * @param {boolean} skipInstallStep - a boolean value eg: true - * @param {string | undefined} projectName - name of project eg: "rdvue-test-project" - * @param {string} preInstallCommand - command to run pre-installation eg: "cd .. &&" - * @param {any | undefine} devDependencies - dev dependencies to install - * @param {any | undefine} dependencies - dependencies to install - * @param {string | undefined} id - - * @returns {Promise} - - */ -export async function installDepenedencies(pluginName: string, skipInstallStep: boolean, projectName: string | undefined, preInstallCommand: string, devDependencies: any | undefined, dependencies: any, id: string | undefined): Promise { - if (skipInstallStep === false) { - try { - if (devDependencies !== undefined){ - // // install dev dependencies - cli.action.start(`${CLI_STATE.Info} installing ${pluginName} dev dependencies`); - await exec(`${preInstallCommand} npm install --save-dev ${devDependencies}`, { silent: true }); - cli.action.stop(); - } - // // install dependencies - cli.action.start(`${CLI_STATE.Info} installing ${pluginName} dependencies`); - await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); - cli.action.stop(); - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'dependency-install-error', - message: `${id} ${pluginName} dependencies failed to install`, - }), - ); - } - } else { - cli.action.start(`${CLI_STATE.Info} adding ${pluginName} dependencies`); - await exec(`cd ${projectName} && npx add-dependencies ${devDependencies} --save-dev`, { silent: true }); - await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); - cli.action.stop(); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/functions/installDependencies/installDependencies.spec.ts b/packages/frontier-plugins/plugin-vue/src/functions/installDependencies/installDependencies.spec.ts deleted file mode 100644 index 098799da..00000000 --- a/packages/frontier-plugins/plugin-vue/src/functions/installDependencies/installDependencies.spec.ts +++ /dev/null @@ -1,43 +0,0 @@ -// import {expect, test} from '@oclif/test -import { installDepenedencies } from '.' - -const pluginName = "localization" -describe('test the install dependencies function', () => { - beforeEach(() => { - jest.setTimeout(80000) - }); - - it("should pass if an error was thrown", async function () { - console.log = jest.fn() - let spy = jest.spyOn(console, 'log'); - const preInstallCommand = "cd " + __dirname + " &&" - try { - await installDepenedencies(pluginName, false, "testInstall", preInstallCommand, "@rdfrontier/stdlib", "typescript", undefined ) - expect(spy).toContain(`installing ${pluginName} dev dependencies`) - } catch (error) { - let err; - interface errorStructure { - code: string; - message: string; - } - if (error instanceof Error) err = error.message - let instalationError: errorStructure = JSON.parse(`${err}`); - expect(instalationError.code).toBe("dependency-install-error") - } - }) - - it("should pass if installation was skipped", async function () { - try { - let spy = jest.spyOn(process.stdout, 'write'); - await installDepenedencies("localization", true, "testInstall", "cd test", "@rdfrontier/stdlib", "eslint", "testInstall" ) - expect(spy).toContain("npx add-dependencies") - } catch (error) { - let err; - if (error instanceof Error) err = error.message - expect(error).toBe(1) - } - }) -}) - - - diff --git a/packages/frontier-plugins/plugin-vue/src/help.ts b/packages/frontier-plugins/plugin-vue/src/help.ts deleted file mode 100644 index b6ebcb0e..00000000 --- a/packages/frontier-plugins/plugin-vue/src/help.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { Help } from '@oclif/plugin-help'; -import { Command, Topic } from '@oclif/config'; -import chalk from 'chalk'; -import { log } from '@rdfrontier/stdlib'; - -export default class MyHelpClass extends Help { - // acts as a 'router' - // and based on the args it receives - // calls one of showRootHelp, showTopicHelp, - // or showCommandHelp - showRootHelp(): void { - log(` - frontier ${chalk.blue('vue:')} - - Actions: - create-project - Scaffold a new rdvue project - add - Add a feature to a project - plugin - Inject a utility to extend project functionality - upgrade - Specify the rdvue template version for a project - - Options: - --help | -h - Show help information - `, - ); - } - - showTopicHelp(topic: Topic): void { - const name = topic.name; - const depth = name.split(':').length; - - const subTopics = this.sortedTopics.filter((t: any) => t.name.startsWith(`${name}:`) && t.name.split(':').length === depth + 1); - const commands = this.sortedCommands.filter((c: any) => c.id.startsWith(`${name}:`) && c.id.split(':').length === depth + 1); - - log(this.formatTopic(topic)); - - if (subTopics.length > 0) { - log(this.formatTopics(subTopics)); - log(''); - } - - if (commands.length > 0) { - log(this.formatCommands(commands)); - log(''); - } - } - - // display help for a command - showCommandHelp(command: Command): void { - const commandId = command.id; - const commandArgs = command.args; - const commandFlags = Object.values(command.flags); - - // parse argument names - const argNames = commandArgs - .filter(arg => !arg.hidden) - .map(arg => `<${arg.name}>`); - - // parse argument config list - const argsList = commandArgs - .filter(arg => !arg.hidden) - .map(arg => { - const maxSpaces = 15; - const numOfSpaces = maxSpaces - arg.name.length; - - return `\n\t ${arg.name}${new Array(numOfSpaces + 1).join(' ')}- ${arg.description}`; - }); - - // parse option config list - const optionList = commandFlags - .filter(flag => !flag.hidden) - .map(flag => { - const maxSpaces = 8; - const numOfSpaces = maxSpaces - flag.name.length; - - return `\n\t --${flag.name} | -${flag.char}${new Array(numOfSpaces + 1).join(' ')}- ${flag.description}`; - }); - - log(` - Usage: - npx ${chalk.blue('rdvue')} ${commandId} ${argNames} - - Arguments:${argsList} - - Options:${optionList}`); - } -} diff --git a/packages/frontier-plugins/plugin-vue/src/index.ts b/packages/frontier-plugins/plugin-vue/src/index.ts deleted file mode 100644 index 63a56fdf..00000000 --- a/packages/frontier-plugins/plugin-vue/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { run } from '@oclif/command'; diff --git a/packages/frontier-plugins/plugin-vue/src/modules/changelog.ts b/packages/frontier-plugins/plugin-vue/src/modules/changelog.ts deleted file mode 100644 index b7d136d9..00000000 --- a/packages/frontier-plugins/plugin-vue/src/modules/changelog.ts +++ /dev/null @@ -1,648 +0,0 @@ -export enum ChangelogMetaDataTypes { - MIGRATION = 'migration', - UPDATE = 'update', - PATCH = 'patch', -} - -export enum ChangelogConfigTypes { - META_DATA = 'metadata', - CREATE = 'create', - UPDATE = 'update', - DELETE = 'delete', -} - -export enum ChangelogContentOperations { - ADD = 'add', - REMOVE = 'remove', - UPDATE = 'update', -} - -export type ChangelogResourcesContent = { - key: string; - value: any; - operation: string; -} - -export type changeLogFile = { - source: string; - target: string; -} - -export type ChangelogResource = { - name: string; - file?: changeLogFile; - destPath: string; - srcPath?: string; - type: string; - contents?: ChangelogResourcesContent[] -} - -export type ChangelogResources = { - resources: ChangelogResource[]; -} - -export type Metadata = { - version: string; - type?: ChangelogMetaDataTypes; - resources?: ChangelogResources[]; -}; - -export type ChangeLog = { - metadata: Metadata; - recomendations: string; - create?: ChangelogResources; - update?: ChangelogResources; - delete?: ChangelogResources; -} - -export function handleArraysAndObjects(data: any, key: string, operation: string, newValue: any): void { - const currentValue = data[key]; - // eslint-disable-next-line unicorn/prefer-switch - if (operation === ChangelogContentOperations.REMOVE) { - if (Array.isArray(newValue)) { - for (const item of newValue) { - const index = currentValue.indexOf(item); - delete currentValue[index]; - } - } else { - delete data[key]; - } - } else if (operation === ChangelogContentOperations.UPDATE) { - data[key] = Array.isArray(newValue) ? [...currentValue, ...newValue] : { - ...currentValue, - ...newValue, - }; - } else if (operation === ChangelogContentOperations.ADD) { - data[key] = Array.isArray(newValue) ? [...newValue] : { - ...newValue, - }; - } -} - -export function handlePrimitives(data: any, key: string, operation: string, newValue: any): void { - if (operation === ChangelogContentOperations.REMOVE) { - delete data[key]; - } else if (operation === ChangelogContentOperations.ADD) { - data[key] = newValue; - } -} - -export const DEFAULT_CHANGE_LOG: ChangeLog = { - metadata: { - version: 'default', - type: ChangelogMetaDataTypes.MIGRATION, - }, - recomendations: `For this release, we recommend the following: - - Update node to version **16.x** - - Compare the changes to the files with a **.update** file extension and its original file - - Optionally, you can run \`npm run upgrade\` to automatically update your project files - - Delete existing node_modules and run \`npm install\` to update your dependencies to the latest version - - Run \`npm run serve\` to launch webpack-dev-server - - For any issues regarding the recent tailwind upgrade, please refer to the following links: - - https://tailwindcss.com/docs/upgrading-to-v2 - - https://tailwindcss.com/docs/upgrade-guide - `, - create: { - resources: [{ - name: 'index.ts', - file: { - source: 'index.ts', - target: 'index.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: '.env', - file: { - source: '.env', - target: '.env', - }, - destPath: 'config', - srcPath: 'config', - type: 'file', - }, - { - name: '.env.example', - file: { - source: '.env.example', - target: '.env.example', - }, - destPath: 'config', - srcPath: 'config', - type: 'file', - }, - { - name: 'media-loader.ts', - file: { - source: 'media-loader.ts', - target: 'media-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'sass-loader.ts', - file: { - source: 'sass-loader.ts', - target: 'sass-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'ts-loader.ts', - file: { - source: 'ts-loader.ts', - target: 'ts-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'vue-loader.ts', - file: { - source: 'vue-loader.ts', - target: 'vue-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'font-loader.ts', - file: { - source: 'font-loader.ts', - target: 'font-loader.ts', - }, - destPath: 'scripts/config', - srcPath: 'scripts/config', - type: 'file', - }, - { - name: 'webpack.config.ts', - file: { - source: 'webpack.config.ts', - target: 'webpack.config.ts', - }, - destPath: '', - srcPath: '', - type: 'file', - }, - { - name: 'main.ts', - file: { - source: 'main.ts', - target: 'main.update.ts', - }, - srcPath: 'src', - destPath: 'src', - type: 'file', - }, - { - name: 'tsconfig.json', - file: { - source: 'tsconfig.json', - target: 'tsconfig.update.json', - }, - srcPath: '', - destPath: '', - type: 'file', - }, - { - name: 'postcss.config.js', - file: { - source: 'postcss.config.js', - target: 'postcss.config.update.js', - }, - srcPath: '', - destPath: '', - type: 'file', - }, - { - name: 'tailwind.config.js', - file: { - source: 'tailwind.config.js', - target: 'tailwind.config.update.js', - }, - srcPath: '', - destPath: '', - type: 'file', - }, - { - name: 'README', - file: { - source: 'README.md', - target: 'README.update.md', - }, - srcPath: '', - destPath: '', - type: 'file', - }], - }, - update: { - resources: [{ - name: 'package.json', - destPath: 'package.json', - type: 'file', - contents: [{ - key: 'scripts.audit', - value: 'npm audit --prod', - operation: 'add', - }, - { - key: 'scripts.serve', - value: 'vue-cli-service serve', - operation: 'remove', - }, - { - key: 'scripts.serve-static', - value: 'cd dist && ws --spa index.html -z', - operation: 'remove', - }, - { - key: 'scripts.build', - value: 'vue-cli-service build', - operation: 'remove', - }, - { - key: 'scripts.launch-ds', - value: 'cd node_modules/design-system && npm install && npm run serve:rdvue -- --port', - operation: 'add', - }, - { - key: 'scripts.preinstall', - value: 'npx rdvue@latest upgrade', - operation: 'add', - }, - { - key: 'scripts.serve', - value: 'cross-env NODE_ENV=development webpack serve', - operation: 'add', - }, - { - key: 'scripts.build', - value: 'cross-env NODE_ENV=development webpack build', - operation: 'add', - }, - { - key: 'scripts.serve:build', - value: 'cd dist && ws --https --spa index.html -z -p 9000', - operation: 'add', - }, - { - key: 'scripts.serve:docker', - value: 'docker run -it -p 8080:8080 -v $(pwd):/app -w /app --rm node bash -c "npm run serve"', - operation: 'add', - }, - { - key: 'scripts.serve:ds', - value: 'run-s setup-ds-webpack launch-design-system', - operation: 'add', - }, - { - key: 'scripts.test:unit', - value: 'echo "Error: no unit test specified" && exit 1', - operation: 'remove', - }, - { - key: 'launch-design-system', - value: 'cd node_modules/design-system && npm install && npm run serve:rdvue -- --port 9000', - operation: 'remove', - }, - { - key: 'serve:design-system', - value: 'run-s setup-ds-webpack launch-design-system', - operation: 'remove', - }, - { - key: 'scripts.upgrade-rdvue', - value: 'npx rdvue@latest upgrade', - operation: 'remove', - }, - { - key: 'test:unit', - value: 'echo "Error: no unit test specified" && exit 1', - operation: 'add', - }, - { - key: 'dependencies.favicons', - value: '^6.2.0', - operation: 'remove', - }, - { - key: 'dependencies.js-beautify', - value: '^1.13.0', - operation: 'remove', - }, - { - key: 'dependencies.log-symbols', - value: '^4.0.0', - operation: 'remove', - }, - { - key: 'dependencies.register-service-worker', - value: '^1.5.2', - operation: 'remove', - }, - { - key: 'dependencies.ws', - value: '^7.4.5', - operation: 'remove', - }, - { - key: 'dependencies.webpack', - value: '^5.71.0', - operation: 'add', - }, - { - key: 'dependencies.@rdfrontier/stdlib', - value: '^1.0.0', - operation: 'add', - }, - { - key: 'dependencies.@rdfrontier/typekit', - value: '^1.0.0', - operation: 'add', - }, - { - key: 'devDependencies.@babel/register', - value: '^7.16.9', - operation: 'add', - }, - { - key: 'devDependencies.@types/copy-webpack-plugin', - value: '^8.0.1', - operation: 'add', - }, - { - key: 'devDependencies.file-loader', - value: '^6.2.0', - operation: 'add', - }, - { - key: 'devDependencies.@types/dotenv-webpack', - value: '^7.0.2', - operation: 'add', - }, - { - key: 'devDependencies.@types/favicons', - value: '^5.5.0', - operation: 'add', - }, - { - key: 'devDependencies.@types/marked', - value: '^2.0.3', - operation: 'add', - }, - { - key: 'devDependencies.@types/mini-css-extract-plugin', - value: '^1.4.3', - operation: 'add', - }, - { - key: 'devDependencies.@types/mocha', - value: '^5.2.7', - operation: 'add', - }, - { - key: 'devDependencies.@vue/cli-plugin-babel', - value: '^3.4.0', - operation: 'remove', - }, - { - key: 'devDependencies.@vue/cli-plugin-typescript', - value: '^3.4.0', - operation: 'remove', - }, - { - key: 'devDependencies.@vue/cli-service', - value: '^4.3.1', - operation: 'remove', - }, - { - key: 'devDependencies.@types/pretty', - value: '^2.0.0', - operation: 'add', - }, - { - key: 'devDependencies.@types/speed-measure-webpack-plugin', - value: '^1.3.4', - operation: 'add', - }, - { - key: 'devDependencies.@types/tailwindcss', - value: '^3.0.2', - operation: 'add', - }, - { - key: 'devDependencies.@types/webpack-dev-server', - value: '^3.11.4', - operation: 'add', - }, - { - key: 'devDependencies.@types/webpack-env', - value: '^1.16.0', - operation: 'add', - }, - { - key: 'devDependencies.clean-webpack-plugin', - value: '^4.0.0', - operation: 'add', - }, - { - key: 'devDependencies.copy-webpack-plugin', - value: '^10.2.0', - operation: 'add', - }, - { - key: 'devDependencies.cross-env', - value: '^7.0.3', - operation: 'add', - }, - { - key: 'devDependencies.css-loader', - value: '^5.2.6', - operation: 'add', - }, - { - key: 'devDependencies.dotenv-webpack', - value: '^7.1.0', - operation: 'add', - }, - { - key: 'devDependencies.esbuild-loader', - value: '^2.18.0', - operation: 'add', - }, - { - key: 'devDependencies.favicons', - value: '^6.2.0', - operation: 'add', - }, - { - key: 'devDependencies.glob', - value: '^7.2.0', - operation: 'add', - }, - { - key: 'devDependencies.html-webpack-plugin', - value: '^5.5.0', - operation: 'add', - }, - { - key: 'devDependencies.js-beautify', - value: '^1.13.0', - operation: 'add', - }, - { - key: 'devDependencies.local-web-server', - value: '^5.1.1', - operation: 'add', - }, - { - key: 'devDependencies.log-symbols', - value: '^4.0.0', - operation: 'add', - }, - { - key: 'devDependencies.mini-css-extract-plugin', - value: '^2.5.2', - operation: 'add', - }, - { - key: 'devDependencies.postcss', - value: '^8.4.5', - operation: 'add', - }, - { - key: 'devDependencies.postcss-loader', - value: '^4.0.3', - operation: 'add', - }, - { - key: 'devDependencies.register-service-worker', - value: '^1.5.2', - operation: 'add', - }, - { - key: 'devDependencies.sass', - value: '^1.45.1', - operation: 'add', - }, - { - key: 'devDependencies.sass-loader', - value: '^7.1.0', - operation: 'remove', - }, - { - key: 'devDependencies.sass-loader', - value: '^10.2.1', - operation: 'add', - }, - { - key: 'devDependencies.speed-measure-webpack-plugin', - value: '^1.5.0', - operation: 'add', - }, - { - key: 'devDependencies.ts-node', - value: '^10.7.0', - operation: 'add', - }, - { - key: 'devDependencies.typescript-node', - value: '^0.1.3', - operation: 'add', - }, - { - key: 'devDependencies.typescript-require', - value: '^0.3.0', - operation: 'add', - }, - { - key: 'devDependencies.vue-loader', - value: '^15.9.8', - operation: 'add', - }, - { - key: 'devDependencies.webpack-bundle-analyzer', - value: '^3.7.0', - operation: 'add', - }, - { - key: 'devDependencies.webpack-cli', - value: '^4.9.2', - operation: 'add', - }, - { - key: 'devDependencies.webpack-dev-server', - value: '^3.11.3', - operation: 'add', - }, - { - key: 'devDependencies.webpackbar', - value: '^5.0.2', - operation: 'add', - }, - { - key: 'devDependencies.ws', - value: '^7.5.6', - operation: 'add', - }, - { - key: 'devDependencies.node-sass', - value: '^4.9.0', - operation: 'remove', - }, - { - key: 'devDependencies.sass-loader', - value: '^7.1.0', - operation: 'remove', - }, - { - key: 'devDependencies.webpack-bundle-analyzer', - value: '^3.7.0', - operation: 'remove', - }, - - { - key: 'scripts.lint', - value: 'tslint -p .', - operation: 'add', - }, - { - key: 'scripts.lint:fix', - value: 'tslint --fix -p .', - operation: 'add', - }, - { - key: 'devDependencies.typescript', - value: '^3.9.10', - operation: 'add', - }, - { - key: 'devDependencies.tslint', - value: '^6.1.3', - operation: 'add', - }], - }], - }, - delete: { - resources: [{ - name: 'vue.config.js', - destPath: '', - type: 'file', - }, - { - name: '.package-lock.json', - destPath: '', - type: 'file', - }], - }, -}; diff --git a/packages/frontier-plugins/plugin-vue/src/modules/file.ts b/packages/frontier-plugins/plugin-vue/src/modules/file.ts deleted file mode 100644 index c8e36e85..00000000 --- a/packages/frontier-plugins/plugin-vue/src/modules/file.ts +++ /dev/null @@ -1,21 +0,0 @@ -export interface FilesContent { - matchRegex: string; - replace: string; -} - -export interface Files { - source: string; - target: string; - content?: FilesContent[]; -} - -export type InjectOptions = { - index?: number | ((lines: string[], filePath: string) => number); - encoding?: string; -} - -export type ModuleConfig = { - name: string; - moduleTemplatePath: string; - manifest: any; -} diff --git a/packages/frontier-plugins/plugin-vue/src/modules/index.ts b/packages/frontier-plugins/plugin-vue/src/modules/index.ts deleted file mode 100644 index 837780ae..00000000 --- a/packages/frontier-plugins/plugin-vue/src/modules/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './file'; -export * from './lookup'; -export * from './changelog'; \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue/src/modules/lookup.ts b/packages/frontier-plugins/plugin-vue/src/modules/lookup.ts deleted file mode 100644 index a908f35c..00000000 --- a/packages/frontier-plugins/plugin-vue/src/modules/lookup.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface Lookup { - [name: string]: any; -} diff --git a/packages/frontier-plugins/plugin-vue/src/modules/manifest.ts b/packages/frontier-plugins/plugin-vue/src/modules/manifest.ts deleted file mode 100644 index 61f74492..00000000 --- a/packages/frontier-plugins/plugin-vue/src/modules/manifest.ts +++ /dev/null @@ -1,10 +0,0 @@ -export interface RouteMeta { - layout: string -} - -export interface Route { - path: string; - name: string; - meta?: RouteMeta; - component: string; -} diff --git a/packages/frontier-plugins/plugin-vue/src/utils/constants.ts b/packages/frontier-plugins/plugin-vue/src/utils/constants.ts deleted file mode 100644 index d95bf181..00000000 --- a/packages/frontier-plugins/plugin-vue/src/utils/constants.ts +++ /dev/null @@ -1,71 +0,0 @@ -import chalk from 'chalk'; - -export const TEMPLATE_ROOT = '.rdvue/template'; -export const TEMPLATE_REPO = 'https://github.com/realdecoy/rdvue-template'; -export const DESIGN_TEMPLATE_REPO = 'https://github.com/realdecoy/design-system-components'; -export const TEMPLATE_TAG = 'main'; // replace this with the appropriate release tag in the template repo -export const DESIGN_TEMPLATE_FOLDER = 'library'; -export const TEMPLATE_PROJECT_NAME_REGEX = /__PROJECT_NAME__/g; -export const TEMPLATE_VERSIONS_SUPPORTED = [2]; -export const TEMPLATE_CONFIG_FILENAME = 'manifest.json'; -export const CHANGE_LOG_FOLDER = 'changelogs'; -export const CHANGE_LOG_FILENAME = 'CHANGELOG.md'; -export const EMPTY_STRING = ''; -export const CHAR_PERIOD = '.'; -export const RDVUE_DIRECTORY = '.rdvue'; -export const RDVUE_COPY = '.rdvue-copy'; - -enum DYNAMIC_OBJECTS_ENUM { - Routes = 'routes', - Store = 'store', - Options = 'options', - Modules = 'modules', -} -export const DYNAMIC_OBJECTS = DYNAMIC_OBJECTS_ENUM; - -enum CLI_COMMANDS_ENUM { - CreateProject = 'create-project', - Upgrade = 'upgrade', - AddComponent = 'add:component', - AddPage = 'add:page', - AddService = 'add:service', - AddStore = 'add:store', - AddModule = 'add', - PluginBuefy = 'plugin:buefy', - PluginLocalization = 'plugin:localization', - PluginVuetify = 'plugin:vuetify', - PluginLibrary = 'plugin', - PoorHelpCommand = 'add-help' -} -export const CLI_COMMANDS = CLI_COMMANDS_ENUM; - -enum DOCUMENTATION_LINKS_ENUM { - Rdvue = 'https://realdecoy.github.io/rdvue/#/', - Component = 'https://realdecoy.github.io/rdvue/#/Features?id=components', - Page = 'https://realdecoy.github.io/rdvue/#/Features?id=pages', - Service = 'https://realdecoy.github.io/rdvue/#/Features?id=services', - Store = 'https://realdecoy.github.io/rdvue/#/Features?id=stores', - EsBuild = 'https://esbuild.github.io/', -} -export const DOCUMENTATION_LINKS = DOCUMENTATION_LINKS_ENUM; - -export const PLUGIN_PRESET_LIST = [ - 'Buefy & Localization (recommended)', - 'Vuetify & Localization', - `${chalk.magenta('[Skip presets]')}`, -]; - -export const TEMPLATE_REPLACEMENT_FILES = [ - 'README.md', - 'package.json', - '.rdvue/.rdvue', - 'public/index.html', - 'public/manifest.json', -]; - -export const CLI_STATE = { - Info: `${chalk.blue('[rdvue]')}`, - Error: `${chalk.red('[rdvue]')}`, - Warning: `${chalk.yellow('[rdvue]')}`, - Success: `${chalk.green('[rdvue]')}`, -}; diff --git a/packages/frontier-plugins/plugin-vue/src/utils/files.ts b/packages/frontier-plugins/plugin-vue/src/utils/files.ts deleted file mode 100644 index 386d3b30..00000000 --- a/packages/frontier-plugins/plugin-vue/src/utils/files.ts +++ /dev/null @@ -1,609 +0,0 @@ -/* eslint-disable max-lines */ -import fileSystem from 'fs'; -import bluebirdPromise from 'bluebird'; -import path from 'path'; -import mkdirp from 'mkdirp'; -const util = require('util'); -import chalk from 'chalk'; -import { Files, InjectOptions } from '../modules'; -const replace = require('replace-in-file'); -import { hasKebab } from './utilities'; -import { DYNAMIC_OBJECTS, EMPTY_STRING, RDVUE_DIRECTORY, TEMPLATE_CONFIG_FILENAME, TEMPLATE_ROOT } from './constants'; -import { log } from '@rdfrontier/stdlib'; -const ncp = require('ncp').ncp; -import shell from 'shelljs'; - -const UTF8 = 'utf-8'; -const fs = bluebirdPromise.promisifyAll(fileSystem); -const copyFilePromise = util.promisify(fs.copyFile); -const getDirName = path.dirname; - -/** - * Description: Read file located at specified filePath - * @param {string} filePath - a path to a file - * @returns {string} - - */ -function readFile(filePath: string): string { - try { - return fs.readFileSync(filePath, UTF8); - } catch (error) { - return EMPTY_STRING; - } -} - -/** - * Description: Determine whether or not the given path is a - * directory which exists - * @param {string} filePath - a path to a file - * @returns {boolean} - - */ -function directoryExists(filePath: string): boolean { - try { - return fs.statSync(filePath).isDirectory(); - } catch (error) { - return false; - } -} - -/** - * Description: Determine whether or not the given file exists - * @param {string} filePath - a path to a file - * @returns {boolean} - - */ -function fileExists(filePath: string): boolean { - try { - return fs.existsSync(filePath); - } catch (error) { - return false; - } -} - -/** - * Description: Read main config file to determine options the tool can take - * @param {string} filePath - - * @returns {any} - - */ -function readConfigFile(filePath: string): any { - const isExistingFile = fileExists(filePath); - if (isExistingFile === false) { - throw new Error( - JSON.stringify({ - code: 'missing-template-file', - message: `template file not found, run ${chalk.whiteBright('rdvue upgrade')} to continue`, - }), - ); - } - - return JSON.parse(readFile(filePath)); -} - -/** - * Description: parse config files required for scaffolding this module - * @param {string[]} folderList - - * @param {string} projectRoot - - * @returns {[any]} - - */ -function parseModuleConfig(folderList: string[], projectRoot: string): { name: string, moduleTemplatePath: string, manifest: any }[] { - return folderList.map(folder => { - const moduleTemplatePath = path.join(projectRoot, TEMPLATE_ROOT, folder); - const configFilePath = path.join(moduleTemplatePath, TEMPLATE_CONFIG_FILENAME); - - return { - name: folder, - moduleTemplatePath, - manifest: readConfigFile(configFilePath), - }; - }); -} - -/** - * Description: Writes given data to a file - * @param {string} filePath - path of file which will be created or modified to include given data - * @param {string} data - data written to file - * @returns {boolean} - - */ -function writeFile(filePath: string, data: string): boolean { - let success = true; - try { - fs.writeFileSync(filePath, data); - } catch (error) { - success = false; - throw new Error('failed to write to file'); - } - - return success; -} - -/** - * Description: Replace content in list of files based on configs passed in - * @param {string|string[]} files - - * @param {RegExp} from - - * @param {string} to - - * @returns {Promise} - - */ -async function replaceInFiles(files: string | string[], from: RegExp, to: string): Promise { - let result = false; - let replaceResults; - let failedFiles; - const options = { - files, - from, - to, - }; - - try { - replaceResults = await replace(options); - failedFiles = replaceResults - .filter((result: { file: string; hasChanged: boolean }) => !result.hasChanged) - .map((result: { file: string; hasChanged: boolean }) => result.file); - result = failedFiles.length === 0; - } catch (error) { - throw new Error( - JSON.stringify({ - code: 'file-not-changed', - message: (error as any).message, - }), - ); - } - - return result; -} - -/** - * Description: Replace filename with a given value - * @param {string} fileName - filename to be replaced - * @param {RegExp} placeholder - pattern used with specified flag in order - * to created new RegExp (old file name) - * @param {string} value - value to replace old filename - * @returns {string} - - */ -function replaceFileName( - fileName: string, - placeholder: RegExp, - value: string, -): string { - const r = new RegExp(placeholder, 'g'); - const response = fileName.replace(r, value); - - return response; -} - -/** - * Description: Update target filenames to include feature name - * @param {Array} files - filenames which need to be updated - * @param {string} featureName - the string used to update the name of the files - * @returns {void} - - */ -function replaceTargetFileNames( - files: Array, - featureName: string, -): void { - if (featureName !== EMPTY_STRING) { - files.forEach((file: string | Files) => { - if (typeof file !== 'string') { - if (file.target !== file.source) { - file.target = replaceFileName( - file.target, - /(\${.*?\})/, - featureName ?? EMPTY_STRING, - ); - } - } - }); - } -} - -/** - * Description: Copy files from source directory to target directory - * @param {string} source - source directory - * @param {string} target - target directory - * @returns {boolean} - Returns true if copy was successful - */ - async function copyDirectoryRecursive(source: string, target: string): Promise { - let success = false; - if (directoryExists(target)) { - deleteFolderRecursive(target); - fileSystem.mkdirSync(target); - } else { - fileSystem.mkdirSync(target); - } - try { - await ncp(source, target); - success = true; - } catch (error) { - success = false; - } - - return success; -} - -/** - * Description: Copy files from a source directory to a destination directory - * @param {string} srcDir - directory from which files will be copied - * @param {string} destDir - directory to which files will be copied - * @param {Array} files - files to be copied - * @param {Boolean} isCorePath - flag to optionally auto set core path if config path is included, true by default. - * @returns {Promise} - - */ -function copyFiles( - srcDir: string, - destDir: string, - files: Array, - isCorePath = true, -): Promise { - return Promise.all( - files.map((f: Files | string) => { - let source = EMPTY_STRING; - let dest = EMPTY_STRING; - // Get source and destination paths - if (typeof f === 'string') { - source = path.join( - srcDir, - `${srcDir.includes('config') && isCorePath ? 'core' : EMPTY_STRING}`, - f, - ); - dest = path.join(destDir, f); - } else { - source = path.join(srcDir, f.source); - dest = path.join(destDir, f.target); - } - - // Create all the necessary directories if they dont exist - const dirName = getDirName(dest); - mkdirp.sync(dirName); - - return copyFilePromise(source, dest); - }), - ); -} - -/** - * Description: Write changes to a file - * @param {string} filePath - location of file to be updated - * @param {string} content - existing file content - * @param {string | RegExp} pattern - regex pattern or pattern to be replaced - * @param {string} value - value to replace content in file - * @returns {Promise} - - */ -async function updateFile( - filePath: string, - content: string, - pattern: string | RegExp, - value: string, -): Promise { - const regex = pattern instanceof RegExp ? pattern : new RegExp(pattern, 'g'); - - if (value !== EMPTY_STRING) { - const newValue = content.replace(regex, value); - await fs.writeFileSync(filePath, newValue, UTF8); - } -} - -/** - * Read files that have been copied to target destination - * and replace template values with input recieved form user - * through prompts - * @param {string} destDir - target destination - * @param {Files[] | Array} files - files to read - * @param {string} kebabName - name of feature in kebab case - * @param {string} pascalName - name of feature in pascal case - * @returns {Promise} - - */ -async function readAndUpdateFeatureFiles( - destDir: string, - files: Files[] | Array, - kebabName: string, - pascalName: string, -): Promise { - let filePath = EMPTY_STRING; - const promisedUpdates = []; - - // [3] For each file in the list - for (const file of files) { - if (typeof file === 'string') { - continue; - } - - // [3b] Add the target file to the path of the desired destination directory - filePath = path.join(destDir, file.target); - - // [3c] Check if the contents of the file is defined - if (file.content !== undefined && Array.isArray(file.content)) { - // [3d] For each content block in the file contnet array - for (const contentBlock of file.content) { - if (contentBlock && contentBlock.matchRegex) { - // [4] Get the content at the desired file path - const fileContent = readFile(filePath); - // [5] Update the contents of the file at given filePath - promisedUpdates.push(updateFile( - filePath, - fileContent, - contentBlock.matchRegex, - hasKebab(contentBlock.replace) === true ? - kebabName : - contentBlock.replace.includes('${') ? - pascalName : - contentBlock.replace, - )); - } - } - } else if (file.content) { - throw new Error( - JSON.stringify({ - code: 'failed-match-and-replace', - message: `failed to match and replace for :${kebabName} files`, - }), - ); - } - } - await Promise.all(promisedUpdates); -} - -/** - * Description: determine if is root directory of rdvue project - * @param {string|null} location defaults to null - * @returns {boolean} - - */ -function isRootDirectory(location: string | null = null): boolean { - let isRoot = false; - try { - let paths = []; - let testLocation = location; - if (location === null) { - testLocation = process.cwd(); - } - - if (testLocation !== null) { - paths = testLocation.split(path.sep); - if (paths.length > 0 && paths[1] === EMPTY_STRING) { - isRoot = true; - } - } - } catch (error) { - throw new Error('Error checking root directory'); - } - - return isRoot; -} - -/** - * Description: determine the root of the current project - * @returns {string | null} - - */ -function getProjectRoot(): string | null { - const configFolderName = RDVUE_DIRECTORY; - const currentConfigFolder = path.join(process.cwd(), configFolderName); - // Check if the current directory is the root of the project for older versions of rdvue - if(fileExists(currentConfigFolder) && !fs.lstatSync(currentConfigFolder).isDirectory()){ - deleteFile(currentConfigFolder); - - return process.cwd(); - } - const maxTraverse = 20; - let currentPath = process.cwd(); - let currentTraverse = 0; - let projectRoot = null; - let back = './'; - - // eslint-disable-next-line no-constant-condition - while (true) { - currentPath = path.join(process.cwd(), back); - back = path.join(back, '../'); - currentTraverse += 1; - - if (directoryExists(path.join(currentPath, configFolderName))) { - projectRoot = currentPath; - break; - } else if (isRootDirectory(currentPath)) { - projectRoot = null; - break; - } else if (currentTraverse > maxTraverse) { - projectRoot = null; - break; - } - } - - return projectRoot; -} - -/** - * Description: Determine whether or not the given file path is a - * directory which exists - * @param {string} folderPath - a path to a folder - * @returns {void} - - */ -function checkIfFolderExists(folderPath: string): void { - const isExistingFolder = directoryExists(folderPath); - // block command if project folder already exists - if (isExistingFolder === true) { - throw new Error( - JSON.stringify({ - code: 'existing-folder', - message: `folder named ${chalk.whiteBright(folderPath)} already exists`, - }), - ); - } -} - -/** - * Description: Determine whether or not the given folder path is a - * directory which exists - * @param {string} folderPath - a path to a folder - * @returns {void} - - */ -function verifyTemplateFolderExists(folderPath: string): void { - const isExistingFolder = directoryExists(folderPath); - // block command if project folder already exists - if (isExistingFolder === false) { - throw new Error( - JSON.stringify({ - code: 'missing-template-folder', - message: `template folder not found, run ${chalk.whiteBright('rdvue upgrade')} to continue`, - }), - ); - } -} - -/** - * Description: Inject dynamic objects into project files - * @param {string} projectRoot - - * @param {string} jsonData - stringified json data from file - * @param {string} objectName - property name to be injected - * @param {boolean?} hasBrackets - injected object has brackets - * @returns {void} - - */ -function parseDynamicObjects( - projectRoot: string, - jsonData: string, - objectName: string, - hasBrackets?: boolean, -): void { - let filePathOfObjectInsideProject; - let objectInProject; - let objectStringToBeWritten = EMPTY_STRING; - - // 1[b] Once inside of a project values are assigned to be used - if (projectRoot !== null) { - // Allocate the location of the .js file - filePathOfObjectInsideProject = path.join( - projectRoot, - '.rdvue', - `${objectName}.js`, - ); - - // Read files to be modified - objectInProject = readFile(filePathOfObjectInsideProject); - - // Replace brackets & ("/`) quotations in string - let modifiedJSONData = jsonData.replace(/[[\]"`]+/g, EMPTY_STRING); - - // Remove beginning and closing brackets if its an option to be modified - if (hasBrackets) { - modifiedJSONData = modifiedJSONData.substring( - 1, - modifiedJSONData.length - 1, - ); - } - - // Removed closers from files to append information - const originalObjectString = objectInProject.slice(0, -2); - - // Append the new information and close files after changes - objectStringToBeWritten = `${originalObjectString}${modifiedJSONData.trim()},${objectName === DYNAMIC_OBJECTS.Routes ? ']' : '}'};`; - } - - // 1[c] Once everything is clear write the updated file into the ./rdvue foldler - if ( - filePathOfObjectInsideProject !== undefined && - objectStringToBeWritten !== EMPTY_STRING - ) { - writeFile(filePathOfObjectInsideProject, objectStringToBeWritten); - } -} - -/** - * Injects the content into the targetted file. You can control where the - * the content is injected by specifying the index in the options argument. - * You can also use a method to dynamically determine the index. If the index - * is not defined, this method will inject the content at the start of the file. - * - * @param {string} targetPath full path to the file you are injecting into - * @param {string} content The content to inject - * @param {InjectOptions?} options see InjectOptions type - */ -function inject(targetPath: string, content: string, options?: InjectOptions): void { - const encoding = options?.encoding as BufferEncoding ?? 'utf-8'; - let index = options?.index ?? 0; - - let targetContent = fileSystem.readFileSync(targetPath, encoding); - const lines = targetContent.split(/\r?\n/g); - - if (typeof index === 'function') { - index = index(lines.slice(), targetPath); - } - - lines.splice(index, 0, content); - targetContent = lines.join('\n'); - - fs.writeFileSync(targetPath, targetContent, encoding); -} - -/** - * Description: - * @param {string} projectRoot - - * @param {string} folderName - - * @param {string|string[]} featuredata - - * @param {string} fileName - - * @returns {void} - */ -async function updateDynamicImportsAndExports( - projectRoot: string, - folderName: string, - featuredata: string | string[], - fileName: string, -): Promise { - const SOURCE_DIRECTORY = 'src'; - - if (projectRoot === null) { - log('Project location was not found'); - } else { - const fileLocation = path.join(projectRoot, SOURCE_DIRECTORY, folderName, fileName); - if (fileExists(fileLocation)) { - if (typeof featuredata === 'string') { - await fs.appendFileSync(fileLocation, featuredata); - } else { - featuredata.forEach(data => { - fs.appendFileSync(fileLocation, data); - }); - } - } else { - log(`${fileLocation} - Does not exist`); - } - } -} - -/** - * Description: Delete file at given path - * @param {string} filePath - path of file which will be created or modified to include given data - * @returns {boolean} - - */ - function deleteFile(filePath: string): boolean { - let success = true; - try { - fs.unlinkSync(filePath); - } catch (error) { - success = false; - throw new Error('failed to delete file'); - } - - return success; -} - -/** - * Description: Delete folder and all its contents - * @param {string} folderPath - path to folder to be deleted - */ - function deleteFolderRecursive(folderPath: string) { - shell.exec(`rm -rf ${folderPath}`); -}; - -export { - updateDynamicImportsAndExports, - parseDynamicObjects, - verifyTemplateFolderExists, - checkIfFolderExists, - parseModuleConfig, - replaceInFiles, - replaceTargetFileNames, - readAndUpdateFeatureFiles, - copyFiles, - copyDirectoryRecursive, - deleteFolderRecursive, - getProjectRoot, - readFile, - fileExists, - writeFile, - inject, - deleteFile, - updateFile -}; diff --git a/packages/frontier-plugins/plugin-vue/src/utils/plugins.ts b/packages/frontier-plugins/plugin-vue/src/utils/plugins.ts deleted file mode 100644 index 7208ea4f..00000000 --- a/packages/frontier-plugins/plugin-vue/src/utils/plugins.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { inject } from './files'; -import path from 'path'; - -/** - * Private helper method for finding index of last import statement. - * @param {Array} lines the lines of a file - * @returns {number} the index of the last import statement. - * Returns 0 if no imports were found. - */ -function findIndexOfLastImportStatement(lines: string []): number { - const index = lines.slice() - .reverse() - .findIndex(line => line.trimStart().startsWith('import')); - - return (index === -1) ? 0 : lines.length - index; -} - -/** - * Private helper method for finding the the vue initializer - * @param {Array} lines the lines of a file - * @returns {number} the index of the last import statement. - * @throws error if the vue initializer is not found. - */ -function findIndexOfVueConstructor(lines: string[]): number { - const index = lines.findIndex(line => line.trimStart().startsWith('new Vue')); - if (index === -1) { - throw new Error('Vue initializer was not defined in main.ts.'); - } - - return index + 1; -} - -/** - * private helper method for assembling path to main - * @param {string} projectRoot root path to the project - * @returns {string} returns the path - */ -function getMainPath(projectRoot: string): string { - const ext = 'ts'; - - return path.join(projectRoot, 'src', `main.${ext}`); -} - -/** - * helper method for injecting modules into main. - * @param {string} projectRoot the root path of the project - * @param {string | string[]} lines the lines to inject - */ -function injectImportsIntoMain(projectRoot: string, lines: string | string[]): void { - const mainPath = getMainPath(projectRoot); - const contents = Array.isArray(lines) ? lines.join('') : lines.slice(); - inject(mainPath, contents, { - index: findIndexOfLastImportStatement, - }); -} - -/** - * Helper method for injecting modules into the Vue constructor - * @param {string} projectRoot the root path of the project - * @param {strings} lines the lines to inject - */ -function injectModulesIntoMain(projectRoot: string, lines: string | string[]): void { - const mainPath = getMainPath(projectRoot); - const contents = `${Array.isArray(lines) ? lines.join(',\n') : lines.slice()},`; - inject(mainPath, contents, { - index: findIndexOfVueConstructor, - }); -} - -export { - injectImportsIntoMain, - injectModulesIntoMain, -}; diff --git a/packages/frontier-plugins/plugin-vue/src/utils/stdout.ts b/packages/frontier-plugins/plugin-vue/src/utils/stdout.ts deleted file mode 100644 index 7f86ccc5..00000000 --- a/packages/frontier-plugins/plugin-vue/src/utils/stdout.ts +++ /dev/null @@ -1,15 +0,0 @@ -import util from 'util'; -/** - * Emulates the log method from @oclif/command, since they don't seem to be - * offering any alternatives. Can be replaced with another logging library. - * @param {any} message The content to print to the console - * @param {Array} args See util.format for formatting arguments. - */ -function log(message: any = '', ...args: any[]): void { - message = typeof message === 'string' ? message : util.inspect(message); - process.stdout.write(`${util.format(message, ...args)}\n`); -} - -export { - log, -}; diff --git a/packages/frontier-plugins/plugin-vue/src/utils/utilities.ts b/packages/frontier-plugins/plugin-vue/src/utils/utilities.ts deleted file mode 100644 index 60dbed97..00000000 --- a/packages/frontier-plugins/plugin-vue/src/utils/utilities.ts +++ /dev/null @@ -1,399 +0,0 @@ -/* eslint-disable max-lines */ -import * as inquirer from 'inquirer'; -import { ChangeLog, ChangelogConfigTypes, Lookup } from '../modules'; -import { CLI_STATE, TEMPLATE_TAG, PLUGIN_PRESET_LIST } from './constants'; -import { getProjectRoot,writeFile } from './files'; -import chalk from 'chalk'; -import { log } from 'console'; - -/** - * Description: check if string has a substring 'kebab' in it - * @param {string} value - a string value - * @returns {boolean} - - */ -function hasKebab(value = ''): boolean { - let result = false; - if (value.match(/kebab/gi) !== null) { - result = true; - } - - return result; -} - - -/** - * Description: determine if string is valid project name - * @param {string} value - a string value - * @returns {any} - - */ -function validateProjectName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidProjectName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A project name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for project names (e.g. my-project-name)`; - } - - return isValidProjectName ? true : resultMessage; -} - -/** - * Description: determine if string is valid component name - * @param {string} value - a string value - * @returns {any} - - */ -function validateComponentName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidComponentName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A component name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for component names (e.g. my-component-name)`; - } - - return isValidComponentName ? true : resultMessage; -} - -/** - * Description: determine if string is valid version name - * @param {string} value - a string value - * @returns {any} - - */ -function validateVersionName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidVersionName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A version name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for version names (e.g. my-version-name)`; - } - - return isValidVersionName ? true : resultMessage; -} - -/** - * Description: determine if string is valid page name - * @param {string} value - a string value - * @returns {any} - - */ -function validatePageName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidArgName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A page name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for page names (e.g. page-name)`; - } - - return isValidArgName ? true : resultMessage; -} - -/** - * Description: determine if string is valid service name - * @param {string} value - a string value - * @returns {any} - - */ -function validateServiceName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidArgName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A service name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for service names (e.g. service-name)`; - } - - return isValidArgName ? true : resultMessage; -} - -/** - * Description: determine if string is valid store module name - * @param {string | null} value - a string value - * @returns {any} - - */ -function validateStoreModuleName(value: any) { - const isString = typeof value === 'string'; - const isNull = value === null || value.length === 0; - // characters in value are limited to alphanumeric characters and hyphens or underscores - const charactersMatch = value.match(/^[a-zA-Z0-9.\-_]+$/i) !== null; - const isValidArgName = isString && charactersMatch; - let resultMessage; - - if (isNull) { - resultMessage = `${CLI_STATE.Error} A store module name is required`; - } else if (!charactersMatch) { - resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for store module names (e.g. auth-store)`; - } - - return isValidArgName ? true : resultMessage; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseComponentName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([{ - name: 'name', - default: 'my-component', - message: 'Enter a component name: ', - type: 'input', - validate: validateComponentName, - }]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {string} args - a string value - * @returns {Lookup} - - */ -async function parseProjectName(args: Lookup): Promise { - let argName = args.name; - // if no project name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([{ - name: 'name', - default: 'my-rdvue-project', - message: 'Enter a project name: ', - type: 'input', - validate: validateProjectName, - }]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for template version - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseVersionName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([{ - name: 'name', - default: TEMPLATE_TAG, - message: 'Enter a version: ', - type: 'input', - validate: validateVersionName, - }]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseProjectPresets(args: Lookup): Promise { - let argName = args.preset; - // if no project name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([{ - name: 'preset', - default: 0, - message: 'Pick a preset: ', - type: 'list', - choices: PLUGIN_PRESET_LIST, - }]); - argName = responses.preset; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parsePageName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([{ - name: 'name', - default: 'hello-world', - message: 'Enter a page name: ', - type: 'input', - validate: validatePageName, - }]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseServiceName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([{ - name: 'name', - default: 'auth-service', - message: 'Enter a service name: ', - type: 'input', - validate: validateServiceName, - }]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: parse project or prompt user to provide name for project - * @param {Lookup} args - a string value - * @returns {string} - - */ -async function parseStoreModuleName(args: Lookup): Promise { - let argName = args.name; - // if no page name is provided in command then prompt user - if (!argName) { - const responses: any = await inquirer.prompt([{ - name: 'name', - default: 'auth-store', - message: 'Enter a store module name: ', - type: 'input', - validate: validateStoreModuleName, - }]); - argName = responses.name; - } - - return argName; -} - -/** - * Description: determine if command is ran within a valid rdvue project - * @returns {any} - - */ -function checkProjectValidity(): { isValid: boolean, projectRoot: string } { - const results = { - isValid: false, - projectRoot: '', - }; - - const projectRoot: string | null = getProjectRoot(); - if (projectRoot !== null && projectRoot !== '') { - results.isValid = true; - results.projectRoot = projectRoot; - } else { - results.isValid = false; - } - - return results; -} - - -/** - * Description: generates a changelog.md file from the resource groups - * in the changeLogData object. - * @param {string} versionName - the version name to use in the changelog.md file - * @param {string} changelogPath - the path where the changelog.md file will be generated - * @param {ChangeLog} changeLogData - the data to use in the changelog.md file - * @returns {void} - */ -function createChangelogReadme( - versionName: string, - changelogPath: string, - changeLogData: ChangeLog, -): void { - const createdChangeLogResources = changeLogData[ChangelogConfigTypes.CREATE]?.resources ?? []; - const deletedChangeLogResources = changeLogData[ChangelogConfigTypes.DELETE]?.resources ?? []; - const updatedChangeLogResources = changeLogData[ChangelogConfigTypes.UPDATE]?.resources ?? []; - const createdFiles: string[] = createdChangeLogResources.map(resource => { - if (resource.srcPath) { - return `${resource.srcPath}/${resource.file?.target}`; - } - - return `${resource.file?.target}`; - }); - - const deletedFiles: string[] = deletedChangeLogResources.map(resource => { - if (resource.destPath) { - return `${resource.destPath}/${resource.name}`; - } - - return `${resource.name}`; - }); - - const updatedFiles: string[] = updatedChangeLogResources.map(resource => (resource.destPath)); - - const readmeContent = - ` -# Changelog - ${versionName} -The \`upgrade\` command is used to upgrade a project to the latest version of the template, or to a specified version. -During the course of the upgrade files may be added, deleted or updated. When it comes to updating, .json files are updated inline. For changes to all other file types, your existing project file will not be touched, but a file will be created at the same path containing the new changes to the template's base file, in the form of ${'`.update.`'} - -## Added Files -${createdFiles.map(file => `- ${file}`).join('\n')} - -## Deleted Files -${deletedFiles.map(file => `- ${file}`).join('\n')} - -## Updated Files -${updatedFiles.map(file => `- ${file}`).join('\n')} - -## Notes on the Upgrade -${changeLogData.recomendations || 'No notes on the upgrade'} -`; - writeFile(changelogPath, readmeContent); - log(chalk(readmeContent)); -} - -export { - hasKebab, - parseComponentName, - parseProjectName, - parseProjectPresets, - parseVersionName, - parsePageName, - parseServiceName, - parseStoreModuleName, - checkProjectValidity, - createChangelogReadme -}; diff --git a/packages/frontier-plugins/plugin-vue/test/commands/add.component.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/add.component.spec.ts deleted file mode 100644 index 29f2a9fb..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/add.component.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* global after */ -import {expect, test} from '@oclif/test' -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; -import Component from '../../src/commands/vue/add/component' - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-component-test'; -const testComponentName = 'hello-world'; -const { log } = console; - -describe(CLI_COMMANDS.AddComponent, () => { - test - .stdout() - .command([CLI_COMMANDS.AddComponent]) - .it(`runs rdvue ${CLI_COMMANDS.AddComponent} ${testComponentName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${CLI_COMMANDS.AddComponent} command must be run in an existing rdvue project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.AddComponent, testComponentName]) - .do(() => process.chdir('../')) - .it(`runs rdvue ${CLI_COMMANDS.AddComponent} ${testComponentName}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] component added: ${testComponentName}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/add.page.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/add.page.spec.ts deleted file mode 100644 index f7162028..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/add.page.spec.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* global after */ -import {expect, test} from '@oclif/test' -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-hello-world-test'; -const testPageName = 'hello-world'; -// const badPageName = 'he%20-2world'; - -describe(CLI_COMMANDS.AddPage, () => { - test - .stdout() - .command([CLI_COMMANDS.AddPage]) - .it(`runs rdvue ${CLI_COMMANDS.AddPage} ${testPageName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${CLI_COMMANDS.AddPage} command must be run in an existing rdvue project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.AddPage, testPageName]) - .do(() => process.chdir('../')) - .it(`runs rdvue ${CLI_COMMANDS.AddPage} ${testPageName}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] page added: ${testPageName}`); - }); - - // test - // .stdout() - // .do(() => process.chdir(testProjectName)) - // .command([CLI_COMMANDS.AddPage, badPageName, skipPresets]) - // .it('tries to run create page with a poorly formatted command', ctx => { - // expect(ctx.stdout).to.contain(`Error: command ${CLI_COMMANDS.AddPage} not found`); - // }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/add.service.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/add.service.spec.ts deleted file mode 100644 index 3ac2f85a..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/add.service.spec.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* global after */ -import {expect, test} from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-auth-service-test'; -const testServiceName = 'auth-service'; -// const badServiceName = 'auth%20-2service'; - -describe(CLI_COMMANDS.AddService, () => { - test - .stdout() - .command([CLI_COMMANDS.AddService]) - .it(`runs rdvue ${CLI_COMMANDS.AddService} ${testServiceName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${CLI_COMMANDS.AddService} command must be run in an existing rdvue project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.AddService, testServiceName]) - .do(() => process.chdir('../')) - .it(`runs rdvue ${CLI_COMMANDS.AddService} ${testServiceName}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] service added: ${testServiceName}`); - }); - - // test - // .stdout() - // .do(() => process.chdir(testProjectName)) - // .command([CLI_COMMANDS.AddService, badServiceName, skipPresets]) - // .it('tries to run create service with a poorly formatted command', ctx => { - // expect(ctx.stdout).to.contain(`Error: command ${CLI_COMMANDS.AddService} not found`); - // }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/add.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/add.spec.ts deleted file mode 100644 index d1268a9d..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/add.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import {expect, test} from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; - -describe(`${CLI_COMMANDS.AddModule} module`, () => { - test - .stdout() - .command([CLI_COMMANDS.AddModule]) - .it(`runs rdvue ${CLI_COMMANDS.AddModule} --help`, ctx => { - expect(ctx.stdout).to.contain('npx rdvue add:'); - }); - - // test - // .stdout() - // .command([CLI_COMMANDS.PoorHelpCommand]) - // .it(`runs poorly formatted rdvue ${CLI_COMMANDS.AddModule} -help command`, ctx => { - // expect(ctx.error).to.contain(`Error: command ${CLI_COMMANDS.PoorHelpCommand} not found`); - // }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/add.store.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/add.store.spec.ts deleted file mode 100644 index 316e26d7..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/add.store.spec.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* global after */ -import {expect, test} from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-store-module-test'; -const testStoreName = 'auth-store'; -// const badStoreName = 'auth%20-2store'; - -describe(CLI_COMMANDS.AddStore, () => { - test - .stdout() - .command([CLI_COMMANDS.AddStore]) - .it(`runs rdvue ${CLI_COMMANDS.AddStore} ${testStoreName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${CLI_COMMANDS.AddStore} command must be run in an existing rdvue project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.AddStore, testStoreName]) - .do(() => process.chdir('../')) - .it(`runs rdvue ${CLI_COMMANDS.AddStore} ${testStoreName}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] store added: ${testStoreName}`); - }); - - // test - // .stdout() - // .do(() => process.chdir(testProjectName)) - // .command([CLI_COMMANDS.AddStore, badStoreName, skipPresets]) - // .it('tries to run create store with a poorly formatted command', ctx => { - // expect(ctx.stdout).to.contain(`Error: command ${CLI_COMMANDS.AddStore} not found`); - // }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/create-project.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/create-project.spec.ts deleted file mode 100644 index be6d5d45..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/create-project.spec.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* global after */ -import {expect, test} from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; - -const testProjectName = 'rdv-hello-world'; -const skipPresets = '--skipPresets'; -// const badProjectName = '$testProject@project'; - -describe(CLI_COMMANDS.CreateProject, () => { - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .it(`runs ${CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${testProjectName} is ready!`); - }); - - test - .stdout() - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir('../')) - .it(`runs ${CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { - expect(ctx.stdout).to.contain('[rdvue] you are already in an existing rdvue project'); - }); - - // test - // .stdout() - // .command([CLI_COMMANDS.CreateProject, badProjectName, skipPresets]) - // .it('tries to run create project with a poorly formatted command', ctx => { - // expect(ctx.stdout).to.contain(`Error: command ${CLI_COMMANDS.CreateProject} not found`); - // }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/plugin.buefy.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/plugin.buefy.spec.ts deleted file mode 100644 index 157a99e3..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/plugin.buefy.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* global after */ -import {expect, test} from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const withBuefy = '--withBuefy'; -const testProjectName = 'rdv-plugin-buefy-test'; - -describe(CLI_COMMANDS.PluginBuefy, () => { - test - .stdout() - .command([CLI_COMMANDS.PluginBuefy]) - .it(`runs rdvue ${CLI_COMMANDS.PluginBuefy} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${CLI_COMMANDS.PluginBuefy} command must be run in an existing rdvue project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets, withBuefy]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.PluginBuefy]) - .do(() => process.chdir('../')) - .it(`runs rdvue ${CLI_COMMANDS.PluginBuefy}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] plugin added: ${CLI_COMMANDS.PluginBuefy.split(':')[1]}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/plugin.localization.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/plugin.localization.spec.ts deleted file mode 100644 index 96279528..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/plugin.localization.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* global after */ -import {expect, test} from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const withLocalization = '--withLocalization'; -const testProjectName = 'rdv-plugin-localization-test'; - -describe(CLI_COMMANDS.PluginLocalization, () => { - test - .stdout() - .command([CLI_COMMANDS.PluginLocalization]) - .it(`runs rdvue ${CLI_COMMANDS.PluginLocalization} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${CLI_COMMANDS.PluginLocalization} command must be run in an existing rdvue project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets, withLocalization]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.PluginLocalization]) - .do(() => process.chdir('../')) - .it(`runs rdvue ${CLI_COMMANDS.PluginLocalization}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] plugin added: ${CLI_COMMANDS.PluginLocalization.split(':')[1]}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/plugin.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/plugin.spec.ts deleted file mode 100644 index 5ff36c32..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/plugin.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {expect, test} from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; - -describe(`${CLI_COMMANDS.PluginLibrary} module`, () => { - test - .stdout() - .command([CLI_COMMANDS.PluginLibrary]) - .it(`runs rdvue ${CLI_COMMANDS.PluginLibrary} --help`, ctx => { - expect(ctx.stdout).to.contain('npx rdvue plugin:'); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/plugin.vuetify.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/plugin.vuetify.spec.ts deleted file mode 100644 index c3df3372..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/plugin.vuetify.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* global after */ -import {expect, test} from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const withVuetify = '--withVuetify'; -const testProjectName = 'rdv-plugin-vuetify-test'; - -describe(CLI_COMMANDS.PluginVuetify, () => { - test - .stdout() - .command([CLI_COMMANDS.PluginVuetify]) - .it(`runs rdvue ${CLI_COMMANDS.PluginVuetify} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${CLI_COMMANDS.PluginVuetify} command must be run in an existing rdvue project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets, withVuetify]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.PluginVuetify]) - .do(() => process.chdir('../')) - .it(`runs rdvue ${CLI_COMMANDS.PluginVuetify}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] plugin added: ${CLI_COMMANDS.PluginVuetify.split(':')[1]}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - // eslint-disable-next-line no-console - console.log(`error: ${error.message}`); - } - }); - }); -}); diff --git a/packages/frontier-plugins/plugin-vue/test/commands/upgrade.project.spec.ts b/packages/frontier-plugins/plugin-vue/test/commands/upgrade.project.spec.ts deleted file mode 100644 index 163fb3de..00000000 --- a/packages/frontier-plugins/plugin-vue/test/commands/upgrade.project.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* global after */ -import { expect, test } from '@oclif/test'; -import { CLI_COMMANDS } from '../../src/utils/constants'; -import { exec } from 'child_process'; - -const skipPresets = '--skipPresets'; -const testProjectName = 'rdv-component-test'; -const testComponentName = 'hello-world'; -const { log } = console; - -describe(CLI_COMMANDS.Upgrade, () => { - test - .stdout() - .command([CLI_COMMANDS.Upgrade]) - .it(`runs rdvue ${CLI_COMMANDS.Upgrade} ${testComponentName} (outside project)`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] ${CLI_COMMANDS.Upgrade} command must be run in an existing rdvue project`); - }); - - test - .stdout() - .command([CLI_COMMANDS.CreateProject, testProjectName, skipPresets]) - .do(() => process.chdir(testProjectName)) - .command([CLI_COMMANDS.Upgrade]) - .do(() => process.chdir('../')) - .it(`runs rdvue ${CLI_COMMANDS.Upgrade}`, ctx => { - expect(ctx.stdout).to.contain(`[rdvue] component added: ${testComponentName}`); - }); - - after(() => { - exec(`rm -r ${testProjectName}`, error => { - if (error) { - log(`error: ${error.message}`); - } - }); - }); -}) \ No newline at end of file diff --git a/packages/frontier-plugins/plugin-vue/test/mocha.opts b/packages/frontier-plugins/plugin-vue/test/mocha.opts deleted file mode 100644 index 67680354..00000000 --- a/packages/frontier-plugins/plugin-vue/test/mocha.opts +++ /dev/null @@ -1,4 +0,0 @@ ---require ts-node/register ---watch-extensions ts ---reporter spec ---timeout 3000000 diff --git a/packages/frontier-plugins/plugin-vue/tsconfig.build.json b/packages/frontier-plugins/plugin-vue/tsconfig.build.json deleted file mode 100644 index 7f55461d..00000000 --- a/packages/frontier-plugins/plugin-vue/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "declarationDir": "types", - "outDir": "dist" - }, - "exclude": [ - "setupTests.ts", - "**/*spec.ts", - ] -} diff --git a/packages/frontier-plugins/plugin-vue/tsconfig.json b/packages/frontier-plugins/plugin-vue/tsconfig.json deleted file mode 100644 index 0da2bf6a..00000000 --- a/packages/frontier-plugins/plugin-vue/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "compilerOptions": { - "declaration": true, - "importHelpers": true, - "isolatedModules": true, - "module": "commonjs", - "outDir": "dist", - "rootDir": "src", - "strict": true, - "target": "es2017", - "skipLibCheck": true, - "baseUrl": "src", - "paths": { - "@/*": [ - "./src/*" - ] - }, - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - }, - "include": [ - "src/**/*" - ] -} diff --git a/patches/node-notifier-cli+2.0.0.patch b/patches/node-notifier-cli+2.0.0.patch deleted file mode 100644 index 41fabb75..00000000 --- a/patches/node-notifier-cli+2.0.0.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/node_modules/node-notifier-cli/bin.js b/node_modules/node-notifier-cli/bin.js -index 9385f22..da68d05 100755 ---- a/node_modules/node-notifier-cli/bin.js -+++ b/node_modules/node-notifier-cli/bin.js -@@ -74,6 +74,7 @@ function doNotification(options) { - // Do not show an empty message - process.exit(0); - } -+ options = Object.assign({}, options, { timeout: false }); - notifier.notify(options, function(err, msg) { - if (err) { - console.error(err.message); diff --git a/src/commands/adam/README.md b/src/commands/adam/README.md new file mode 100644 index 00000000..688418ff --- /dev/null +++ b/src/commands/adam/README.md @@ -0,0 +1,124 @@ +# Adam + +`Adam` has been provided to allow for easier development. This template provides the basic structure needed to develop a simple frontier-based namespace. It also provides sample commands and tests to get you started.. + +      + + +## Table of Contents + +* [Usage](#usage) +* [Files](#files) +* [Testing](#testing) + + +  +  +  + +## Usage + +Copy the `/src/commands/adam` folder and rename as needed to support your new frontier namespace. Follow the folder and file structure create commands, topics and tests for your namespace. + +```bash +npm install --global @realdecoy/frontier +frontier adam +``` +or +```bash +npx @realdecoy/frontier adam +``` + +The help menu can be accessed with the command: + +```bash +frontier adam --help +``` + +  +  +  + + + +## Options +```txt +Usage: + frontier adam + +Commands: + hello - say hello + world - say hello to the world + +Options: + --help - Show help information +``` + +  +  +  + +## Files +``` +adam +├── hello +│ ├── hello.test.ts +│ └── index.ts +├── world +│ ├── world.test.ts +│ └── index.ts +├── index.ts +└── README.md +``` + +`./hello` - example of a command folder + +`./hello/hello.test.ts` - test file for `hello` command + +`./hello/index.ts` - configuration and execution logic for the `hello` command + +`./world` - example of a command folder (with nested commands) + +`./world/index.ts` - configuration and execution logic for the `world` command + +`./world/galaxy.test.ts` - test file for `world galaxy` command + +`./world/world.test.ts` - test file for `world` command + +`./world/galaxy.ts` - configuration and execution logic for the `world galaxy` command + +`./index.ts` - namespace configuration and descriptor for shorthand help menu + +`./README.md` - repository specific documentation for the namespace + +  +  +  + +## Testing + +### Run Unit Test Suite +```bash +yarn run test +``` +or +```bash +npm run test +``` + +### Creating Tests +- create a ```.test.ts``` file in the respective folder +- using ```chai``` assertion syntax, describe your unit test cases +- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see more details + +      + +## Contribution Instructions +### Testing Requirements +All code contributions made to this repository be properly tested. For testing the testing framework Jest is used. All test files must be writen with the extension ".spec.ts", to maintain the consistency of this project. + +### GitHub Commits +All commits maded to this repository be rewritten according to the [Conventional Commit Messages Standard](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13). This is to ensure that consistency is maintained throughout the repository. + +### Pull Request +When creating a pull request ensure that the request is well documented and the changes made to the repository have been properly noted. Ensure to link the issue number/s that the pull request satisfies. diff --git a/src/commands/adam/hello/hello.test.ts b/src/commands/adam/hello/hello.test.ts new file mode 100644 index 00000000..6fc40ee3 --- /dev/null +++ b/src/commands/adam/hello/hello.test.ts @@ -0,0 +1,11 @@ +import { expect, test } from '@oclif/test'; +import { ADAM_CLI_COMMANDS } from '../../../lib/constants'; + +describe(`${ADAM_CLI_COMMANDS.Hello}`, () => { + test + .stdout() + .command([ADAM_CLI_COMMANDS.Hello]) + .it(`runs frontier ${ADAM_CLI_COMMANDS.Hello} --help`, ctx => { + expect(ctx.stdout).to.contain('Adam says Hello!'); + }); +}); diff --git a/src/commands/adam/hello/index.ts b/src/commands/adam/hello/index.ts new file mode 100644 index 00000000..ab481268 --- /dev/null +++ b/src/commands/adam/hello/index.ts @@ -0,0 +1,51 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Command, Flags } from '@oclif/core'; + +export default class Hello extends Command { + static aliases = ['adam hello']; + + static hidden = false; + + static description = 'say hello'; + + static flags = { + help: Flags.help({ name: 'help', char: 'h', hidden: false }), + } + + showHelp(): void { + const commandId = Hello.id; + const commandFlags = Object.values(Hello.flags); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId)}} + + Options:${optionList} + `); + } + + async run(): Promise { + const { flags } = await this.parse(Hello); + const commandFlags = Object.values(flags); + const isHelp = commandFlags.includes('--help') || commandFlags.includes('-h'); + + if (isHelp) { + this.showHelp(); + } else { + this.log(chalk.green('Adam says Hello!')); + } + + return Promise.resolve(); + } +} diff --git a/src/commands/adam/index.ts b/src/commands/adam/index.ts new file mode 100644 index 00000000..5bf52afc --- /dev/null +++ b/src/commands/adam/index.ts @@ -0,0 +1,64 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; + +export default class Adam extends Command { + static hidden = true; + + static description = 'Frontier namespace template'; + + static flags = { + help: Flags.help({ name: 'help', char: 'h', hidden: false }), + } + + static args = { + hello: Args.string({ name: 'hello', description: 'say hello', hidden: false }), + world: Args.string({ name: 'world', description: 'say hello to the world', hidden: false }), + } + + showHelp(): void { + const commandId = Adam.id; + const commandArgs = Object.values(Adam.args); + const commandFlags = Object.values(Adam.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId)} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + async run(): Promise { + const { args } = await this.parse(Adam); + const commandArgs = Object.values(args); + + if (commandArgs.length === 0) { + this.showHelp(); + } + + return Promise.resolve(); + } +} diff --git a/src/commands/adam/world/galaxy.test.ts b/src/commands/adam/world/galaxy.test.ts new file mode 100644 index 00000000..66a6aaaa --- /dev/null +++ b/src/commands/adam/world/galaxy.test.ts @@ -0,0 +1,11 @@ +import { expect, test } from '@oclif/test'; +import { ADAM_CLI_COMMANDS } from '../../../lib/constants'; + +describe(`${ADAM_CLI_COMMANDS.WorldGalaxy}`, () => { + test + .stdout() + .command([ADAM_CLI_COMMANDS.WorldGalaxy]) + .it(`runs frontier ${ADAM_CLI_COMMANDS.WorldGalaxy}`, ctx => { + expect(ctx.stdout).to.contain('The Galaxy says Hello!'); + }); +}); diff --git a/src/commands/adam/world/galaxy.ts b/src/commands/adam/world/galaxy.ts new file mode 100644 index 00000000..6cd4c284 --- /dev/null +++ b/src/commands/adam/world/galaxy.ts @@ -0,0 +1,49 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Command, Flags } from '@oclif/core'; + +export default class Galaxy extends Command { + static hidden = false; + + static description = 'say hello to the galaxy'; + + static flags = { + help: Flags.help({ name: 'help', char: 'h', hidden: false }), + } + + showHelp(): void { + const commandId = Galaxy.id; + const commandFlags = Object.values(Galaxy.flags); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId)}} + + Options:${optionList} + `); + } + + async run(): Promise { + const { flags } = await this.parse(Galaxy); + const commandFlags = Object.values(flags); + const isHelp = commandFlags.includes('--help') || commandFlags.includes('-h'); + + if (isHelp) { + this.showHelp(); + } else { + this.log(chalk.green('The Galaxy says Hello!')); + } + + return Promise.resolve(); + } +} diff --git a/src/commands/adam/world/index.ts b/src/commands/adam/world/index.ts new file mode 100644 index 00000000..7fda0e88 --- /dev/null +++ b/src/commands/adam/world/index.ts @@ -0,0 +1,69 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; + +export default class World extends Command { + static aliases = ['adam world']; + + static hidden = false; + + static description = 'say hello to the world'; + + static flags = { + help: Flags.help({ name: 'help', char: 'h', hidden: false }), + } + + static args = { + galaxy: Args.string({ name: 'galaxy', description: 'say hello to the galaxy', hidden: false }), + } + + showHelp(): void { + const commandId = World.id; + const commandArgs = Object.values(World.args); + const commandFlags = Object.values(World.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId)} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + async run(): Promise { + const { flags } = await this.parse(World); + const commandFlags = Object.values(flags); + // const commandArgs = Object.values(args); + const isHelp = commandFlags.includes('--help') || commandFlags.includes('-h'); + + if (isHelp) { + this.showHelp(); + } else { + this.log(chalk.green('The World says Hello!')); + } + + return Promise.resolve(); + } +} diff --git a/src/commands/adam/world/world.test.ts b/src/commands/adam/world/world.test.ts new file mode 100644 index 00000000..a76c80cd --- /dev/null +++ b/src/commands/adam/world/world.test.ts @@ -0,0 +1,11 @@ +import { expect, test } from '@oclif/test'; +import { ADAM_CLI_COMMANDS } from '../../../lib/constants'; + +describe(`${ADAM_CLI_COMMANDS.World}`, () => { + test + .stdout() + .command([ADAM_CLI_COMMANDS.World]) + .it(`runs frontier ${ADAM_CLI_COMMANDS.World}`, ctx => { + expect(ctx.stdout).to.contain('The World says Hello!'); + }); +}); diff --git a/src/commands/dotnet/README.md b/src/commands/dotnet/README.md new file mode 100644 index 00000000..1ef679e2 --- /dev/null +++ b/src/commands/dotnet/README.md @@ -0,0 +1,94 @@ +# Frontier - Dotnet + +`Dotnet`, A modern multi-project.NET project template that implements a maintainable enterprise-level API application with Api versioning, Fluent email, Fluent validation, JWT authentication, Identity role-based authorization, InMemory caching, IP rate limiting, CQRS with Mediator, Sirilog, and Swagger using Domain Driven Design (DDD) and architecture princliples. + +      + + +## Table of Contents + +* [Usage](#usage) +* [Options](#options) +* [Documentation](http://frontier.realdecoy.com/dotnet/getting-started/overview) +* [Dev Instructions](#development) +* [Testing](#testing) + + +  +  +  + +## Usage + + +```bash +npx @realdecoy/frontier dotnet +``` +Global installation: + +```bash +npm install --global @realdecoy/frontier +frontier dotnet +``` +The help menu can be accessed with the command: + +```bash +frontier dotnet --help +``` + + +  +  +  + +## Options +```txt +Usage: + frontier dotnet + +Commands: + create-project - Scaffold a new dotnet API project + add - Add a module to a project + mirgate - manage migrations for a database + +Options: + --help - Show help information +``` + + +  +  +  + +## Development + +### Install Dependencies +```bash +yarn install +``` +or +```bash +npm install +``` + +### Execute CLI commands +```bash +./bin/dev dotnet +``` + +### Creating Tests +- create a ```.test.ts``` file in the respective folder +- using ```chai``` assertion syntax, describe your unit test cases +- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see more details + +      + +## Contribution Instructions +### Testing Requirements +All code contributions made to this repository be properly tested. For testing the testing framework Jest is used. All test files must be writen with the extension ".spec.ts", to maintain the consistency of this project. + +### GitHub Commits +All commits maded to this repository be rewritten according to the [Conventional Commit Messages Standard](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13). This is to ensure that consistency is maintained throughout the repository. + +### Pull Request +When creating a pull request ensure that the request is well documented and the changes made to the repository have been properly noted. Ensure to link the issue number/s that the pull request satisfies. diff --git a/src/commands/dotnet/add/command.ts b/src/commands/dotnet/add/command.ts new file mode 100644 index 00000000..47768588 --- /dev/null +++ b/src/commands/dotnet/add/command.ts @@ -0,0 +1,121 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +// const shell = require('shelljs'); +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseDotnetModuleConfig, readAndUpdateDotnetFeatureFiles, readProjectConfig, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, isJsonString, toKebabCase, parseCommandName, parseApiFeatures } from '../../../lib/utilities'; +import { Files } from '../../../modules'; +import { ProjectConfig } from '../../../modules/project'; + +const TEMPLATE_FOLDERS = ['command']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class ApiCommand extends Command { + // static aliases = ['dotnet add command'] + + static description = 'add a new command' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of the new command' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.AddConfiguration} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName; + + const { args, flags } = await this.parse(ApiCommand); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseDotnetModuleConfig(folderList, projectRoot); + + // pick previous migration + const featureName = await parseApiFeatures(args, projectName as string, 'command'); + + // retrieve component name + const commandName = await parseCommandName(args); + // parse kebab and pascal case of componentName + const commandNameKebab = toKebabCase(commandName); + // const commandNamePascal = toPascalCase(commandName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + config.manifest.installDirectory = config.manifest.installDirectory.replace('__PROJECT_NAME__', projectName); + config.manifest.installDirectory = config.manifest.installDirectory.replace('__COMMAND_NAME__', commandName); + config.manifest.installDirectory = config.manifest.installDirectory.replace('__FEATURE_NAME__', featureName); + + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, commandName); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + // copy and update files for command being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateDotnetFeatureFiles(installDirectory, files, commandNameKebab, commandName, undefined, projectName, featureName); + }); + + this.log(`${CLI_STATE.Success} command added: ${commandName}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOTNET_DOCUMENTATION_LINKS.Command)}\n`); + } +} diff --git a/src/commands/dotnet/add/configuration.ts b/src/commands/dotnet/add/configuration.ts new file mode 100644 index 00000000..6b6c2cc8 --- /dev/null +++ b/src/commands/dotnet/add/configuration.ts @@ -0,0 +1,116 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +// const shell = require('shelljs'); +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseDotnetModuleConfig, readAndUpdateDotnetFeatureFiles, readProjectConfig, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, isJsonString, toKebabCase, parseConfigurationName } from '../../../lib/utilities'; +import { Files } from '../../../modules'; +import { ProjectConfig } from '../../../modules/project'; + +const TEMPLATE_FOLDERS = ['configuration']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Configuration extends Command { + // static aliases = ['dotnet add configuration'] + + static description = 'add a new configuration' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of the new configuration' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.AddConfiguration} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName; + + const { args, flags } = await this.parse(Configuration); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseDotnetModuleConfig(folderList, projectRoot); + + // retrieve component name + const configurationName = await parseConfigurationName(args); + // parse kebab and pascal case of componentName + const configurationNameKebab = toKebabCase(configurationName); + // const configurationNamePascal = toPascalCase(configurationName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + config.manifest.installDirectory = config.manifest.installDirectory.replace('__PROJECT_NAME__', projectName); + + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, configurationName); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + // copy and update files for configuration being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateDotnetFeatureFiles(installDirectory, files, configurationNameKebab, configurationName, undefined, projectName); + }); + + this.log(`${CLI_STATE.Success} configuration added: ${configurationName}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOTNET_DOCUMENTATION_LINKS.Configuration)}\n`); + } +} diff --git a/src/commands/dotnet/add/endpoint.ts b/src/commands/dotnet/add/endpoint.ts new file mode 100644 index 00000000..e1650d89 --- /dev/null +++ b/src/commands/dotnet/add/endpoint.ts @@ -0,0 +1,118 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +// const shell = require('shelljs'); +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseDotnetModuleConfig, readAndUpdateDotnetFeatureFiles, readProjectConfig, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, isJsonString, parseEndpointName, toKebabCase } from '../../../lib/utilities'; +import { Files } from '../../../modules'; +import { ProjectConfig } from '../../../modules/project'; + +const TEMPLATE_FOLDERS = ['endpoint']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Endpoint extends Command { + // static aliases = ['dotnet add endpoint'] + + static description = 'add a new endpoint' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of the new endpoint' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.AddConfiguration} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName; + + const { args, flags } = await this.parse(Endpoint); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseDotnetModuleConfig(folderList, projectRoot); + + // retrieve component name + const endpointName = await parseEndpointName(args); + // parse kebab and pascal case of componentName + const endpointNameKebab = toKebabCase(endpointName); + // const endpointNamePascal = toPascalCase(endpointName); + const endpointNameLower = endpointName.toLowerCase(); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + config.manifest.installDirectory = config.manifest.installDirectory.replace('__PROJECT_NAME__', projectName); + config.manifest.installDirectory = config.manifest.installDirectory.replace('__ENDPOINT_NAME__', endpointName); + + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, endpointName); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + // copy and update files for command being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateDotnetFeatureFiles(installDirectory, files, endpointNameKebab, endpointName, undefined, projectName, undefined, endpointNameLower); + }); + + this.log(`${CLI_STATE.Success} endpoint added: ${endpointName}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOTNET_DOCUMENTATION_LINKS.Endpoint)}\n`); + } +} diff --git a/src/commands/dotnet/add/entity.ts b/src/commands/dotnet/add/entity.ts new file mode 100644 index 00000000..96062a6e --- /dev/null +++ b/src/commands/dotnet/add/entity.ts @@ -0,0 +1,117 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +// const shell = require('shelljs'); +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseDotnetModuleConfig, readAndUpdateDotnetFeatureFiles, readProjectConfig, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseEntityName, isJsonString, toKebabCase } from '../../../lib/utilities'; +import { Files } from '../../../modules'; +import { ProjectConfig } from '../../../modules/project'; + +const TEMPLATE_FOLDERS = ['entity']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Entity extends Command { + // static aliases = ['dotnet add entity'] + + static description = 'add a new entity' + + static flags = { + help: Flags.boolean({ hidden: false }), + auditable: Flags.boolean({ hidden: true }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of the new entity' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.AddEntity} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName; + + const { args, flags } = await this.parse(Entity); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseDotnetModuleConfig(folderList, projectRoot); + + // retrieve component name + const entityName = await parseEntityName(args); + // parse kebab and pascal case of componentName + const entityNameKebab = toKebabCase(entityName); + // const entityNamePascal = toPascalCase(entityName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + config.manifest.installDirectory = config.manifest.installDirectory.replace('__PROJECT_NAME__', projectName); + + // replace file names in config with title case equivalent + replaceTargetFileNames(files, entityName); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + // copy and update files for entity being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateDotnetFeatureFiles(installDirectory, files, entityNameKebab, entityName, undefined, projectName); + }); + + this.log(`${CLI_STATE.Success} entity added: ${entityName}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOTNET_DOCUMENTATION_LINKS.Entity)}\n`); + } +} diff --git a/src/commands/dotnet/add/index.ts b/src/commands/dotnet/add/index.ts new file mode 100644 index 00000000..58c3044d --- /dev/null +++ b/src/commands/dotnet/add/index.ts @@ -0,0 +1,108 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; +import { CLI_STATE } from '../../../lib/constants'; +import { isJsonString } from '../../../lib/utilities'; + +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Add extends Command { + // static aliases = ['dotnet add']; + + static description = 'add a new module'; + + static flags = { + help: Flags.boolean({name:'help',description: 'Show help information ', hidden: false }), + } + + static args = { + endpoint: Args.string({ name: 'layout', description: 'API project endpoint folder & sample route', hidden: false }), + query: Args.string({ name: 'query', description: 'application query class, handler & validator', hidden: false }), + command: Args.string({ name: 'command', description: 'application command class, handler & validator', hidden: false }), + entity: Args.string({ name: 'entity', description: 'database model', hidden: false }), + configuration: Args.string({ name: 'configuration', description: 'database configuration', hidden: false }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + showHelp(): void { + const commandId = Add.id; + const commandArgs = Object.values(Add.args); + const commandFlags = Object.values(Add.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId.split(':')[1])} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Add); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/dotnet/add/query.ts b/src/commands/dotnet/add/query.ts new file mode 100644 index 00000000..b115b9fc --- /dev/null +++ b/src/commands/dotnet/add/query.ts @@ -0,0 +1,121 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +// const shell = require('shelljs'); +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseDotnetModuleConfig, readAndUpdateDotnetFeatureFiles, readProjectConfig, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, isJsonString, toKebabCase, parseCommandName, parseApiFeatures } from '../../../lib/utilities'; +import { Files } from '../../../modules'; +import { ProjectConfig } from '../../../modules/project'; + +const TEMPLATE_FOLDERS = ['query']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Query extends Command { + // static aliases = ['dotnet add query'] + + static description = 'add a new query' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of the new query' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.AddConfiguration} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName; + + const { args, flags } = await this.parse(Query); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseDotnetModuleConfig(folderList, projectRoot); + + // pick previous migration + const featureName = await parseApiFeatures(args, projectName as string, 'query'); + + // retrieve component name + const queryName = await parseCommandName(args); + // parse kebab and pascal case of componentName + const queryNameKebab = toKebabCase(queryName); + // const queryNamePascal = toPascalCase(queryName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + config.manifest.installDirectory = config.manifest.installDirectory.replace('__PROJECT_NAME__', projectName); + config.manifest.installDirectory = config.manifest.installDirectory.replace('__QUERY_NAME__', queryName); + config.manifest.installDirectory = config.manifest.installDirectory.replace('__FEATURE_NAME__', featureName); + + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, queryName); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + // copy and update files for query being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateDotnetFeatureFiles(installDirectory, files, queryNameKebab, queryName, undefined, projectName, featureName); + }); + + this.log(`${CLI_STATE.Success} query added: ${queryName}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(DOTNET_DOCUMENTATION_LINKS.Query)}\n`); + } +} diff --git a/src/commands/dotnet/create-project/create-project.test.ts b/src/commands/dotnet/create-project/create-project.test.ts new file mode 100644 index 00000000..0630dbf6 --- /dev/null +++ b/src/commands/dotnet/create-project/create-project.test.ts @@ -0,0 +1,43 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const testProjectName = 'rdv-hello-world'; +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +// const badProjectName = '$testProject@project'; + +describe(VUE_CLI_COMMANDS.CreateProject, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .it(`runs ${VUE_CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${testProjectName} is ready!`); + }); + + test + .stdout() + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir('../')) + .it(`runs ${VUE_CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { + expect(ctx.stdout).to.contain('[frontier] you are already in an existing frontier project'); + }); + + // test + // .stdout() + // .command([VUE_CLI_COMMANDS.CreateProject, badProjectName, skipPresets]) + // .it('tries to run create project with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${VUE_CLI_COMMANDS.CreateProject} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/dotnet/create-project/index.ts b/src/commands/dotnet/create-project/index.ts new file mode 100644 index 00000000..93b2c705 --- /dev/null +++ b/src/commands/dotnet/create-project/index.ts @@ -0,0 +1,227 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +import { Args, Command, Flags, ux } from '@oclif/core'; +import { checkIfFolderExists } from '../../../lib/files'; +import { + checkProjectValidity, + parseProjectName, + isJsonString +} from '../../../lib/utilities'; +import { + DOTNET_TEMPLATE_REPO, + DOTNET_TEMPLATE_TAG, + DOTNET_TEMPLATE_SHORT_NAME, + CLI_STATE, + DOTNET_DOCKER_IMAGE, + DOTNET_DOCKER_IMAGE_TAG, + DOTNET_DOCKER_VOLUME, + DOCKER_RUN_COMMAND, + DOCKER_APP_DIR, + FRONTIER_RC, +} from '../../../lib/constants'; +import path from 'path'; +import os from 'os'; + + +const CUSTOM_ERROR_CODES = new Set([ + 'existing-project', + 'existing-folder', + 'project-not-created', + 'docker-required', +]); + +export default class CreateProject extends Command { + // static aliases = ['dotnet create-project']; + + static description = 'Scaffold a new project' + + static flags = { + help: Flags.boolean({ hidden: false }), + dotnetVersion: Flags.string({ hidden: false }), + withSentry: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of project to create' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { flags, args } = await this.parse(CreateProject); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const template = DOTNET_TEMPLATE_REPO; + const templateShortName = DOTNET_TEMPLATE_SHORT_NAME; + const tag = DOTNET_TEMPLATE_TAG; + const dotnetImageName = DOTNET_DOCKER_IMAGE; + const volumeName = `${DOTNET_DOCKER_VOLUME}_${tag}`; + const dockerRunCommand = DOCKER_RUN_COMMAND; + const appPath = DOCKER_APP_DIR; + const isTest = flags.isTest === true; + const dotnetImageversion = flags.dotnetVersion || DOTNET_DOCKER_IMAGE_TAG; + const withSentry = (flags.withSentry || true) === true; + + const dockerImage = `${dotnetImageName}:${dotnetImageversion}`; + + let projectName = ''; + const { isValid: isValidProject } = checkProjectValidity(); + // block command if being run within an frontier project + if (isValidProject) { + throw new Error( + JSON.stringify({ + code: 'existing-project', + message: `you are already in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + // retrieve project name + projectName = await parseProjectName(args, 'MyApiProject'); + // verify that project folder doesnt already exist + checkIfFolderExists(projectName); + + if (!shell.which('docker')) { + throw new Error( + JSON.stringify({ + code: 'docker-required', + message: 'docker not found', + }), + ); + } + + ux.action.type = 'spinner'; + + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} creating project ${chalk.whiteBright(projectName)}`); + } + + const currentDir = process.cwd() + const appHostMountDir = path.join(currentDir, projectName); + const certHostMountDir = path.join(os.homedir(), '.aspnet', 'https'); + + // retrieve project files from template source + try { + // Creating a volume that will be used to share the Dotnet template installation + await shell.exec(`docker volume create ${volumeName}`, { silent: true }); + + // Downloading the template + const success1 = await shell.exec(`${dockerRunCommand} -v ${volumeName}:/root ${dockerImage} dotnet new install ${template}${tag} --force`, { silent: true }); + + if (success1.code !== 0) { + throw new Error( + JSON.stringify({ + code: 'project-not-created', + message: `An error occurred while retrieving project files from the template source. \n\n${success1.stderr}`, + }) + ); + } + + // Creating the project using the tempplate + const success2 = await shell.exec(`${dockerRunCommand} -v ${volumeName}:/root -v ${currentDir}:${appPath} -w ${appPath} ${dockerImage} dotnet new ${templateShortName} --name ${projectName} --sentry ${withSentry}`, { silent: true }); + + if (success2.code !== 0) { + throw new Error( + JSON.stringify({ + code: 'project-not-created', + message: `An error occurred while creating the project. \n\n${success2.stderr}`, + }) + ); + } + + // Removing the template volume after the project has been created + await shell.exec(`docker volume rm ${volumeName}`, { silent: true }); + + } catch (error) { + throw error; + } + + if (isTest !== true) { + ux.action.stop(); + ux.action.start(`${CLI_STATE.Info} Setting up project configurations`); + } + + // initialize .frontierrc config file + const frontierrcResult = await shell.exec(`cd ${projectName} && echo '{\n\t"type": "dotnet",\n\t"projectName": "${projectName}",\n\t"dotnetVersion": "${dotnetImageversion}"\n}' > ${FRONTIER_RC}`, { silent: true }); + + if (frontierrcResult.code !== 0) { + throw new Error( + JSON.stringify({ + code: 'frontierrc-initialization-error', + message: `An error occurred while initializing the ${FRONTIER_RC} config file.\n\n${frontierrcResult.stderr}`, + }), + ); + } + + // initialize git in the created project + const gitResult = await shell.exec(`cd ${projectName} && git init && git add . && git commit -m "Setup: first commit" && git branch -M main`, { silent: true }); + + if (gitResult.code !== 0) { + throw new Error( + JSON.stringify({ + code: 'git-initialization-error', + message: `An error occurred while initializing git in the created project.\n\n${gitResult.stderr}`, + }), + ); + } + + if (isTest !== true) { + ux.action.stop(); + } + + const dockerDotnetCommand = `${dockerRunCommand} -v ${appHostMountDir}:/app -v ${certHostMountDir}:/https -w ${appPath} ${dockerImage}` + + // Generate and trust SSL certificate for HTTPS + const devCerts1 = await shell.exec(`${dockerDotnetCommand} dotnet dev-certs https -ep "/https/aspnetapp.pfx" -p Password123`, { silent: true }); + const devCerts2 = await shell.exec(`${dockerDotnetCommand} dotnet dev-certs https --trust`, { silent: true }); + + if (devCerts1.code !== 0 || devCerts2.code !== 0) { + throw new Error( + JSON.stringify({ + code: 'ssl-certificate-error', + message: `An error occurred while generating or trusting the SSL certificate.\n\n${devCerts1.stderr} \n\n${devCerts2.stderr}`, + }), + ); + } + + this.log(`${CLI_STATE.Success} ${chalk.whiteBright(projectName)} is ready!`); + + // Output final instructions to user + this.log(`\nNext Steps:\n${chalk.magenta('-')} cd ${chalk.whiteBright(projectName)}\n${chalk.magenta('-')} docker-compose up --build\n${chalk.magenta('-')} ${chalk.yellow('frontier')} migrate new Initial -a ${chalk.whiteBright(projectName)}\n`); + } +} diff --git a/src/commands/dotnet/index.ts b/src/commands/dotnet/index.ts new file mode 100644 index 00000000..0510bcf5 --- /dev/null +++ b/src/commands/dotnet/index.ts @@ -0,0 +1,105 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; +import { CLI_STATE } from '../../lib/constants'; +import { isJsonString } from '../../lib/utilities'; + +const CUSTOM_ERROR_CODES = new Set([ + 'existing-project', + 'existing-folder', + 'file-not-changed', +]); + +export default class Dotnet extends Command { + static hidden = false; + + static description = 'Dotnet API scaffolding'; + + static flags = { + help: Flags.boolean({name:'help',description: 'Show help information ', hidden: false }), + isTopic: Flags.string({ name: 'isTopic', hidden: true }), + } + + static args = { + 'create-project': Args.string({ name: 'create-project', description: 'Scaffold a new dotnet API project', hidden: false }), + add: Args.string({ name: 'add', description: 'add a module to a project', hidden: false }), + migrate: Args.string({ name: 'migrate', description: 'manage migrations for a database', hidden: false }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + showHelp(): void { + const commandArgs = Object.values(Dotnet.args); + const commandFlags = Object.values(Dotnet.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Dotnet); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/dotnet/migrate/down.ts b/src/commands/dotnet/migrate/down.ts new file mode 100644 index 00000000..952a6702 --- /dev/null +++ b/src/commands/dotnet/migrate/down.ts @@ -0,0 +1,106 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +import { Args, Command, Flags } from '@oclif/core'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_TOOL_EXPORT_PATH, DOTNET_DOCKER_IMAGE_TAG } from '../../../lib/constants'; +import { readProjectConfig } from '../../../lib/files'; +import { checkProjectValidity, isJsonString, parseAppContainerName, parseMigrations } from '../../../lib/utilities'; +import { ProjectConfig } from '../../../modules/project'; +import path from 'node:path'; + +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Down extends Command { + // static aliases = ['dotnet migrate up'] + + static description = 'revert to previous migration' + + static flags = { + help: Flags.help({ char: 'h' }), + appContainer: Flags.string({ char: 'a', description: "This is the name of the container that is running the Dotnet API" }), + environment: Flags.string({ char: 'e', description: "The target environment for the migrations to be applied. Default is Local. Options are Debug or Release" }), + configuration: Flags.string({ char: 'c', description: "This can either be Debug or Release. The default is Debug" }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of the previous migration' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + async run(): Promise { + + // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars + const { args, flags } = await this.parse(Down); + const environment = flags.environment || 'Local'; + const configuration = flags.configuration || 'Debug'; + const appContainer = flags.appContainer; + + let migrationName = ''; + let parsedContainerName = ''; + + // block command unless being run within an frontier project + const { isValid: isValidProject } = checkProjectValidity(); + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.MigrationNew} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName || ""; + const dotnetVersion = projectConfig.dotnetVersion || DOTNET_DOCKER_IMAGE_TAG; + const envVariables = [`ASPNETCORE_ENVIRONMENT=${environment}`] + .map((e) => `-e ${e}`) + .join(" "); + + const dotnetEfFlags = `--context ${projectName}DbContext\ + --startup-project ${projectName}.Api/${projectName}.Api.csproj \ + --configuration ${configuration} \ + --project ${projectName}.Persistence/${projectName}.Persistence.csproj`; + + // pick previous migration + migrationName = await parseMigrations(args, projectName as string); + parsedContainerName = await parseAppContainerName(appContainer, projectName); + + const migrationFileName = path.parse(migrationName).name; + + await shell.exec(`docker exec ${parsedContainerName} /bin/sh -c "dotnet tool install \ + --global dotnet-ef --version ${dotnetVersion}"`, { silent: true }); + + await shell.exec(`docker exec ${envVariables} ${parsedContainerName} /bin/sh -c "cd ../ && \ + export ${DOTNET_TOOL_EXPORT_PATH} && \ + dotnet ef database update ${migrationFileName} ${dotnetEfFlags}"`, { silent: false }); + } +} diff --git a/src/commands/dotnet/migrate/index.ts b/src/commands/dotnet/migrate/index.ts new file mode 100644 index 00000000..ebd9b55f --- /dev/null +++ b/src/commands/dotnet/migrate/index.ts @@ -0,0 +1,74 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; + +export default class Migrate extends Command { + // static aliases = ['vue add']; + + static description = 'perform a migration action'; + + static flags = { + help: Flags.boolean({name:'help',description: 'Show help information ', hidden: false }), + } + + static args = { + new: Args.string({ name: 'new', description: 'new migration', hidden: false }), + up: Args.string({ name: 'up', description: 'apply all migrations', hidden: false }), + down: Args.string({ name: 'down', description: 'revert to a previous migration', hidden: false }), + remove: Args.string({ name: 'remove', description: 'remove latest migration', hidden: false }), + } + + showHelp(): void { + const commandId = Migrate.id; + const commandArgs = Object.values(Migrate.args); + const commandFlags = Object.values(Migrate.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId.split(':')[1])} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Migrate); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/dotnet/migrate/new.ts b/src/commands/dotnet/migrate/new.ts new file mode 100644 index 00000000..4a1c20b9 --- /dev/null +++ b/src/commands/dotnet/migrate/new.ts @@ -0,0 +1,102 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +import { Args, Command, Flags } from '@oclif/core'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_DOCKER_IMAGE_TAG, DOTNET_TOOL_EXPORT_PATH } from '../../../lib/constants'; +import { readProjectConfig } from '../../../lib/files'; +import { checkProjectValidity, parseMigrationName, isJsonString, parseAppContainerName } from '../../../lib/utilities'; +import { ProjectConfig } from '../../../modules/project'; +// import path from 'path'; + +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class New extends Command { + // static aliases = ['dotnet migrate new'] + + static description = 'add a new migration' + + static flags = { + help: Flags.help({ char: 'h' }), + environment: Flags.string({ char: 'e', description: "The target environment for the migrations to be applied. Default is 'Local'." }), + configuration: Flags.string({ char: 'c', description: "This can either be Debug or Release. The default is 'Debug'" }), + appContainer: Flags.string({ char: 'a', description: "This is the name of the container that is running the application" }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of the new migration' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + async run(): Promise { + const { isValid: isValidProject } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.MigrationNew} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const { flags, args } = await this.parse(New); + + const environment = flags.environment || 'Local'; + const configuration = flags.configuration || 'Debug'; + const appContainer = flags.appContainer; + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName || ""; + const dotnetVersion = projectConfig.dotnetVersion || DOTNET_DOCKER_IMAGE_TAG; + const envVariables = [`ASPNETCORE_ENVIRONMENT=${environment}`] + .map((e) => `-e ${e}`) + .join(" "); + + // retrieve migration name + const migrationName = await parseMigrationName(args); + const parsedContainerName = await parseAppContainerName(appContainer, projectName); + + const installCommand = `docker exec ${parsedContainerName} /bin/sh -c "dotnet tool install --global dotnet-ef --version ${dotnetVersion}"`; + + const addNewCommand = `docker exec ${envVariables} ${parsedContainerName} /bin/sh -c "cd ../ && export ${DOTNET_TOOL_EXPORT_PATH} &&\ + dotnet ef migrations add ${migrationName} --context ${projectName}DbContext \ + --startup-project ${projectName}.Api/${projectName}.Api.csproj \ + --configuration ${configuration} \ + --project ${projectName}.Persistence/${projectName}.Persistence.csproj"`; + + // Install dotnet tools + await shell.exec(installCommand, { silent: true }); + + // Add a new migration to project + await shell.exec(addNewCommand, { silent: false }); + } +} diff --git a/src/commands/dotnet/migrate/remove.ts b/src/commands/dotnet/migrate/remove.ts new file mode 100644 index 00000000..45b95476 --- /dev/null +++ b/src/commands/dotnet/migrate/remove.ts @@ -0,0 +1,108 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +import { Command, Flags } from '@oclif/core'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_DOCKER_IMAGE_TAG, DOTNET_TOOL_EXPORT_PATH } from '../../../lib/constants'; +import { readProjectConfig } from '../../../lib/files'; +import { checkProjectValidity, isJsonString, parseAppContainerName } from '../../../lib/utilities'; +import { ProjectConfig } from '../../../modules/project'; +// import path from 'path'; + +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Remove extends Command { + // static aliases = ['dotnet migrate up'] + + static description = 'revert to previous migration' + + static flags = { + help: Flags.help({ char: 'h' }), + appContainer: Flags.string({ char: 'a', description: "This is the name of the container that is running the Dotnet API" }), + environment: Flags.string({ char: 'e', description: "The target environment for the migrations to be applied. Default is Local. Options are Debug or Release" }), + configuration: Flags.string({ char: 'c', description: "This can either be Debug or Release. The default is Debug" }), + prevMigration: Flags.string({ char: 'm', description: "(Experimental) Remove all migration after the specified migration. Starting from the most recent migration" }), + } + + static args = {} + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + async run(): Promise { + const { isValid: isValidProject } = checkProjectValidity(); + + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.MigrationNew} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const { flags } = await this.parse(Remove); + + const environment = flags.environment || 'Local'; + const configuration = flags.configuration || 'Debug'; + const appContainer = flags.appContainer; + const prevMigration = flags.prevMigration; + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName || ""; + const dotnetVersion = projectConfig.dotnetVersion || DOTNET_DOCKER_IMAGE_TAG; + const envVariables = [`ASPNETCORE_ENVIRONMENT=${environment}`] + .map((e) => `-e ${e}`) + .join(" "); + + const dotnetEfFlags = `--context ${projectName}DbContext\ + --startup-project ${projectName}.Api/${projectName}.Api.csproj \ + --configuration ${configuration} \ + --project ${projectName}.Persistence/${projectName}.Persistence.csproj`; + + // Get the container name if it not added as flag + const parsedContainerName = await parseAppContainerName(appContainer, projectName); + + await shell.exec(`docker exec ${parsedContainerName} /bin/sh -c "dotnet tool install \ + --global dotnet-ef --version ${dotnetVersion}"`, { silent: true }); + + if (prevMigration && prevMigration.trim()) { + // Update the database up to the migration enttered and remove all migrations that follow from the Database + await shell.exec(`docker exec ${envVariables} ${parsedContainerName} /bin/sh -c "cd ../ && \ + export ${DOTNET_TOOL_EXPORT_PATH} && \ + dotnet ef database update ${prevMigration} ${dotnetEfFlags}"`, { silent: false }); + } + + // Delete the last migration file to project + await shell.exec(`docker exec ${envVariables} ${parsedContainerName} /bin/sh -c "cd ../ && \ + export ${DOTNET_TOOL_EXPORT_PATH} && \ + dotnet ef migrations remove ${dotnetEfFlags}"`, { silent: false }); + } +} diff --git a/src/commands/dotnet/migrate/up.ts b/src/commands/dotnet/migrate/up.ts new file mode 100644 index 00000000..9f1eeed9 --- /dev/null +++ b/src/commands/dotnet/migrate/up.ts @@ -0,0 +1,98 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +import { Command, Flags } from '@oclif/core'; +import { DOTNET_CLI_COMMANDS, CLI_STATE, DOTNET_DOCKER_IMAGE_TAG, DOTNET_DOCKER_VOLUME, DOTNET_TOOL_EXPORT_PATH } from '../../../lib/constants'; +import { readProjectConfig } from '../../../lib/files'; +import { checkProjectValidity, isJsonString, parseAppContainerName, parseProjectName } from '../../../lib/utilities'; +import { ProjectConfig } from '../../../modules/project'; +// import path from 'path'; + +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Up extends Command { + // static aliases = ['dotnet migrate up'] + + static description = 'apply all migrations' + + static flags = { + help: Flags.help({ char: 'h' }), + environment: Flags.string({ char: 'e', description: "The target environment for the migrations to be applied. Default is Local." }), + configuration: Flags.string({ char: 'c', description: "This can either be Debug or Release. The default is Debug" }), + appContainer: Flags.string({ char: 'a', description: "This is the name of the container that is running the Dotnet API" }), + } + + static args = {} + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + async run(): Promise { + const { isValid: isValidProject } = checkProjectValidity(); + const { flags, args } = await this.parse(Up); + + const environment = flags.environment || 'Local'; + const configuration = flags.environment || 'Debug'; + const appContainer = flags.appContainer; + + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${DOTNET_CLI_COMMANDS.MigrationUp} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const projectConfig: ProjectConfig = readProjectConfig(); + const projectName = projectConfig.projectName || ""; + const dotnetVersion = projectConfig.dotnetVersion || DOTNET_DOCKER_IMAGE_TAG; + const envVariables = [`ASPNETCORE_ENVIRONMENT=${environment}`] + .map((e) => `-e ${e}`) + .join(" "); + + const parsedContainerName = await parseAppContainerName(appContainer, projectName); + + const installCommand = `docker exec ${parsedContainerName} sh -c "dotnet tool install --global dotnet-ef --version ${dotnetVersion}"`; + + const migrateCommand = `docker exec ${envVariables} ${parsedContainerName} sh -c "cd ../ && export ${DOTNET_TOOL_EXPORT_PATH} &&\ + dotnet ef database update --context ${projectName}DbContext \ + --startup-project ${projectName}.Api/${projectName}.Api.csproj \ + --configuration ${configuration} \ + --project ${projectName}.Persistence/${projectName}.Persistence.csproj"`; + + await shell.exec(`${installCommand}`, { silent: true }); + + // add a new migration to project + await shell.exec(`${migrateCommand}`, { silent: false }); + + } +} diff --git a/src/commands/mobile/README.md b/src/commands/mobile/README.md new file mode 100644 index 00000000..6becff5a --- /dev/null +++ b/src/commands/mobile/README.md @@ -0,0 +1,94 @@ +# Frontier - Mobile + +`Frontier - Mobile` is an opinionated CLI for generating React Native Expo projects. We do so by adopting a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Screen models, and a data-layer design promoting unified consumption through React Contexts and Services. Follow the installation guide below to set up the Stripe CLI. + +      + + +## Table of Contents + +* [Usage](#usage) +* [Options](#options) +* [Documentation](http://frontier.realdecoy.com/mobile/getting-started/overview) +* [Dev Instructions](#development) +* [Testing](#testing) + + +  +  +  + +## Usage + + +```bash +npm install --global @realdecoy/frontier +frontier mobile +``` +or +```bash +npx @realdecoy/frontier mobile +``` + +The help menu can be accessed with the command: + +```bash +frontier mobile --help +``` + + +  +  +  + +## Options +```txt +Usage: + frontier mobile + +Commands: + add - Add a feature to a project + create-project - Scaffold a new project + plugin - Inject a utility to extend project functionality + +Options: + --help - Show help information +``` + + +  +  +  + +## Development + +### Install Dependencies +```bash +yarn install +``` +or +```bash +npm install +``` + +### Execute CLI commands +```bash +./bin/dev mobile +``` + +### Creating Tests +- create a ```.test.ts``` file in the respective folder +- using ```chai``` assertion syntax, describe your unit test cases +- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see more details + +      + +## Contribution Instructions +### Testing Requirements +All code contributions made to this repository be properly tested. For testing the testing framework Jest is used. All test files must be writen with the extension ".spec.ts", to maintain the consistency of this project. + +### GitHub Commits +All commits maded to this repository be rewritten according to the [Conventional Commit Messages Standard](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13). This is to ensure that consistency is maintained throughout the repository. + +### Pull Request +When creating a pull request ensure that the request is well documented and the changes made to the repository have been properly noted. Ensure to link the issue number/s that the pull request satisfies. diff --git a/src/commands/mobile/add/add.test.ts b/src/commands/mobile/add/add.test.ts new file mode 100644 index 00000000..405cde4d --- /dev/null +++ b/src/commands/mobile/add/add.test.ts @@ -0,0 +1,18 @@ +import { expect, test } from '@oclif/test'; +import { MOBILE_CLI_COMMANDS } from '../../../lib/constants'; + +describe(`${MOBILE_CLI_COMMANDS.AddModule} module`, () => { + test + .stdout() + .command([MOBILE_CLI_COMMANDS.AddModule]) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddModule} --help`, ctx => { + expect(ctx.stdout).to.contain('frontier add '); + }); + + test + .stdout() + .command([MOBILE_CLI_COMMANDS.PoorHelpCommand]) + .it(`runs poorly formatted mobile ${MOBILE_CLI_COMMANDS.AddModule} -help command`, ctx => { + expect(ctx.stdout).to.contain(`command not found: ${MOBILE_CLI_COMMANDS.PoorHelpCommand}`); + }); +}); diff --git a/src/commands/mobile/add/component.test.ts b/src/commands/mobile/add/component.test.ts new file mode 100644 index 00000000..290aa214 --- /dev/null +++ b/src/commands/mobile/add/component.test.ts @@ -0,0 +1,35 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { MOBILE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const testProjectName = 'mob-component-test'; +const testComponentName = 'hello-world'; +const { log } = console; + +describe(MOBILE_CLI_COMMANDS.AddComponent, () => { + test + .stdout() + .command([MOBILE_CLI_COMMANDS.AddComponent]) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddComponent} ${testComponentName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${MOBILE_CLI_COMMANDS.AddComponent} command must be run in an existing mobile project`); + }); + + test + .stdout() + .command([MOBILE_CLI_COMMANDS.CreateProject, testProjectName]) + .do(() => process.chdir(testProjectName)) + .command([MOBILE_CLI_COMMANDS.AddComponent, testComponentName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddComponent} ${testComponentName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] component added: ${testComponentName}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/mobile/add/component.ts b/src/commands/mobile/add/component.ts new file mode 100644 index 00000000..d0242557 --- /dev/null +++ b/src/commands/mobile/add/component.ts @@ -0,0 +1,112 @@ +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import chalk from 'chalk'; +import { Files } from '../../../modules'; +import { copyFiles, parseMobileModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseComponentName, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; +import { MOBILE_CLI_COMMANDS, CLI_STATE, MOBILE_DOCUMENTATION_LINKS } from '../../../lib/constants'; + +const TEMPLATE_FOLDERS = ['component']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Component extends Command { + // static aliases = ['mobile add component'] + + static description = 'add a new Component module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + type: Flags.string({ hidden: true, char: 't', default: 'class' }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new component' }), + type: Args.string({ name: 'type', description: 'Whether class or function based components. The default is "class". Options "class" | "function" )' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an mobile project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${MOBILE_CLI_COMMANDS.AddComponent} command must be run in an existing ${chalk.yellow('mobile')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Component); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const isFunctionBased = flags.type.toLowerCase() === 'function'; + const componentType = isFunctionBased ? 'function' : 'class'; + const folderList = TEMPLATE_FOLDERS.map(folder => path.join(folder, componentType)); + + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseMobileModuleConfig(folderList, projectRoot); + + // retrieve component name + const componentName = await parseComponentName(args); + // parse kebab and pascal case of componentName + const componentNameKebab = toKebabCase(componentName); + const componentNamePascal = toPascalCase(componentName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, componentNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, config.manifest.installDirectory, componentNameKebab); + // copy and update files for component being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, componentNameKebab, componentNamePascal); + }); + + this.log(`${CLI_STATE.Success} component added: ${componentNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(MOBILE_DOCUMENTATION_LINKS.Component)}\n`); + } +} diff --git a/src/commands/mobile/add/index.ts b/src/commands/mobile/add/index.ts new file mode 100644 index 00000000..7bf08a99 --- /dev/null +++ b/src/commands/mobile/add/index.ts @@ -0,0 +1,75 @@ +import { Args, Command, Flags } from '@oclif/core'; +import chalk from 'chalk'; + +export default class Add extends Command { + // static aliases = ['mobile add']; + + static description = 'add a new module' + + static flags = { + help: Flags.boolean({name:'help',description: 'Show help information ', hidden: false }), + } + + static args = { + component: Args.string({ name: 'component', description: 'component module', hidden: false }), + screen: Args.string({ name: 'screen', description: 'screen module', hidden: false }), + service: Args.string({ name: 'service', description: 'service module', hidden: false }), + store: Args.string({ name: 'store', description: 'store module', hidden: false }), + layout: Args.string({ name: 'layout', description: 'layout module', hidden: false }), + cicd: Args.string({ name: 'cicd', description: 'CI/CD module', hidden: false }), + } + + showHelp(): void { + const commandId = Add.id; + const commandArgs = Object.values(Add.args); + const commandFlags = Object.values(Add.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId.split(':')[1])} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Add); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/mobile/add/layout.ts b/src/commands/mobile/add/layout.ts new file mode 100644 index 00000000..c6d5f51c --- /dev/null +++ b/src/commands/mobile/add/layout.ts @@ -0,0 +1,108 @@ +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import chalk from 'chalk'; +import { Files } from '../../../modules'; +import { copyFiles, parseMobileModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseLayoutName, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; +import { MOBILE_CLI_COMMANDS, CLI_STATE, MOBILE_DOCUMENTATION_LINKS } from '../../../lib/constants'; + +const TEMPLATE_FOLDERS = ['layout']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Layout extends Command { + // static aliases = ['mobile add layout'] + + static description = 'add a new Layout module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new layout' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an mobile project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${MOBILE_CLI_COMMANDS.AddLayout} command must be run in an existing ${chalk.yellow('mobile')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Layout); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseMobileModuleConfig(folderList, projectRoot); + + // retrieve component name + const layoutName = await parseLayoutName(args); + // parse kebab and pascal case of layoutName + const layoutNameKebab = toKebabCase(layoutName); + const layoutNamePascal = toPascalCase(layoutName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, layoutNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + + installDirectory = path.join(projectRoot, config.manifest.installDirectory, layoutNameKebab); + // copy and update files for component being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, layoutNameKebab, layoutNamePascal); + }); + + this.log(`${CLI_STATE.Success} layout added: ${layoutNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(MOBILE_DOCUMENTATION_LINKS.Component)}\n`); + } +} diff --git a/src/commands/mobile/add/screen.test.ts b/src/commands/mobile/add/screen.test.ts new file mode 100644 index 00000000..2370bb75 --- /dev/null +++ b/src/commands/mobile/add/screen.test.ts @@ -0,0 +1,44 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { MOBILE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const testProjectName = 'mob-hello-world-test'; +const testPageName = 'hello-world'; +// const badPageName = 'he%20-2world'; + +describe(MOBILE_CLI_COMMANDS.AddScreen, () => { + test + .stdout() + .command([MOBILE_CLI_COMMANDS.AddScreen]) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddScreen} ${testPageName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${MOBILE_CLI_COMMANDS.AddScreen} command must be run in an existing mobile project`); + }); + + test + .stdout() + .command([MOBILE_CLI_COMMANDS.CreateProject, testProjectName]) + .do(() => process.chdir(testProjectName)) + .command([MOBILE_CLI_COMMANDS.AddScreen, testPageName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddScreen} ${testPageName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] page added: ${testPageName}`); + }); + + // test + // .stdout() + // .do(() => process.chdir(testProjectName)) + // .command([MOBILE_CLI_COMMANDS.AddScreen, badPageName]) + // .it('tries to run create page with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${MOBILE_CLI_COMMANDS.AddScreen} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/mobile/add/screen.ts b/src/commands/mobile/add/screen.ts new file mode 100644 index 00000000..5c19d1ba --- /dev/null +++ b/src/commands/mobile/add/screen.ts @@ -0,0 +1,107 @@ +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import chalk from 'chalk'; +import { Files } from '../../../modules'; +import { copyFiles, parseMobileModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseScreenName, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; +import { MOBILE_CLI_COMMANDS, CLI_STATE, MOBILE_DOCUMENTATION_LINKS } from '../../../lib/constants'; + +const TEMPLATE_FOLDERS = ['screen']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Screen extends Command { + // static aliases = ['mobile add screen'] + + static description = 'add a new Screen module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new screen' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an mobile project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${MOBILE_CLI_COMMANDS.AddScreen} command must be run in an existing ${chalk.yellow('mobile')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Screen); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseMobileModuleConfig(folderList, projectRoot); + + // retrieve screen name + const screenName = await parseScreenName(args); + // parse kebab and pascal case of screenName + const screenNameKebab = toKebabCase(screenName); + const screenNamePascal = toPascalCase(screenName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, screenNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, config.manifest.installDirectory, screenNameKebab); + // copy and update files for screen being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, screenNameKebab, screenNamePascal); + }); + + this.log(`${CLI_STATE.Success} screen added: ${screenNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(MOBILE_DOCUMENTATION_LINKS.Screen)}\n`); + } +} diff --git a/src/commands/mobile/add/service.test.ts b/src/commands/mobile/add/service.test.ts new file mode 100644 index 00000000..3751329a --- /dev/null +++ b/src/commands/mobile/add/service.test.ts @@ -0,0 +1,44 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { MOBILE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const testProjectName = 'mob-auth-service-test'; +const testServiceName = 'auth-service'; +// const badServiceName = 'auth%20-2service'; + +describe(MOBILE_CLI_COMMANDS.AddService, () => { + test + .stdout() + .command([MOBILE_CLI_COMMANDS.AddService]) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddService} ${testServiceName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${MOBILE_CLI_COMMANDS.AddService} command must be run in an existing mobile project`); + }); + + test + .stdout() + .command([MOBILE_CLI_COMMANDS.CreateProject, testProjectName]) + .do(() => process.chdir(testProjectName)) + .command([MOBILE_CLI_COMMANDS.AddService, testServiceName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddService} ${testServiceName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] service added: ${testServiceName}`); + }); + + // test + // .stdout() + // .do(() => process.chdir(testProjectName)) + // .command([MOBILE_CLI_COMMANDS.AddService, badServiceName]) + // .it('tries to run create service with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${MOBILE_CLI_COMMANDS.AddService} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/mobile/add/service.ts b/src/commands/mobile/add/service.ts new file mode 100644 index 00000000..189c5d0e --- /dev/null +++ b/src/commands/mobile/add/service.ts @@ -0,0 +1,107 @@ +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import chalk from 'chalk'; +import { Files } from '../../../modules'; +import { copyFiles, parseMobileModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseServiceName, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; +import { MOBILE_CLI_COMMANDS, CLI_STATE, MOBILE_DOCUMENTATION_LINKS } from '../../../lib/constants'; + +const TEMPLATE_FOLDERS = ['service']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', +]); + +export default class Service extends Command { + // static aliases = ['mobile add service'] + + static description = 'add a new Service module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new service' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an mobile project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${MOBILE_CLI_COMMANDS.AddService} command must be run in an existing ${chalk.yellow('mobile')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Service); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseMobileModuleConfig(folderList, projectRoot); + + // retrieve service name + const serviceName = await parseServiceName(args); + // parse kebab and pascal case of serviceName + const serviceNameKebab = toKebabCase(serviceName); + const serviceNamePascal = toPascalCase(serviceName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, serviceNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, config.manifest.installDirectory); + + // copy and update files for service being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, serviceNameKebab, serviceNamePascal); + }); + + this.log(`${CLI_STATE.Success} service added: ${serviceNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(MOBILE_DOCUMENTATION_LINKS.Service)}\n`); + } +} diff --git a/src/commands/mobile/add/store.test.ts b/src/commands/mobile/add/store.test.ts new file mode 100644 index 00000000..9e0e6b02 --- /dev/null +++ b/src/commands/mobile/add/store.test.ts @@ -0,0 +1,44 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { MOBILE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const testProjectName = 'mob-store-module-test'; +const testStoreName = 'auth-store'; +// const badStoreName = 'auth%20-2store'; + +describe(MOBILE_CLI_COMMANDS.AddStore, () => { + test + .stdout() + .command([MOBILE_CLI_COMMANDS.AddStore]) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddStore} ${testStoreName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${MOBILE_CLI_COMMANDS.AddStore} command must be run in an existing mobile project`); + }); + + test + .stdout() + .command([MOBILE_CLI_COMMANDS.CreateProject, testProjectName]) + .do(() => process.chdir(testProjectName)) + .command([MOBILE_CLI_COMMANDS.AddStore, testStoreName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${MOBILE_CLI_COMMANDS.AddStore} ${testStoreName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] store added: ${testStoreName}`); + }); + + // test + // .stdout() + // .do(() => process.chdir(testProjectName)) + // .command([MOBILE_CLI_COMMANDS.AddStore, badStoreName]) + // .it('tries to run create store with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${MOBILE_CLI_COMMANDS.AddStore} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/mobile/add/store.ts b/src/commands/mobile/add/store.ts new file mode 100644 index 00000000..93b105aa --- /dev/null +++ b/src/commands/mobile/add/store.ts @@ -0,0 +1,111 @@ +import { Args, Command, Flags } from '@oclif/core'; +import path from 'node:path'; +import chalk from 'chalk'; +import { Files } from '../../../modules'; +import { copyFiles, parseMobileModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseStoreModuleName, toCamelCase, toKebabCase, toPascalCase, isJsonString } from '../../../lib/utilities'; +import { MOBILE_CLI_COMMANDS, CLI_STATE, MOBILE_DOCUMENTATION_LINKS } from '../../../lib/constants'; + +const TEMPLATE_FOLDERS = ['context']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class StoreModule extends Command { + // static aliases = ['mobile add store'] + + static description = 'add a new Store module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new store module' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + + // block command unless being run within an mobile project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${MOBILE_CLI_COMMANDS.AddStore} command must be run in an existing ${chalk.yellow('mobile')} project`, + }), + ); + } + + const { args, flags } = await this.parse(StoreModule); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const folderList = TEMPLATE_FOLDERS; + + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseMobileModuleConfig(folderList, projectRoot); + + // retrieve storeModule name + const storeModuleName = await parseStoreModuleName(args); + // parse kebab and pascal case of storeModuleName + const storeModuleNameKebab = toKebabCase(storeModuleName); + const storeModuleNamePascal = toPascalCase(storeModuleName); + const storeModuleNameCamel = toCamelCase(storeModuleName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, storeModuleNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, config.manifest.installDirectory); + + // copy and update files for storeModule being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, storeModuleNameKebab, storeModuleNamePascal, storeModuleNameCamel); + }); + + this.log(`${CLI_STATE.Success} store added: ${storeModuleNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(MOBILE_DOCUMENTATION_LINKS.Store)}\n`); + } +} diff --git a/src/commands/mobile/create-project/create-project.test.ts b/src/commands/mobile/create-project/create-project.test.ts new file mode 100644 index 00000000..65535b25 --- /dev/null +++ b/src/commands/mobile/create-project/create-project.test.ts @@ -0,0 +1,41 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { MOBILE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const testProjectName = 'mob-hello-world'; +// const badProjectName = '$testProject@project'; + +describe(MOBILE_CLI_COMMANDS.CreateProject, () => { + test + .stdout() + .command([MOBILE_CLI_COMMANDS.CreateProject, testProjectName]) + .it(`runs ${MOBILE_CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${testProjectName} is ready!`); + }); + + test + .stdout() + .do(() => process.chdir(testProjectName)) + .command([MOBILE_CLI_COMMANDS.CreateProject, testProjectName]) + .do(() => process.chdir('../')) + .it(`runs ${MOBILE_CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { + expect(ctx.stdout).to.contain('[frontier] you are already in an existing mobile project'); + }); + + // test + // .stdout() + // .command([MOBILE_CLI_COMMANDS.CreateProject, badProjectName]) + // .it('tries to run create project with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${MOBILE_CLI_COMMANDS.CreateProject} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/mobile/create-project/index.ts b/src/commands/mobile/create-project/index.ts new file mode 100644 index 00000000..cdded21d --- /dev/null +++ b/src/commands/mobile/create-project/index.ts @@ -0,0 +1,174 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +import { Args, Command, Flags, ux } from '@oclif/core'; +import { + toKebabCase, + isJsonString, + parseProjectName, + checkProjectValidity, + parseBundleIdentifier, + toCamelCase, +} from '../../../lib/utilities'; +import { replaceInFiles, checkIfFolderExists } from '../../../lib/files'; +import { + MOBILE_TEMPLATE_TAG, + TEMPLATE_PROJECT_NAME_REGEX, + CLI_STATE, + MOBILE_TEMPLATE_REPLACEMENT_FILES, + MOBILE_TEMPLATE_REPO, + MOBILE_TEMPLATE_CI_CD_REPLACEMENT_FILES, + TEMPLATE_MOBILE_PROJECT_SCHEME_REGEX, + TEMPLATE_MOBILE_PROJECT_BUNDLE_IDENTIFIER_REGEX, +} from '../../../lib/constants'; + +const CUSTOM_ERROR_CODES = new Set([ + 'existing-project', + 'existing-folder', + 'file-not-changed', +]); + +export default class CreateProject extends Command { + // static aliases = ['mobile create-project']; + + static description = 'Scaffold a new project' + + static flags = { + help: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + verbose: Flags.boolean({ hidden: true }), + // bare: flags.boolean({ hidden: true }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of project to create' }), + preset: Args.string({ name: 'bundleIdenifier', description: 'name of the unique identifier that will used for deployment to the App & Google play Store (eg. com.company.app)' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(CreateProject); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const verbose = flags.verbose === true; + const isTest = flags.isTest === true; + const template: string = MOBILE_TEMPLATE_REPO; + const tag: string = MOBILE_TEMPLATE_TAG; + const replaceNameRegex = TEMPLATE_PROJECT_NAME_REGEX; + const replaceSchemeRegex = TEMPLATE_MOBILE_PROJECT_SCHEME_REGEX; + const replaceBundleIdRegex = TEMPLATE_MOBILE_PROJECT_BUNDLE_IDENTIFIER_REGEX; + + let filesToReplace = MOBILE_TEMPLATE_REPLACEMENT_FILES; + let cicdFilesToReplace = MOBILE_TEMPLATE_CI_CD_REPLACEMENT_FILES; + + const { isValid: isValidProject } = checkProjectValidity(); + + if (isValidProject) { + throw new Error( + JSON.stringify({ + code: 'existing-project', + message: `you are already in an existing ${chalk.yellow('mobile')} project`, + }), + ); + } + + // retrieve project name + const projectName = await parseProjectName(args); + const bundleIdentifier = await parseBundleIdentifier(args); + + // convert project name to kebab case + const kebabProjectName = toKebabCase(projectName); + + // verify that project folder doesnt already exist + checkIfFolderExists(kebabProjectName); + + // update files to be replaced with project name reference + filesToReplace = filesToReplace.map(p => `${kebabProjectName}/${p}`); + cicdFilesToReplace = cicdFilesToReplace.map(file => `${kebabProjectName}/${file}`); + + this.log(`${CLI_STATE.Info} creating mobile project ${chalk.whiteBright(kebabProjectName)}`); + + // retrieve project files from template source + await shell.exec(`git clone ${template} --depth 1 --branch ${tag} ${kebabProjectName}`, { silent: !verbose }); + + // find and replace project name references + const success = await replaceInFiles(filesToReplace, replaceNameRegex, `${kebabProjectName}`); + + // Find a replace CI CD related files + await replaceInFiles(cicdFilesToReplace, replaceSchemeRegex, toCamelCase(projectName)); + await replaceInFiles(cicdFilesToReplace, replaceBundleIdRegex, bundleIdentifier.trim().toLowerCase()); + + if (success === false) { + throw new Error( + JSON.stringify({ + code: 'file-not-changed', + message: 'updating your project failed', + }), + ); + } + + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} Initializing Git`); + } + + // remove git folder reference to base project + await shell.exec(`npm install -g rimraf && npx rimraf ${kebabProjectName}/.git`, { silent: !verbose }); + + // initialize git in the created project + await shell.exec(`cd ${kebabProjectName} && git init && git add . && git commit -m "Setup: first commit" && git branch -M main`, { silent: !verbose }); + + if (isTest !== true) { + ux.action.stop(); + } + + // Installing dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} Installing dependencies`); + } + + await shell.exec(`cd ${kebabProjectName} && npm install --legacy-peer-deps`, { silent: !verbose }); + + if (isTest !== true) { + ux.action.stop(); + } + + this.log(`\n${CLI_STATE.Success} ${chalk.whiteBright(kebabProjectName)} is ready!`); + + // Output final instructions to user + this.log(`\n${chalk.magenta('Next Steps:')}\n${chalk.magenta('-')} cd ${chalk.whiteBright(kebabProjectName)}\n${chalk.magenta('-')} npm run [ android || ios ]\n\nIf you want to integrate with the ${chalk.blue('native')} project, you can run the following command inside the project's root directroy:\n${chalk.magenta('-')} npm run eject\n`); + } +} diff --git a/src/commands/mobile/index.ts b/src/commands/mobile/index.ts new file mode 100644 index 00000000..4c51ebf7 --- /dev/null +++ b/src/commands/mobile/index.ts @@ -0,0 +1,109 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; +import { CLI_STATE } from '../../lib/constants'; +import { isJsonString } from '../../lib/utilities'; + +const CUSTOM_ERROR_CODES = new Set([ + 'existing-project', + 'existing-folder', + 'file-not-changed', +]); + +export default class Mobile extends Command { + static alias = ['mobile']; + + static hidden = false; + + static description = 'React Native scaffolding'; + + static flags = { + help: Flags.boolean({name:'help',description: 'Show help information ', hidden: false }), + isTopic: Flags.string({ name: 'isTopic', hidden: true }), + } + + static args = { + 'create-project': Args.string({ name: 'create-project', description: 'Scaffold a new project', hidden: false }), + add: Args.string({ name: 'component', description: 'Add a feature to a project', hidden: false }), + plugin: Args.string({ name: 'plugin', description: 'Inject a utility to extend project functionality', hidden: false }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + showHelp(): void { + const commandArgs = Object.values(Mobile.args); + const commandFlags = Object.values(Mobile.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + const commandList = argsList.join("").split(",") + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.blue('')} + + Commands:${commandList} + + Options:${optionList} + `); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Mobile); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/mobile/plugin/index.ts b/src/commands/mobile/plugin/index.ts new file mode 100644 index 00000000..faeb53d2 --- /dev/null +++ b/src/commands/mobile/plugin/index.ts @@ -0,0 +1,71 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; + +export default class Plugin extends Command { + // static aliases = ['mobile plugin']; + + static description = 'install a plugin' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + localization: Args.string({ name: 'localization', description: 'library for localizing content', hidden: false }), + } + + showHelp(): void { + const commandId = Plugin.id; + const commandArgs = Object.values(Plugin.args); + const commandFlags = Object.values(Plugin.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId.split(':')[1])} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Plugin); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/mobile/plugin/localization.ts b/src/commands/mobile/plugin/localization.ts new file mode 100644 index 00000000..a724874e --- /dev/null +++ b/src/commands/mobile/plugin/localization.ts @@ -0,0 +1,151 @@ +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +// eslint-disable-next-line unicorn/import-style, unicorn/prefer-module +const util = require('util'); +const exec = util.promisify(shell.exec); +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import path from 'node:path'; +import { Command, Flags, ux } from '@oclif/core'; +import { Files } from '../../../modules'; +import { copyFiles, parseMobileModuleConfig } from '../../../lib/files'; +import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; +import { MOBILE_CLI_COMMANDS, CLI_STATE } from '../../../lib/constants'; + +const TEMPLATE_FOLDERS = ['localization']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'missing-template-file', + 'missing-template-folder', + 'dependency-install-error', +]); + +export default class Localization extends Command { + // static aliases = ['mobile plugin localization'] + + static description = 'adds i18bn localization' + + static flags = { + help: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + forceProject: Flags.string({ hidden: true }), + skipInstall: Flags.boolean({ hidden: true }), + } + + static args = {} + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { flags, args } = await this.parse(Localization); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const projectName = flags.forceProject; + const isTest = flags.isTest === true; + const skipInstallStep = flags.skipInstall === true; + const hasProjectName = projectName !== undefined; + const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; + + const validityResponse = checkProjectValidity(); + const { isValid: isValidProject } = validityResponse; + let { projectRoot } = validityResponse; + // block command unless being run within an mobile project + if (isValidProject === false && !hasProjectName) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${MOBILE_CLI_COMMANDS.PluginLocalization} command must be run in an existing ${chalk.yellow('mobile')} project`, + }), + ); + } else if (hasProjectName) { + const dir = path.join(process.cwd(), projectName ?? ''); + projectRoot = dir.trim(); + } + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory = ''; + let installDirectory = ''; + + // parse config files required for scaffolding this module + const configs = parseMobileModuleConfig(folderList, projectRoot); + const config = configs[0]; + const files: Array = config.manifest.files; + const dependencies = config.manifest.packages.dependencies.toString() + .split(',') + .join(' '); + + if (skipInstallStep === false) { + try { + // install dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing localization dependencies`); + } + + await exec(`${preInstallCommand} npm install --save ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } catch { + throw new Error( + JSON.stringify({ + code: 'dependency-install-error', + message: `${this.id?.split(':')[1]} localization dependencies failed to install`, + }), + ); + } + } else { + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} adding localization dependencies`); + } + + await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } + + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, config.manifest.installDirectory); + + // copy files for plugin being added + await copyFiles(sourceDirectory, installDirectory, files); + + if (skipInstallStep === false) { + this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); + } + } +} diff --git a/src/commands/mobile/plugin/plugin.localization.test.ts b/src/commands/mobile/plugin/plugin.localization.test.ts new file mode 100644 index 00000000..124963a2 --- /dev/null +++ b/src/commands/mobile/plugin/plugin.localization.test.ts @@ -0,0 +1,35 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { MOBILE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const withLocalization = '--withLocalization'; +const testProjectName = 'mob-plugin-localization-test'; + +describe(MOBILE_CLI_COMMANDS.PluginLocalization, () => { + test + .stdout() + .command([MOBILE_CLI_COMMANDS.PluginLocalization]) + .it(`runs mobile ${MOBILE_CLI_COMMANDS.PluginLocalization} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${MOBILE_CLI_COMMANDS.PluginLocalization} command must be run in an existing mobile project`); + }); + + test + .stdout() + .command([MOBILE_CLI_COMMANDS.CreateProject, testProjectName, withLocalization]) + .do(() => process.chdir(testProjectName)) + .command([MOBILE_CLI_COMMANDS.PluginLocalization]) + .do(() => process.chdir('../')) + .it(`runs mobile ${MOBILE_CLI_COMMANDS.PluginLocalization}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] plugin added: ${MOBILE_CLI_COMMANDS.PluginLocalization.split(':')[1]}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/mobile/plugin/plugin.test.ts b/src/commands/mobile/plugin/plugin.test.ts new file mode 100644 index 00000000..f95f7c9d --- /dev/null +++ b/src/commands/mobile/plugin/plugin.test.ts @@ -0,0 +1,11 @@ +import { expect, test } from '@oclif/test'; +import { MOBILE_CLI_COMMANDS } from '../../../lib/constants'; + +describe(`${MOBILE_CLI_COMMANDS.PluginLibrary} module`, () => { + test + .stdout() + .command([MOBILE_CLI_COMMANDS.PluginLibrary]) + .it(`runs mobile ${MOBILE_CLI_COMMANDS.PluginLibrary} --help`, ctx => { + expect(ctx.stdout).to.contain('npx mobile plugin:'); + }); +}); diff --git a/src/commands/vue/README.md b/src/commands/vue/README.md new file mode 100644 index 00000000..89888813 --- /dev/null +++ b/src/commands/vue/README.md @@ -0,0 +1,95 @@ +# Frontier - Vue + +`Frontier - Vue` is an opinionated CLI for generating Vue.js projects. We do so by adopting a development style guide which enforces strong typing with TypeScript, standardized Component, Layout and Page models, and a data-layer design promoting unified consumption through Stores and Services. + +      + + +## Table of Contents + +* [Usage](#usage) +* [Options](#options) +* [Documentation](http://frontier.realdecoy.com/rdvue/getting-started/overview) +* [Dev Instructions](#development) +* [Testing](#testing) + + +  +  +  + +## Usage + + +```bash +npx @realdecoy/frontier vue +``` +Global installation: + +```bash +npm install --global @realdecoy/frontier +frontier vue +``` +The help menu can be accessed with the command: + +```bash +frontier vue --help +``` + + +  +  +  + +## Options +```txt +Usage: + frontier vue + +Commands: + create-project - Scaffold a new Vue project + add - Add a module to a project + plugin - Inject a utility to extend project functionality + upgrade - Specify the template version for a project + +Options: + --help - Show help information +``` + + +  +  +  + +## Development + +### Install Dependencies +```bash +yarn install +``` +or +```bash +npm install +``` + +### Execute CLI commands +```bash +./bin/dev vue +``` + +### Creating Tests +- create a ```.test.ts``` file in the respective folder +- using ```chai``` assertion syntax, describe your unit test cases +- visit the oclif [testing documentation](https://oclif.io/docs/testing) to see more details + +      + +## Contribution Instructions +### Testing Requirements +All code contributions made to this repository be properly tested. For testing the testing framework Jest is used. All test files must be writen with the extension ".spec.ts", to maintain the consistency of this project. + +### GitHub Commits +All commits maded to this repository be rewritten according to the [Conventional Commit Messages Standard](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13). This is to ensure that consistency is maintained throughout the repository. + +### Pull Request +When creating a pull request ensure that the request is well documented and the changes made to the repository have been properly noted. Ensure to link the issue number/s that the pull request satisfies. diff --git a/src/commands/vue/add/add.test.ts b/src/commands/vue/add/add.test.ts new file mode 100644 index 00000000..8f7bfa04 --- /dev/null +++ b/src/commands/vue/add/add.test.ts @@ -0,0 +1,18 @@ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; + +describe(`${VUE_CLI_COMMANDS.AddModule} --help`, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.AddModule]) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddModule} --help`, ctx => { + expect(ctx.stdout).to.contain('frontier vue add '); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.PoorHelpCommand]) + .it(`runs poorly formatted frontier ${VUE_CLI_COMMANDS.AddModule} --help command`, ctx => { + expect(ctx.stdout).to.contain(`command not found: ${VUE_CLI_COMMANDS.PoorHelpCommand}`); + }); +}); diff --git a/src/commands/vue/add/component.test.ts b/src/commands/vue/add/component.test.ts new file mode 100644 index 00000000..115a6514 --- /dev/null +++ b/src/commands/vue/add/component.test.ts @@ -0,0 +1,42 @@ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-component-test'; +const testProjectName2 = 'rdv-component-test-2'; +const testComponentName = 'hello-world'; +const { log } = console; + +describe(VUE_CLI_COMMANDS.AddComponent, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.AddComponent]) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddComponent} ${testComponentName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.AddComponent} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName2, skipPresets, isTest]) + .do(() => process.chdir(testProjectName2)) + .command([VUE_CLI_COMMANDS.AddComponent, testComponentName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddComponent} ${testComponentName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] component added: ${testComponentName}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + log(`error: ${error.message}`); + } + }); + exec(`shx rm -rf ${testProjectName2}`, error => { + if (error) { + log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/add/component.ts b/src/commands/vue/add/component.ts new file mode 100644 index 00000000..880abb2d --- /dev/null +++ b/src/commands/vue/add/component.ts @@ -0,0 +1,148 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +import path from 'node:path'; +import { Args, Command, Flags } from '@oclif/core'; +import { Files } from '../../../modules'; +import { VUE_CLI_COMMANDS, CLI_STATE, VUE_DOCUMENTATION_LINKS, UI_COMPONENTS_ROOT, UI_COMPONENT_CONFIG_FILENAME, COMPONENTS_LIB_ROOT } from '../../../lib/constants'; +import { copyFiles, enumerateDirectories, fileExists, parseVueModuleConfig, readAndUpdateFeatureFiles, readConfigFile, readFilesFromDirectory, replaceTargetFileNames, writeFile } from '../../../lib/files'; +import { checkProjectValidity, parseComponentName, isJsonString, toKebabCase, toPascalCase, promptUiComponentChoice, compareAndUpdateDependencies } from '../../../lib/utilities'; + +const TEMPLATE_FOLDERS = ['component']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Component extends Command { + // static aliases = ['vue add component'] + + static description = 'add a new Component module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + ui: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new component' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async handleUi(args: (string | undefined)[], flags: { + ui: boolean; + }): Promise { + if (flags.ui) { + const components = enumerateDirectories(UI_COMPONENTS_ROOT); + const component = await promptUiComponentChoice(args, components); + const files = readFilesFromDirectory(path.join(UI_COMPONENTS_ROOT, component)).filter((file: string) => file !== UI_COMPONENT_CONFIG_FILENAME); + copyFiles(path.join(UI_COMPONENTS_ROOT, component), path.join(process.cwd(), 'src', 'components', component), files); + + let { dependencies: packagesToInstall } = readConfigFile(path.join(UI_COMPONENTS_ROOT, component, UI_COMPONENT_CONFIG_FILENAME)); + const packageJson = readConfigFile(path.join(process.cwd(), 'package.json')); + const { dependencies: installedPackages } = packageJson; + // install packages if they are not installed or are outdated + this.log(`${CLI_STATE.Info} Updating dependency tree`); + + if (!fileExists(path.join(UI_COMPONENTS_ROOT, component, 'lib'))) { + const libFiles = readFilesFromDirectory(path.join(COMPONENTS_LIB_ROOT)).filter((file: string) => file !== UI_COMPONENT_CONFIG_FILENAME); + copyFiles(path.join(COMPONENTS_LIB_ROOT), path.join(process.cwd(), 'src', 'components', 'lib'), libFiles); + const { dependencies: libDependencies } = readConfigFile(path.join(COMPONENTS_LIB_ROOT, UI_COMPONENT_CONFIG_FILENAME)); + packagesToInstall = compareAndUpdateDependencies(libDependencies, packagesToInstall); + } + + packageJson.dependencies = compareAndUpdateDependencies(packagesToInstall, installedPackages); + await Promise.all([ + writeFile(path.join(process.cwd(), 'package.json'), JSON.stringify(packageJson, null, 2)), + shell.exec('npm install --legacy-peer-deps'), + ]); + + return true; + } + + return false; + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.AddComponent} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Component); + const folderList = TEMPLATE_FOLDERS; + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + if (await this.handleUi(commandArgs, flags)) { + return; + } + + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + + // retrieve component name + const componentName = await parseComponentName(args); + // parse kebab and pascal case of componentName + const componentNameKebab = toKebabCase(componentName); + const componentNamePascal = toPascalCase(componentName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, componentNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, componentNameKebab); + // copy and update files for component being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, componentNameKebab, componentNamePascal); + }); + + this.log(`${CLI_STATE.Success} component added: ${componentNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(VUE_DOCUMENTATION_LINKS.Component)}\n`); + } +} diff --git a/src/commands/vue/add/index.ts b/src/commands/vue/add/index.ts new file mode 100644 index 00000000..0da79958 --- /dev/null +++ b/src/commands/vue/add/index.ts @@ -0,0 +1,108 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; +import { CLI_STATE } from '../../../lib/constants'; +import { isJsonString } from '../../../lib/utilities'; + +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Add extends Command { + // static aliases = ['vue add']; + + static description = 'add a new module'; + + static flags = { + help: Flags.boolean({name:'help',description: 'Show help information ', hidden: false }), + } + + static args = { + component: Args.string({ name: 'component', description: 'component module', hidden: false }), + page: Args.string({ name: 'page', description: 'page module', hidden: false }), + service: Args.string({ name: 'service', description: 'service module', hidden: false }), + store: Args.string({ name: 'store', description: 'store module', hidden: false }), + layout: Args.string({ name: 'layout', description: 'layout module', hidden: false }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + showHelp(): void { + const commandId = Add.id; + const commandArgs = Object.values(Add.args); + const commandFlags = Object.values(Add.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId.split(':')[1])} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Add); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/vue/add/layout.test.ts b/src/commands/vue/add/layout.test.ts new file mode 100644 index 00000000..443a7281 --- /dev/null +++ b/src/commands/vue/add/layout.test.ts @@ -0,0 +1,44 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-layout-test'; +const testProjectName2 = 'rdv-layout-test2'; +const testLayoutName = 'hello-world'; + +describe(VUE_CLI_COMMANDS.AddLayout, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.AddLayout]) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddLayout} ${testLayoutName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.AddLayout} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName2, skipPresets, isTest]) + .do(() => process.chdir(testProjectName2)) + .command([VUE_CLI_COMMANDS.AddLayout, testLayoutName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddLayout} ${testLayoutName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] layout added: ${testLayoutName}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + exec(`shx rm -rf ${testProjectName2}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/add/layout.ts b/src/commands/vue/add/layout.ts new file mode 100644 index 00000000..034c7fee --- /dev/null +++ b/src/commands/vue/add/layout.ts @@ -0,0 +1,108 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import path from 'node:path'; +import { Args, Command, Flags } from '@oclif/core'; +import { Files } from '../../../modules'; +import { CLI_STATE, VUE_CLI_COMMANDS, VUE_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseVueModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseLayoutName, isJsonString, toKebabCase, toPascalCase } from '../../../lib/utilities'; + +const TEMPLATE_FOLDERS = ['layout']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Layout extends Command { + // static aliases = ['vue add layout'] + + static description = 'add a new Layout module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new layout' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.AddLayout} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Layout); + const folderList = TEMPLATE_FOLDERS; + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + let sourceDirectory: string; + let installDirectory: string; + // let templateFile: string; + + const configs = parseVueModuleConfig(folderList, projectRoot); + + const layoutName = await parseLayoutName(args); + // parse kebab and pascal case of layoutName + const layoutNameKebab = toKebabCase(layoutName); + const layoutNamePascal = toPascalCase(layoutName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, layoutNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, layoutNameKebab); + + // copy and update files for page being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, layoutNameKebab, layoutNamePascal); + }); + + this.log(`${CLI_STATE.Success} layout added: ${layoutNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(VUE_DOCUMENTATION_LINKS.Layout)}\n`); + } +} diff --git a/src/commands/vue/add/page.test.ts b/src/commands/vue/add/page.test.ts new file mode 100644 index 00000000..6e423590 --- /dev/null +++ b/src/commands/vue/add/page.test.ts @@ -0,0 +1,46 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-hello-world-test'; +const testPageName = 'hello-world'; +// const badPageName = 'he%20-2world'; + +describe(VUE_CLI_COMMANDS.AddPage, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.AddPage]) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddPage} ${testPageName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.AddPage} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.AddPage, testPageName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddPage} ${testPageName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] page added: ${testPageName}`); + }); + + // test + // .stdout() + // .do(() => process.chdir(testProjectName)) + // .command([VUE_CLI_COMMANDS.AddPage, badPageName, skipPresets, isTest]) + // .it('tries to run create page with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${VUE_CLI_COMMANDS.AddPage} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/add/page.ts b/src/commands/vue/add/page.ts new file mode 100644 index 00000000..fa89fd25 --- /dev/null +++ b/src/commands/vue/add/page.ts @@ -0,0 +1,121 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import path from 'node:path'; +import { Args, Command, Flags } from '@oclif/core'; +import { Files } from '../../../modules'; +import { VUE_CLI_COMMANDS, CLI_STATE, VUE_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseVueModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parsePageName, isJsonString, toKebabCase, toPascalCase } from '../../../lib/utilities'; +import { injectRoutesIntoRouter } from '../../../lib/plugins'; + +const TEMPLATE_FOLDERS = ['page']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class Page extends Command { + // static aliases = ['vue add page'] + + static description = 'add a new Page module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new page' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.AddPage} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Page); + const folderList = TEMPLATE_FOLDERS; + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + + // retrieve page name + const pageName = await parsePageName(args); + // parse kebab and pascal case of pageName + const pageNameKebab = toKebabCase(pageName); + const pageNamePascal = toPascalCase(pageName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, pageNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory, pageNameKebab); + + // copy and update files for page being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, pageNameKebab, pageNamePascal); + const routeObj = { + path: `'/${pageNameKebab}'`, + name: `'${pageNamePascal}'`, + component: { + import: `() => import('@/views/${pageNameKebab}/${pageNameKebab}.vue')`, + webpackChunkName: `'${pageNamePascal}'`, + }, + }; + + // Inject the route into the router configuration + injectRoutesIntoRouter(projectRoot, [routeObj]); + }); + + this.log(`${CLI_STATE.Success} page added: ${pageNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(VUE_DOCUMENTATION_LINKS.Page)}\n`); + } +} diff --git a/src/commands/vue/add/service.test.ts b/src/commands/vue/add/service.test.ts new file mode 100644 index 00000000..26bb4e74 --- /dev/null +++ b/src/commands/vue/add/service.test.ts @@ -0,0 +1,46 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-auth-service-test'; +const testServiceName = 'auth-service'; +// const badServiceName = 'auth%20-2service'; + +describe(VUE_CLI_COMMANDS.AddService, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.AddService]) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddService} ${testServiceName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.AddService} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.AddService, testServiceName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddService} ${testServiceName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] service added: ${testServiceName}`); + }); + + // test + // .stdout() + // .do(() => process.chdir(testProjectName)) + // .command([VUE_CLI_COMMANDS.AddService, badServiceName, skipPresets]) + // .it('tries to run create service with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${VUE_CLI_COMMANDS.AddService} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/add/service.ts b/src/commands/vue/add/service.ts new file mode 100644 index 00000000..a552194c --- /dev/null +++ b/src/commands/vue/add/service.ts @@ -0,0 +1,108 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import path from 'node:path'; +import { Args, Command, Flags } from '@oclif/core'; +import { Files } from '../../../modules'; +import { VUE_CLI_COMMANDS, CLI_STATE, VUE_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseVueModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseServiceName, isJsonString, toKebabCase, toPascalCase } from '../../../lib/utilities'; + +const TEMPLATE_FOLDERS = ['service']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', +]); + +export default class Service extends Command { + // static aliases = ['vue add service'] + + static description = 'add a new Service module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new service' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.AddService} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Service); + const folderList = TEMPLATE_FOLDERS; + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + + // retrieve service name + const serviceName = await parseServiceName(args); + // parse kebab and pascal case of serviceName + const serviceNameKebab = toKebabCase(serviceName); + const serviceNamePascal = toPascalCase(serviceName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, serviceNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + + // copy and update files for service being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, serviceNameKebab, serviceNamePascal); + }); + + this.log(`${CLI_STATE.Success} service added: ${serviceNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(VUE_DOCUMENTATION_LINKS.Service)}\n`); + } +} diff --git a/src/commands/vue/add/store.test.ts b/src/commands/vue/add/store.test.ts new file mode 100644 index 00000000..6e5bc7ac --- /dev/null +++ b/src/commands/vue/add/store.test.ts @@ -0,0 +1,46 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-store-module-test'; +const testStoreName = 'auth-store'; +// const badStoreName = 'auth%20-2store'; + +describe(VUE_CLI_COMMANDS.AddStore, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.AddStore]) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddStore} ${testStoreName} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.AddStore} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.AddStore, testStoreName]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.AddStore} ${testStoreName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] store added: ${testStoreName}`); + }); + + // test + // .stdout() + // .do(() => process.chdir(testProjectName)) + // .command([VUE_CLI_COMMANDS.AddStore, badStoreName, skipPresets]) + // .it('tries to run create store with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${VUE_CLI_COMMANDS.AddStore} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/add/store.ts b/src/commands/vue/add/store.ts new file mode 100644 index 00000000..48040d14 --- /dev/null +++ b/src/commands/vue/add/store.ts @@ -0,0 +1,110 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import path from 'node:path'; +import { Args, Command, Flags } from '@oclif/core'; +import { Files } from '../../../modules'; +import { VUE_CLI_COMMANDS, CLI_STATE, VUE_DOCUMENTATION_LINKS } from '../../../lib/constants'; +import { copyFiles, parseVueModuleConfig, readAndUpdateFeatureFiles, replaceTargetFileNames } from '../../../lib/files'; +import { checkProjectValidity, parseStoreModuleName, isJsonString, toKebabCase, toPascalCase } from '../../../lib/utilities'; + +const TEMPLATE_FOLDERS = ['store']; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'failed-match-and-replace', + 'missing-template-file', + 'missing-template-folder', +]); + +export default class StoreModule extends Command { + // static aliases = ['vue add store'] + + static description = 'add a new Store module.' + + static flags = { + help: Flags.boolean({ hidden: false }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of new store module' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.AddStore} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const { args, flags } = await this.parse(StoreModule); + const folderList = TEMPLATE_FOLDERS; + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + let sourceDirectory: string; + let installDirectory: string; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + + // retrieve storeModule name + const storeModuleName = await parseStoreModuleName(args); + // parse kebab and pascal case of storeModuleName + const storeModuleNameKebab = toKebabCase(storeModuleName); + const storeModuleNamePascal = toPascalCase(storeModuleName); + + // eslint-disable-next-line unicorn/no-array-for-each + configs.forEach(async config => { + const files: Array = config.manifest.files; + // replace file names in config with kebab case equivalent + replaceTargetFileNames(files, storeModuleNameKebab); + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + + // copy and update files for storeModule being added + await copyFiles(sourceDirectory, installDirectory, files); + await readAndUpdateFeatureFiles(installDirectory, files, storeModuleNameKebab, storeModuleNamePascal); + }); + + this.log(`${CLI_STATE.Success} store added: ${storeModuleNameKebab}`); + this.log(`\n Visit the documentation page for more info:\n ${chalk.yellow(VUE_DOCUMENTATION_LINKS.Store)}\n`); + } +} diff --git a/src/commands/vue/create-project/create-project.test.ts b/src/commands/vue/create-project/create-project.test.ts new file mode 100644 index 00000000..0630dbf6 --- /dev/null +++ b/src/commands/vue/create-project/create-project.test.ts @@ -0,0 +1,43 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const testProjectName = 'rdv-hello-world'; +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +// const badProjectName = '$testProject@project'; + +describe(VUE_CLI_COMMANDS.CreateProject, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .it(`runs ${VUE_CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${testProjectName} is ready!`); + }); + + test + .stdout() + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir('../')) + .it(`runs ${VUE_CLI_COMMANDS.CreateProject} ${testProjectName}`, ctx => { + expect(ctx.stdout).to.contain('[frontier] you are already in an existing frontier project'); + }); + + // test + // .stdout() + // .command([VUE_CLI_COMMANDS.CreateProject, badProjectName, skipPresets]) + // .it('tries to run create project with a poorly formatted command', ctx => { + // expect(ctx.stdout).to.contain(`Error: command ${VUE_CLI_COMMANDS.CreateProject} not found`); + // }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/create-project/index.ts b/src/commands/vue/create-project/index.ts new file mode 100644 index 00000000..57f23fa7 --- /dev/null +++ b/src/commands/vue/create-project/index.ts @@ -0,0 +1,187 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +import { Args, Command, Flags, ux } from '@oclif/core'; +import Localization from '../plugin/localization'; +import Sentry from '../plugin/sentry'; +import { replaceInFiles, checkIfFolderExists } from '../../../lib/files'; +import { checkProjectValidity, parseProjectName, parseProjectPresets, isJsonString, toKebabCase, parseSentryDSN } from '../../../lib/utilities'; +import { + VUE_TEMPLATE_REPO, + DESIGN_TEMPLATE_REPO, + DESIGN_TEMPLATE_FOLDER, + VUE_TEMPLATE_TAG, + TEMPLATE_PROJECT_NAME_REGEX, + VUE_TEMPLATE_REPLACEMENT_FILES, + CLI_STATE, + VUE_PLUGIN_PRESET_LIST, +} from '../../../lib/constants'; + +const CUSTOM_ERROR_CODES = new Set([ + 'existing-project', + 'existing-folder', + 'file-not-changed', +]); + +export default class CreateProject extends Command { + // static aliases = ['vue create-project']; + + static description = 'Scaffold a new project' + + static flags = { + help: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + skipPresets: Flags.boolean({ hidden: true }), + withLocalization: Flags.boolean({ hidden: true }), + withDesignSystem: Flags.boolean({ hidden: true }), + withSentry: Flags.boolean({ hidden: true }), + } + + static args = { + name: Args.string({ name: 'name', description: 'name of project to create' }), + preset: Args.string({ name: 'preset', description: 'name of plugin preset', hidden: true }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { flags, args } = await this.parse(CreateProject); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const template: string = VUE_TEMPLATE_REPO; + const designTemplate: string = DESIGN_TEMPLATE_REPO; + const designTemplateFolder: string = DESIGN_TEMPLATE_FOLDER; + const tag: string = VUE_TEMPLATE_TAG; + const replaceRegex = TEMPLATE_PROJECT_NAME_REGEX; + const isTest = flags.isTest === true; + const skipPresetsStep = flags.skipPresets === true; + const withLocalization = flags.withLocalization === true; + const withDesignSystem = flags.withDesignSystem === true; + const withSentry = flags.withSentry === true; + + let filesToReplace = VUE_TEMPLATE_REPLACEMENT_FILES; + let projectName: string; + let sentryDsn = ''; + let presetName = ''; + const { isValid: isValidProject } = checkProjectValidity(); + + // block command if being run within an frontier project + if (isValidProject) { + throw new Error( + JSON.stringify({ + code: 'existing-project', + message: `you are already in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + // retrieve project name + projectName = await parseProjectName(args); + // retrieve project preset on skip preset flag set presetName to skip presets + presetName = skipPresetsStep ? VUE_PLUGIN_PRESET_LIST[2] : await parseProjectPresets(args); + // convert project name to kebab case + projectName = toKebabCase(projectName); + // verify that project folder doesnt already exist + checkIfFolderExists(projectName); + + const presetIndex = VUE_PLUGIN_PRESET_LIST.indexOf(presetName); + const shouldInstallSentry = presetIndex === 1 || withSentry === true; + const shouldInstallLocalization = presetIndex === 0 || withLocalization === true; + const shouldInstallDesignSystem = withDesignSystem === true; + + if (shouldInstallSentry === true) { + sentryDsn = await parseSentryDSN(args); + } + + // update files to be replaced with project name reference + filesToReplace = filesToReplace.map(p => `${projectName}/${p}`); + + ux.action.type = 'spinner'; + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} creating project ${chalk.whiteBright(projectName)}`); + } + + // retrieve project files from template source + await shell.exec(`git clone ${template} --depth 1 --branch ${tag} ${projectName}`, { silent: true }); + // remove git folder reference to base project + await shell.exec(`npx rimraf ${projectName}/.git`); + // find and replace project name references + const success = await replaceInFiles(filesToReplace, replaceRegex, `${projectName}`); + + if (success === false) { + throw new Error( + JSON.stringify({ + code: 'file-not-changed', + message: 'updating your project failed', + }), + ); + } + + // localization + if (shouldInstallLocalization === true) { + await Localization.run(['--forceProject', projectName, '--skipInstall']); + } + + if (shouldInstallSentry === true) { + if (isTest !== true) { + // We need to stop the loading in order for the prompt to + // work. The prompt wont show up while the loader is running + ux.action.stop(); + } + + await Sentry.run(['--project', projectName, '--dsn', sentryDsn, '--skipInstall']); + } + + if (shouldInstallDesignSystem === true) { + // retrieve project files from template source + await shell.exec(`git clone ${designTemplate} --depth 1 --branch ${tag} ${projectName}/${designTemplateFolder}`, { silent: true }); + // remove git folder reference to base project + await shell.exec(`npx rimraf ${projectName}/${designTemplateFolder}/.git`); + } + + // initialize git in the created project + await shell.exec(`cd ${projectName} && git init && git add . && git commit -m "Setup: first commit" && git branch -M main`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + + this.log(`${CLI_STATE.Success} ${chalk.whiteBright(projectName)} is ready!`); + + // Output final instructions to user + this.log(`\nNext Steps:\n${chalk.magenta('-')} cd ${chalk.whiteBright(projectName)}\n${chalk.magenta('-')} npm install --legacy-peer-deps\n${chalk.magenta('-')} npm run serve`); + } +} diff --git a/src/commands/vue/index.ts b/src/commands/vue/index.ts new file mode 100644 index 00000000..b0e5e420 --- /dev/null +++ b/src/commands/vue/index.ts @@ -0,0 +1,112 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; +import { CLI_STATE } from '../../lib/constants'; +import { isJsonString } from '../../lib/utilities'; + +const CUSTOM_ERROR_CODES = new Set([ + 'existing-project', + 'existing-folder', + 'file-not-changed', +]); + +export default class Vue extends Command { + static alias = ['vue']; + + static hidden = false; + + static description = 'Vue.js scaffolding'; + + static flags = { + help: Flags.boolean({name:'help',description: 'Show help information ', hidden: false }), + isTopic: Flags.string({ name: 'isTopic', hidden: true }), + } + + static args = { + 'create-project': Args.string({ name: 'create-project', description: 'Scaffold a new project', hidden: false }), + add: Args.string({ name: 'add', description: 'Add a feature to a project', hidden: false }), + plugin: Args.string({ name: 'plugin', description: 'Inject a utility to extend project functionality', hidden: false }), + upgrade: Args.string({ name: 'upgrade', description: 'Specify the template version for a project', hidden: false }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + showHelp(): void { + const commandArgs = Object.values(Vue.args); + const commandFlags = Object.values(Vue.flags); + + // parse argument config list + const argsList = commandArgs + .filter(arg => !arg.hidden) + .map(arg => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(" ")}- ${arg.description}` ; + }); + + const commandList = argsList.join("").split(",") + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.blue('')} + + Commands:${commandList} + + Options:${optionList} + `); + } + + + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Vue); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/vue/plugin/buefy.test.ts b/src/commands/vue/plugin/buefy.test.ts new file mode 100644 index 00000000..2a6b9e72 --- /dev/null +++ b/src/commands/vue/plugin/buefy.test.ts @@ -0,0 +1,36 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-plugin-buefy-test'; + +describe(VUE_CLI_COMMANDS.PluginBuefy, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.PluginBuefy]) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginBuefy} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.PluginBuefy} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.PluginBuefy, isTest]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginBuefy}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] plugin added: ${VUE_CLI_COMMANDS.PluginBuefy.split(' ')[1]}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/plugin/buefy.ts b/src/commands/vue/plugin/buefy.ts new file mode 100644 index 00000000..74e4b47a --- /dev/null +++ b/src/commands/vue/plugin/buefy.ts @@ -0,0 +1,183 @@ +// eslint-disable-next-line unicorn/import-style, unicorn/prefer-module +const util = require('util'); +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +const exec = util.promisify(shell.exec); +import path from 'node:path'; +import { Command, Flags, ux } from '@oclif/core'; +import { Files } from '../../../modules'; +import { Route } from '../../../modules/manifest'; +import { injectImportsIntoMain } from '../../../lib/plugins'; +import { VUE_CLI_COMMANDS, CLI_STATE } from '../../../lib/constants'; +import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; +import { copyFiles, inject, parseVueModuleConfig, updateDynamicImportsAndExports } from '../../../lib/files'; + +const TEMPLATE_FOLDERS = ['buefy']; +const TEMPLATE_MIN_VERSION_SUPPORTED = 2; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'missing-template-file', + 'missing-template-folder', + 'dependency-install-error', +]); + +export default class Buefy extends Command { + // static aliases = ['vue plugin buefy'] + + static description = 'lightweigth UI components for Vuejs' + + static flags = { + help: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + forceProject: Flags.string({ hidden: true }), + skipInstall: Flags.boolean({ hidden: true }), + } + + static args = {} + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { flags, args } = await this.parse(Buefy); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const projectName = flags.forceProject; + const isTest = flags.isTest === true; + const skipInstallStep = flags.skipInstall === true; + const hasProjectName = projectName !== undefined; + const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; + + const projectValidity = checkProjectValidity(); + const { isValid: isValidProject } = projectValidity; + let { projectRoot } = projectValidity; + + // block command unless being run within an frontier project + if (isValidProject === false && !hasProjectName) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.PluginBuefy} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } else if (hasProjectName) { + const dir = path.join(process.cwd(), projectName ?? ''); + projectRoot = dir.trim(); + } + + const folderList = TEMPLATE_FOLDERS; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + const config = configs[0]; + const files: Array = config.manifest.files; + const dependencies = config.manifest.packages.dependencies.toString() + .split(',') + .join(' '); + + if (skipInstallStep === false) { + try { + // install dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing buefy dependencies`); + } + + await exec(`${preInstallCommand} npm install --save --legacy-peer-deps ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } catch { + this.error( + JSON.stringify({ + code: 'dependency-install-error', + message: `${this.id?.split(':')[1]} dependencies failed to install`, + }), + ); + } + } else { + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} adding buefy dependencies`); + } + + await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } + + const sourceDirectory: string = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + const installDirectory: string = path.join(projectRoot, 'src', config.manifest.installDirectory); + const routePath: string = path.join(projectRoot, 'src', 'config', 'router.ts'); + + // copy and update files for plugin being added + await copyFiles(sourceDirectory, installDirectory, files); + const { routes }: { routes: Array } = config.manifest; + if (routes && routes.length > 0) { + const formattedContent: string = JSON.stringify(routes, null, 2) + .replace(/(? { + const index = lines.findIndex(line => line.trim().startsWith('routes: [')); + if (index < 0) { + throw new Error(`Could not find routes in ${file}`); + } + + return index + 1; + }, + }); + } + + const { manifest } = config; + const { projectTheme, version, main, moduleImports } = manifest; + updateDynamicImportsAndExports(projectRoot, 'theme', projectTheme, '_all.scss'); + updateDynamicImportsAndExports(projectRoot, 'modules/core', moduleImports, 'index.ts'); + if (version >= TEMPLATE_MIN_VERSION_SUPPORTED) { + const { imports: mainImports } = main; + injectImportsIntoMain(projectRoot, mainImports); + } + + if (skipInstallStep === false) { + this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); + } + } +} diff --git a/src/commands/vue/plugin/element-plus.test.ts b/src/commands/vue/plugin/element-plus.test.ts new file mode 100644 index 00000000..0900c901 --- /dev/null +++ b/src/commands/vue/plugin/element-plus.test.ts @@ -0,0 +1,36 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-plugin-element-plus-test'; + +describe(VUE_CLI_COMMANDS.PluginElementPlus, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.PluginElementPlus]) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginElementPlus} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.PluginElementPlus} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.PluginElementPlus, isTest]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginElementPlus}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] plugin added: ${VUE_CLI_COMMANDS.PluginElementPlus.split(' ')[1]}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/plugin/element-plus.ts b/src/commands/vue/plugin/element-plus.ts new file mode 100644 index 00000000..baa2df40 --- /dev/null +++ b/src/commands/vue/plugin/element-plus.ts @@ -0,0 +1,165 @@ +// eslint-disable-next-line unicorn/import-style, unicorn/prefer-module +const util = require('util'); +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +const exec = util.promisify(shell.exec); +import path from 'node:path'; +import { Command, Flags, ux } from '@oclif/core'; +import { Files } from '../../../modules'; +import { injectImportsIntoMain } from '../../../lib/plugins'; +import { VUE_CLI_COMMANDS, CLI_STATE } from '../../../lib/constants'; +import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; +import { copyFiles, parseVueModuleConfig, updateDynamicImportsAndExports } from '../../../lib/files'; + +const TEMPLATE_FOLDERS = ['element-plus']; +const TEMPLATE_MIN_VERSION_SUPPORTED = 2; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'missing-template-file', + 'missing-template-folder', + 'dependency-install-error', +]); + +export default class ElementPlus extends Command { + static description = 'UI component library for Vue 3' + + static flags = { + help: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + forceProject: Flags.string({ hidden: true }), + skipInstall: Flags.boolean({ hidden: true }), + } + + static args = {} + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { flags, args } = await this.parse(ElementPlus); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const projectName = flags.forceProject; + const isTest = flags.isTest === true; + const skipInstallStep = flags.skipInstall === true; + const hasProjectName = projectName !== undefined; + const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; + + const projectValidity = checkProjectValidity(); + const { isValid: isValidProject } = projectValidity; + let { projectRoot } = projectValidity; + + // block command unless being run within an frontier project + if (isValidProject === false && !hasProjectName) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.PluginBuefy} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } else if (hasProjectName) { + const dir = path.join(process.cwd(), projectName ?? ''); + projectRoot = dir.trim(); + } + + const folderList = TEMPLATE_FOLDERS; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + const config = configs[0]; + const files: Array = config.manifest.files; + const dependencies = config.manifest.packages.dependencies.toString() + .split(',') + .join(' '); + + if (skipInstallStep === false) { + try { + // install dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing element plus dependencies`); + } + + await exec(`${preInstallCommand} npm install --save --legacy-peer-deps ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } catch { + this.error( + JSON.stringify({ + code: 'dependency-install-error', + message: `${this.id?.split(':')[1]} dependencies failed to install`, + }), + ); + } + } else { + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} adding element plus dependencies`); + } + + await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } + + const sourceDirectory: string = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + const installDirectory: string = path.join(projectRoot, 'src', config.manifest.installDirectory); + + // copy and update files for plugin being added + await copyFiles(sourceDirectory, installDirectory, files); + + const { manifest: { modules } } = config; + + const moduleLocations = Object.keys(modules); + for (const location of moduleLocations) { + const localizationArr = location.split('/'); + const filename = localizationArr[localizationArr.length - 1]; + updateDynamicImportsAndExports( + projectRoot, + `modules/${localizationArr.filter((l, i) => i !== localizationArr.length - 1).join('/')}`, + modules[location], + filename + ); + } + + if (skipInstallStep === false) { + this.log(`${CLI_STATE.Success} plugin added: element-plus.`); + } + } +} diff --git a/src/commands/vue/plugin/index.ts b/src/commands/vue/plugin/index.ts new file mode 100644 index 00000000..d69c0808 --- /dev/null +++ b/src/commands/vue/plugin/index.ts @@ -0,0 +1,76 @@ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import { Args, Command, Flags } from '@oclif/core'; + +export default class Plugin extends Command { + // static aliases = ['vue plugin']; + + static description = 'install a plugin' + + static flags = { + help: Flags.boolean({name:'help',description: 'Show help information ', hidden: false }), + } + + static args = { + buefy: Args.string({ name: 'buefy', description: 'lightweigth UI components for Vue.js', hidden: false }), + localization: Args.string({ name: 'localization', description: 'library for localizing content', hidden: false }), + vuetify: Args.string({ name: 'vuetify', description: 'material design framework for Vue.js', hidden: false }), + storybook: Args.string({ name: 'storybook', description: '[coming soon] UI component explorer for frontend devs', hidden: true }), + 'element-plus': Args.string({ name: 'element-plus', description: 'UI component library for Vue 3', hidden: false }), + sentry: Args.string({ name: 'sentry', description: 'Add Sentry to track errors and monitor performance', hidden: false }), + } + + showHelp(): void { + const commandId = Plugin.id; + const commandArgs = Object.values(Plugin.args); + const commandFlags = Object.values(Plugin.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.description}`; + }); + + this.log(` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId.split(':')[1])} ${chalk.blue('')} + + Commands:${argsList} + + Options:${optionList} + `); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (args.length === 0) { // Show help when arguments missing + this.showHelp(); + } else if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { args, flags } = await this.parse(Plugin); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + return Promise.resolve(); + } +} diff --git a/src/commands/vue/plugin/localization.test.ts b/src/commands/vue/plugin/localization.test.ts new file mode 100644 index 00000000..b1cb2081 --- /dev/null +++ b/src/commands/vue/plugin/localization.test.ts @@ -0,0 +1,44 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-plugin-localization-test'; +const testProjectName2 = 'rdv-plugin-localization-test-2'; + +describe(VUE_CLI_COMMANDS.PluginLocalization, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.PluginLocalization]) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginLocalization} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.PluginLocalization} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName2, skipPresets, isTest]) + .do(() => process.chdir(testProjectName2)) + .command([VUE_CLI_COMMANDS.PluginLocalization, isTest]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginLocalization}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] plugin added: ${VUE_CLI_COMMANDS.PluginLocalization.split(' ')[1]}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + + exec(`shx rm -rf ${testProjectName2}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/plugin/localization.ts b/src/commands/vue/plugin/localization.ts new file mode 100644 index 00000000..d74f6608 --- /dev/null +++ b/src/commands/vue/plugin/localization.ts @@ -0,0 +1,266 @@ +/* eslint-disable max-lines */ +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +// eslint-disable-next-line unicorn/import-style, unicorn/prefer-module +const util = require('util'); +const exec = util.promisify(shell.exec); +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import path from 'node:path'; +import { Command, Flags, ux } from '@oclif/core'; +import { Files, ModuleConfig } from '../../../modules'; +import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; +import { VUE_CLI_COMMANDS, CLI_STATE, VUE_DYNAMIC_OBJECTS } from '../../../lib/constants'; +import { injectImportsIntoMain, injectModulesIntoMainVue2, injectModulesIntoMainVue3, injectRoutesIntoRouter } from '../../../lib/plugins'; +import { copyFiles, inject, parseDynamicObjects, parseVueModuleConfig } from '../../../lib/files'; + +const TEMPLATE_FOLDERS = ['localization']; +const TEMPLATE_MIN_VERSION_SUPPORTED = 2; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'missing-template-file', + 'missing-template-folder', + 'dependency-install-error', +]); + +export default class Localization extends Command { + // static aliases = ['vue plugin localization'] + + static description = 'adds i18bn localization' + + static flags = { + help: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + forceProject: Flags.string({ hidden: true }), + skipInstall: Flags.boolean({ hidden: true }), + vue2: Flags.boolean({ hidden: true }), + } + + static args = {} + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async handleVue2(config: ModuleConfig, projectName: string | undefined, projectRoot: string) { + const { flags, args } = await this.parse(Localization); + + const isTest = flags.isTest === true; + const skipInstallStep = flags.skipInstall === true; + const preInstallCommand = projectName !== undefined ? `cd ${projectName} &&` : ''; + let sourceDirectory = ''; + let installDirectory = ''; + + const files: Array = config.manifest.files; + const dependencies = config.manifest.packages.dependencies.toString() + .split(',') + .join(' '); + const devDependencies = config.manifest.packages.devDependencies.toString() + .split(',') + .join(' '); + + if (skipInstallStep === false) { + try { + // install dev dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing localization dev dependencies`); + } + + await exec(`${preInstallCommand} npm install --save-dev --legacy-peer-deps ${devDependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + + // install dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing localization dependencies`); + } + + await exec(`${preInstallCommand} npm install --save --legacy-peer-deps ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } catch { + throw new Error( + JSON.stringify({ + code: 'dependency-install-error', + message: `${this.id?.split(':')[1]} localization dependencies failed to install`, + }), + ); + } + } else { + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} adding localization dependencies`); + } + + await exec(`cd ${projectName} && npx add-dependencies ${devDependencies} --save-dev`, { silent: true }); + await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } + + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + + // copy files for plugin being added + await copyFiles(sourceDirectory, installDirectory, files); + await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.routes, null, 1), VUE_DYNAMIC_OBJECTS.Routes); + await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.vueOptions, null, 1), VUE_DYNAMIC_OBJECTS.Options, true); + if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { + const { imports: mainImports, modules: mainModules } = config.manifest.main; + injectImportsIntoMain(projectRoot, mainImports); + try { + injectModulesIntoMainVue2(projectRoot, mainModules); + } catch { + this.error( + JSON.stringify({ + code: 'import-injection-error', + message: `${this.id?.split(':')[1]} failed to inject import statements`, + }), + ); + } + } else { + // FP-414: backwards compatibility + await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.modules, null, 1), VUE_DYNAMIC_OBJECTS.Modules, true); + } + + if (skipInstallStep === false) { + this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); + } + } + + async run(): Promise { + const { flags, args } = await this.parse(Localization); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const projectName = flags.forceProject; + const isTest = flags.isTest === true; + const skipInstallStep = flags.skipInstall === true; + const hasProjectName = projectName !== undefined; + const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; + + const validityResponse = checkProjectValidity(); + const { isValid: isValidProject } = validityResponse; + let { projectRoot } = validityResponse; + // block command unless being run within an frontier project + if (isValidProject === false && !hasProjectName) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.PluginLocalization} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } else if (hasProjectName) { + const dir = path.join(process.cwd(), projectName ?? ''); + projectRoot = dir.trim(); + } + + const folderList = TEMPLATE_FOLDERS; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + const config = configs[0]; + + // If Vue 2 + if (flags.vue2) { + await this.handleVue2(config, projectName, projectRoot); + + return Promise.resolve(); + } + + const files: Array = config.manifest.files; + const dependencies = config.manifest.packages.dependencies.toString() + .split(',') + .join(' '); + + if (skipInstallStep === false) { + try { + // install dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing localization dependencies`); + } + + await exec(`${preInstallCommand} npm install --save --legacy-peer-deps ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } catch { + this.error( + JSON.stringify({ + code: 'dependency-install-error', + message: `${this.id?.split(':')[1]} dependencies failed to install`, + }), + ); + } + } else { + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} adding localization dependencies`); + } + + await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } + + const sourceDirectory: string = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + const installDirectory: string = path.join(projectRoot, 'src', config.manifest.installDirectory); + + // copy and update files for plugin being added + await copyFiles(sourceDirectory, installDirectory, files); + + // update routes.ts file + const { manifest: { routes } } = config; + + injectRoutesIntoRouter(projectRoot, routes); + + // update main.ts file + const { manifest: { main } } = config; + + const linesToInject = main.imports; + await injectImportsIntoMain(projectRoot, linesToInject); + + const modulesToInject = main.modules; + await injectModulesIntoMainVue3(projectRoot, modulesToInject); + + if (skipInstallStep === false) { + this.log(`${CLI_STATE.Success} plugin added: localization.`); + } + } +} diff --git a/src/commands/vue/plugin/plugin.test.ts b/src/commands/vue/plugin/plugin.test.ts new file mode 100644 index 00000000..a695128f --- /dev/null +++ b/src/commands/vue/plugin/plugin.test.ts @@ -0,0 +1,11 @@ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; + +describe(`${VUE_CLI_COMMANDS.PluginLibrary} --help`, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.PluginLibrary]) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginLibrary} --help`, ctx => { + expect(ctx.stdout).to.contain('npx frontier plugin '); + }); +}); diff --git a/src/commands/vue/plugin/sentry.test.ts b/src/commands/vue/plugin/sentry.test.ts new file mode 100644 index 00000000..c11f234c --- /dev/null +++ b/src/commands/vue/plugin/sentry.test.ts @@ -0,0 +1,44 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-plugin-sentry-test'; +const testProjectName2 = 'rdv-plugin-sentry-test-2'; + +describe(VUE_CLI_COMMANDS.PluginSentry, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.PluginSentry]) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginSentry} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.PluginSentry} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName2, skipPresets, isTest]) + .do(() => process.chdir(testProjectName2)) + .command([VUE_CLI_COMMANDS.PluginSentry, isTest]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginSentry}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] plugin added: ${VUE_CLI_COMMANDS.PluginSentry.split(' ')[1]}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + + exec(`shx rm -rf ${testProjectName2}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/plugin/sentry.ts b/src/commands/vue/plugin/sentry.ts new file mode 100644 index 00000000..1cfa0fbc --- /dev/null +++ b/src/commands/vue/plugin/sentry.ts @@ -0,0 +1,208 @@ +// eslint-disable-next-line unicorn/import-style, unicorn/prefer-module +const util = require('util'); +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +const exec = util.promisify(shell.exec); +import path from 'node:path'; +import { Command, Flags, ux } from '@oclif/core'; +import { Files } from '../../../modules'; +import { copyFiles, parseDynamicObjects, parseVueModuleConfig } from '../../../lib/files'; +import { checkProjectValidity, isJsonString, parseSentryDSN } from '../../../lib/utilities'; +import { VUE_CLI_COMMANDS, CLI_STATE, VUE_DYNAMIC_OBJECTS } from '../../../lib/constants'; +import { appendVariableToEnvFile, injectImportsIntoMain, injectModulesIntoMainVue3 as injectModulesIntoMain } from '../../../lib/plugins'; + +const TEMPLATE_FOLDERS = ['sentry']; +const TEMPLATE_MIN_VERSION_SUPPORTED = 2; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'missing-template-file', + 'missing-template-folder', + 'dependency-install-error', +]); + +export default class Sentry extends Command { + + static description = 'Add Sentry to track errors and monitor performance'; + + static flags = { + help: Flags.boolean({ hidden: false }), + dsn: Flags.string({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + project: Flags.string({ hidden: true }), + skipInstall: Flags.boolean({ hidden: true }), + }; + + static args = {}; + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { flags, args } = await this.parse(Sentry); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const projectName = flags.project; + const sentryDsn = flags.dsn; + const isTest = flags.isTest === true; + const skipInstallStep = flags.skipInstall === true; + const hasProjectName = projectName !== undefined; + const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; + + const validityResponse = checkProjectValidity(); + const { isValid: isValidProject } = validityResponse; + let { projectRoot } = validityResponse; + let enteredDsn = sentryDsn; + + if (!sentryDsn) { + enteredDsn = await parseSentryDSN(args); + } + + const hasSentryDsn = enteredDsn !== undefined; + + // block command unless being run within an frontier project + if (isValidProject === false && !hasProjectName) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.PluginSentry} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } else if (hasProjectName) { + const dir = path.join(process.cwd(), projectName ?? ''); + projectRoot = dir.trim(); + } + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory = ''; + let installDirectory = ''; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + const config = configs[0]; + const files: Array = config.manifest.files; + const dependencies = config.manifest.packages.dependencies.toString() + .split(',') + .join(' '); + + if (skipInstallStep === false) { + try { + // install dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing Sentry dependencies`); + } + + await exec(`${preInstallCommand} npm install --save --legacy-peer-deps ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + + } catch { + throw new Error( + JSON.stringify({ + code: 'dependency-install-error', + message: `${this.id?.split(':')[1]} sentry dependencies failed to install`, + }), + ); + } + } else { + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} adding Sentry dependencies to package.json`); + } + + await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } + + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + + // copy files for plugin being added + await copyFiles(sourceDirectory, installDirectory, files); + + if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { + const { imports: mainImports, modules: mainModules } = config.manifest.main; + const envVariables: { key: string, value: string }[] = config.manifest.env; + + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} updating Sentry modules and environment variables`); + } + + // Added sentry imports and modules + injectImportsIntoMain(projectRoot, mainImports); + try { + injectModulesIntoMain(projectRoot, mainModules, false); + } catch { + ux.action.stop(); + this.error( + JSON.stringify({ + code: 'import-injection-error', + message: `${this.id?.split(':')[1]} failed to inject import statements`, + }), + ); + } + + if (hasSentryDsn && Array.isArray(envVariables) && envVariables.length > 0) { + // Added sentry environment variables + const formattedEnvVariables = envVariables.map(({key, value}) => { + return { + key, + value: value == "__SENTRY_DSN__" ? enteredDsn || "" : value + } + }); + + try { + appendVariableToEnvFile(projectRoot, formattedEnvVariables); + } catch (error) { + this.warn(`${this.id?.split(':')[1]} failed to add the sentry DSN to the .env file. Before you get started, add `); + } + + } + + ux.action.stop(); + } else { + // FP-414: backwards compatibility + await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.modules, null, 1), VUE_DYNAMIC_OBJECTS.Modules, true); + } + + if (skipInstallStep === false) { + this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); + } + } +} diff --git a/src/commands/vue/plugin/vuetify.test.ts b/src/commands/vue/plugin/vuetify.test.ts new file mode 100644 index 00000000..50e06c2d --- /dev/null +++ b/src/commands/vue/plugin/vuetify.test.ts @@ -0,0 +1,36 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-plugin-vuetify-test'; + +describe(VUE_CLI_COMMANDS.PluginVuetify, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.PluginVuetify]) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginVuetify} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.PluginVuetify} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.PluginVuetify, isTest]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.PluginVuetify}`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] plugin added: ${VUE_CLI_COMMANDS.PluginVuetify.split(' ')[1]}`); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + // eslint-disable-next-line no-console + console.log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/commands/vue/plugin/vuetify.ts b/src/commands/vue/plugin/vuetify.ts new file mode 100644 index 00000000..0e31893a --- /dev/null +++ b/src/commands/vue/plugin/vuetify.ts @@ -0,0 +1,188 @@ +// eslint-disable-next-line unicorn/import-style, unicorn/prefer-module +const util = require('util'); +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +const exec = util.promisify(shell.exec); +import path from 'node:path'; +import { Command, Flags, ux } from '@oclif/core'; +import { Files } from '../../../modules'; +import { copyFiles, parseDynamicObjects, parseVueModuleConfig } from '../../../lib/files'; +import { checkProjectValidity, isJsonString } from '../../../lib/utilities'; +import { VUE_CLI_COMMANDS, CLI_STATE, VUE_DYNAMIC_OBJECTS } from '../../../lib/constants'; +import { injectImportsIntoMain, injectModulesIntoMainVue2 as injectModulesIntoMain } from '../../../lib/plugins'; + +const TEMPLATE_FOLDERS = ['vuetify']; +const TEMPLATE_MIN_VERSION_SUPPORTED = 2; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', + 'missing-template-file', + 'missing-template-folder', + 'dependency-install-error', +]); + +export default class Vuetify extends Command { + // static aliases = ['vue plugin vuetify']; + + static description = 'lightweigth UI components for Vuejs'; + + static flags = { + help: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + forceProject: Flags.string({ hidden: true }), + skipInstall: Flags.boolean({ hidden: true }), + }; + + static args = {}; + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { flags, args } = await this.parse(Vuetify); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const projectName = flags.forceProject; + const isTest = flags.isTest === true; + const skipInstallStep = flags.skipInstall === true; + const hasProjectName = projectName !== undefined; + const preInstallCommand = hasProjectName ? `cd ${projectName} &&` : ''; + + const validityResponse = checkProjectValidity(); + const { isValid: isValidProject } = validityResponse; + let { projectRoot } = validityResponse; + // block command unless being run within an frontier project + if (isValidProject === false && !hasProjectName) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.PluginVuetify} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } else if (hasProjectName) { + const dir = path.join(process.cwd(), projectName ?? ''); + projectRoot = dir.trim(); + } + + const folderList = TEMPLATE_FOLDERS; + let sourceDirectory = ''; + let installDirectory = ''; + + // parse config files required for scaffolding this module + const configs = parseVueModuleConfig(folderList, projectRoot); + const config = configs[0]; + const files: Array = config.manifest.files; + const dependencies = config.manifest.packages.dependencies.toString() + .split(',') + .join(' '); + const devDependencies = config.manifest.packages.devDependencies.toString() + .split(',') + .join(' '); + + if (skipInstallStep === false) { + try { + // install dev dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing vuetify dev dependencies`); + } + + await exec(`${preInstallCommand} npm install --save-dev --legacy-peer-deps ${devDependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + + // install dependencies + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} installing vuetify dependencies`); + } + + await exec(`${preInstallCommand} npm install --save --legacy-peer-deps ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } catch { + throw new Error( + JSON.stringify({ + code: 'dependency-install-error', + message: `${this.id?.split(':')[1]} vuetify dependencies failed to install`, + }), + ); + } + } else { + if (isTest !== true) { + ux.action.start(`${CLI_STATE.Info} adding vuetify dependencies`); + } + + await exec(`cd ${projectName} && npx add-dependencies ${devDependencies} --save-dev`, { silent: true }); + await exec(`cd ${projectName} && npx add-dependencies ${dependencies}`, { silent: true }); + + if (isTest !== true) { + ux.action.stop(); + } + } + + sourceDirectory = path.join(config.moduleTemplatePath, config.manifest.sourceDirectory); + installDirectory = path.join(projectRoot, 'src', config.manifest.installDirectory); + + // copy files for plugin being added + await copyFiles(sourceDirectory, installDirectory, files); + await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.routes, null, 1), VUE_DYNAMIC_OBJECTS.Routes); + await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.vueOptions, null, 1), VUE_DYNAMIC_OBJECTS.Options, true); + + if (config.manifest.version >= TEMPLATE_MIN_VERSION_SUPPORTED) { + const { imports: mainImports, modules: mainModules } = config.manifest.main; + injectImportsIntoMain(projectRoot, mainImports); + try { + injectModulesIntoMain(projectRoot, mainModules); + } catch { + this.error( + JSON.stringify({ + code: 'import-injection-error', + message: `${this.id?.split(':')[1]} failed to inject import statements`, + }), + ); + } + } else { + // FP-414: backwards compatibility + await parseDynamicObjects(projectRoot, JSON.stringify(config.manifest.modules, null, 1), VUE_DYNAMIC_OBJECTS.Modules, true); + } + + if (skipInstallStep === false) { + this.log(`${CLI_STATE.Success} plugin added: ${this.id?.split(':')[1]}`); + } + } +} diff --git a/src/commands/vue/upgrade/index.ts b/src/commands/vue/upgrade/index.ts new file mode 100644 index 00000000..f3266ffc --- /dev/null +++ b/src/commands/vue/upgrade/index.ts @@ -0,0 +1,244 @@ +/* eslint-disable max-lines */ +// eslint-disable-next-line unicorn/prefer-module +const fs = require('fs'); +// eslint-disable-next-line unicorn/prefer-module +const shell = require('shelljs'); +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import path from 'node:path'; +import { Args, Command, Flags } from '@oclif/core'; +import { checkProjectValidity, createChangelogReadme, isJsonString } from '../../../lib/utilities'; +import { copyDirectoryRecursive, copyFiles, deleteFile, readFile, updateFile } from '../../../lib/files'; +import { VUE_CLI_COMMANDS, CLI_STATE, VUE_TEMPLATE_REPO, VUE_TEMPLATE_ROOT, VUE_TEMPLATE_TAG, VUE_DOCUMENTATION_LINKS, CHANGE_LOG_FOLDER, CHANGE_LOG_FILENAME, CHAR_PERIOD } from '../../../lib/constants'; +import { DEFAULT_CHANGE_LOG, changeLogFile, ChangelogResource, ChangelogResourcesContent, ChangeLog, ChangelogConfigTypes, handlePrimitives, handleArraysAndObjects } from '../../../modules'; +const CUSTOM_ERROR_CODES = new Set([ + 'project-invalid', +]); + +export default class Upgrade extends Command { + // static aliases = ['vue upgrade']; + + static description = 'Specify the frontier template version for a project' + + static flags = { + help: Flags.boolean({ hidden: false }), + isTest: Flags.boolean({ hidden: true }), + } + + static args = { + name: Args.string({ name: 'name', description: 'frontier version' }), + } + + // override Command class error handler + catch(error: Error): Promise { + const errorMessage = error.message; + const isValidJSON = isJsonString(errorMessage); + const parsedError = isValidJSON ? JSON.parse(errorMessage) : {}; + const customErrorCode = parsedError.code; + const customErrorMessage = parsedError.message; + const hasCustomErrorCode = customErrorCode !== undefined; + const hasNonExistentFlagError = errorMessage.includes('Nonexistent flag'); + + if (hasNonExistentFlagError) { + this.log(`${CLI_STATE.Error} Flag not found. See more with --help`); + } else if (!hasCustomErrorCode) { + // throw cli errors to be handled globally + throw errorMessage; + } else if (CUSTOM_ERROR_CODES.has(customErrorCode)) { // handle errors thrown with known error codes + this.log(`${CLI_STATE.Error} ${customErrorMessage}`); + } else { + throw new Error(customErrorMessage); + } + + return Promise.resolve(); + } + + handleHelp(args: (string | undefined)[], flags: { + help: boolean; + }): void { + if (flags.help === true) { // Exit execution which will show help menu for help flag + this.exit(0); + } + } + + async run(): Promise { + const { isValid: isValidProject, projectRoot } = checkProjectValidity(); + // block command unless being run within an frontier project + if (isValidProject === false) { + throw new Error( + JSON.stringify({ + code: 'project-invalid', + message: `${VUE_CLI_COMMANDS.Upgrade} command must be run in an existing ${chalk.yellow('frontier')} project`, + }), + ); + } + + const { args, flags } = await this.parse(Upgrade); + const commandArgs = Object.values(args); + + this.handleHelp(commandArgs, flags); + + const template: string = VUE_TEMPLATE_REPO; + const versionName = args.name ?? VUE_TEMPLATE_TAG; + const temporaryProjectFolder = path.join(projectRoot, 'node_modules', '_temp'); + const templateSourcePath = path.join(temporaryProjectFolder, VUE_TEMPLATE_ROOT); + + const templateDestinationPath = path.join(projectRoot, VUE_TEMPLATE_ROOT); + const changelogPath = path.join(projectRoot, CHANGE_LOG_FILENAME); + + // retrieve project files from template source + await shell.exec(`git clone ${template} --depth 1 --branch ${versionName} ${temporaryProjectFolder}`, { silent: true }); + + // copy template files to project local template storage + await copyDirectoryRecursive(templateSourcePath, templateDestinationPath); + /** + * @Todo create method to generate changelog dynamically from git diff. + * add changelog to project temp directory and read based on release version number + */ + const rawGeneratedChangelog = readFile(path.join(templateDestinationPath, CHANGE_LOG_FOLDER, versionName)); + const parsedGeneratedChangelog: ChangeLog | null = rawGeneratedChangelog.length > 0 ? JSON.parse(rawGeneratedChangelog) : null; + const changeLogData = parsedGeneratedChangelog ?? DEFAULT_CHANGE_LOG; + + /** + * Steps for Executing changelog + * 1. read package.json file from project root + * 2. compare packages in existing package.json with the updated package.json cloned in above + * 3. remove unused project dependencies and devDependencies + * 4. add missing packages to project dependencies and devDependencies + * 5. update existing packages to appropriate versions + * 6. write package.json file back to project root + * 7. remove unused files ( vue.config.js, .env, .env.example, .package-lock.json ) + * 8. include new project folders and files ( scripts/config, config/.env, config/.env.example, webpack.config.js ) + * 9. update existing project files ( main.ts, tsconfig.json, tailwind.config.js, src/pages/hello-world, readme ) + */ + const resourcesToCreate = changeLogData[ChangelogConfigTypes.CREATE]?.resources; + const resourcesToUpdate = changeLogData[ChangelogConfigTypes.UPDATE]?.resources; + const resourcesToDelete = changeLogData[ChangelogConfigTypes.DELETE]?.resources; + if (resourcesToCreate) { + await this.createProjectFiles(projectRoot, temporaryProjectFolder, resourcesToCreate); + } + + if (resourcesToUpdate) { + await this.updateProjectFiles(projectRoot, resourcesToUpdate); + } + + if (resourcesToDelete) { + this.deleteProjectFiles(projectRoot, resourcesToDelete); + } + + fs.rmSync(temporaryProjectFolder, { recursive: true }); + + this.log(`${CLI_STATE.Success} frontier updated to version: ${chalk.green(versionName)}`); + + createChangelogReadme(versionName, changelogPath, changeLogData); + this.log(`${CLI_STATE.Success} CHANGELOG.md generated at : ${chalk.green(changelogPath)}`); + + this.log(`\n ${chalk.yellow('frontier')} has been updated to use the esbuild bundler!\n Learn more here: ${chalk.yellow(VUE_DOCUMENTATION_LINKS.EsBuild)}\n`); + this.log(changeLogData.reccomendations); + } + + async createProjectFiles(projectRoot: string, temporaryProjectFolder: string, resources: ChangelogResource[]): Promise { + for await (const resource of resources) { + try { + const name = resource.name; + const src = resource.srcPath; + const dest = resource.destPath; + const resourceFile = resource.file; + + if (src !== undefined && dest !== undefined && resourceFile) { + const srcDir = path.join(temporaryProjectFolder, src.trim()); + const destDir = path.join(projectRoot, dest.trim()); + + const existingFile = readFile(path.join(destDir, name)); + if (existingFile && !resourceFile.target.includes(ChangelogConfigTypes.UPDATE)) { + const current = resourceFile.target.split(CHAR_PERIOD); + current.splice(-1, 0, ChangelogConfigTypes.UPDATE); + resourceFile.target = current.join(CHAR_PERIOD); + } + + const files: changeLogFile[] = [resourceFile]; + await copyFiles(srcDir, destDir, files, false); + } else { + throw this.error; + } + } catch (error) { + this.log(`${CLI_STATE.Warning} could not create file at: ${chalk.yellow(error)}`); + } + } + } + + async updateProjectFiles(projectRoot: string, resources: ChangelogResource[]): Promise { + for await (const resource of resources) { + const destPath = resource.destPath; + const destDir = path.join(projectRoot, destPath); + const name = resource.name; + const contents: ChangelogResourcesContent[] | undefined = resource.contents; + + if (contents && contents.length > 0) { + const filePath = path.join(projectRoot, name); + const rawJsonData = readFile(filePath); + const parsedJsonData = this.jsonReader(filePath); + + for (const content of contents) { + const keys: string[] = content.key.split('.'); + this.parseAndUpdateJson(parsedJsonData, keys, content); + } + + const regex = /[^]*/; + await updateFile(destDir, rawJsonData, regex, JSON.stringify(parsedJsonData, null, 2)); + } + } + } + + deleteProjectFiles(projectRoot: string, resources: ChangelogResource[]): void { + for (const resource of resources) { + const destPath = resource.destPath; + const name = resource.name; + + const destDir = path.join(projectRoot, destPath); + const targetFile = path.join(destDir, name); + const rawData = readFile(targetFile); + + if (!rawData) { + return; + } + + try { + deleteFile(targetFile); + } catch { + this.log(`${CLI_STATE.Warning} could not find file at: ${chalk.yellow(targetFile)} to delete`); + } + } + } + + // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types + parseAndUpdateJson(data: any, keys: string[], content: ChangelogResourcesContent): void { + if (!data || keys.length <= 0) { + return; + } + + const currentKey = keys.shift(); + if (currentKey) { + if (keys.length <= 0) { + const operation = content.operation; + const newValue = content.value; + + if (!Array.isArray(newValue) && !(newValue instanceof Object)) { + handlePrimitives(data, currentKey, operation, newValue); + } else { + handleArraysAndObjects(data, currentKey, operation, newValue); + } + + return; + } + + this.parseAndUpdateJson(data[currentKey], keys, content); + } + } + + jsonReader(filePath: string): any { + const text = fs.readFileSync(filePath); + + return JSON.parse(text); + } +} diff --git a/src/commands/vue/upgrade/upgrade.test.ts b/src/commands/vue/upgrade/upgrade.test.ts new file mode 100644 index 00000000..0a9b38a3 --- /dev/null +++ b/src/commands/vue/upgrade/upgrade.test.ts @@ -0,0 +1,36 @@ +/* global after */ +import { expect, test } from '@oclif/test'; +import { VUE_CLI_COMMANDS } from '../../../lib/constants'; +import { exec } from 'node:child_process'; + +const skipPresets = '--skipPresets'; +const isTest = '--isTest'; +const testProjectName = 'rdv-upgrade-test'; +const { log } = console; + +describe(VUE_CLI_COMMANDS.Upgrade, () => { + test + .stdout() + .command([VUE_CLI_COMMANDS.Upgrade]) + .it(`runs frontier ${VUE_CLI_COMMANDS.Upgrade} (outside project)`, ctx => { + expect(ctx.stdout).to.contain(`[frontier] ${VUE_CLI_COMMANDS.Upgrade} command must be run in an existing frontier project`); + }); + + test + .stdout() + .command([VUE_CLI_COMMANDS.CreateProject, testProjectName, skipPresets, isTest]) + .do(() => process.chdir(testProjectName)) + .command([VUE_CLI_COMMANDS.Upgrade, isTest]) + .do(() => process.chdir('../')) + .it(`runs frontier ${VUE_CLI_COMMANDS.Upgrade}`, ctx => { + expect(ctx.stdout).to.contain('frontier updated to version:'); + }); + + after(() => { + exec(`shx rm -rf ${testProjectName}`, error => { + if (error) { + log(`error: ${error.message}`); + } + }); + }); +}); diff --git a/src/help.ts b/src/help.ts new file mode 100644 index 00000000..32b7224e --- /dev/null +++ b/src/help.ts @@ -0,0 +1,97 @@ +import { Help } from '@oclif/core'; +import { Topic } from '@oclif/core/lib/interfaces'; +import chalk from 'chalk'; +import { CLI_NAMESPACES } from './lib/constants'; +import { log } from './lib/stdout'; + +export default class MyHelpClass extends Help { + // display help for a command + // eslint-disable-next-line require-await, @typescript-eslint/explicit-module-boundary-types + async showCommandHelp(command: any): Promise { + // console.log(command); + const commandId = command.id; + const commandArgs = Object.values(command.args); + const commandFlags = Object.values(command.flags); + + // parse argument config list + const argsList = commandArgs + .filter((arg: any) => !arg.hidden) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.blue(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + // parse option config list + const optionList = commandFlags + .filter((flag: any) => !flag.hidden) + .map((flag: any) => { + const maxSpaces = 22; + const numOfSpaces = maxSpaces - flag.name.length; + + return `\n\t --${flag.name} ${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${flag.name === 'help' ? 'Show help information' : flag.description}`; + }); + + const optionalNewline = `${commandArgs.length === 0 ? '' : '\n'}`; + + const message = ` + Usage: + ${chalk.yellow('frontier')} ${chalk.green(commandId.replaceAll(':', ' '))} ${commandArgs.length > 0 ? chalk.blue('') : ''}${optionalNewline} + ${commandArgs.length > 0 ? 'Commands:' : ''}${argsList}${optionalNewline} + Options:${optionList} + `; + + log(message); + } + + formatRoot(): string { + return ` + Usage: + ${chalk.yellow('frontier')} ${chalk.green('')} `; + } + + // the formatting for a list of topics + protected formatTopics(topics: Topic[]): string { + // console.log(topics); + const argsList = topics + .filter((arg: any) => { + return CLI_NAMESPACES.includes(arg.name); + }) + .map((arg: any) => { + const maxSpaces = 25; + const numOfSpaces = maxSpaces - arg.name.length; + + return `\n\t ${chalk.green(arg.name)}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + }); + + return `\tNamespaces:${argsList}`; + } + + // the formatting for a list of commands + // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/explicit-module-boundary-types, no-unused-vars + formatCommands(commands: any): string { + // parse argument config list + // console.log(JSON.parse(JSON.stringify(commands))); + // const argsList = commands + // .filter((arg: any) => { + // const isHidden = arg.hidden; + // const isStrict = arg.strict; + // const commandId = arg.id; + // const levels = commands.filter((c: any) => c.id.includes(commandId)).length; + // const oneLevelDeep = levels > 1; + + // return (!isHidden && isStrict && oneLevelDeep); + // }) + // .map((arg: any) => { + // const maxSpaces = 25; + // const numOfSpaces = maxSpaces - arg.id.length; + + // return `\n\t ${arg.id}${Array.from({ length: numOfSpaces + 1 }).join(' ')}- ${arg.description}`; + // }); + + return `\tOptions: + \t --help ${Array.from({ length: 14 }).join(' ')} - Show help information + \t --version ${Array.from({ length: 14 }).join(' ')} - Show CLI version`; + } +} diff --git a/src/hooks/command-incomplete.ts b/src/hooks/command-incomplete.ts new file mode 100644 index 00000000..78cba96a --- /dev/null +++ b/src/hooks/command-incomplete.ts @@ -0,0 +1,65 @@ +import chalk from 'chalk'; +import prompts from 'prompts'; +import { ProjectConfig } from '../modules/project'; +import { readProjectConfig } from '../lib/files'; +import { Hook, toConfiguredId, toStandardizedId } from '@oclif/core'; + +const hook: Hook.CommandIncomplete = async function ({ config, matches, argv, id }) { + const projectConfig: ProjectConfig = readProjectConfig(); + + let command: string | undefined = ''; + + // eslint-disable-next-line no-negated-condition + if (projectConfig.type !== undefined) { + command = `${projectConfig.type}:${id}`; + } else { + const choices = matches.map(p => { + return { + title: toConfiguredId(p.id, config), + }; + }); + + // Prompt user for intended command + const responses: any = await prompts( + [ + { + name: 'command', + initial: 0, + message: 'Which of these commands would you like to run?', + type: 'select', + choices, + }, + ], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`command ${chalk.red(id.split(':').join(' '))} canceled`); + + return false; + }, + }, + ); + const commandIndex = responses.command; + // eslint-disable-next-line no-negated-condition + command = commandIndex !== undefined ? choices[commandIndex].title : undefined; + } + + if (command === undefined) { + return; + } + + // console.log(config.commandIDs); + + const standardizedCommand = toStandardizedId(command as string, config); + // if (argv.includes('--help') || argv.includes('-h')) { + // return config.runCommand(standardizedCommand); + // } + if (!standardizedCommand.includes('--help') && argv.includes('--help')) { + // console.log({ where: 'command-incomplete', key: { command, standardizedCommand, argv } }); + + return config.runCommand(`${standardizedCommand}`, ['--help']); + } + + return config.runCommand(standardizedCommand, argv); +}; + +export default hook; diff --git a/src/hooks/command-not-found.ts b/src/hooks/command-not-found.ts new file mode 100644 index 00000000..8e8311ae --- /dev/null +++ b/src/hooks/command-not-found.ts @@ -0,0 +1,43 @@ +import { Hook } from '@oclif/core'; +import chalk from 'chalk'; + +const reduceCommand = function (command: string[]) { + const copyCommands = [...command]; + // const newCommands = command.slice(0, -1).join(':'); + const removedCommand = copyCommands.pop(); + + return { + reducedCommands: copyCommands.join(':'), + removedCommand, + }; +}; + +// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars +const runHelp = async function (config: any, command: string) { + await config.runCommand(command, ['--help']); + // return command.slice(0, -1).join(':'); +}; + +// eslint-disable-next-line require-await +const hook: Hook.CommandNotFound = async function ({ id, argv, config }) { + let commandStrings = []; + const command = id.trim(); + // console.log("Not found: ", command, argv); + // console.log({ where: 'command-not-found', key: { command, argv } }); + commandStrings = command.includes(':') ? command?.split(':') : command?.split(' '); + // console.log('Not found - commandStrings: ', commandStrings); + + if (commandStrings.length > 1) { + const { reducedCommands, removedCommand } = reduceCommand(commandStrings); + const args = argv && removedCommand ? [...argv, removedCommand] : []; + + // console.log('Not found - reducedCommand: ', reducedCommands); + // console.log('Not found - args: ', args); + await config.runCommand(reducedCommands, args); + } else { + // eslint-disable-next-line no-console + console.log(`${chalk.red('command not found')}: ${command} ${argv}`); + } +}; + +export default hook; diff --git a/src/hooks/init.ts b/src/hooks/init.ts new file mode 100644 index 00000000..fba65a37 --- /dev/null +++ b/src/hooks/init.ts @@ -0,0 +1,52 @@ +import { Hook, toStandardizedId } from '@oclif/core'; +import { readProjectConfig } from '../lib/files'; +import { ProjectConfig } from '../modules/project'; + +const hook: Hook.Init = async function ({ id, config, argv }) { + // console.log({ where: 'init', { id, argv }}); + // id = id?.replaceAll(' --help', ' ') || ''; + // id = id?.replaceAll(' -h', ' ') || ''; + // argv = argv.filter(a => a !== '-h' && a !== '--help'); + const projectConfig: ProjectConfig = readProjectConfig(); + const namespace = projectConfig.type; + const hasNamespace = namespace !== undefined; + const hasCommandId = id !== undefined; + + // display namespace help menu if exists + if (hasNamespace && !hasCommandId) { + // console.log({ where: 'init', key: 1 }); + const command = toStandardizedId(namespace as string, config); + + await config.runCommand(command, argv); + // eslint-disable-next-line no-invalid-this + this.exit(); + } else if (hasNamespace && hasCommandId) { + // A nameespace has been identified and a command has been entered + // if the namespace is already included in the command then dont duplicate it otherwise include it as a prefix + const prefix = id.includes(namespace) ? '' : namespace; + const rawCommandList = id?.split(':'); + const rawCommand = `${prefix} ${rawCommandList.join(' ')} ${argv.join(' ')}`.trim(); + const fullCommandList = rawCommand.split(' '); + // include the args of the command + const rawArgs = fullCommandList.length > 3 ? fullCommandList.slice(3) : []; + const fullCommand = fullCommandList.length > 3 ? fullCommandList.slice(0, 3).join(':') : fullCommandList.join(':'); + const command = toStandardizedId(fullCommand, config); + // console.log({ where: 'init', key: { command, rawArgs } }); + await config.runCommand(command, rawArgs); + // eslint-disable-next-line no-invalid-this + this.exit(); + } else if (hasCommandId) { + // console.log({ where: 'init', key: 3 }); + // console.log({ where: 'init', `ID: ${id.trim()}`}); + // console.log({ where: 'init', `ARG: ${argv}`}); + await config.runCommand(id.trim(), argv); + // eslint-disable-next-line no-invalid-this + this.exit(); + } else { + // console.log({ where: 'init', key: 0 }); + } + + // run before the command is identified +}; + +export default hook; diff --git a/packages/frontier-core/cli/src/index.ts b/src/index.ts similarity index 100% rename from packages/frontier-core/cli/src/index.ts rename to src/index.ts diff --git a/src/lib/constants.ts b/src/lib/constants.ts new file mode 100644 index 00000000..0ce1019f --- /dev/null +++ b/src/lib/constants.ts @@ -0,0 +1,191 @@ +import chalk from 'chalk'; + +/* eslint-disable no-unused-vars */ +export const UI_COMPONENTS_ROOT = '.rdvue/template/components/ui'; +export const COMPONENTS_LIB_ROOT = '.rdvue/template/components/lib'; +export const VUE_TEMPLATE_ROOT = '.rdvue/template'; +export const MOBILE_TEMPLATE_ROOT = '.rdvue/template'; +export const DOTNET_TEMPLATE_ROOT = '.frontier/template'; +export const MOBILE_TEMPLATE_REPO = + 'https://github.com/realdecoy/rdvue-mobile-template'; +export const VUE_TEMPLATE_REPO = 'https://github.com/realdecoy/rdvue-template'; +export const DOTNET_TEMPLATE_REPO = 'Net.WebApi.Template::'; +export const DESIGN_TEMPLATE_REPO = 'https://github.com/realdecoy/design-system-components'; +export const VUE_TEMPLATE_TAG = 'vue3'; // replace this with the appropriate release tag in the template repo +export const MOBILE_TEMPLATE_TAG = 'beta-refactor'; // replace this with the appropriate release tag in the template repo +export const DOTNET_TEMPLATE_TAG = '1.0.0-rc.6'; // replace this with the appropriate release tag in the template repo +export const DOTNET_TEMPLATE_SHORT_NAME = 'netwebapi'; // replace this with the appropriate release tag in the template repo +export const DOTNET_DOCKER_IMAGE = 'mcr.microsoft.com/dotnet/sdk'; +export const DOTNET_DOCKER_IMAGE_TAG = '7.0'; +export const DOTNET_DOCKER_VOLUME = 'tmp_dotnet_vol'; +export const DOCKER_RUN_COMMAND = 'docker run --rm'; +export const DOCKER_APP_DIR = '/app'; +export const DESIGN_TEMPLATE_FOLDER = 'library'; +export const TEMPLATE_PROJECT_NAME_REGEX = /__PROJECT_NAME__/g; +export const TEMPLATE_MOBILE_PROJECT_SCHEME_REGEX = /__PROJECT_SCHEME__/g; +export const TEMPLATE_MOBILE_PROJECT_BUNDLE_IDENTIFIER_REGEX = /__BUNDLE_IDENTIFIER__/g; +export const TEMPLATE_CONFIG_FILENAME = 'manifest.json'; +export const UI_COMPONENT_CONFIG_FILENAME = 'package.json'; +export const CHANGE_LOG_FOLDER = 'changelogs'; +export const CHANGE_LOG_FILENAME = 'CHANGELOG.md'; +export const EMPTY_STRING = ''; +export const CHAR_PERIOD = '.'; +export const RDVUE_DIRECTORY = '.rdvue'; +export const FRONTIER_RC = '.frontierrc'; +export const RDVUE_COPY = '.rdvue-copy'; +export const DOTNET_TOOL_EXPORT_PATH = 'PATH="$PATH:/root/.dotnet/tools"'; + +export const CLI_NAMESPACES = [ + 'vue', + 'mobile', + 'dotnet', + 'iac', + 'qa', +]; + +enum VUE_CLI_COMMANDS_ENUM { + CreateProject = 'vue create-project', + Upgrade = 'vue upgrade', + AddComponent = 'vue add component', + AddPage = 'vue add page', + AddService = 'vue add service', + AddStore = 'vue add store', + AddLayout = 'vue add layout', + AddModule = 'vue add', + PluginBuefy = 'vue plugin buefy', + PluginElementPlus = 'vue plugin element-plus', + PluginLocalization = 'vue plugin localization', + PluginVuetify = 'vue plugin vuetify', + PluginSentry = 'vue plugin sentry', + PluginLibrary = 'vue plugin', + PoorHelpCommand = 'add-help' +} +export const VUE_CLI_COMMANDS = VUE_CLI_COMMANDS_ENUM; + +enum ADAM_CLI_COMMANDS_ENUM { + Hello = 'adam hello', + World = 'adam world', + WorldGalaxy = 'adam world galaxy', + PoorHelpCommand = 'adam-help' +} +export const ADAM_CLI_COMMANDS = ADAM_CLI_COMMANDS_ENUM; + +enum DOTNET_CLI_COMMANDS_ENUM { + CreateProject = 'dotnet create-project', + AddModule = 'dotnet add', + AddEndpoint = 'dotnet add endpoint', + AddQuery = 'dotnet add query', + AddCommand = 'dotnet add command', + AddEntity = 'dotnet add entity', + AddConfiguration = 'dotnet add configuration', + MigrationNew = 'dotnet mirate new', + MigrationUp = 'dotnet mirate up', + MigrationDown = 'dotnet mirate down', + MigrationRemove = 'dotnet mirate remove', + PluginBackground = 'dotnet plugin background', + PoorHelpCommand = 'add-help' +} +export const DOTNET_CLI_COMMANDS = DOTNET_CLI_COMMANDS_ENUM; + +enum MOBILE_CLI_COMMANDS_ENUM { + CreateProject = 'mobile create-project', + AddComponent = 'mobile add component', + AddLayout = 'mobile add layout', + AddScreen = 'mobile add screen', + AddService = 'mobile add service', + AddStore = 'mobile add store', + AddModule = 'mobile add', + PluginLocalization = 'mobile plugin localization', + PluginBitrise = 'mobile plugin bitrise', + PluginLibrary = 'mobile plugin', + PoorHelpCommand = 'add-help', +} +export const MOBILE_CLI_COMMANDS = MOBILE_CLI_COMMANDS_ENUM; + +enum VUE_DOCUMENTATION_LINKS_ENUM { + FrontierVue = 'http://frontier.realdecoy.com/vue/introduction/whats-frontier-vue', + Component = 'http://frontier.realdecoy.com/vue/features/components', + Layout = 'http://frontier.realdecoy.com/vue/features/layouts', + Page = 'http://frontier.realdecoy.com/vue/features/pages', + Service = 'http://frontier.realdecoy.com/vue/features/services', + Store = 'http://frontier.realdecoy.com/vue/features/stores', + EsBuild = 'http://frontier.realdecoy.com/vue/features/bundle-analysis', +} +export const VUE_DOCUMENTATION_LINKS = VUE_DOCUMENTATION_LINKS_ENUM; + +enum DOTNET_DOCUMENTATION_LINKS_ENUM { + FrontierDotnet = 'http://frontier.realdecoy.com/frontier/introduction/whats-frontier', + Entity = 'http://frontier.realdecoy.com/dotnet/features/entity', + Endpoint = 'http://frontier.realdecoy.com/dotnet/features/endpoint', + Query = 'http://frontier.realdecoy.com/dotnet/features/query', + Command = 'http://frontier.realdecoy.com/dotnet/features/command', + Configuration = 'http://frontier.realdecoy.com/dotnet/features/configuration', +} +export const DOTNET_DOCUMENTATION_LINKS = DOTNET_DOCUMENTATION_LINKS_ENUM; + +enum MOBILE_DOCUMENTATION_LINKS_ENUM { + FrontierMobile = 'http://frontier.realdecoy.com/mobile/introduction/whats-frontier-mobile', + Component = 'http://frontier.realdecoy.com/mobile/features/components', + Screen = 'http://frontier.realdecoy.com/mobile/features/screens', + Service = 'http://frontier.realdecoy.com/mobile/features/services', + Navigation = 'http://frontier.realdecoy.com/mobile/features/navigation', + Store = 'http://frontier.realdecoy.com/mobile/features/stores', +} +export const MOBILE_DOCUMENTATION_LINKS = MOBILE_DOCUMENTATION_LINKS_ENUM; + +export const VUE_PLUGIN_PRESET_LIST = [ + 'Localization (recommended)', + 'Sentry', + '[Skip presets]', +]; + +export const VUE_TEMPLATE_REPLACEMENT_FILES = [ + 'README.md', + 'package.json', + '.rdvue/.rdvue', + 'public/index.html', + 'public/manifest.json', +]; + +export const MOBILE_TEMPLATE_REPLACEMENT_FILES = [ + 'package.json', + 'package-lock.json', + '.rdvue/.rdvue', + 'app.json', +]; + +export const MOBILE_TEMPLATE_CI_CD_REPLACEMENT_FILES = [ + 'bitrise.yml', + 'app.json', +]; + +export const CLI_STATE = { + Info: `${chalk.blue('[frontier]')}`, + Error: `${chalk.red('[frontier]')}`, + Warning: `${chalk.yellow('[frontier]')}`, + Success: `${chalk.green('[frontier]')}`, +}; + +export const BITRISE_CONFIGS = { + baseURL: 'https://api.bitrise.io/v0.1', +}; + +export const REQUEST_TIMEOUT_MILLISECONDS = 3600; + +enum VUE_DYNAMIC_OBJECTS_ENUM { + Routes = 'routes', + Store = 'store', + Options = 'options', + Modules = 'modules', +} + +export const VUE_DYNAMIC_OBJECTS = VUE_DYNAMIC_OBJECTS_ENUM; + +enum MOBILE_DYNAMIC_OBJECTS_ENUM { + Routes = 'routes', + Store = 'store', + Options = 'options', + Modules = 'modules', +} + +export const MOBILE_DYNAMIC_OBJECTS = MOBILE_DYNAMIC_OBJECTS_ENUM; diff --git a/src/lib/files.inject.test.ts b/src/lib/files.inject.test.ts new file mode 100644 index 00000000..99f87f13 --- /dev/null +++ b/src/lib/files.inject.test.ts @@ -0,0 +1,67 @@ +/* global beforeEach, afterEach */ +import sinon from 'sinon'; +import fs from 'node:fs'; +import { inject } from '../../src/lib/files'; +import { expect } from 'chai'; + +describe('lib/files.inject', () => { + const content = 'import foo from \'bar\''; + const dummyText = 'line 1\nline 2\nline 3\n'; + const targetPath = 'dummy'; + + let readFileSyncStub: sinon.SinonStub; + let writeFileSyncStub: sinon.SinonStub; + + beforeEach(() => { + readFileSyncStub = sinon.stub(fs, 'readFileSync').returns(dummyText); + writeFileSyncStub = sinon.stub(fs, 'writeFileSync'); + }); + + it('default - injects string at start of file', () => { + const expectedOutput = `${content}\n${dummyText}`; + + inject(targetPath, content); + + expect(writeFileSyncStub.getCall(0).args[1]).equals(expectedOutput); + }); + + it('options - alternative encoding', () => { + // eslint-disable-next-line no-undef + const options: { encoding: BufferEncoding } = { + encoding: 'hex', + }; + + inject(targetPath, content, options); + + expect(readFileSyncStub.getCall(0).args[1]).to.include({ encoding: options.encoding }); + }); + + it('options - alternative numeric index', () => { + const expectedOutput = `line 1\nline 2\n${content}\nline 3\n`; + const options = { + index: 2, + }; + + inject(targetPath, content, options); + + expect(writeFileSyncStub.getCall(0).args[1]).equals(expectedOutput); + }); + + it('options - alternative dynamic index', () => { + const expectedOutput = `${dummyText}\n${content}`; + const options = { + index: (lines: string[]) => { + return lines.length; + }, + }; + + inject(targetPath, content, options); + + expect(writeFileSyncStub.getCall(0).args[1]).equals(expectedOutput); + }); + + afterEach(() => { + readFileSyncStub.restore(); + writeFileSyncStub.restore(); + }); +}); diff --git a/src/lib/files.read-and-update-feature-files.test.ts b/src/lib/files.read-and-update-feature-files.test.ts new file mode 100644 index 00000000..e834fb53 --- /dev/null +++ b/src/lib/files.read-and-update-feature-files.test.ts @@ -0,0 +1,91 @@ +/* global beforeEach, afterEach */ +import sinon from 'sinon'; +import fs from 'node:fs'; +import { expect } from 'chai'; +import { readAndUpdateFeatureFiles } from '../../src/lib/files'; + +describe('lib/files.readAndUpdateFeatureFiles', () => { + const matchRegex = '__VALUE__'; + const destDir = ''; + const dummyFile: { [key: string]: string } = { + 'file1.ts': `line 1\n${matchRegex}\nline 3\n`, + 'file2.ts': `${matchRegex}\nline 2\nline 3\n`, + 'file3.ts': `line 1\nline 2\n${matchRegex}\n`, + }; + let readFileSyncStub: sinon.SinonStub; + let writeFileSyncStub: sinon.SinonStub; + + beforeEach(() => { + readFileSyncStub = sinon.stub(fs, 'readFileSync').callsFake(path => { + return dummyFile[path.toString()]; + }); + writeFileSyncStub = sinon.stub(fs, 'writeFileSync'); + }); + + it('reads and updates feature files', async () => { + const kebabName = 'component-name'; + const templateVariableName = 'componentName'; + const pascalName = 'withPascalName'; + + const files: Array = [ + { + source: 'file1.ts', + target: 'file1.ts', + content: [{ + matchRegex, + replace: 'withKebabName', + }], + }, + { + source: 'file2.ts', + target: 'file2.ts', + content: [{ + matchRegex, + // eslint-disable-next-line no-template-curly-in-string + replace: '${withTemplateVariable}', + }], + }, + { + source: 'file3.ts', + target: 'file3.ts', + content: [{ + matchRegex, + replace: pascalName, + }], + }, + ]; + + await readAndUpdateFeatureFiles(destDir, files, kebabName, templateVariableName); + expect(writeFileSyncStub.calledWith( + `${destDir}${files[0].target}`, + `line 1\n${kebabName}\nline 3\n`, + )).to.equal(true); + expect(writeFileSyncStub.calledWith( + `${destDir}${files[1].target}`, + `${templateVariableName}\nline 2\nline 3\n`, + )).to.equal(true); + expect(writeFileSyncStub.calledWith( + `${destDir}${files[2].target}`, + `line 1\nline 2\n${pascalName}\n`, + )).to.equal(true); + }); + + it('copies files?', async () => { + const kebabName = 'component-name'; + const templateVariableName = 'componentName'; + + const files: Array = [ + { + source: 'file1.ts', + target: 'file1.ts', + }, + ]; + + await readAndUpdateFeatureFiles(destDir, files, kebabName, templateVariableName); + }); + + afterEach(() => { + readFileSyncStub.restore(); + writeFileSyncStub.restore(); + }); +}); diff --git a/src/lib/files.ts b/src/lib/files.ts new file mode 100644 index 00000000..9752aef5 --- /dev/null +++ b/src/lib/files.ts @@ -0,0 +1,867 @@ +/* eslint-disable max-lines */ +// eslint-disable-next-line unicorn/prefer-module +const ncp = require('ncp').ncp; +// eslint-disable-next-line unicorn/prefer-module +const fsSync = require('fs'); +// eslint-disable-next-line unicorn/prefer-module +const mkdirp = require('mkdirp'); +// eslint-disable-next-line unicorn/prefer-module +const replace = require('replace-in-file'); +// eslint-disable-next-line unicorn/import-style, unicorn/prefer-module +const util = require('util'); +import path from 'node:path'; +import * as fsExtra from 'fs-extra'; +import { log } from './stdout'; +import fileSystem from 'node:fs'; +import bluebirdPromise from 'bluebird'; +import { hasCamel, hasEndpointLower, hasFeature, hasKebab, hasProject } from './utilities'; +import { Files, InjectOptions, ModuleConfig } from '../modules'; +import { VUE_DYNAMIC_OBJECTS, EMPTY_STRING, FRONTIER_RC, RDVUE_DIRECTORY, TEMPLATE_CONFIG_FILENAME, VUE_TEMPLATE_ROOT, MOBILE_TEMPLATE_ROOT, DOTNET_TEMPLATE_ROOT } from './constants'; + +const UTF8 = 'utf-8'; +const fs = bluebirdPromise.promisifyAll(fileSystem); +const copyFilePromise = util.promisify(fs.copyFile); +const getDirName = path.dirname; + +/** + * Description: Read file located at specified filePath + * @param {string} filePath - a path to a file + * @returns {string} - + */ +function readFile(filePath: string): string { + try { + return fs.readFileSync(filePath, UTF8); + } catch { + return EMPTY_STRING; + } +} + +/** + * Description: Enumerate all directories in the given directory + * @param {string} directoryPath - a path to a directory + * @returns {string[]} - an array of directories + */ +function enumerateDirectories(directoryPath: string): string[] { + return fs.readdirSync(directoryPath).filter(file => { + return fs.statSync(path.join(directoryPath, file)).isDirectory(); + }); +} + +/** + * Description: Determine whether or not the given path is a + * directory which exists + * @param {string} filePath - a path to a file + * @returns {boolean} - + */ +function directoryExists(filePath: string): boolean { + try { + return fs.statSync(filePath).isDirectory(); + } catch { + return false; + } +} + +/** + * Description: Determine whether or not the given file exists + * @param {string} filePath - a path to a file + * @returns {boolean} - + */ +function fileExists(filePath: string): boolean { + try { + return fs.existsSync(filePath); + } catch { + return false; + } +} + +/** + * Description: Read main config file to determine options the tool can take + * @param {string} filePath - + * @returns {any} - + */ +function readConfigFile(filePath: string): any { + const isExistingFile = fileExists(filePath); + if (isExistingFile === false) { + throw new Error( + JSON.stringify({ + code: 'missing-template-file', + message: 'template file not found, run rdvue upgrade to continue', + }), + ); + } + + return JSON.parse(readFile(filePath)); +} + +/** + * Description: Read project config file to determine options the tool can take + * @param {string} filePath - + * @returns {any} - + */ +function readProjectConfig(): any { + const filePath: string = path.join(getProjectRoot() ?? '', FRONTIER_RC); + const isExistingFile = fileExists(filePath); + if (isExistingFile === false) { + return {}; + } + + return JSON.parse(readFile(filePath)); +} + +/** + * Description: Read dotnet migration folder to determine options the tool can take + * @param {string} projectName - + * @returns {any} - + */ +function readMigrationNames(projectName: string): any { + const MIGRATIONS_FOLDER_PATH = `src/${projectName}.Persistence/Migrations`; + const folderPath: string = path.join(getProjectRoot() ?? '', MIGRATIONS_FOLDER_PATH); + const isExistingFolder = directoryExists(folderPath); + if (isExistingFolder === false) { + return {}; + } + + const fileNames = readFilesFromDirectory(folderPath).filter((file: string) => { + return !file.includes('Designer.cs') && !file.includes('DbContextModelSnapshot.cs'); + }); + + return fileNames; +} + +/** + * Description: Read dotnet migration folder to determine options the tool can take + * @param {string} projectName - + * @returns {any} - + */ +function readApiFeatureNames(projectName: string): any { + const FEATURES_FOLDER_PATH = `src/${projectName}.Application/Features`; + const folderPath: string = path.join(getProjectRoot() ?? '', FEATURES_FOLDER_PATH); + const isExistingFolder = directoryExists(folderPath); + if (isExistingFolder === false) { + return {}; + } + + const fileNames = readFilesFromDirectory(folderPath); + + return fileNames; +} + +/** + * Description: Read dotnet migration folder to determine options the tool can take + * @param {string} directoryPath - + * @returns {any} - + */ +function readFilesFromDirectory(directoryPath: string): any { + const files = fs.readdirSync(directoryPath); + + return files; +} + +/** + * Description: parse config files required for scaffolding this module + * @param {string[]} folderList - + * @param {string} projectRoot - + * @returns {[any]} - + */ +function parseMobileModuleConfig(folderList: string[], projectRoot: string): { name: string, moduleTemplatePath: string, manifest: any }[] { + return folderList.map(folder => { + const moduleTemplatePath = path.join(projectRoot, MOBILE_TEMPLATE_ROOT, folder); + const configFilePath = path.join(moduleTemplatePath, TEMPLATE_CONFIG_FILENAME); + + return { + name: folder, + moduleTemplatePath, + manifest: readConfigFile(configFilePath), + }; + }); +} + +/** + * Description: parse config files required for scaffolding this module + * @param {string[]} folderList - + * @param {string} projectRoot - + * @returns {[any]} - + */ +function parseVueModuleConfig(folderList: string[], projectRoot: string): Array { + return folderList.map(folder => { + const moduleTemplatePath = path.join(projectRoot, VUE_TEMPLATE_ROOT, folder); + const configFilePath = path.join(moduleTemplatePath, TEMPLATE_CONFIG_FILENAME); + + return { + name: folder, + moduleTemplatePath, + manifest: readConfigFile(configFilePath), + }; + }); +} + +/** + * Description: parse config files required for scaffolding this module + * @param {string[]} folderList - + * @param {string} projectRoot - + * @returns {[any]} - + */ +function parseDotnetModuleConfig(folderList: string[], projectRoot: string): { name: string, moduleTemplatePath: string, manifest: any }[] { + return folderList.map(folder => { + const moduleTemplatePath = path.join(projectRoot, DOTNET_TEMPLATE_ROOT, folder); + const configFilePath = path.join(moduleTemplatePath, TEMPLATE_CONFIG_FILENAME); + + return { + name: folder, + moduleTemplatePath, + manifest: readConfigFile(configFilePath), + }; + }); +} + +/** + * Description: Writes given data to a file + * @param {string} filePath - path of file which will be created or modified to include given data + * @param {string} data - data written to file + * @returns {boolean} - + */ +function writeFile(filePath: string, data: string): boolean { + let success = true; + try { + fs.writeFileSync(filePath, data); + } catch { + success = false; + throw new Error('failed to write to file'); + } + + return success; +} + +/** + * Description: Replace content in list of files based on configs passed in + * @param {string|string[]} files - + * @param {RegExp} from - + * @param {string} to - + * @returns {Promise} - + */ +async function replaceInFiles(files: string | string[], from: RegExp, to: string): Promise { + let result = false; + let replaceResults; + let failedFiles; + const options = { + files, + from, + to, + }; + + try { + replaceResults = await replace(options); + failedFiles = replaceResults + .filter((result: { file: string; hasChanged: boolean }) => !result.hasChanged) + .map((result: { file: string; hasChanged: boolean }) => result.file); + result = failedFiles.length === 0; + } catch { + throw new Error( + JSON.stringify({ + code: 'file-not-changed', + }), + ); + } + + return result; +} + +/** + * Description: Replace filename with a given value + * @param {string} fileName - filename to be replaced + * @param {RegExp} placeholder - pattern used with specified flag in order + * to created new RegExp (old file name) + * @param {string} value - value to replace old filename + * @returns {string} - + */ +function replaceFileName( + fileName: string, + placeholder: RegExp, + value: string, +): string { + const r = new RegExp(placeholder, 'g'); + const response = fileName.replace(r, value); + + return response; +} + +/** + * Description: Update target filenames to include feature name + * @param {Array} files - filenames which need to be updated + * @param {string} featureName - the string used to update the name of the files + * @returns {void} - + */ +function replaceTargetFileNames( + files: Array, + featureName: string, +): void { + if (featureName !== EMPTY_STRING) { + // eslint-disable-next-line unicorn/no-array-for-each + files.forEach((file: string | Files) => { + if (typeof file !== 'string' && file.target !== file.source) { + file.target = replaceFileName( + file.target, + /(\${.*?})/, + featureName ?? EMPTY_STRING, + ); + } + }); + } +} + +/** + * Description: Copy files from source directory to target directory + * @param {string} source - source directory + * @param {string} target - target directory + * @returns {boolean} - Returns true if copy was successful + */ +async function copyDirectoryRecursive(source: string, target: string): Promise { + let success = false; + if (directoryExists(target)) { + fsSync.rmdirSync(target, { recursive: true }); + fsSync.mkdirSync(target); + } else { + fsSync.mkdirSync(target); + } + + try { + await ncp(source, target); + success = true; + } catch { + success = false; + } + + return success; +} + +/** + * Description: Copy files from a source directory to a destination directory + * @param {string} srcDir - directory from which files will be copied + * @param {string} destDir - directory to which files will be copied + * @param {Array} files - files to be copied + * @param {Boolean} isCorePath - flag to optionally auto set core path if config path is included, true by default. + * @returns {Promise} - + */ +function copyFilesOld( + srcDir: string, + destDir: string, + files: Array, + isCorePath = true, +): Promise { + return Promise.all( + files.map((f: Files | string) => { + let source = EMPTY_STRING; + let dest = EMPTY_STRING; + // Get source and destination paths + if (typeof f === 'string') { + source = path.join( + srcDir, + `${srcDir.includes('config') && isCorePath ? 'core' : EMPTY_STRING}`, + f, + ); + dest = path.join(destDir, f); + } else { + source = path.join(srcDir, f.source); + dest = path.join(destDir, f.target); + } + + // Create all the necessary directories if they dont exist + const dirName = getDirName(dest); + mkdirp.sync(dirName); + + return copyFilePromise(source, dest); + }), + ); +} + +/** + * Description: Copy files from a source directory to a destination directory + * @param {string} srcDir - directory from which files will be copied + * @param {string} destDir - directory to which files will be copied + * @param {Array} files - files to be copied + * @param {Boolean} isCorePath - flag to optionally auto set core path if config path is included, true by default. + * @returns {Promise} - + */ +function copyFiles( + srcDir: string, + destDir: string, + files: Array, + isCorePath = true, +): void { + // eslint-disable-next-line unicorn/no-array-for-each + files.forEach((f: Files | string) => { + let source = EMPTY_STRING; + let dest = EMPTY_STRING; + // Get source and destination paths + if (typeof f === 'string') { + source = path.join( + srcDir, + `${srcDir.includes('config') && isCorePath ? 'core' : EMPTY_STRING}`, + f, + ); + dest = path.join(destDir, f); + } else { + source = path.join(srcDir, f.source); + dest = path.join(destDir, f.target); + } + + // Create all the necessary directories if they dont exist + const dirName = getDirName(dest); + mkdirp.sync(dirName); + + // console.log(`Sorce: ${source}`); + // console.log(`Desti: ${dest}`); + // fsExtra.copy(source, dest); + fs.copyFile(source, dest, err => { + if (err) { + console.log(err); + } + }); + }); +} + +/** + * Description: Write changes to a file + * @param {string} filePath - location of file to be updated + * @param {string} content - existing file content + * @param {string | RegExp} pattern - regex pattern or pattern to be replaced + * @param {string} value - value to replace content in file + * @returns {Promise} - + */ +async function updateFile( + filePath: string, + content: string, + pattern: string | RegExp, + value: string, +): Promise { + const regex = pattern instanceof RegExp ? pattern : new RegExp(pattern, 'g'); + + if (value !== EMPTY_STRING) { + const newValue = content.replace(regex, value); + await fs.writeFileSync(filePath, newValue, UTF8); + } +} + +/** + * Read files that have been copied to target destination + * and replace template values with input recieved form user + * through prompts + * @param {string} destDir - target destination + * @param {Files[] | Array} files - files to read + * @param {string} kebabName - name of feature in kebab case + * @param {string} pascalName - name of feature in pascal case + * @param {string} camelName - name of feature in camel case + * @returns {Promise} - + */ +// eslint-disable-next-line max-params +async function readAndUpdateFeatureFiles( + destDir: string, + files: Files[] | Array, + kebabName: string, + pascalName: string, + camelName?: string, +): Promise { + let filePath = ''; + const promisedUpdates = []; + + // [3] For each file in the list + for (const file of files) { + if (typeof file === 'string') { + continue; + } + + // [3b] Add the target file to the path of the desired destination directory + filePath = path.join(destDir, file.target); + + // [3c] Check if the contents of the file is defined + if (file.content !== undefined && Array.isArray(file.content)) { + // [3d] For each content block in the file content array + for (const contentBlock of file.content) { + if (contentBlock && contentBlock.matchRegex) { + // [4] Get the content at the desired file path + const fileContent = readFile(filePath); + // [5] Update the contents of the file at given filePath + promisedUpdates.push( + updateFile( + filePath, + fileContent, + contentBlock.matchRegex, + hasKebab(contentBlock.replace) === true ? + kebabName : + (hasCamel(contentBlock.replace) === true && camelName ? + camelName : + // eslint-disable-next-line unicorn/no-nested-ternary + contentBlock.replace.includes('${') ? + pascalName : + contentBlock.replace), + ), + ); + } + } + } else if (file.content) { + throw new Error( + JSON.stringify({ + code: 'failed-match-and-replace', + message: `failed to match and replace for :${kebabName} files`, + }), + ); + } + } + + await Promise.all(promisedUpdates); +} + +/** + * Read files that have been copied to target destination + * and replace template values with input recieved form user + * through prompts + * @param {string} destDir - target destination + * @param {Files[] | Array} files - files to read + * @param {string} kebabName - name of feature in kebab case + * @param {string} pascalName - name of feature in pascal case + * @param {string} camelName - name of feature in camel case + * @param {string} projectName - name of feature in project case + * @param {string} featureName - name of feature in feature case + * @param {string} endpointNameLower - name of feature in lower case + * @returns {Promise} - + */ +// eslint-disable-next-line max-params +async function readAndUpdateDotnetFeatureFiles( + destDir: string, + files: Files[] | Array, + kebabName: string, + pascalName: string, + camelName?: string, + projectName?: string, + featureName?: string, + endpointNameLower?: string, +): Promise { + let filePath = ''; + const promisedUpdates = []; + + // [3] For each file in the list + for (const file of files) { + if (typeof file === 'string') { + continue; + } + + // [3b] Add the target file to the path of the desired destination directory + filePath = path.join(destDir, file.target); + + // [3c] Check if the contents of the file is defined + if (file.content !== undefined && Array.isArray(file.content)) { + // [3d] For each content block in the file content array + for (const contentBlock of file.content) { + if (contentBlock && contentBlock.matchRegex) { + // [4] Get the content at the desired file path + const fileContent = readFile(filePath); + // [5] Update the contents of the file at given filePath + promisedUpdates.push( + updateFile( + filePath, + fileContent, + contentBlock.matchRegex, + hasKebab(contentBlock.replace) === true ? + kebabName : + (hasCamel(contentBlock.replace) === true && camelName ? + camelName : + // eslint-disable-next-line unicorn/no-nested-ternary + (hasProject(contentBlock.replace) === true && projectName ? + projectName : + (hasFeature(contentBlock.replace) === true && featureName ? + featureName : + (hasEndpointLower(contentBlock.replace) === true && endpointNameLower ? + endpointNameLower : + contentBlock.replace.includes('${') ? + pascalName : + '') + ) + ) + ), + ), + ); + } + } + } else if (file.content) { + throw new Error( + JSON.stringify({ + code: 'failed-match-and-replace', + message: `failed to match and replace for :${kebabName} files`, + }), + ); + } + } + + await Promise.all(promisedUpdates); +} + +/** + * Description: determine if is root directory of rdvue project + * @param {string|null} location defaults to null + * @returns {boolean} - + */ +function isRootDirectory(location: string | null = null): boolean { + let isRoot = false; + try { + let paths: string[] = []; + let testLocation = location; + if (location === null) { + testLocation = process.cwd(); + } + + if (testLocation !== null) { + paths = testLocation.split(path.sep); + if (paths.length > 0 && paths[1] === EMPTY_STRING) { + isRoot = true; + } + } + } catch { + throw new Error('Error checking root directory'); + } + + return isRoot; +} + +/** + * Description: determine the root of the current project + * @returns {string | null} - + */ +function getProjectRoot(): string | null { + const configFolderName = RDVUE_DIRECTORY; + const frontierFileName = FRONTIER_RC; + const currentConfigFolder = path.join(process.cwd(), configFolderName); + // Check if the current directory is the root of the project for older versions of rdvue + if (fileExists(currentConfigFolder) && !fs.lstatSync(currentConfigFolder).isDirectory()) { + deleteFile(currentConfigFolder); + + return process.cwd(); + } + + const maxTraverse = 20; + let currentPath = process.cwd(); + let currentTraverse = 0; + let projectRoot: string | null = null; + let back = './'; + // eslint-disable-next-line no-constant-condition + while (true) { + currentPath = path.join(process.cwd(), back); + back = path.join(back, '../'); + currentTraverse += 1; + if (fileExists(path.join(currentPath, frontierFileName))) { + projectRoot = currentPath; + break; + } else if (isRootDirectory(currentPath)) { + projectRoot = null; + break; + } else if (currentTraverse > maxTraverse) { + projectRoot = null; + break; + } + } + + return projectRoot; +} + +/** + * Description: Determine whether or not the given file path is a + * directory which exists + * @param {string} folderPath - a path to a folder + * @returns {void} - + */ +function checkIfFolderExists(folderPath: string): void { + const isExistingFolder = directoryExists(folderPath); + // block command if project folder already exists + if (isExistingFolder === true) { + throw new Error( + JSON.stringify({ + code: 'existing-folder', + message: `folder named ${folderPath} already exists`, + }), + ); + } +} + +/** + * Description: Determine whether or not the given folder path is a + * directory which exists + * @param {string} folderPath - a path to a folder + * @returns {void} - + */ +function verifyTemplateFolderExists(folderPath: string): void { + const isExistingFolder = directoryExists(folderPath); + // block command if project folder already exists + if (isExistingFolder === false) { + throw new Error( + JSON.stringify({ + code: 'missing-template-folder', + message: 'template folder not found, run rdvue upgrade to continue', + }), + ); + } +} + +/** + * Description: Inject dynamic objects into project files + * @param {string} projectRoot - + * @param {string} jsonData - stringified json data from file + * @param {string} objectName - property name to be injected + * @param {boolean?} hasBrackets - injected object has brackets + * @returns {void} - + */ +function parseDynamicObjects( + projectRoot: string, + jsonData: string, + objectName: string, + hasBrackets?: boolean, +): void { + let filePathOfObjectInsideProject; + let objectInProject; + let objectStringToBeWritten = EMPTY_STRING; + + // 1[b] Once inside of a project values are assigned to be used + if (projectRoot !== null) { + // Allocate the location of the .js file + filePathOfObjectInsideProject = path.join( + projectRoot, + '.rdvue', + `${objectName}.js`, + ); + + // Read files to be modified + objectInProject = readFile(filePathOfObjectInsideProject); + + // Replace brackets & ("/`) quotations in string + let modifiedJSONData = jsonData.replace(/["[\]`]+/g, EMPTY_STRING); + + // Remove beginning and closing brackets if its an option to be modified + if (hasBrackets) { + modifiedJSONData = modifiedJSONData.slice( + 1, + -1, + ); + } + + // Removed closers from files to append information + const originalObjectString = objectInProject.slice(0, -2); + + // Append the new information and close files after changes + objectStringToBeWritten = `${originalObjectString}${modifiedJSONData.trim()},${objectName === VUE_DYNAMIC_OBJECTS.Routes ? ']' : '}'};`; + } + + // 1[c] Once everything is clear write the updated file into the ./rdvue foldler + if ( + filePathOfObjectInsideProject !== undefined && + objectStringToBeWritten !== EMPTY_STRING + ) { + writeFile(filePathOfObjectInsideProject, objectStringToBeWritten); + } +} + +// eslint-disable-next-line valid-jsdoc +/** + * Injects the content into the targetted file. You can control where the + * the content is injected by specifying the index in the options argument. + * You can also use a method to dynamically determine the index. If the index + * is not defined, this method will inject the content at the start of the file. + * + * @param {string} targetPath full path to the file you are injecting into + * @param {string} content The content to inject + * @param {InjectOptions?} options see InjectOptions type + */ +function inject(targetPath: string, content: string, options?: InjectOptions): void { + const encoding = options?.encoding ?? 'utf-8'; + let index = options?.index ?? 0; + + let targetContent = fs.readFileSync(targetPath, { encoding }); + const lines = targetContent.split(/\r?\n/g); + + if (typeof index === 'function') { + index = index([...lines], targetPath); + } + + lines.splice(index, 0, content); + targetContent = lines.join('\n'); + + fs.writeFileSync(targetPath, targetContent, { encoding }); +} + +/** + * Description: + * @param {string} projectRoot - + * @param {string} folderName - + * @param {string|string[]} featuredata - + * @param {string} fileName - + * @returns {void} + */ +async function updateDynamicImportsAndExports( + projectRoot: string, + folderName: string, + featuredata: string | string[], + fileName: string, +): Promise { + const SOURCE_DIRECTORY = 'src'; + + if (projectRoot === null) { + log('Project location was not found'); + } else { + const fileLocation = path.join(projectRoot, SOURCE_DIRECTORY, folderName, fileName); + if (fileExists(fileLocation)) { + if (typeof featuredata === 'string') { + await fs.appendFileSync(fileLocation, featuredata); + } else { + for (const data of featuredata) { + fs.appendFileSync(fileLocation, data); + } + } + } else { + log(`${fileLocation} - Does not exist`); + } + } +} + +/** + * Description: Delete file at given path + * @param {string} filePath - path of file which will be created or modified to include given data + * @returns {boolean} - + */ +function deleteFile(filePath: string): boolean { + let success = true; + try { + fs.unlinkSync(filePath); + } catch { + success = false; + throw new Error('failed to delete file'); + } + + return success; +} + +export { + readFilesFromDirectory, + enumerateDirectories, + updateDynamicImportsAndExports, + parseDynamicObjects, + verifyTemplateFolderExists, + checkIfFolderExists, + parseMobileModuleConfig, + parseVueModuleConfig, + parseDotnetModuleConfig, + replaceInFiles, + replaceTargetFileNames, + readAndUpdateFeatureFiles, + readAndUpdateDotnetFeatureFiles, + copyFilesOld, + copyFiles, + copyDirectoryRecursive, + getProjectRoot, + readFile, + readConfigFile, + readProjectConfig, + fileExists, + writeFile, + inject, + deleteFile, + updateFile, + readMigrationNames, + readApiFeatureNames, +}; diff --git a/src/lib/plugins.test.ts b/src/lib/plugins.test.ts new file mode 100644 index 00000000..c9c1b1c2 --- /dev/null +++ b/src/lib/plugins.test.ts @@ -0,0 +1,111 @@ +/* global beforeEach, afterEach */ +import sinon from 'sinon'; +import fs from 'node:fs'; +import { injectImportsIntoMain, injectModulesIntoMainVue2 as injectModulesIntoMain } from '../../src/lib/plugins'; +import { expect } from 'chai'; + +describe('lib/plugins.injectImportsIntoMain', () => { + const line1 = 'import \'@/theme/_all.scss\';'; + const line2 = 'import Vue from \'vue\';'; + const line3 = 'new Vue({});'; + const dummyText = `${line1}\n${line2}\n${line3}`; + const targetPath = 'dummy'; + + let readFileSyncStub: sinon.SinonStub; + let writeFileSyncStub: sinon.SinonStub; + + beforeEach(() => { + readFileSyncStub = sinon.stub(fs, 'readFileSync').returns(dummyText); + writeFileSyncStub = sinon.stub(fs, 'writeFileSync'); + }); + + it('default - injects string into main', () => { + const content = 'import myPlugin from \'myPlugin\';\r\nVue.use(myPlugin);\r\n'; + const expectedOutput = `${line1}\n${line2}\n${content}\n${line3}`; + injectImportsIntoMain(targetPath, content); + expect(writeFileSyncStub.getCall(0).args[1]).equals(expectedOutput); + }); + + it('default - injects array into main', () => { + const content = [ + 'import myPlugin from \'myPlugin\';\r\n', + 'Vue.use(myPlugin);\r\n', + ]; + const expectedOutput = `${line1}\n${line2}\n${content.join('')}\n${line3}`; + injectImportsIntoMain(targetPath, content); + expect(writeFileSyncStub.getCall(0).args[1]).equals(expectedOutput); + }); + + it('auxiliary - main has no import statements', () => { + const content = [ + 'import myPlugin from \'myPlugin\';\r\n', + 'Vue.use(myPlugin);\r\n', + ]; + const line1 = '// a comment'; + const line2 = 'let a = 1;'; + const line3 = 'let b = a + 1;'; + + readFileSyncStub.restore(); + readFileSyncStub = sinon.stub(fs, 'readFileSync').returns(`${line1}\n${line2}\n${line3}`); + const expectedOutput = `${content.join('')}\n${line1}\n${line2}\n${line3}`; + injectImportsIntoMain(targetPath, content); + expect(writeFileSyncStub.getCall(0).args[1]).equals(expectedOutput); + }); + + afterEach(() => { + readFileSyncStub.restore(); + writeFileSyncStub.restore(); + }); +}); + +describe('lib/plugins.injectModulesIntoMain', () => { + const line1 = 'new Vue({'; + const line2 = ' render: (h) => h(App),'; + const line3 = '});'; + const dummyText = `${line1}\n${line2}\n${line3}`; + const targetPath = 'dummy'; + + let readFileSyncStub: sinon.SinonStub; + let writeFileSyncStub: sinon.SinonStub; + + beforeEach(() => { + readFileSyncStub = sinon.stub(fs, 'readFileSync').returns(dummyText); + writeFileSyncStub = sinon.stub(fs, 'writeFileSync'); + }); + + it('default - injects string into main', () => { + const content = [ + 'myModule', + ]; + const expectedOutput = `${line1}\n${content},\n${line2}\n${line3}`; + injectModulesIntoMain(targetPath, content); + expect(writeFileSyncStub.getCall(0).args[1]).equals(expectedOutput); + }); + + it('default - injects array into main', () => { + const content = [ + 'myModule', + 'myOtherModule', + ]; + const expectedOutput = `${line1}\n${content.join(',\n')},\n${line2}\n${line3}`; + injectModulesIntoMain(targetPath, content); + expect(writeFileSyncStub.getCall(0).args[1]).equals(expectedOutput); + }); + + it('auxiliary - error thrown when Vue initializer is missing', () => { + const content = [ + 'myModule', + ]; + const line1 = '// a comment'; + const line2 = 'let a = 1;'; + const line3 = 'let b = a + 1;'; + readFileSyncStub.restore(); + readFileSyncStub = sinon.stub(fs, 'readFileSync').returns(`${line1}\n${line2}\n${line3}`); + expect(() => injectModulesIntoMain(targetPath, content)).to.throw(); + }); + + afterEach(() => { + readFileSyncStub.restore(); + writeFileSyncStub.restore(); + }); +}); diff --git a/src/lib/plugins.ts b/src/lib/plugins.ts new file mode 100644 index 00000000..533443f6 --- /dev/null +++ b/src/lib/plugins.ts @@ -0,0 +1,198 @@ +import path from 'node:path'; +import { inject, readFile, writeFile } from './files'; + +/** + * Private helper method for finding index of last import statement. + * @param {Array} lines the lines of a file + * @returns {number} the index of the last import statement. + * Returns 0 if no imports were found. + */ +function findIndexOfLastImportStatement(lines: string[]): number { + const index = [...lines] + .reverse() + .findIndex(line => line.trimStart().startsWith('import')); + + return (index === -1) ? 0 : lines.length - index; +} + +/** + * Private helper method for finding the the vue initializer + * @param {Array} lines the lines of a file + * @returns {number} the index of the last import statement. + * @throws error if the vue initializer is not found. + */ +function findIndexOfVueConstructorVue2(lines: string[]): number { + const index = lines.findIndex(line => line.trimStart().startsWith('new Vue')); + if (index === -1) { + throw new Error('Vue initializer was not defined in main.ts.'); + } + + return index + 1; +} + +function findIndexOfVueConstructorVue3(lines: string[]): number { + const content = lines.join('\n'); + const usePattern = /app\.use\([^)]+\);/g; // Find all app.use statements + const mountPattern = /app\.mount\('#app'\);/; // Find app.mount + + const allUses = [...content.matchAll(usePattern)]; + if (allUses.length === 0) { + throw new Error('Could not find \'app.use\' statements to inject modules.'); + } + + const lastUseIndex = content.slice(0, Math.max(0, allUses[allUses.length - 1].index! + allUses[allUses.length - 1][0].length)).split('\n').length; + + const mountLineIndex = content.slice(0, Math.max(0, mountPattern.exec(content)!.index!)).split('\n').length; + + if (lastUseIndex >= mountLineIndex) { + throw new Error('Found \'app.mount\' before the last \'app.use\'. Check the structure of the main file.'); + } + + return lastUseIndex; +} + +function findIndexOfLastRoute(lines: string[]): number { + for (let i = lines.length - 1; i >= 0; i--) { + if (lines[i].includes('name: \'not-found\'')) { + // Look for the starting curly brace of the not-found route + while (i >= 0 && !lines[i].includes('{')) { + i--; + } + + return i; + } + } + + throw new Error('The \'not-found\' route could not be found.'); +} + +/** + * private helper method for assembling path to main + * @param {string} projectRoot root path to the project + * @returns {string} returns the path + */ +function getMainPath(projectRoot: string): string { + const ext = 'ts'; + + return path.join(projectRoot, 'src', `main.${ext}`); +} + +/** + * private helper method for assembling path to .env file + * @param {string} projectRoot root path to the project + * @returns {string} returns the path + */ +function getProjectEnvPath(projectRoot: string): string { + return path.join(projectRoot, '.env'); +} +/** + * private helper method for converting route object to string + * @param {object} routeObj the route object + * @returns {string} the string representation of the route object + */ +function routeObjectToString(routeObj: any): string { + const { path, name, component } = routeObj; + + const componentName = name.replace(/["']/g, '').toUpperCase(); + const webpackChunkName = component.webpackChunkName ? `/* webpackChunkName: ${component.webpackChunkName} */` : ''; + + return `{\n path: ${path},\n name: ${name},\n component: ${componentName} ${webpackChunkName}\n},\n`; +} + +function generateImportStatementForComponent(routeObj: any): string { + const { name, component } = routeObj; + + // Convert the name to uppercase to fit the desired format (ComponentName) + const componentName = name.replace(/["']/g, '').toUpperCase(); + + // Extract the import path, excluding the function call syntax + const importPath = component.import.match(/\(([^)]+)\)/)[1]; + + return `import ${componentName} from ${importPath};\n`; +} + +/** + * helper method for injecting modules into main. + * @param {string} projectRoot the root path of the project + * @param {string | string[]} lines the lines to inject + * @returns {void} + */ + +function injectImportsIntoMain(projectRoot: string, lines: string | string[]): void { + const mainPath = getMainPath(projectRoot); + const contents = Array.isArray(lines) ? lines.join('') : lines; + inject(mainPath, contents, { + index: findIndexOfLastImportStatement, + }); +} + +/** + * Helper method for injecting modules into the Vue constructor + * @param {string} projectRoot the root path of the project + * @param {strings} lines the lines to inject + * @returns {void} + */ +function injectModulesIntoMainVue2(projectRoot: string, lines: string | string[]): void { + const mainPath = getMainPath(projectRoot); + const contents = `${Array.isArray(lines) ? lines.join(',\n') : [...lines]},`; + inject(mainPath, contents, { + index: findIndexOfVueConstructorVue2, + }); +} + +function injectModulesIntoMainVue3(projectRoot: string, moduleNames: string | string[], isVueModule: boolean = true): void { + const mainPath = getMainPath(projectRoot); + let uses = ""; + + // Assuming the moduleNames are just the names, we map them to create the correct syntax + if (isVueModule) { + uses = Array.isArray(moduleNames) ? + moduleNames.map(m => `app.use(${m});`).join('\n') : `app.use(${moduleNames.trim()});`; + } else { + uses = Array.isArray(moduleNames) ? moduleNames.map(m => m).join('\n') : moduleNames.trim(); + } + + inject(mainPath, uses, { + index: findIndexOfVueConstructorVue3, + }); +} + +function appendVariableToEnvFile(projectRoot: string, variables: { key: string, value: string }[]): void { + const envPath = getProjectEnvPath(projectRoot); + const newContents = variables.map(({key, value}) => `${key}=${value}`); + const existingEnvContent = readFile(envPath); + const envLines = existingEnvContent.split(/\r?\n/g); + const newEnvLines = [...envLines, ...newContents].join("\n") + + writeFile(envPath, newEnvLines) +} + +function injectRoutesIntoRouter(projectRoot: string, routesObj: any[]): void { + const routerPath = path.join(projectRoot, 'src', 'config', 'router.ts'); + + // Generate the routes strings + const routesStrings = routesObj.map(route => routeObjectToString(route)); + const routesContent = routesStrings.join(',\n'); + + // Generate the component import strings + const importStrings = routesObj.map(route => generateImportStatementForComponent(route)); + const importContent = importStrings.join('\n'); + + // Inject routes + inject(routerPath, `${routesContent}`, { + index: findIndexOfLastRoute, + }); + + // Inject component imports at the top (after last import statement) + inject(routerPath, `${importContent}\n`, { + index: findIndexOfLastImportStatement, + }); +} + +export { + injectImportsIntoMain, + injectModulesIntoMainVue2, + injectModulesIntoMainVue3, + injectRoutesIntoRouter, + appendVariableToEnvFile, +}; diff --git a/src/lib/stdout.test.ts b/src/lib/stdout.test.ts new file mode 100644 index 00000000..8b1e24be --- /dev/null +++ b/src/lib/stdout.test.ts @@ -0,0 +1,38 @@ +import sinon, { SinonStub } from 'sinon'; +import { expect } from 'chai'; + +import { format } from 'node:util'; +import { log } from '../../src/lib/stdout'; + +const { stdout } = process; + +describe('lib/stdout.log', () => { + let writeStub: SinonStub; + + beforeEach(() => { + writeStub = sinon.stub(stdout, 'write'); + }); + + it('default - prints an empty message', () => { + log(); + expect(writeStub.lastCall.args).to.include('\n'); + }); + + it('default - prints a string', () => { + const message = 'my message'; + log(message); + expect(writeStub.lastCall.args).to.include(`${message}\n`); + }); + + it('default - prints a not string', () => { + const message = { + key: 'value', + }; + log(message); + expect(writeStub.lastCall.args).to.include(`${format(message)}\n`); + }); + + afterEach(() => { + writeStub.restore(); + }); +}); diff --git a/src/lib/stdout.ts b/src/lib/stdout.ts new file mode 100644 index 00000000..de4b76b1 --- /dev/null +++ b/src/lib/stdout.ts @@ -0,0 +1,16 @@ +import util from 'node:util'; +/** + * Emulates the log method from @oclif/command, since they don't seem to be + * offering any alternatives. Can be replaced with another logging library. + * @param {any} message The content to print to the console + * @param {Array} args See util.format for formatting arguments. + * @returns {void} + */ +function log(message: any = '', ...args: any[]): void { + message = typeof message === 'string' ? message : util.inspect(message); + process.stdout.write(`${util.format(message, ...args)}\n`); +} + +export { + log, +}; diff --git a/src/lib/utilities.ts b/src/lib/utilities.ts new file mode 100644 index 00000000..ae1376b4 --- /dev/null +++ b/src/lib/utilities.ts @@ -0,0 +1,1142 @@ +/* eslint-disable no-process-exit */ +/* eslint-disable unicorn/no-process-exit */ +/* eslint-disable max-lines */ +// eslint-disable-next-line unicorn/prefer-module +const chalk = require('chalk'); +import prompts from 'prompts'; +import { getProjectRoot, writeFile, readMigrationNames, readApiFeatureNames } from './files'; +import { ChangeLog, ChangelogConfigTypes, Lookup } from '../modules'; +import { CLI_STATE, VUE_TEMPLATE_TAG, VUE_PLUGIN_PRESET_LIST } from './constants'; +import { compareVersions } from 'compare-versions'; + +/** + * Compares dependencies found in source and destination objects and updates the destination object with the latest versions + * @param source Key-value pairs of dependencies to be compared + * @param destination Key-value pairs of dependencies to be compared, updated and returned + * @returns The destination object with updated dependencies + */ +function compareAndUpdateDependencies(source: Record, destination: Record): Record { + for (const dependency of Object.keys(source)) { + const versionToInstall = source[dependency]; + const installedVersion = destination[dependency]; + if (installedVersion === undefined || compareVersions(installedVersion, versionToInstall) === -1) { + destination[dependency] = versionToInstall; + } + } + + return destination; +} + +/** + * Description: determine if string is valid JSON string + * @param {string} value - a string value + * @returns {boolean} - + */ +function isJsonString(value: string): boolean { + try { + JSON.parse(value); + } catch { + return false; + } + + return true; +} + +/** + * Description: check if string has a substring 'kebab' in it + * @param {string} value - a string value + * @returns {boolean} - + */ +function hasKebab(value = ''): boolean { + let result = false; + if (value.match(/kebab/gi) !== null) { + result = true; + } + + return result; +} + +/** + * Description: check if string has a substring 'kebab' in it + * @param {string} value - a string value + * @returns {boolean} - + */ +function hasCamel(value = ''): boolean { + let result = false; + if (value.match(/camel/gi) !== null) { + result = true; + } + + return result; +} + +/** + * Description: check if string has a substring 'kebab' in it + * @param {string} value - a string value + * @returns {boolean} - + */ +function hasProject(value = ''): boolean { + let result = false; + if (value.match(/project/gi) !== null) { + result = true; + } + + return result; +} + +/** + * Description: check if string has a substring 'kebab' in it + * @param {string} value - a string value + * @returns {boolean} - + */ +function hasFeature(value = ''): boolean { + let result = false; + if (value.match(/feature/gi) !== null) { + result = true; + } + + return result; +} + +/** + * Description: check if string has a substring 'kebab' in it + * @param {string} value - a string value + * @returns {boolean} - + */ +function hasEndpoint(value = ''): boolean { + let result = false; + if (value.match(/endpointname/gi) !== null) { + result = true; + } + + return result; +} + +/** + * Description: check if string has a substring 'kebab' in it + * @param {string} value - a string value + * @returns {boolean} - + */ +function hasEndpointLower(value = ''): boolean { + let result = false; + if (value.match(/endpointlowername/gi) !== null) { + result = true; + } + + return result; +} + +/** + * Description: convert a string to kebab case (e.g. my-project-name) + * @param {string} value - a + * @returns {string} - string value + */ +function toKebabCase(value: string): string { + return value && + (value.match(/[A-Z]{2,}(?=[A-Z][a-z]+\d*|\b)|[A-Z]?[a-z]+\d*|[A-Z]|\d+/g) ?? ['']) + .map(x => x.toLowerCase()) + .join('-'); +} + +/** + * Description: convert a string to camel case (e.g. myProjectName) + * @param {string} value - a + * @returns {string} - string value + */ +function toCamelCase(value: string): string { + const pascal = toPascalCase(value); + + return pascal.charAt(0).toLowerCase() + pascal.slice(1); +} + +/** + * Description: convert a string to pascal case (e.g. MyProjectName) + * @param {string} value - a string value + * @returns {string} - + */ +function toPascalCase(value: string): string { + return value + .split(/[ _-]+/) + .join(' ') + .replace(/\w\S*/g, m => m.charAt(0).toUpperCase() + m.slice(1).toLowerCase()) + .split(' ') + .join(''); +} + +/** + * Description: remove the prefix '[frontier]' from a string + * @param {string} value - a string value + * @returns {string} - a string with the prefix '[frontier]' removed + */ +function stripFrontierPrefix(value: string): string { + return value.replace('[frontier]', ''); +} + +// eslint-disable-next-line valid-jsdoc +/** + * Description: Throws an error with the provided message + * @param {string} errorMessage - error message to be thrown + * @throws {Error} + */ +function throwNameError(errorMessage: string): void { + throw new Error( + JSON.stringify({ + code: 'name-invalid', + message: stripFrontierPrefix(errorMessage), + }), + ); +} + +// eslint-disable-next-line valid-jsdoc +/** + * Description: Throws an error with the provided message + * @param {string} errorMessage - error message to be thrown + * @throws {Error} + */ +function throwSentryDsnError(errorMessage: string): void { + throw new Error( + JSON.stringify({ + code: 'dsn-invalid', + message: stripFrontierPrefix(errorMessage), + }), + ); +} + +/** + * Description: determine if string is valid component name + * @param {string} featureName - the name of the feature whose name is being validated + * @param {string} exampleName - an example of a valid name + * @returns {any} - + */ +function validateEnteredName(featureName: string, exampleName = '') { + return (value: any) => { + const isString = typeof value === 'string'; + const isNull = value === null || value.length === 0; + // characters in value are limited to alphanumeric characters and hyphens or underscores + const charactersMatch = value.match(/^[\w.-]+$/i) !== null; + const isValidName = isString && charactersMatch; + let resultMessage = ''; + if (isNull) { + resultMessage = `${CLI_STATE.Error} A ${featureName} name is required`; + } else if (!charactersMatch) { + resultMessage = `${CLI_STATE.Error} Use letters, numbers and '-' for ${featureName} names (e.g. ${exampleName ? exampleName : `my-${featureName}-name`})`; + } + + return isValidName ? true : resultMessage; + }; +} + +/** + * Description: determine if string is valid component name + * @param {string} dsn - the name of the feature whose name is being validated + * @param {string} exampleDsn - an example of a valid DSN in Sentry + * @returns {any} - + */ +function validateDsn(dsn: string) { + + const isString = typeof dsn === 'string'; + const isNull = dsn === null || dsn.length === 0; + const charactersMatch = dsn.match(/^https:\/\/([a-z0-9]+)@([a-z0-9.-]+)\.[\w]+\/{1,2}\d+$/) !== null; + const isValidDsn = isString && charactersMatch; + let resultMessage = ''; + if (isNull) { + resultMessage = `${CLI_STATE.Error} A ${dsn} is required`; + } else if (!charactersMatch) { + resultMessage = `${CLI_STATE.Error} Refer to the Sentry Documentation to retrieve your DSN (e.g. https://publickey@sentry.example.com/1)`; + } + + return isValidDsn ? true : resultMessage; +} + +/** + * Description: determine if string is valid project name + * @param {string} value - a string value + * @returns {any} - + */ +function validateDomain(value: string) { + const isString = typeof value === 'string'; + const isNull = value === null || value.length === 0; + // characters in value are limited to alphanumeric characters and hyphens or underscores + const charactersMatch = + value.match( + /(?:[\da-z](?:[\da-z-]{0,61}[\da-z])?\.)+[\da-z][\da-z-]{0,61}[\da-z]/, + ) !== null; + const isValid = isString && charactersMatch; + let resultMessage = ''; + + if (isNull) { + resultMessage = `${CLI_STATE.Error} A bundleIdentifier is required`; + } else if (!charactersMatch) { + resultMessage = `${CLI_STATE.Error} bundleIdenifiter should be a valid domain. Normally this is the reverse of you website's domain (e.g. com.company.app)`; + } + + return isValid ? true : resultMessage; +} + +/** + * Description: parse component or prompt user to provide name for component + * @param {string} args - a string value + * @returns {Lookup} - + */ +async function parseComponentName(args: Lookup): Promise { + let argName = args.name; + const validateComponentName = validateEnteredName('component'); + // if no component name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'my-component', + message: 'Enter a component name: ', + type: 'text', + validate: validateComponentName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add component canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateComponentName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {Lookup} args - a string value + * @returns {string} - + */ +async function parseScreenName(args: Lookup): Promise { + let argName = args.name; + const validatePageName = validateEnteredName('screen'); + // if no page name is provided in command then prompt user + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'hello-world', + message: 'Enter a screen name: ', + type: 'text', + validate: validatePageName, + }]); + argName = responses.name; + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {string} args - a string value + * @param {string} defaultName - a string value + * @returns {Lookup} - + */ +async function parseProjectName(args: Lookup, defaultName = 'my-vue-project'): Promise { + let argName = args.name; + const validateProjectName = validateEnteredName('project'); + // if no project name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: defaultName, + message: 'Enter a project name: ', + type: 'text', + validate: validateProjectName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} create-project canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateProjectName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + + +/** + * Description: parse project or prompt user to provide name for project + * @param {string} args - a string value + * @param {string} defaultName - a string value + * @returns {Lookup} - + */ +async function parseAppContainerName(containerName: string | undefined, defaultName: string): Promise { + // const validateProjectName = validateEnteredName('project'); + // if no project name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!containerName) { + const responses: any = await prompts([{ + name: 'name', + initial: defaultName, + message: 'Enter a name of the app container: ', + type: 'text', + // validate: validateProjectName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} app container parsing canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + containerName = responses.name as string; + } + + return containerName; +} + + +/** + * Description: parse layout or prompt user to provide name for layout + * @param {string} args - a string value + * @returns {Lookup} - + */ +async function parseLayoutName(args: Lookup): Promise { + let argName = args.name; + const validateLayoutName = validateEnteredName('layout'); + // if no layout name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'my-layout', + message: 'Enter a layout name: ', + type: 'text', + validate: validateLayoutName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add layout canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateLayoutName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for template version + * @param {Lookup} args - a string value + * @returns {string} - + */ +async function parseVersionName(args: Lookup): Promise { + let argName = args.name; + const validateVersionName = validateEnteredName('version'); + // if no page name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: VUE_TEMPLATE_TAG, + message: 'Enter a version: ', + type: 'text', + validate: validateVersionName, + }]); + argName = responses.name; + } else { + const result = validateVersionName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse Migration or prompt user to provide name for Migration + * @param {string} args - a string value + * @returns {Lookup} - + */ +async function parseMigrationName(args: Lookup, initial='InitialMigration'): Promise { + let argName = args.name; + const validateMigrationName = validateEnteredName('migration'); + // if no Migration name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: initial, + message: 'Enter a migration name: ', + type: 'text', + validate: validateMigrationName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add migration canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateMigrationName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse Entity or prompt user to provide name for Entity + * @param {string} args - a string value + * @returns {Lookup} - + */ +async function parseEntityName(args: Lookup): Promise { + let argName = args.name; + const validateEntityName = validateEnteredName('entity'); + // if no Entity name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'User', + message: 'Enter an entity name: ', + type: 'text', + validate: validateEntityName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add entity canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateEntityName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse Configuration or prompt user to provide name for Configuration + * @param {string} args - a string value + * @returns {Lookup} - + */ +async function parseConfigurationName(args: Lookup): Promise { + let argName = args.name; + const validateConfigurationName = validateEnteredName('configuration'); + // if no Configuration name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'User', + message: 'Enter a configuration name: ', + type: 'text', + validate: validateConfigurationName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add configuration canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateConfigurationName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse Command or prompt user to provide name for Command + * @param {string} args - a string value + * @returns {Lookup} - + */ +async function parseCommandName(args: Lookup): Promise { + let argName = args.name; + const validateCommandName = validateEnteredName('command'); + // if no Command name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'RegisterUser', + message: 'Enter a command name: ', + type: 'text', + validate: validateCommandName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add command canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateCommandName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse Endpoint or prompt user to provide name for Endpoint + * @param {string} args - a string value + * @returns {Lookup} - + */ +async function parseEndpointName(args: Lookup): Promise { + let argName = args.name; + const validateEndpointName = validateEnteredName('endpoint'); + // if no Endpoint name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'endpoint', + initial: 'Authentication', + message: 'Enter an endpoint name: ', + type: 'text', + validate: validateEndpointName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add endpoint canceled`); + + return false; + }, + }); + if (responses.endpoint === undefined) { + process.exit(1); + } + + argName = responses.endpoint; + } else { + const result = validateEndpointName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse existing migrations for project + * @param {Lookup} args - a string value + * @param {string} projectName - a string value + * @param {string} type - a string value + * @returns {string} - + */ +async function parseApiFeatures(args: Lookup, projectName: string, type: string): Promise { + let argName = args.name; + // if no migration name is provided in command then prompt user + const apiFeatureNames = readApiFeatureNames(projectName); + + if (!argName) { + // read existing migrations + const responses: any = await prompts([{ + name: 'feature', + initial: 0, + message: `Pick a feature to to insert your ${type}: `, + type: 'select', + choices: apiFeatureNames.map((item: string) => { + return { + title: item, + }; + }), + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add ${type} canceled`); + + return false; + }, + }); + if (responses.feature === undefined) { + process.exit(1); + } + + argName = apiFeatureNames[responses.feature]; + } + + return argName; +} + +/** + * Description: parse existing migrations for project + * @param {Lookup} args - a string value + * @param {string} projectName - a string value + * @returns {string} - + */ +async function parseMigrations(args: Lookup, projectName: string): Promise { + let argName = args.name; + // if no migration name is provided in command then prompt user + const migrationNames = readMigrationNames(projectName); + + if (!argName) { + // read existing migrations + const responses: any = await prompts([{ + name: 'migration', + initial: 0, + message: 'Pick a migration to rollback to: ', + type: 'select', + choices: migrationNames.map((item: string) => { + return { + title: item, + }; + }), + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} migration canceled`); + + return false; + }, + }); + if (responses.migration === undefined) { + process.exit(1); + } + + argName = migrationNames[responses.migration]; + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {Lookup} args - a string value + * @returns {string} - + */ +async function parsePageName(args: Lookup): Promise { + let argName = args.name; + const validatePageName = validateEnteredName('page'); + // if no page name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'hello-world', + message: 'Enter a page name: ', + type: 'text', + validate: validatePageName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add page canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validatePageName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {Lookup} args - a string value + * @returns {string} - + */ +async function parseServiceName(args: Lookup): Promise { + let argName = args.name; + const validateServiceName = validateEnteredName('service'); + // if no page name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'auth-service', + message: 'Enter a service name: ', + type: 'text', + validate: validateServiceName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add service canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateServiceName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {Lookup} args - a string value + * @returns {string} - + */ +async function parseStoreModuleName(args: Lookup): Promise { + let argName = args.name; + const validateStoreModuleName = validateEnteredName('store', 'auth-store'); + // if no page name is provided in command then prompt user + // eslint-disable-next-line no-negated-condition + if (!argName) { + const responses: any = await prompts([{ + name: 'name', + initial: 'auth-store', + message: 'Enter a store module name: ', + type: 'text', + validate: validateStoreModuleName, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} add store canceled`); + + return false; + }, + }); + if (responses.name === undefined) { + process.exit(1); + } + + argName = responses.name; + } else { + const result = validateStoreModuleName(argName); + if (result && result !== true) { + throwNameError(result); + } + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {Lookup} args - a string value + * @returns {string} - + */ +async function parseBundleIdentifier(args: Lookup): Promise { + let argName = args.bundleIdenifier; + // if no page name is provided in command then prompt user + if (!argName) { + const responses: any = await prompts([{ + name: 'temp', + initial: 'com.company.app', + message: 'Enter app\'s Bundle Idenifier: ', + type: 'text', + validate: validateDomain, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} create-project canceled`); + + return false; + }, + }); + + argName = responses.temp; + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {string} args - a string value + * @returns {Lookup} - + */ +async function parseSentryDSN(args: Lookup): Promise { + let argDsn = args.dsn; + // eslint-disable-next-line no-negated-condition + if (!argDsn) { + const responses: any = await prompts([{ + name: 'dsn', + message: 'Enter your Sentry DSN: ', + type: 'text', + validate: validateDsn, + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} create-project canceled`); + return false; + }, + }); + + if (responses.dsn === undefined) { + process.exit(1); + } + + argDsn = responses.dsn; + } else { + const result = validateDsn(argDsn); + if (result && result !== true) { + throwSentryDsnError(result); + } + } + + return argDsn; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {Lookup} args - a string value + * @returns {string} - + */ +async function parseProjectPresets(args: Lookup): Promise { + let argName = args.preset; + // if no project name is provided in command then prompt user + if (!argName) { + const responses: any = await prompts([{ + name: 'preset', + initial: 0, + message: 'Pick a preset: ', + type: 'select', + choices: VUE_PLUGIN_PRESET_LIST.map((item: string) => { + return { + title: item, + }; + }), + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} create-project canceled`); + + return false; + }, + }); + if (responses.preset === undefined) { + process.exit(1); + } + + argName = VUE_PLUGIN_PRESET_LIST[responses.preset]; + } + + return argName; +} + +/** + * Description: parse project or prompt user to provide name for project + * @param {Lookup} args - a string value + * @returns {string} - + */ +async function promptUiComponentChoice(args: Lookup, components: string[]): Promise { + let argName = args.component; + // if no project name is provided in command then prompt user + if (!argName) { + const responses: any = await prompts([{ + name: 'component', + initial: 0, + message: 'Pick a component: ', + type: 'select', + choices: components.map((component: string) => { + return { + title: component, + }; + }), + }], { + onCancel() { + // eslint-disable-next-line no-console + console.log(`${chalk.red('frontier')} create-project canceled`); + + return false; + }, + }); + if (responses.component === undefined) { + process.exit(1); + } + + argName = components[responses.component]; + } + + return argName; +} + +/** + * Description: determine if command is ran within a valid frontier project + * @returns {any} - + */ +function checkProjectValidity(): { isValid: boolean, projectRoot: string } { + const results = { + isValid: false, + projectRoot: '', + }; + + const projectRoot: string | null = getProjectRoot(); + if (projectRoot !== null && projectRoot !== '') { + results.isValid = true; + results.projectRoot = projectRoot; + } else { + results.isValid = false; + } + + return results; +} +/** + * Description: generates a changelog.md file from the resource groups + * in the changeLogData object. + * @param {string} versionName - the version name to use in the changelog.md file + * @param {string} changelogPath - the path where the changelog.md file will be generated + * @param {ChangeLog} changeLogData - the data to use in the changelog.md file + * @returns {void} + */ + +function createChangelogReadme( + versionName: string, + changelogPath: string, + changeLogData: ChangeLog, +): void { + const createdChangeLogResources = changeLogData[ChangelogConfigTypes.CREATE]?.resources ?? []; + const deletedChangeLogResources = changeLogData[ChangelogConfigTypes.DELETE]?.resources ?? []; + const updatedChangeLogResources = changeLogData[ChangelogConfigTypes.UPDATE]?.resources ?? []; + const createdFiles: string[] = createdChangeLogResources.map(resource => { + if (resource.srcPath) { + return `${resource.srcPath}/${resource.file?.target}`; + } + + return `${resource.file?.target}`; + }); + + const deletedFiles: string[] = deletedChangeLogResources.map(resource => { + if (resource.destPath) { + return `${resource.destPath}/${resource.name}`; + } + + return `${resource.name}`; + }); + + const updatedFiles: string[] = updatedChangeLogResources.map(resource => (resource.destPath)); + + const readmeContent = + ` +# Changelog - ${versionName} +The \`upgrade\` command is used to upgrade a project to the latest version of the template, or to a specified version. +During the course of the upgrade files may be added, deleted or updated. When it comes to updating, .json files are updated inline. For changes to all other file types, your existing project file will not be touched, but a file will be created at the same path containing the new changes to the template's base file, in the form of ${'`.update.`'} + +## Added Files +${createdFiles.map(file => `- ${file}`).join('\n')} + +## Deleted Files +${deletedFiles.map(file => `- ${file}`).join('\n')} + +## Updated Files +${updatedFiles.map(file => `- ${file}`).join('\n')} + +## Notes on the Upgrade +${changeLogData.reccomendations || 'No notes on the upgrade'} +`; + writeFile(changelogPath, readmeContent); + // eslint-disable-next-line no-console + console.log(readmeContent); +} + +export { + compareAndUpdateDependencies, + hasCamel, + hasKebab, + hasProject, + hasFeature, + hasEndpoint, + hasEndpointLower, + toCamelCase, + toKebabCase, + toPascalCase, + parseMigrationName, + parseEntityName, + parseConfigurationName, + parseCommandName, + parseEndpointName, + parseApiFeatures, + parseMigrations, + parseComponentName, + parseScreenName, + parseLayoutName, + parseProjectName, + parseProjectPresets, + parseVersionName, + parsePageName, + parseServiceName, + parseStoreModuleName, + parseBundleIdentifier, + parseAppContainerName, + promptUiComponentChoice, + isJsonString, + checkProjectValidity, + createChangelogReadme, + parseSentryDSN, +}; diff --git a/src/modules/changelog.ts b/src/modules/changelog.ts new file mode 100644 index 00000000..f8e6cd5e --- /dev/null +++ b/src/modules/changelog.ts @@ -0,0 +1,650 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable max-lines */ +export enum ChangelogMetaDataTypes { + MIGRATION = 'migration', + UPDATE = 'update', + PATCH = 'patch', +} + +export enum ChangelogConfigTypes { + META_DATA = 'metadata', + CREATE = 'create', + UPDATE = 'update', + DELETE = 'delete', +} + +export enum ChangelogContentOperations { + ADD = 'add', + REMOVE = 'remove', + UPDATE = 'update', +} + +export type ChangelogResourcesContent = { + key: string; + value: any; + operation: string; +} + +export type changeLogFile = { + source: string; + target: string; +} + +export type ChangelogResource = { + name: string; + file?: changeLogFile; + destPath: string; + srcPath?: string; + type: string; + contents?: ChangelogResourcesContent[] +} + +export type ChangelogResources = { + resources: ChangelogResource[]; +} + +export type Metadata = { + version: string; + type?: ChangelogMetaDataTypes; + resources?: ChangelogResources[]; +}; + +export type ChangeLog = { + metadata: Metadata; + reccomendations: string; + create?: ChangelogResources; + update?: ChangelogResources; + delete?: ChangelogResources; +} + +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +export function handleArraysAndObjects(data: any, key: string, operation: string, newValue: any): void { + const currentValue = data[key]; + switch (operation) { + case ChangelogContentOperations.REMOVE: { + if (Array.isArray(newValue)) { + for (const item of newValue) { + const index = currentValue.indexOf(item); + delete currentValue[index]; + } + } else { + delete data[key]; + } + + break; + } + + case ChangelogContentOperations.UPDATE: { + data[key] = Array.isArray(newValue) ? [...currentValue, ...newValue] : { + ...currentValue, + ...newValue, + }; + + break; + } + + case ChangelogContentOperations.ADD: { + data[key] = Array.isArray(newValue) ? [...newValue] : { + ...newValue, + }; + + break; + } + // No default + } +} + +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +export function handlePrimitives(data: any, key: string, operation: string, newValue: any): void { + if (operation === ChangelogContentOperations.REMOVE) { + delete data[key]; + } else if (operation === ChangelogContentOperations.ADD) { + data[key] = newValue; + } +} + +export const DEFAULT_CHANGE_LOG: ChangeLog = { + metadata: { + version: 'default', + type: ChangelogMetaDataTypes.MIGRATION, + }, + reccomendations: `For this release, we recommend the following: + - Update node to version **16.x** + - Compare the changes to the files with a **.update** file extension and its original file + - Optionally, you can run \`npm run upgrade\` to automatically update your project files + - Delete existing node_modules and run \`npm install\` to update your dependencies to the latest version + - Run \`npm run serve\` to launch webpack-dev-server + + For any issues regarding the recent tailwind upgrade, please refer to the following links: + - https://tailwindcss.com/docs/upgrading-to-v2 + - https://tailwindcss.com/docs/upgrade-guide + + `, + create: { + resources: [{ + name: 'index.ts', + file: { + source: 'index.ts', + target: 'index.ts', + }, + destPath: 'scripts/config', + srcPath: 'scripts/config', + type: 'file', + }, + { + name: '.env', + file: { + source: '.env', + target: '.env', + }, + destPath: 'config', + srcPath: 'config', + type: 'file', + }, + { + name: '.env.example', + file: { + source: '.env.example', + target: '.env.example', + }, + destPath: 'config', + srcPath: 'config', + type: 'file', + }, + { + name: 'media-loader.ts', + file: { + source: 'media-loader.ts', + target: 'media-loader.ts', + }, + destPath: 'scripts/config', + srcPath: 'scripts/config', + type: 'file', + }, + { + name: 'sass-loader.ts', + file: { + source: 'sass-loader.ts', + target: 'sass-loader.ts', + }, + destPath: 'scripts/config', + srcPath: 'scripts/config', + type: 'file', + }, + { + name: 'ts-loader.ts', + file: { + source: 'ts-loader.ts', + target: 'ts-loader.ts', + }, + destPath: 'scripts/config', + srcPath: 'scripts/config', + type: 'file', + }, + { + name: 'vue-loader.ts', + file: { + source: 'vue-loader.ts', + target: 'vue-loader.ts', + }, + destPath: 'scripts/config', + srcPath: 'scripts/config', + type: 'file', + }, + { + name: 'font-loader.ts', + file: { + source: 'font-loader.ts', + target: 'font-loader.ts', + }, + destPath: 'scripts/config', + srcPath: 'scripts/config', + type: 'file', + }, + { + name: 'webpack.config.ts', + file: { + source: 'webpack.config.ts', + target: 'webpack.config.ts', + }, + destPath: '', + srcPath: '', + type: 'file', + }, + { + name: 'main.ts', + file: { + source: 'main.ts', + target: 'main.update.ts', + }, + srcPath: 'src', + destPath: 'src', + type: 'file', + }, + { + name: 'tsconfig.json', + file: { + source: 'tsconfig.json', + target: 'tsconfig.update.json', + }, + srcPath: '', + destPath: '', + type: 'file', + }, + { + name: 'postcss.config.js', + file: { + source: 'postcss.config.js', + target: 'postcss.config.update.js', + }, + srcPath: '', + destPath: '', + type: 'file', + }, + { + name: 'tailwind.config.js', + file: { + source: 'tailwind.config.js', + target: 'tailwind.config.update.js', + }, + srcPath: '', + destPath: '', + type: 'file', + }, + { + name: 'README', + file: { + source: 'README.md', + target: 'README.update.md', + }, + srcPath: '', + destPath: '', + type: 'file', + }], + }, + update: { + resources: [{ + name: 'package.json', + destPath: 'package.json', + type: 'file', + contents: [{ + key: 'scripts.audit', + value: 'npm audit --prod', + operation: 'add', + }, + { + key: 'scripts.serve', + value: 'vue-cli-service serve', + operation: 'remove', + }, + { + key: 'scripts.serve-static', + value: 'cd dist && ws --spa index.html -z', + operation: 'remove', + }, + { + key: 'scripts.build', + value: 'vue-cli-service build', + operation: 'remove', + }, + { + key: 'scripts.launch-ds', + value: 'cd node_modules/design-system && npm install && npm run serve:rdvue -- --port', + operation: 'add', + }, + { + key: 'scripts.preinstall', + value: 'npx rdvue@latest upgrade', + operation: 'add', + }, + { + key: 'scripts.serve', + value: 'cross-env NODE_ENV=development webpack serve', + operation: 'add', + }, + { + key: 'scripts.build', + value: 'cross-env NODE_ENV=development webpack build', + operation: 'add', + }, + { + key: 'scripts.serve:build', + value: 'cd dist && ws --https --spa index.html -z -p 9000', + operation: 'add', + }, + { + key: 'scripts.serve:docker', + value: 'docker run -it -p 8080:8080 -v $(pwd):/app -w /app --rm node bash -c "npm run serve"', + operation: 'add', + }, + { + key: 'scripts.serve:ds', + value: 'run-s setup-ds-webpack launch-design-system', + operation: 'add', + }, + { + key: 'scripts.test:unit', + value: 'echo "Error: no unit test specified" && exit 1', + operation: 'remove', + }, + { + key: 'launch-design-system', + value: 'cd node_modules/design-system && npm install && npm run serve:rdvue -- --port 9000', + operation: 'remove', + }, + { + key: 'serve:design-system', + value: 'run-s setup-ds-webpack launch-design-system', + operation: 'remove', + }, + { + key: 'scripts.upgrade-rdvue', + value: 'npx rdvue@latest upgrade', + operation: 'remove', + }, + { + key: 'test:unit', + value: 'echo "Error: no unit test specified" && exit 1', + operation: 'add', + }, + { + key: 'dependencies.favicons', + value: '^6.2.0', + operation: 'remove', + }, + { + key: 'dependencies.js-beautify', + value: '^1.13.0', + operation: 'remove', + }, + { + key: 'dependencies.log-symbols', + value: '^4.0.0', + operation: 'remove', + }, + { + key: 'dependencies.register-service-worker', + value: '^1.5.2', + operation: 'remove', + }, + { + key: 'dependencies.ws', + value: '^7.4.5', + operation: 'remove', + }, + { + key: 'dependencies.webpack', + value: '^5.71.0', + operation: 'add', + }, + { + key: 'devDependencies.@babel/register', + value: '^7.16.9', + operation: 'add', + }, + { + key: 'devDependencies.@types/copy-webpack-plugin', + value: '^8.0.1', + operation: 'add', + }, + { + key: 'devDependencies.@types/dotenv-webpack', + value: '^7.0.2', + operation: 'add', + }, + { + key: 'devDependencies.@types/favicons', + value: '^5.5.0', + operation: 'add', + }, + { + key: 'devDependencies.@types/marked', + value: '^2.0.3', + operation: 'add', + }, + { + key: 'devDependencies.@types/mini-css-extract-plugin', + value: '^1.4.3', + operation: 'add', + }, + { + key: 'devDependencies.@types/mocha', + value: '^5.2.7', + operation: 'add', + }, + { + key: 'devDependencies.@vue/cli-plugin-babel', + value: '^3.4.0', + operation: 'remove', + }, + { + key: 'devDependencies.@vue/cli-plugin-typescript', + value: '^3.4.0', + operation: 'remove', + }, + { + key: 'devDependencies.@vue/cli-service', + value: '^4.3.1', + operation: 'remove', + }, + { + key: 'devDependencies.@types/pretty', + value: '^2.0.0', + operation: 'add', + }, + { + key: 'devDependencies.@types/speed-measure-webpack-plugin', + value: '^1.3.4', + operation: 'add', + }, + { + key: 'devDependencies.@types/tailwindcss', + value: '^3.0.2', + operation: 'add', + }, + { + key: 'devDependencies.@types/webpack-dev-server', + value: '^3.11.4', + operation: 'add', + }, + { + key: 'devDependencies.@types/webpack-env', + value: '^1.16.0', + operation: 'add', + }, + { + key: 'devDependencies.clean-webpack-plugin', + value: '^4.0.0', + operation: 'add', + }, + { + key: 'devDependencies.copy-webpack-plugin', + value: '^10.2.0', + operation: 'add', + }, + { + key: 'devDependencies.cross-env', + value: '^7.0.3', + operation: 'add', + }, + { + key: 'devDependencies.css-loader', + value: '^5.2.6', + operation: 'add', + }, + { + key: 'devDependencies.file-loader', + value: '^6.2.0', + operation: 'add', + }, + { + key: 'devDependencies.dotenv-webpack', + value: '^7.1.0', + operation: 'add', + }, + { + key: 'devDependencies.esbuild-loader', + value: '^2.18.0', + operation: 'add', + }, + { + key: 'devDependencies.favicons', + value: '^6.2.0', + operation: 'add', + }, + { + key: 'devDependencies.glob', + value: '^7.2.0', + operation: 'add', + }, + { + key: 'devDependencies.html-webpack-plugin', + value: '^5.5.0', + operation: 'add', + }, + { + key: 'devDependencies.js-beautify', + value: '^1.13.0', + operation: 'add', + }, + { + key: 'devDependencies.local-web-server', + value: '^5.1.1', + operation: 'add', + }, + { + key: 'devDependencies.log-symbols', + value: '^4.0.0', + operation: 'add', + }, + { + key: 'devDependencies.mini-css-extract-plugin', + value: '^2.5.2', + operation: 'add', + }, + { + key: 'devDependencies.postcss', + value: '^8.4.5', + operation: 'add', + }, + { + key: 'devDependencies.postcss-loader', + value: '^4.0.3', + operation: 'add', + }, + { + key: 'devDependencies.register-service-worker', + value: '^1.5.2', + operation: 'add', + }, + { + key: 'devDependencies.sass', + value: '^1.45.1', + operation: 'add', + }, + { + key: 'devDependencies.sass-loader', + value: '^7.1.0', + operation: 'remove', + }, + { + key: 'devDependencies.sass-loader', + value: '^10.2.1', + operation: 'add', + }, + { + key: 'devDependencies.speed-measure-webpack-plugin', + value: '^1.5.0', + operation: 'add', + }, + { + key: 'devDependencies.ts-node', + value: '^10.7.0', + operation: 'add', + }, + { + key: 'devDependencies.typescript-node', + value: '^0.1.3', + operation: 'add', + }, + { + key: 'devDependencies.typescript-require', + value: '^0.3.0', + operation: 'add', + }, + { + key: 'devDependencies.vue-loader', + value: '^15.9.8', + operation: 'add', + }, + { + key: 'devDependencies.webpack-bundle-analyzer', + value: '^3.7.0', + operation: 'add', + }, + { + key: 'devDependencies.webpack-cli', + value: '^4.9.2', + operation: 'add', + }, + { + key: 'devDependencies.webpack-dev-server', + value: '^3.11.3', + operation: 'add', + }, + { + key: 'devDependencies.webpackbar', + value: '^5.0.2', + operation: 'add', + }, + { + key: 'devDependencies.ws', + value: '^7.5.6', + operation: 'add', + }, + { + key: 'devDependencies.node-sass', + value: '^4.9.0', + operation: 'remove', + }, + { + key: 'devDependencies.webpack-bundle-analyzer', + value: '^3.7.0', + operation: 'remove', + }, + + { + key: 'scripts.lint', + value: 'tslint -p .', + operation: 'add', + }, + { + key: 'scripts.lint:fix', + value: 'tslint --fix -p .', + operation: 'add', + }, + { + key: 'devDependencies.typescript', + value: '^3.9.10', + operation: 'add', + }, + { + key: 'devDependencies.tslint', + value: '^6.1.3', + operation: 'add', + }], + }], + }, + delete: { + resources: [{ + name: 'vue.config.js', + destPath: '', + type: 'file', + }, + { + name: '.package-lock.json', + destPath: '', + type: 'file', + }], + }, +}; diff --git a/src/modules/file.ts b/src/modules/file.ts new file mode 100644 index 00000000..47bdf071 --- /dev/null +++ b/src/modules/file.ts @@ -0,0 +1,23 @@ +export interface FilesContent { + matchRegex: string; + replace: string; +} + +export interface Files { + source: string; + target: string; + content?: FilesContent[]; +} + +export type InjectOptions = { + // eslint-disable-next-line no-unused-vars + index?: number | ((lines: string[], filePath: string) => number); + // eslint-disable-next-line no-undef + encoding?: BufferEncoding; +} + +export type ModuleConfig = { + name: string; + moduleTemplatePath: string; + manifest: any; +} diff --git a/src/modules/index.ts b/src/modules/index.ts new file mode 100644 index 00000000..2713b7dc --- /dev/null +++ b/src/modules/index.ts @@ -0,0 +1,3 @@ +export * from './file'; +export * from './lookup'; +export * from './changelog'; diff --git a/src/modules/lookup.ts b/src/modules/lookup.ts new file mode 100644 index 00000000..ad599863 --- /dev/null +++ b/src/modules/lookup.ts @@ -0,0 +1,3 @@ +export interface Lookup { + [name: string]: any; +} diff --git a/src/modules/manifest.ts b/src/modules/manifest.ts new file mode 100644 index 00000000..93e05c89 --- /dev/null +++ b/src/modules/manifest.ts @@ -0,0 +1,10 @@ +export interface RouteMeta { + layout: string +} + +export interface Route { + path: string; + name: string; + meta?: RouteMeta; + component: string; +} diff --git a/src/modules/project.ts b/src/modules/project.ts new file mode 100644 index 00000000..167225b0 --- /dev/null +++ b/src/modules/project.ts @@ -0,0 +1,5 @@ +export interface ProjectConfig { + type?: string; + projectName?: string; + dotnetVersion?: string; +} diff --git a/templates/adam/README.md b/templates/adam/README.md deleted file mode 100644 index 6a9215bb..00000000 --- a/templates/adam/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Adam Package - -Adam is a skeleton package for frotier-based projects. - -# How to Use - - -## Process - - diff --git a/templates/adam/babel.config.js b/templates/adam/babel.config.js deleted file mode 100644 index 877711d0..00000000 --- a/templates/adam/babel.config.js +++ /dev/null @@ -1,14 +0,0 @@ -const configurator = require('../../../babel.root'); - -module.exports = (api) => { - api.cache.using(() => process.env.NODE_ENV); - - const envConfig = { - modules: !api.env('module') && 'auto', - }; - - return configurator({ - envConfig, - isTest: api.env('test'), - }); -}; diff --git a/templates/adam/jest.config.js b/templates/adam/jest.config.js deleted file mode 100644 index 9863fb7c..00000000 --- a/templates/adam/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const configurator = require('../../../jest.root'); - -module.exports = configurator({ - setupFiles: ['./setupTests.ts'], -}); diff --git a/templates/adam/package.json b/templates/adam/package.json deleted file mode 100644 index 1775dd91..00000000 --- a/templates/adam/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "REPLACE_NAME", - "version": "0.0.1", - "description": "REPLACE_DESCRIPTION", - "license": "UNLICENSED", - "author": "REPLACE_AUTHOR|Realdecoy Labs", - "main": "dist/index.js", - "module": "module/index.js", - "files": [ - "dist/", - "module/", - "types/" - ], - "scripts": { - "build": "build-package", - "build:watch": "build-package --watch", - "clean": "rimraf dist esnext module types", - "fix": "run-s lint:es:fix lint:md:fix", - "lint": "run-s lint:es lint:md", - "lint:es": "cross-env LOCAL_TS=1 eslint --ignore-path ../../../.eslintignore \"**/*\"", - "lint:es:ci": "yarn lint:es --format", - "lint:es:fix": "yarn lint:es --fix", - "lint:md": "yarn prettier \"**/*.md\" --check", - "lint:md:fix": "yarn prettier \"**/*.md\" --write", - "rebuild": "run-s clean build", - "test": "jest", - "test:ci": "jest --ci --coverage", - "test:coverage": "run-s test:ci test:coverage:open", - "test:coverage:open": "open ./test-results/index.html", - "test:watch": "jest --watch", - "typecheck": "tsc --noEmit" - }, - "sideEffects": false, - "types": "types/index.d.ts", - "dependencies": { - "@babel/runtime": "^7.15.0" - }, - "devDependencies": { - "@rdfrontier/lib-builder": "^1.0.0" - }, - "browserslist": [ - "chrome 38", - "ios >= 9" - ] -} diff --git a/templates/adam/setupTests.ts b/templates/adam/setupTests.ts deleted file mode 100644 index ed220222..00000000 --- a/templates/adam/setupTests.ts +++ /dev/null @@ -1,7 +0,0 @@ -import 'core-js/stable'; -import 'regenerator-runtime/runtime'; -import type { GlobalWithFetchMock } from 'jest-fetch-mock'; - -const customGlobal: GlobalWithFetchMock = global as unknown as GlobalWithFetchMock; -customGlobal.fetch = require('jest-fetch-mock'); -customGlobal.fetchMock = customGlobal.fetch; diff --git a/templates/adam/src/index.ts b/templates/adam/src/index.ts deleted file mode 100644 index c9dee157..00000000 --- a/templates/adam/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function whereDoesYourCodeGo(): string { - return 'here!'; -} diff --git a/templates/adam/src/test.ts b/templates/adam/src/test.ts deleted file mode 100644 index 9ab53880..00000000 --- a/templates/adam/src/test.ts +++ /dev/null @@ -1,5 +0,0 @@ -describe('REPLACE_ME', () => { - it('does something', () => { - expect(false).toBeTruthy(); - }); -}); diff --git a/templates/adam/tsconfig.build.json b/templates/adam/tsconfig.build.json deleted file mode 100644 index b6ed4902..00000000 --- a/templates/adam/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "declarationDir": "types", - "outDir": "esnext" - }, - "exclude": [ - "setupTests.ts", - "**/*spec.ts", - ] -} diff --git a/templates/adam/tsconfig.json b/templates/adam/tsconfig.json deleted file mode 100644 index fec4bbb2..00000000 --- a/templates/adam/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "include": [ - "setupTests.ts", - "src/**/*" - ] -} diff --git a/templates/adam/webpack.config.js b/templates/adam/webpack.config.js deleted file mode 100644 index ef27d711..00000000 --- a/templates/adam/webpack.config.js +++ /dev/null @@ -1,32 +0,0 @@ -const { resolve } = require('path'); -const webpack = require('webpack'); -const nodeExternals = require('webpack-node-externals'); -const { name: library } = require('./package.json'); - -const nodeExternalsOpts = {}; - -module.exports = function(env = {}) { - return { - mode: 'production', - entry: resolve(__dirname, 'esnext', 'index'), - resolve: { - extensions: ['.js' ], - }, - externals: [ - nodeExternals(nodeExternalsOpts), - nodeExternals({ - ...nodeExternalsOpts, - modulesDir: resolve(__dirname, '..', '..', '..', 'node_modules'), - }), - ], - module: { - rules: [], - }, - output: { - filename: 'index.js', - path: resolve(__dirname, 'dist'), - libraryTarget: 'commonjs2', - library, - }, - }; -}; diff --git a/test/helpers/init.js b/test/helpers/init.js new file mode 100644 index 00000000..338e715a --- /dev/null +++ b/test/helpers/init.js @@ -0,0 +1,6 @@ +const path = require('path') +process.env.TS_NODE_PROJECT = path.resolve('test/tsconfig.json') +process.env.NODE_ENV = 'development' + +global.oclif = global.oclif || {} +global.oclif.columns = 80 diff --git a/test/tsconfig.json b/test/tsconfig.json new file mode 100644 index 00000000..95898fce --- /dev/null +++ b/test/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../tsconfig", + "compilerOptions": { + "noEmit": true + }, + "references": [ + {"path": ".."} + ] +} diff --git a/tsconfig.base.json b/tsconfig.base.json deleted file mode 100644 index 88b9638c..00000000 --- a/tsconfig.base.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "compilerOptions": { - "module": "esnext", - "target": "esnext", - "moduleResolution": "node", - "lib": [ - "dom", - "dom.iterable", - "scripthost", - "es2015", - "es2016.array.include", - "es2017.object" - ], - "allowJs": false, - "sourceMap": true, - "allowSyntheticDefaultImports": true, - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "allowUnusedLabels": false, - "allowUnreachableCode": false, - "noImplicitThis": true, - "noImplicitAny": true, - "strictNullChecks": true, - "suppressExcessPropertyErrors": false, - "suppressImplicitAnyIndexErrors": false, - "noUnusedParameters": true, - "noUnusedLocals": false, - "noFallthroughCasesInSwitch": true, - "noImplicitReturns": true, - "alwaysStrict": true, - "removeComments": true, - "importHelpers": true, - "isolatedModules": true, - "skipLibCheck": true, - "resolveJsonModule": true, - "useDefineForClassFields": true, - "jsx": "preserve", - - }, - "files": [ - - ], - "include": [ - - ], - "exclude": [ - "node_modules", - ] -} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..479a7d7a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "declaration": true, + "importHelpers": true, + "isolatedModules": true, + "module": "commonjs", + "outDir": "dist", + "rootDir": "src", + "strict": true, + "target": "es2022", + "skipLibCheck": true, + "esModuleInterop": true, + "composite": true, + }, + "include": [ + "src/**/*" ], + "exclude": [ + "node_modules/**/*" + ] +} diff --git a/tsconfig.tsbuildinfo b/tsconfig.tsbuildinfo new file mode 100644 index 00000000..a35b4f20 --- /dev/null +++ b/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.es2022.full.d.ts","./node_modules/tslib/tslib.d.ts","./node_modules/@oclif/core/lib/interfaces/help.d.ts","./node_modules/@oclif/core/lib/interfaces/pjson.d.ts","./node_modules/@oclif/core/lib/interfaces/topic.d.ts","./node_modules/@oclif/core/lib/interfaces/plugin.d.ts","./node_modules/@oclif/core/lib/interfaces/hooks.d.ts","./node_modules/@oclif/core/lib/interfaces/config.d.ts","./node_modules/@oclif/core/lib/interfaces/alphabet.d.ts","./node_modules/@oclif/core/lib/interfaces/errors.d.ts","./node_modules/@oclif/core/lib/interfaces/manifest.d.ts","./node_modules/@oclif/core/lib/interfaces/s3-manifest.d.ts","./node_modules/@oclif/core/lib/interfaces/parser.d.ts","./node_modules/@oclif/core/lib/interfaces/ts-config.d.ts","./node_modules/@oclif/core/lib/interfaces/flags.d.ts","./node_modules/@oclif/core/lib/interfaces/args.d.ts","./node_modules/@oclif/core/lib/interfaces/index.d.ts","./node_modules/@oclif/core/lib/errors/handle.d.ts","./node_modules/@oclif/core/lib/errors/errors/cli.d.ts","./node_modules/@oclif/core/lib/errors/errors/exit.d.ts","./node_modules/@oclif/core/lib/errors/errors/module-load.d.ts","./node_modules/@oclif/core/lib/errors/logger.d.ts","./node_modules/@oclif/core/lib/errors/config.d.ts","./node_modules/@oclif/core/lib/errors/index.d.ts","./node_modules/@oclif/core/lib/config/plugin.d.ts","./node_modules/@oclif/core/lib/config/config.d.ts","./node_modules/@oclif/core/lib/config/ts-node.d.ts","./node_modules/@oclif/core/lib/config/index.d.ts","./node_modules/@oclif/core/lib/command.d.ts","./node_modules/@oclif/core/lib/main.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/dom-events.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@oclif/core/lib/flags.d.ts","./node_modules/@oclif/core/lib/args.d.ts","./node_modules/@oclif/core/lib/help/formatter.d.ts","./node_modules/@oclif/core/lib/help/command.d.ts","./node_modules/@oclif/core/lib/help/util.d.ts","./node_modules/@oclif/core/lib/help/index.d.ts","./node_modules/@oclif/core/lib/parser/help.d.ts","./node_modules/@oclif/core/lib/parser/index.d.ts","./node_modules/@oclif/core/lib/settings.d.ts","./node_modules/@oclif/core/lib/cli-ux/action/base.d.ts","./node_modules/@oclif/core/lib/cli-ux/config.d.ts","./node_modules/@oclif/core/lib/cli-ux/exit.d.ts","./node_modules/@oclif/core/lib/cli-ux/prompt.d.ts","./node_modules/@oclif/core/lib/cli-ux/styled/json.d.ts","./node_modules/@oclif/core/lib/cli-ux/styled/object.d.ts","./node_modules/@oclif/core/lib/cli-ux/styled/table.d.ts","./node_modules/@oclif/core/lib/cli-ux/styled/tree.d.ts","./node_modules/@types/cli-progress/index.d.ts","./node_modules/@oclif/core/lib/cli-ux/styled/progress.d.ts","./node_modules/@oclif/core/lib/cli-ux/styled/index.d.ts","./node_modules/@oclif/core/lib/cli-ux/wait.d.ts","./node_modules/@oclif/core/lib/cli-ux/index.d.ts","./node_modules/@oclif/core/lib/cli-ux/stream.d.ts","./node_modules/@oclif/core/lib/performance.d.ts","./node_modules/@oclif/core/lib/index.d.ts","./node_modules/chalk/index.d.ts","./src/lib/constants.ts","./src/lib/stdout.ts","./src/help.ts","./src/index.ts","./src/commands/adam/index.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/help.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/pjson.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/topic.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/plugin.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/hooks.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/config.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/alphabet.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/errors.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/manifest.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/s3-manifest.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/parser.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/ts-config.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/flags.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/args.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/interfaces/index.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/config/config.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/errors/handle.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/errors/errors/cli.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/errors/errors/exit.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/errors/errors/module-load.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/errors/logger.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/errors/config.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/errors/index.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/config/plugin.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/config/ts-node.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/config/index.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/command.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/main.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/flags.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/args.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/help/formatter.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/help/command.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/help/util.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/help/index.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/parser/help.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/parser/index.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/settings.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/action/base.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/config.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/exit.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/prompt.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/styled/json.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/styled/object.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/styled/table.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/styled/tree.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/styled/progress.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/styled/index.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/wait.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/index.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/cli-ux/stream.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/performance.d.ts","./node_modules/@oclif/test/node_modules/@oclif/core/lib/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/fancy-test/lib/chai.d.ts","./node_modules/@types/mocha/index.d.ts","./node_modules/nock/types/index.d.ts","./node_modules/fancy-test/lib/types.d.ts","./node_modules/fancy-test/lib/index.d.ts","./node_modules/@oclif/test/lib/load-config.d.ts","./node_modules/@oclif/test/lib/command.d.ts","./node_modules/@oclif/test/lib/index.d.ts","./src/commands/adam/hello/hello.test.ts","./src/commands/adam/hello/index.ts","./src/commands/adam/world/galaxy.test.ts","./src/commands/adam/world/galaxy.ts","./src/commands/adam/world/index.ts","./src/commands/adam/world/world.test.ts","./node_modules/kleur/kleur.d.ts","./node_modules/@types/prompts/index.d.ts","./node_modules/@types/jsonfile/index.d.ts","./node_modules/@types/jsonfile/utils.d.ts","./node_modules/@types/fs-extra/index.d.ts","./node_modules/@types/bluebird/index.d.ts","./src/modules/file.ts","./src/modules/lookup.ts","./src/modules/changelog.ts","./src/modules/index.ts","./src/lib/files.ts","./node_modules/compare-versions/lib/esm/utils.d.ts","./node_modules/compare-versions/lib/esm/compare.d.ts","./node_modules/compare-versions/lib/esm/compareversions.d.ts","./node_modules/compare-versions/lib/esm/satisfies.d.ts","./node_modules/compare-versions/lib/esm/validate.d.ts","./node_modules/compare-versions/lib/esm/index.d.ts","./src/lib/utilities.ts","./src/commands/dotnet/index.ts","./src/modules/project.ts","./src/commands/dotnet/add/command.ts","./src/commands/dotnet/add/configuration.ts","./src/commands/dotnet/add/endpoint.ts","./src/commands/dotnet/add/entity.ts","./src/commands/dotnet/add/index.ts","./src/commands/dotnet/add/query.ts","./src/commands/dotnet/create-project/create-project.test.ts","./src/commands/dotnet/create-project/index.ts","./src/commands/dotnet/migrate/down.ts","./src/commands/dotnet/migrate/index.ts","./src/commands/dotnet/migrate/new.ts","./src/commands/dotnet/migrate/remove.ts","./src/commands/dotnet/migrate/up.ts","./src/commands/mobile/index.ts","./src/commands/mobile/add/add.test.ts","./src/commands/mobile/add/component.test.ts","./src/commands/mobile/add/component.ts","./src/commands/mobile/add/index.ts","./src/commands/mobile/add/layout.ts","./src/commands/mobile/add/screen.test.ts","./src/commands/mobile/add/screen.ts","./src/commands/mobile/add/service.test.ts","./src/commands/mobile/add/service.ts","./src/commands/mobile/add/store.test.ts","./src/commands/mobile/add/store.ts","./src/commands/mobile/create-project/create-project.test.ts","./src/commands/mobile/create-project/index.ts","./src/commands/mobile/plugin/index.ts","./src/lib/plugins.ts","./src/commands/mobile/plugin/localization.ts","./src/commands/mobile/plugin/plugin.localization.test.ts","./src/commands/mobile/plugin/plugin.test.ts","./src/commands/vue/index.ts","./src/commands/vue/add/add.test.ts","./src/commands/vue/add/component.test.ts","./src/commands/vue/add/component.ts","./src/commands/vue/add/index.ts","./src/commands/vue/add/layout.test.ts","./src/commands/vue/add/layout.ts","./src/commands/vue/add/page.test.ts","./src/commands/vue/add/page.ts","./src/commands/vue/add/service.test.ts","./src/commands/vue/add/service.ts","./src/commands/vue/add/store.test.ts","./src/commands/vue/add/store.ts","./src/commands/vue/create-project/create-project.test.ts","./src/commands/vue/plugin/localization.ts","./src/commands/vue/plugin/sentry.ts","./src/commands/vue/create-project/index.ts","./src/commands/vue/plugin/buefy.test.ts","./src/modules/manifest.ts","./src/commands/vue/plugin/buefy.ts","./src/commands/vue/plugin/element-plus.test.ts","./src/commands/vue/plugin/element-plus.ts","./src/commands/vue/plugin/index.ts","./src/commands/vue/plugin/localization.test.ts","./src/commands/vue/plugin/plugin.test.ts","./src/commands/vue/plugin/sentry.test.ts","./src/commands/vue/plugin/vuetify.test.ts","./src/commands/vue/plugin/vuetify.ts","./src/commands/vue/upgrade/index.ts","./src/commands/vue/upgrade/upgrade.test.ts","./src/hooks/command-incomplete.ts","./src/hooks/command-not-found.ts","./src/hooks/init.ts","./node_modules/@types/sinonjs__fake-timers/index.d.ts","./node_modules/@types/sinon/index.d.ts","./src/lib/files.inject.test.ts","./src/lib/files.read-and-update-feature-files.test.ts","./src/lib/plugins.test.ts","./src/lib/stdout.test.ts","./node_modules/keyv/src/index.d.ts","./node_modules/@types/http-cache-semantics/index.d.ts","./node_modules/@types/responselike/index.d.ts","./node_modules/@types/cacheable-request/index.d.ts","./node_modules/@types/expect/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/keyv/index.d.ts","./node_modules/@types/lodash/common/common.d.ts","./node_modules/@types/lodash/common/array.d.ts","./node_modules/@types/lodash/common/collection.d.ts","./node_modules/@types/lodash/common/date.d.ts","./node_modules/@types/lodash/common/function.d.ts","./node_modules/@types/lodash/common/lang.d.ts","./node_modules/@types/lodash/common/math.d.ts","./node_modules/@types/lodash/common/number.d.ts","./node_modules/@types/lodash/common/object.d.ts","./node_modules/@types/lodash/common/seq.d.ts","./node_modules/@types/lodash/common/string.d.ts","./node_modules/@types/lodash/common/util.d.ts","./node_modules/@types/lodash/index.d.ts","./node_modules/@types/minimatch/index.d.ts","./node_modules/@types/normalize-package-data/index.d.ts","./node_modules/@types/vinyl/index.d.ts","../../../node_modules/@types/k6/global.d.ts","../../../node_modules/@types/k6/crypto.d.ts","../../../node_modules/@types/k6/data.d.ts","../../../node_modules/@types/k6/encoding.d.ts","../../../node_modules/@types/k6/html.d.ts","../../../node_modules/@types/k6/http.d.ts","../../../node_modules/@types/k6/options.d.ts","../../../node_modules/@types/k6/execution.d.ts","../../../node_modules/@types/k6/metrics.d.ts","../../../node_modules/@types/k6/experimental/browser.d.ts","../../../node_modules/@types/k6/experimental/redis.d.ts","../../../node_modules/@types/k6/experimental/timers.d.ts","../../../node_modules/@types/k6/experimental/tracing.d.ts","../../../node_modules/@types/k6/experimental/webcrypto.d.ts","../../../node_modules/@types/k6/experimental/websockets.d.ts","../../../node_modules/@types/k6/ws.d.ts","../../../node_modules/@types/k6/net/grpc.d.ts","../../../node_modules/@types/k6/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"2c339adcd35b01e3115c7ebe980b935b30093ac2dbe46dff36fed112e462afd2","7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","3184417b619fcdab232c520b9e51c33972a43640fd42c34d2ceb3f2af2e036d0","007527076eee6e53cc386d79770b720c1a32d25afcb0e48f53bb78b8ed87eb79","bd80422c68e0575fee07883efc93fdbf32da39f76ab8479d56eba05e7fac8363","0f8e559a7908de02d384468f8d42b57d9142431e3fe0066c07d97a1f351a1df0","b619e4dcb6c3aaed579cf7650e68be5c8ed6a12b5548e0662b906dd907ab3f9f","0089d4a8922c4ef45de3452d68010f1aa6d9aad03d827b76d7f91f5ac0f5933d","032e362f68a69c4f6af9678b4f5fdcf5b6c348e6aa279a7b2c89099bb7887a0a","4cbb99e1685ca6d0cea375d50c7c6e0f1c444fb4bdf301c48f7bfc92b7eea4b1","137fcb488abe39cd57437d2bf940862bfcaa709e248602461b82236c5a01c1ce","2b3849074b5813376ffe71ff550ef25cce638c43385ed63c1b5be504d3e213f6","b11931f950ee831b609fbee02a054339808b04aa58f10904826b8e5ee297cdfc","5a82a1daacf5f4e73e4ba80040bd0be03d8fcfee4080c973389b39bd0721553b","694ce0788daf31dadf82702cb0efe558014a0a210278c78817840f1caa4f3a09","99fd2587995ea6001ac20d6ecebe748e163d62e820f369452919c265f140b3c9","ee928a0e91da479fde4a2d782b8a6b2fb7dff7359b8f7ff7d23a34d7de276860","79aaadbaee10117769f82c33d6256fc7d0af0859348268e4663521bd00ad15a9","f24b104cf0541b30902b2c947cef8e4955f16068c492d00bc5c70530d8a5ae89","4df02f7093cfdaa88c78186c50064ce6307865d5a2b6f52d16b2a477a289840e","4a3de027fe2fe214e22db9703023024d85f2863138940a21b4933113313394bb","1b9f1ba55985edc074f18ddfe23c6c93d8463ff30651482e8783e56ca0df0653","e12f2c48252d0ae261db2be28206e4f1cc282fa5459a0f991a09f86bb766543f","19ef1d72f861901d6dd7891cc14c6ca0bd860b3089e33188f4764232b1bfaa38","cdfab96750a8e2ef4e62a98a3ea9a2918340577c5b3b118f013047345081e97e","8eb85c5026c0e1a2190037e0ba2f7f4bc4589a19f3fe55045f4ab2017a9ed98e","c9f8f08177b56b7610d9ea52d6e297a4caa28493ad667a8972cab06083beec84","a92c7fc820badc697c7e9e99a9c6046d10edd876611a81c1efe4303ab4b8fecc","8d326c24223d574b2ba8a60a94e57b5450c70ded0eca745b44828d16e3dca84e","a9b346b95282a7ec010c4d81cd49779643c08dbe77ebab40986a6a379626b1a2","5b3cd03ae354ea96eff1f74d7c410fe4852e6382227e8b0ecf87ab5e3a5bbcd4","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419",{"version":"056097110efd16869ec118cedb44ecbac9a019576eee808d61304ca6d5cb2cbe","affectsGlobalScope":true},"f51b4042a3ac86f1f707500a9768f88d0b0c1fc3f3e45a73333283dea720cdc6",{"version":"27e6182a94e1e0b526d54bc7f222ea114327ec8a8e0b30666147390abe59f221","affectsGlobalScope":true},"45c831238c6dac21c72da5f335747736a56a3847192bf03c84b958a7e9ec93e2","132ca47da601c60141dd6f10bd08c70d0620177e5638439df2464ec3945b6d98",{"version":"8f387a4ea108cefa8842d015ca988cf11b9a240f0d3eee3cf15d95e7da83f0cd","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","fe885b109792eab727cb8572d7bb549d4da51737e9edf06fb7b5724741047dd1","2375ed4b439215aa3b6d0c6fd175c78a4384b30cb43cbadaecbf0a18954c98cb","7693b90b3075deaccafd5efb467bf9f2b747a3075be888652ef73e64396d8628","a9d543f20fbb7b7e3eb4cae702168c111495b8ccf0554b52423d9828a5618da8","562b73833a6056449ace10691103b3cba32d40731d43e5b78edb9072fda27d50",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},"5f20d20b7607174caf1a6da9141aeb9f2142159ae2410ca30c7a0fccd1d19c99",{"version":"a0c0e3bf3e8dc9454cdca64c6234c1a698a4368f2a461a7153ce274db0e96ecc","affectsGlobalScope":true},"e4f38f155b8f55db7a7678fc4246d74872489424470a5b0d42d7db6de40b12ce","9bba37424094688c4663c177a1379b229f919b8912889a472f32fdc5f08ddb4d","ba52968b8c871f757d19aa879011749e022e2cbb9727623c6904aa8e2755b6df","1f972e38400a2a7e97b3627f4e52d36b7b8d3d62e16bd4c692d247c8683bae8b","bf268a0aea37ad4ae3b7a9b58559190b6fc01ea16a31e35cd05817a0a60f895a","f238f3c4409b45a3fda3de9723a7ff8ec62dfd7f47eb09e67cf0aa6bda78780d",{"version":"d7dad6db394a3d9f7b49755e4b610fbf8ed6eb0c9810ae5f1a119f6b5d76de45","affectsGlobalScope":true},"8058b50d648acc321cf77fedea9f56947441f9f1c2fcccdb7d841745fb7ecb54","bf755525c4e6f85a970b98c4755d98e8aa1b6dbd83a5d8fcc57d3d497351b936","dd67d2b5e4e8a182a38de8e69fb736945eaa4588e0909c14e01a14bd3cc1fd1e",{"version":"28084e15b63e6211769db2fe646d8bc5c4c6776321e0deffe2d12eefd52cb6b9","affectsGlobalScope":true},{"version":"aed37dabf86c99d6c8508700576ecede86688397bc12523541858705a0c737c2","affectsGlobalScope":true},"cc6ef5733d4ea6d2e06310a32dffd2c16418b467c5033d49cecc4f3a25de7497","94768454c3348b6ebe48e45fbad8c92e2bb7af4a35243edbe2b90823d0bd7f9a","0be79b3ff0f16b6c2f9bc8c4cc7097ea417d8d67f8267f7e1eec8e32b548c2ff","1c61ffa3a71b77363b30d19832c269ef62fba787f5610cac7254728d3b69ab2e","84da3c28344e621fd1d591f2c09e9595292d2b70018da28a553268ac122597d4","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","6e191fea1db6e9e4fa828259cf489e820ec9170effff57fb081a2f3295db4722","aed943465fbce1efe49ee16b5ea409050f15cd8eaf116f6fadb64ef0772e7d95","c8558b01389b5f7610ac293aa612ccea2ae64d83af43b49f8142f190be1f414c","c40fdf7b2e18df49ce0568e37f0292c12807a0748be79e272745e7216bed2606",{"version":"e933de8143e1d12dd51d89b398760fd5a9081896be366dad88a922d0b29f3c69","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","0fe1cbee115a49de6e9a871528bfb36aebe9e686514d6040d66fc62d116b3527","205d50c24359ead003dc537b9b65d2a64208dfdffe368f403cf9e0357831db9e","1265fddcd0c68be9d2a3b29805d0280484c961264dd95e0b675f7bd91f777e78",{"version":"eba1e3d7c9bf7c9d9a23877e1e5d29b81063c217af79fd8671bb701dc5c66544","affectsGlobalScope":true},{"version":"df90b9d0e9980762da8daf8adf6ffa0c853e76bfd269c377be0d07a9ad87acd2","affectsGlobalScope":true},"39f0808e5be3cb38674726c21fe2eb453c55e48a901679b4ce30fef85549b892","1d65d4798df9c2df008884035c41d3e67731f29db5ecb64cd7378797c7c53a2f","1cab96b37d5614aa6f22874894170ffd7fe886a98887be74daad1f7ef2d95c5b","c6c01ea1c42508edf11a36d13b70f6e35774f74355ba5d358354d4a77cc67ea1","867f95abf1df444aab146b19847391fc2f922a55f6a970a27ed8226766cee29f",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b0297b09e607bec9698cac7cf55463d6731406efb1161ee4d448293b47397c84","64bd4308b81c3b91cf2dad86a3de6b25b3db7a740968645dca9cdb3575917799","2f49438d884d9213cf818e8dbb099aca5a610fb0afee5b178e58cdb20e18cd47","766089db9a6dfde973076bc4b0198e36a06fb7a6fc572be910ab3f0729efaabf","fb50971755e1a3ae7775d50e323062c4b5ab86307f9d815dd7357a3ed9e1505f","f0023e6c5b951d9aa820b86adeeb7b4dba49447b3ea30f489e8edbfdfa0cb32a","f8bf1455ac2c42adf42d8e805efb1d5f31f1caafa66b9e67bd02b983ace037f3","98bb229db2d81eaec4ba5ef6e7bbb77f24c424e63217bed49a951e9c6b518507","57db29be78958cdc0150a4c3f0972d1ff02f471a4083473c6b3c39d792771c7e","070517799e7231e1d0223ddf2af444ef25f85d0f4e16866444bf65e3f9d3887d","c5dcddb11f17e4e6b6798f089b2c68fb0b6d7f77fc5e6885f48f95b5d8d034c9","f46dd858efc9056e361553628bb84124c150a85ea5a787024f175b452dbdc1d9","168840936351f71eba6047f128bd450e7f1d724ef92d66d1514f98907061e2e9","797cc548454e0dbe50b0767a0b061fa7564b71b57fe541482f0a655a7d2bafb6","56e79a504c6d8570c1e5bdd0536182dd2fb461cdd8468cda2b2fade49fe559c9","b363b85c8e93be17e1cdb62c400e08ea1dd88df8dc9a6c9ac1d34b79695b9694","781cc223d1c1b6539094df46dce708348a90376e8cde19babdbe743057e44642","b9c05c23f53be5b435dde4349f70d5851c74b891a3cdd252efbf149437c3c5f0","70b3cf5c5122849e757a21b3a4ec8cac43d06a133f161acf52189c38179badde","7c610268bd1c45fd2d3722b590e303173b96822508eeabdfafc97b926fe370ea","bf0b596cf9d235ac4cb6b1a80ca7aab5d460d0f11979f4e6477cedd439fe053d","9d3fe3b9bfb39058d0632a883821ec42596cba09cfe88905bbe1d36530362383","7fdf7a2fc582a7515af30c6b14ca5ab78362fb7101894db535b1255aa8cfb2bf","2418f44e983932cac5d385e5461b39437436ddc2450a7d43edce2a791f521b84","0afa7442fb784125ea85b200f22e33fac286c8386bf2496fd42b3ed5f23f4206","2a91ca577dec2b3c6a0e8328e0a24632a2a6a655103ad4ecbdd0fc290699dd9f","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2",{"version":"b403d31b0eb689dd58c7ed314e5cef558eccf35b9d57529063a1674fac049780","signature":"235040e531ee0a3137114c837b9b21f9cbab8749ec49e62631520c88244603c0"},{"version":"c8b9ce4e358d16995a717802b9a2f94ecf1a27dcb903cf1b071200677c6fdba6","signature":"1b6d88848c9e228a935089b924f789514512f5803461a92bae6291072cc22da7"},{"version":"3395b19c4e3ba2c1c9649e2992a23854957cedfcdacaaba43828f85cfe684f57","signature":"30fcaf4cf932d8e356772d0467482b701190f4994a709e164ec3c8f07fcdbe2a"},"67aedee66e5a411dee93f6bd5732e5104310fbef850bbe99d1d42d1ec7ff0afe",{"version":"daf6dc820778d9b9ff9bba2ffd2af19b276a64e6c2caf273d2d88506d4f84105","signature":"cea03de1e34e3c8625b9444d5c6a301d623280317af2f4c6c04ad73a2f22d8c0"},"3184417b619fcdab232c520b9e51c33972a43640fd42c34d2ceb3f2af2e036d0","09e73556cad850571ac14f53d44f7ef61a8081ae8fa4e799032477c4d81f09f8","bd80422c68e0575fee07883efc93fdbf32da39f76ab8479d56eba05e7fac8363","c3ae5bd25987992da73d2c4c23058a229d6a0989c38410047846a7dbc9abce25","b619e4dcb6c3aaed579cf7650e68be5c8ed6a12b5548e0662b906dd907ab3f9f","6ef5eff76058b2edc800017be1724ce74d13f8e30fd6dfef7295bf177272116a","032e362f68a69c4f6af9678b4f5fdcf5b6c348e6aa279a7b2c89099bb7887a0a","37d74c50989720c0e6121215a487c13fb842f2ea81204310c6715de4f705485f","137fcb488abe39cd57437d2bf940862bfcaa709e248602461b82236c5a01c1ce","2b3849074b5813376ffe71ff550ef25cce638c43385ed63c1b5be504d3e213f6","c257f19fdb6c0f753fbb932d634cb26799391712f054472e9627dd6817157862","5a82a1daacf5f4e73e4ba80040bd0be03d8fcfee4080c973389b39bd0721553b","694ce0788daf31dadf82702cb0efe558014a0a210278c78817840f1caa4f3a09","99fd2587995ea6001ac20d6ecebe748e163d62e820f369452919c265f140b3c9","ee928a0e91da479fde4a2d782b8a6b2fb7dff7359b8f7ff7d23a34d7de276860","b895bb19cb7796ba8a4b0cb77d9383f79b9226936c7f50b5a9d3e1fc5bd00291","79aaadbaee10117769f82c33d6256fc7d0af0859348268e4663521bd00ad15a9","f24b104cf0541b30902b2c947cef8e4955f16068c492d00bc5c70530d8a5ae89","4df02f7093cfdaa88c78186c50064ce6307865d5a2b6f52d16b2a477a289840e","4a3de027fe2fe214e22db9703023024d85f2863138940a21b4933113313394bb","1b9f1ba55985edc074f18ddfe23c6c93d8463ff30651482e8783e56ca0df0653","e12f2c48252d0ae261db2be28206e4f1cc282fa5459a0f991a09f86bb766543f","19ef1d72f861901d6dd7891cc14c6ca0bd860b3089e33188f4764232b1bfaa38","cdfab96750a8e2ef4e62a98a3ea9a2918340577c5b3b118f013047345081e97e","c9f8f08177b56b7610d9ea52d6e297a4caa28493ad667a8972cab06083beec84","a92c7fc820badc697c7e9e99a9c6046d10edd876611a81c1efe4303ab4b8fecc","10f1da8344d6902a76e0fa1f9680632072f23380a395d0321d8838f07d601e33","a9b346b95282a7ec010c4d81cd49779643c08dbe77ebab40986a6a379626b1a2","64bd4308b81c3b91cf2dad86a3de6b25b3db7a740968645dca9cdb3575917799","2f49438d884d9213cf818e8dbb099aca5a610fb0afee5b178e58cdb20e18cd47","766089db9a6dfde973076bc4b0198e36a06fb7a6fc572be910ab3f0729efaabf","fb50971755e1a3ae7775d50e323062c4b5ab86307f9d815dd7357a3ed9e1505f","f0023e6c5b951d9aa820b86adeeb7b4dba49447b3ea30f489e8edbfdfa0cb32a","f8bf1455ac2c42adf42d8e805efb1d5f31f1caafa66b9e67bd02b983ace037f3","98bb229db2d81eaec4ba5ef6e7bbb77f24c424e63217bed49a951e9c6b518507","57db29be78958cdc0150a4c3f0972d1ff02f471a4083473c6b3c39d792771c7e","070517799e7231e1d0223ddf2af444ef25f85d0f4e16866444bf65e3f9d3887d","c5dcddb11f17e4e6b6798f089b2c68fb0b6d7f77fc5e6885f48f95b5d8d034c9","f46dd858efc9056e361553628bb84124c150a85ea5a787024f175b452dbdc1d9","168840936351f71eba6047f128bd450e7f1d724ef92d66d1514f98907061e2e9","797cc548454e0dbe50b0767a0b061fa7564b71b57fe541482f0a655a7d2bafb6","56e79a504c6d8570c1e5bdd0536182dd2fb461cdd8468cda2b2fade49fe559c9","b363b85c8e93be17e1cdb62c400e08ea1dd88df8dc9a6c9ac1d34b79695b9694","781cc223d1c1b6539094df46dce708348a90376e8cde19babdbe743057e44642","b9c05c23f53be5b435dde4349f70d5851c74b891a3cdd252efbf149437c3c5f0","7c610268bd1c45fd2d3722b590e303173b96822508eeabdfafc97b926fe370ea","bf0b596cf9d235ac4cb6b1a80ca7aab5d460d0f11979f4e6477cedd439fe053d","9d3fe3b9bfb39058d0632a883821ec42596cba09cfe88905bbe1d36530362383","7fdf7a2fc582a7515af30c6b14ca5ab78362fb7101894db535b1255aa8cfb2bf","2418f44e983932cac5d385e5461b39437436ddc2450a7d43edce2a791f521b84","0afa7442fb784125ea85b200f22e33fac286c8386bf2496fd42b3ed5f23f4206","2a91ca577dec2b3c6a0e8328e0a24632a2a6a655103ad4ecbdd0fc290699dd9f",{"version":"4a2c144ea6f441e9616ec77fe9b1009b0cdf6db0cd9727b8d99623975cd6c693","affectsGlobalScope":true},"d4dc4557060158bd36e4184d844b3dba1dd623e634721c3562ef1f8478535274",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"eb6047186816e492576fdf69c5eb57cf8e7731a3a57af5c0ade87ae98b65803e","45047ce0718c23f1567ed031946f7e95deebe45ae81f7d85439edda4d55443fa","32ae9ea5a211436fdb1ef180ec6f1c731dbd7caf5255e91210f03fb0b0a7a722","db41553c9924d4050cbe17bd48823fa310bf0c829be14cf0b86a54f05ab7d883","4b1267c3fbbe6a2e4a5d8cfd39f5776eaaba5c0066bb2c0c9641db4eea658afa","14cd40eec1936475a46911a51db0e07f351c67dd89b91857e8181a1d46560ec9",{"version":"0c22f5d37b165fde52452abc383c58c28e8f734bfbc19d28e944d97ae9b178ad","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"1027e65f08b0f075f9e7626104e96f0af847db3919e742083d4475c0238b58b3","signature":"a0143ffe3d658e872522fb16d5046a6beb9ee536fe6461b3074dc4b1874547f9"},{"version":"18407c9d46bc9e777cfab6087293642bc4b7afab66040dc2b68e39f7f0f5e403","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"85b9f591f816fbba665e8090953fca2fd3606fcaee188ed8b0f39dcf6691c90b","signature":"7a1d2b841fb0ce4c9053a79c7de39bb6d18cf84f058de8fc899682640cfbc605"},{"version":"a05380917c069dccdd62fbb7e002c8ab84fe7f4c31a888c7732f7954cdd18937","signature":"f91b049f92e49763bf0cc90dbb060248bba905d0797283413f66b7d4773d6a6b"},{"version":"f20808490b342a6a1777a649830b2768e67b7cf215c86f618f2c4130ac8ebd83","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},"6ab263df6465e2ed8f1d02922bae18bb5b407020767de021449a4c509859b22e","6805621d9f970cda51ab1516e051febe5f3ec0e45b371c7ad98ac2700d13d57c","211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","ee3a39a0de7a80b8f3637977bdba57bfc48c87877aac70011ddc391c5a91ab5c",{"version":"469d15f78f62c948a47aa57369913ba5aa531ab0ac52da5f2ea6c14342b6b8b3","signature":"5e8e00b39102d95dd9cbfe2411f8caf304c583d7d65d91a81b10632af17d3e5b"},"d8c2faae2eed5232165406c5a5dcc2b038d0d3202cd3f8f0d7de0f9177f44e88",{"version":"5d3832bfa5a5b77369cdb384359285b6b8bf87093ab27819364a10573d581c8f","signature":"7d33b48ccd8099cb40afc78dd85169fb59b0b7863023ceaea73a3c49a1ddb778"},"c2dcc7cf2015643ae70f6b5feeaddd3e7e50597311d2458011f2f8d80f0818db",{"version":"466534769823fbb535eb8b79384cc7f39c65591ba18e3679997bb40be9e168e5","signature":"82c721183c18dd1bc8de2afaf6cda81bce1586be2ef8be010d4f24aac860a30e"},"df78f481a21572c6b556c30b4de8ca83e51f0301eaa7275dd47ff509b13de94f","759e6b9397dc9808a5695b4fe0c52b8966089c44e46840ddd32ab38386ca9219","45fae1d446b18194045aed34d0e909563af3790a3de23ca883ba798a8581a40d","b3baa7bea7a0797d9d4011fb90f9a3e18550b5f874e4473f52e324178f60b297","5d5207644f363b8d5578191e5f325c53c0bbc1fddf7204eb715d3793a0342607","4b50786b05f371977086122649557a4892502d4a50922d80dc772b374811398e",{"version":"25623eda9995524d4a2a6ec20656bd10e92d1ae921349c56448fb66db0aeda47","signature":"fad48894040b71676715c0579778df8e71bb5ef70cbf15cb0fd76306d0ff169f"},{"version":"e0bc99308c56fba4e4f53032e310e0a4ade08f3e4f6c43b5f54f3aa945181169","signature":"f50bb4173bb3b5deb8b62e0ce8cc1f1eb0bb91dacea675d9a1920dd61c9bbb4a"},"27ad68f166c3f201dceffc2bf46ef4fffa3a0f7d111620a16c02db95c2814df6",{"version":"5380d0487a6a409695daae7dccc500cd3d65eb78f149a361cec0680f873d46b8","signature":"d0aa7dadd0356c62c6fcdf12ca4346ff4d94f6d45d98c266f06d7c4b25ae35b0"},{"version":"f2b9d181c3ae0bbe38d2a7c0a4d9551580861cd495b6f26ba23df4d3bd2e58e7","signature":"11a3c5bf3b7a9fcaa1b3ac6c3e246a88d5587766f4bcced269933619f4d2636e"},{"version":"e41d0fd52736d1c8f3c7bf0209f157aa51a0779aaa84cf01c7006f83d5ed8d46","signature":"0ca23c23b8aebfda243eac7f740576a55524a91146482c3c4906ad9af2cfeaf1"},{"version":"2a7fcf99f37c0c60adbf61941855263ecdc41453abef5be9fd12362708c50981","signature":"0ea081ac97ad5ed34a3736c762c1e8154866e9f04422affc938a4a060054fdb1"},{"version":"42e45f2c296d5ae3efcd32f1a203f0f5ec4ce8a5788f206188e32d21a5d1b3c7","signature":"75c2b728b744d2a0a992989d53e443eea69d7d93cd72fd7c524996a4b1438875"},{"version":"965b7d046ad161d16d442cfa0257e5c7477cfa73d8b6193494748955ad21dc23","signature":"9abfe0e9594ed08a39b64c5e42f78844f2f23094b9e75a9b5d24dad434e4b98f"},{"version":"093256b717ed6b0671c190742a497e7857aebe4a915fcaa96d1be95c4c90cb66","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"0699f9d4029b8f54af894d9839e028070059b549fa17a1358647f24ab440a938","signature":"8232f0461f5113b51d2116dc47dd75b8c193de1de73f182e04cf30f078416e12"},{"version":"a2894ed14ff8059f55fcc4fa68f168e62898502817b77dbb49fe14f169ac604d","signature":"9d5575baea6f7bc1bd85e4c3817ca76326b22058e2037cd3c415f24248cd4885"},{"version":"b3b9d0a1b25d6a2d769188bc74fc7571a2aebe6b7b2d37975c25bbae06216483","signature":"788f6961ee1f29642dfeeb5899ebf0dbb23cc12072cca6bc33fcc228be767ddb"},{"version":"2803800c77e347a8314798ad5f75c83d9f35ff4cfaf01a9bde3d96018c2a9b03","signature":"21dadf13443e844ee74e9a0d2923d74a6fd18371187972692c6e3ef7bc938299"},{"version":"7cea1e20035bda0bdb07583cf80553eae7b7d21c9035c573c4586b72bc4a2117","signature":"13b98878567196238158dd9f049d2ed822c779d944995707c727642413918218"},{"version":"8e432ca601458a8363abfff15ef4dd55711b41c01cfa102680c861ee85e8a2ce","signature":"b10a564f27c94a9600d5e2a59e1393bf183ccfd517ff5f523f2f6d23a5bb01dd"},{"version":"d11033727439417f5dde1b68ebea31910de387a7d8e1f38e8de6bbaf38de01d9","signature":"6020ce82c33093672f9ad279cc38066373003e48315f11cac577e2b68211a3eb"},{"version":"2d5c8041d3b4a8f44b2917101936d79f81ead62cb4940ea27b165b68dce1ae9e","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"e1807c5fac096b50b0ab3bb7b4ac9be0f38ebacbaf848ca95e30dcac59b6b237","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"82de46d4c64e3c28d96b70246259dfe986684454d0e627d90dc8cd200fe297de","signature":"19761680a00eb794109625677bf1bc6f6fc979cfa7e74ba127ebc84fd257701e"},{"version":"1101a8e3f73e9635ec09ad0484b086d897c7801b53c48e76deda928e4ac6e0f6","signature":"b8bdfc2eb1f47a120d8d5a72f6d7faecac50c10ab662c047e02c4300ec74b888"},{"version":"d711f47bb43debce5b9c5d559e7a5e70c2d794f4857e2448c1ce6626903228f7","signature":"42ebc41226b4b0d49b49fa0a8a89a301a3252027796d785069e25e991d481794"},{"version":"9fe91a5c000d75b46f12b374d06900795f73d7e0ac0a7976f8b47030de32c023","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"08aa162d00809c0568b844aa938c13f7cd878840fad1e511da76e2695b80badd","signature":"e3fcf6526754bd8682208e95dbf6c8681c3b5d9879e64b8ac51886ee2adc8dab"},{"version":"d07421e151f89d89cf2bae38a11494a2e7340c82f2084b165abaef8817c3a68b","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"33b99d0c0d1e06cc7fe38a4cf9e5d0d6f9403cfd0d8daea4c7be414f1a77fd39","signature":"dbc572eea22dac5d4ec9ddb7a4b9a1eb12aa9b275050a3fd59511da58a3b944d"},{"version":"0c4a77a829bffb779422055bf95cad6b4e1ab8503213cf76cedbc105bafd9e9b","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"f1a1225ee29779e91b2af6dc0eebee6475a29c735f9b3df969a1c81734becd31","signature":"18201274f4cdd885c3ccd59a6ae60a732be7c0efa36ed8892b5367628a06d71a"},{"version":"280f944e2021551bdd12b4fc6bed63a40581e9f1a58f273e14fe393924513c2d","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"8821d82cc00197e8acfd64a2d7b7d5519f5cc62342bddda71909c3af9db75748","signature":"38d146234af0e0586ea67469803eaa68b794f76d461b6a9d9d611ec5c975279c"},{"version":"b9eb8efc8d89483dbce55c51bc1035fdf43926b89348d269bdd065079f9bf379","signature":"9b629bfbdd4a6c02cbd6872f392ca8c10288278af170de792266e0bcee02f948"},{"version":"5a0e71befbe7eb62d38f557f5f959f7cd2380eaa1f4d13f9f14618eca642cf80","signature":"b8511f6545b5eddb0e0d83f42372db87167428d967d367bb334e236b195999be"},{"version":"b87679cd260ca2c0bab97a063f609fd316b7b0987eda3c0bb289d93f696ffd4a","signature":"5b32779d1919d6fae02bef333f9c392086319c8a44e69f0b3fec4f342884856b"},{"version":"3dbf0e61f6ffd5854b5bf8fd9a6f329af565801346f6d283c09278e660b3bffe","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"dc5ecaf89951a9bb79468efbfbef1e539e033948cc0706bdea281f1ff7f83d83","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"b1c98c2a474c1482066b336584bf41afadc1a1b5f2f15eec56e2628a3e2d8c73","signature":"babf8252fc24c874a025b937092702c3c7eede711d6a6f4d9e05dc6727c1a539"},{"version":"d692dcc0fab6f74adc2bd71f94b072f986fcaaabe8557576e06118975109ae66","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"1a9f02654e4e784f582c9cb8cc2d9a993646613c9adf5b2772b8f42c1c18a914","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"09a398a2238af1157042938d40085ee2bdfd59d969091e3bd0094fdf5516d400","signature":"91d5a2eef26a5b886ff5157c1c14dc500701175695aff7c5643cf5859abd36f4"},{"version":"7c984b1109e1e531469471e8888405d9c073fd01b9df51d4a64d9aff261ab3d6","signature":"6965c600327079147f6009de66b181e58c631b3b4c265701bd53761a61bc287e"},{"version":"448f043cc0fc7a270b7f09767d0a8a9f24c008e6d42d3c4c1ad3d890dfab4f10","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"2dd861ea59cd7370b74a9bb9090f57412662e0e132de820e62896b6e08b3ad25","signature":"42ebc41226b4b0d49b49fa0a8a89a301a3252027796d785069e25e991d481794"},{"version":"c0f5bdcaac386ea3e437cbfdefd2c03285c34a3eda4401e75a88361a5114336a","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"2c0e90188a5f5a002e190f27d5a6476c50089e7eb0e3fe5fbe30ea752f9a65d8","signature":"5cac835d46a5e2b7c6168af298229d8668d2a69c52b0ea56ceda849ca19bc043"},{"version":"db01bc496c5741ed58ef64a4bc9d0ddf52416956cdd506f0f18e1f7c6c7cee57","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"0f163ea921b54fda01eeda1e13969f075e19b92d36f6b14a7005829e87b8bee7","signature":"dbc572eea22dac5d4ec9ddb7a4b9a1eb12aa9b275050a3fd59511da58a3b944d"},{"version":"62481c30fada486f1ca3b20afc6494395f2ef898e8361bdbd0bebe5f9cd9016a","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"5687aa58e3d692002375cc5872fc1c5777e9d65435a6ba7c1b97c5e24b02e41e","signature":"18201274f4cdd885c3ccd59a6ae60a732be7c0efa36ed8892b5367628a06d71a"},{"version":"093256b717ed6b0671c190742a497e7857aebe4a915fcaa96d1be95c4c90cb66","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"d24b31c4111a15c9e59c2347dead9da85287ce5661422fcfd9193257d59dd8e4","signature":"eba41a06087c282d378df9527df5585b95b4f97e2e1a5e23e543b8c4f607a5d2"},{"version":"2ef1cffe299a8cfa70ab2923e3b53dcc811faa461d6a7a16ffd4101c52681d29","signature":"050e71e6e3caef620f42902d3f1c5b69ab4ca4e7cbb89a70ed10e87fecb74abd"},{"version":"446737753e95a49f900a2c7b9f7f0df77a4037c798f2a50d5a48d16f0646a6eb","signature":"a39166c5634d8edfd606b9d677705200e6955abd7f7a1ef5696be4523c70adee"},{"version":"3deb66305d2a19abb1e173a04ad5d7c6115a8f550ddb43e473eec74c1a1e1113","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"bcf7c27fd3e8377f42e76fcd8a1da0630aab1926b42e6490b8b2d03e4a9b6fa7","signature":"c2707a96f4021d3a161525d44882add214b0be6b900abf85b021d2c208192d0f"},{"version":"8487aa217d7d0b719a7051c2271e9d8269f866bb4acc3664622814214c6a7e01","signature":"8f1929cf71412b49a259fd835e99c01a098c9544b825735fdf942f4f9a035a03"},{"version":"ee02d4a93fe21e8546c3bd02eeceae7847de820fc4c5fa35d95411a08c392107","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"04116137469ea10cce54da79adebf96074bf6221f4a56f95483cca85ea3da741","signature":"c7fb89986f9bc6f18242f380f34fad2dae71697eebbb491958b0798d2f35a7e4"},{"version":"81cc2b6bc7e98f9efd31185b6bb1899929397e6154f5d9c99311c74399787e3f","signature":"3ccfc0a38230562a0f829d35b7eae2a3c30cb8a2f31e739710a9dd32b9761e77"},{"version":"cd1ed2d6779c5aace2ff052209dd31962f3749e39e1c72ba94e60a31a2f50af1","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"42c8c173bc53bb6f5daa67733efe25ead4faa469098dfb7dd832065fe4dc2cd4","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"51391ea3752d64e59e1c90f0f3f56d4eb4d2d2ac9c020d49f40f2824cee55b72","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"c0417a7d138816c5dc0b5cdb73c8ecde83bef1ee73cdd2557dc38ade92910912","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"fc61aba218e34405d6a7302c8f0cc6f182e90f18c9e528161084aee05e37f448","signature":"438b8f36338213fdfb0875be73d0680d133ca3f1e444b855dbfaa7a9f4ab41e9"},{"version":"af5aae2478aa7903018f8cf56e5395217dc1adffe7e25f8ef0a54e0cd2a80024","signature":"0da314e5e0d388e35e3dd9873a81df10ba46a5e87c6a9e4d4c03dca6f5ce42bd"},{"version":"1baf2605163e0d706da15419e540bba64d1c6f571d274ce1cdfff881def48309","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"d3c30a37ce9d0622a3c6732fffd4b70ffb76356ca0b44ac249fb1973d8694dbe","signature":"8c461a79801cfc0d475301b24f056dad4df7cb6228f88ffa45448c1d30680e55"},{"version":"a5d35229db767f1c57afa84f12ec87754dcadff6528901854b2d90864bc33d2a","signature":"af4007ae0911bbb0abe75c6b1d6130d7266cc1e5ecc8ddbb56644a1b81517512"},{"version":"f32b04a1364ef7ec5968edcfe15b9019942003cc5304f99346c23f39a2217774","signature":"df9cda5a102b2aa66ce43a5900b9bf21abe9116a33b97cdab56f78dbafb3be0e"},"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c",{"version":"c834720e9d6d94301b6ba873a0fd72b74093169617079ff46ec4c74c66212d33","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"8d4722e801b2834a95792886fa7b926f55f1a6ca92fc5d637d68ba8b416e0d75","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"9312ecaf48d649313e38d6691d2128c3887d1f154f34308347173577b76337e4","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},{"version":"299f148a19b82e9359553bc6304ae37ce4dbae4863dbfdc92b64264d1860f815","signature":"f761c91419d0a89422a0004ef1a92929dd4d2d5e5c16758654d8b0467d1998c6"},"42baf4ca38c38deaf411ea73f37bc39ff56c6e5c761a968b64ac1b25c92b5cd8","d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","8718fa41d7cf4aa91de4e8f164c90f88e0bf343aa92a1b9b725a9c675c64e16b","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","975f84de013567851d216d78a3a86736bb330cae11fdc907b222dffa148b31d2","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","8bc66b4237da7c71057d0101c7cbee0c80feb77436ae08036fdb23f3130bbf9a",{"version":"64ee4b1a4d56e45de40eade7ab7f83542b016d36c91e2fde1029f2766bd5ca94","affectsGlobalScope":true},"ff0658477d5bcd221237f02e9d01c4989b40540d2d29dcab858fcddeda77f20d","9196a780424b7c19a543518748a53226c88c1c311a250e677dd91269152fcb71","8491f6ecde496b6940b517a7aabce89a45f74929490c865f03820e235791b9ee","80d22c27e030ba1f353322f7db1c6bd9c287a8c09ff08a7ee448bf8ab45b1b04","368985375c456b227851e67a5b1f260b2aa9db9ce31f1ae7edb0c1785c19cec8","4f8f8eb5ded80794180b0cf2e42ad5dfa281f5119470b64bfe9a40f06bb67f46","869e22b822e37272bf798e48bb045cdb86ed8eb7fc38571b1607bd10f028d3b8","eaf2c74226d1e82ff8771b32c1b917cd54b83d9b055b1312bd02eaee6d38e76a","3e0eebb8bef3cf0489513bf97c223884563aa423f52252e66ddaec584ba3d17e","cbb73f8c4770d719fea3eacf430120df9fb5d6eaea98211aa6adbe200b44cc35","4644abb049e97e1f598d1a33d452a7300f44709c8feffdb25f0781daeca873f6","d3925f25dc1d2862f5270d0cbd4e34a1a3ad8f7c895ed0c60af5c423d7caeb53","845df0b6bdc8c04989f880ebd8d0840a15c58d22914f7a4fbd72d5ff01547e24","f975bdc79a9da59c0a10c48ac06d22ece4a040bb84f2c8392bb3eaff3f8f7e69","fee7524e78e9c05f38d3e32622bc9c06e702428f576371900c466ef3ec0fb564","090a8496d98fec36c4fbbfd413d4456df4cc50683e0b7c7327530501298af7de","c3ffa719a9a589a597fa300800d27a3206ecf64a4cb8d3dc168faff9a64f527f"],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"importHelpers":true,"module":1,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":9},"fileIdsList":[[70,132,140],[150],[81,150,151,152,153,160,161],[154,155,156,157,159],[158],[74],[63,65,67,70,81,85],[63,65,74,82,86],[82,83,84],[61,62,63,68,81,86],[79],[67],[74,76],[74,75,76,77,78,79,80],[70,74,132,140],[74,86,143],[74,86],[74,86,143,144,145],[74,146],[64,74,81,85,86,87,141,142,143,145,146,148,149,162,163,164],[70],[61,62,63,64,86],[63,65,86],[60,61,62,63,64,65,66,67,68,69,70,71,72,73],[86],[65,66,86],[60],[61,62,86],[74,85],[70,147],[223,230],[186,223,229,230,231],[223],[132,140,182],[209],[194,209,210,211,212,218,219],[213,214,215,216,217],[186],[175,177,179,182,194,197],[175,177,186,198],[187,195,196],[173,174,175,180,194,198],[192],[179],[186,189],[186,188,189,190,191,192,193],[132,140,182,186],[186,198,202],[186,198],[186,198,202,203,204],[186,205],[176,186,194,197,198,199,200,201,202,204,205,207,208,220,221,222],[182],[173,174,175,176,198],[175,177,198],[172,173,174,175,176,177,178,179,180,181,182,183,184,185],[198],[177,178,198],[172],[173,174,198],[186,197],[182,206],[104,107,132,140,330,331,332],[104,140],[105,140,241,242],[105,132,140],[337,339,340,341,342,343,344,345,346,347,348,349],[337,338,340,341,342,343,344,345,346,347,348,349],[338,339,340,341,342,343,344,345,346,347,348,349],[337,338,339,341,342,343,344,345,346,347,348,349],[337,338,339,340,342,343,344,345,346,347,348,349],[337,338,339,340,341,343,344,345,346,347,348,349],[337,338,339,340,341,342,344,345,346,347,348,349],[337,338,339,340,341,342,343,345,346,347,348,349],[337,338,339,340,341,342,343,344,346,347,348,349],[337,338,339,340,341,342,343,344,345,347,348,349],[337,338,339,340,341,342,343,344,345,346,348,349],[337,338,339,340,341,342,343,344,345,346,347,349],[337,338,339,340,341,342,343,344,345,346,347,348],[88],[91],[92,97,124],[93,104,105,112,121,132],[93,94,104,112],[95,133],[96,97,105,113],[97,121,129],[98,100,104,112],[99],[100,101],[104],[103,104],[91,104],[104,105,106,121,132],[104,105,106,121],[104,107,112,121,132],[104,105,107,108,112,121,129,132],[107,109,121,129,132],[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[104,110],[111,132,137],[100,104,112,121],[113],[114],[91,115],[116,131,137],[117],[118],[104,119],[119,120,133,135],[92,104,121,122,123],[92,121,123],[121,122],[124],[125],[104,127,128],[127,128],[97,112,129],[130],[112,131],[92,107,118,132],[97,133],[121,134],[135],[136],[92,97,104,106,115,121,132,135,137],[121,138],[121,140,239],[107,121,140],[324],[105,140],[250],[250,251,252,253,254],[224],[225,228],[226,227],[105,107,118,132],[59,167,232],[59,165],[59,114,165,167,248,249,256,258],[59,165,167,256],[59,93,167,232],[59,165,167,249,256],[59,165,167,249,256,258],[59,114,165,166,167,248,249,256],[59,165,166],[59,114,165,167,248,249,256,287],[59,114,165,167,248,249,256],[59,165,167,249,256,305,306],[59,114,165,167,248,249,256,287,309],[59,74,165,166,167,168],[59,165,166,240,249,258],[59,165,249,258],[59,166],[59,105,224,249,325],[59,105,114,167,168,243,244,248,256],[59,105,224,287,325],[59,114,249],[59,133,168,224,325],[59,133],[59,167,240,248,249,255],[59],[59,245,246,247],[370],[359],[358],[357,370],[353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369],[74,165],[70,74,165],[70,74,165,248],[165],[248]],"referencedMap":[[142,1],[151,2],[162,3],[160,4],[159,5],[156,6],[86,7],[83,8],[85,9],[82,10],[80,11],[76,12],[77,13],[78,13],[75,6],[81,14],[141,15],[144,16],[143,17],[146,18],[145,19],[165,20],[73,21],[65,22],[72,21],[64,23],[74,24],[68,25],[70,26],[61,27],[63,28],[87,29],[147,21],[148,30],[231,31],[232,32],[230,33],[201,34],[210,35],[220,36],[218,37],[217,5],[215,38],[198,39],[187,40],[197,41],[195,42],[193,43],[189,44],[190,45],[191,45],[188,38],[194,46],[200,47],[203,48],[202,49],[205,50],[204,51],[223,52],[185,53],[177,54],[184,53],[176,55],[186,56],[180,57],[182,58],[173,59],[175,60],[199,61],[206,53],[207,62],[333,63],[158,64],[243,65],[241,66],[336,64],[338,67],[339,68],[337,69],[340,70],[341,71],[342,72],[343,73],[344,74],[345,75],[346,76],[347,77],[348,78],[349,79],[88,80],[89,80],[91,81],[92,82],[93,83],[94,84],[95,85],[96,86],[97,87],[98,88],[99,89],[100,90],[101,90],[102,91],[103,92],[104,93],[105,94],[106,95],[107,96],[108,97],[109,98],[140,99],[110,100],[111,101],[112,102],[113,103],[114,104],[115,105],[116,106],[117,107],[118,108],[119,109],[120,110],[121,111],[123,112],[122,113],[124,114],[125,115],[127,116],[128,117],[129,118],[130,119],[131,120],[132,121],[133,122],[134,123],[135,124],[136,125],[137,126],[138,127],[240,128],[332,129],[325,130],[352,131],[251,132],[255,133],[225,134],[229,135],[228,136],[330,91],[227,137],[233,138],[234,139],[171,139],[235,138],[236,139],[237,139],[238,138],[259,140],[260,140],[261,140],[262,140],[263,141],[264,140],[265,142],[266,143],[257,141],[267,144],[268,139],[269,144],[270,144],[271,144],[273,138],[274,142],[275,145],[276,146],[277,145],[278,142],[279,145],[280,142],[281,145],[282,142],[283,145],[284,142],[285,143],[272,141],[286,139],[288,147],[289,142],[290,138],[292,138],[293,142],[294,148],[295,141],[296,142],[297,148],[298,142],[299,147],[300,142],[301,148],[302,142],[303,148],[304,142],[307,149],[291,141],[308,142],[310,150],[311,142],[312,147],[313,139],[314,142],[305,147],[315,138],[316,142],[306,147],[317,142],[318,147],[319,148],[320,142],[169,151],[321,152],[322,146],[323,153],[170,139],[167,154],[326,155],[327,155],[249,156],[328,157],[287,158],[329,159],[168,160],[256,161],[247,162],[245,162],[248,163],[246,162],[309,162],[258,162],[354,164],[360,165],[365,166],[367,166],[353,164],[358,167],[370,168],[359,166],[368,166]],"exportedModulesMap":[[142,1],[151,2],[162,3],[160,4],[159,5],[156,6],[86,7],[83,8],[85,9],[82,10],[80,11],[76,12],[77,13],[78,13],[75,6],[81,14],[141,15],[144,16],[143,17],[146,18],[145,19],[165,20],[73,21],[65,22],[72,21],[64,23],[74,24],[68,25],[70,26],[61,27],[63,28],[87,29],[147,21],[148,30],[231,31],[232,32],[230,33],[201,34],[210,35],[220,36],[218,37],[217,5],[215,38],[198,39],[187,40],[197,41],[195,42],[193,43],[189,44],[190,45],[191,45],[188,38],[194,46],[200,47],[203,48],[202,49],[205,50],[204,51],[223,52],[185,53],[177,54],[184,53],[176,55],[186,56],[180,57],[182,58],[173,59],[175,60],[199,61],[206,53],[207,62],[333,63],[158,64],[243,65],[241,66],[336,64],[338,67],[339,68],[337,69],[340,70],[341,71],[342,72],[343,73],[344,74],[345,75],[346,76],[347,77],[348,78],[349,79],[88,80],[89,80],[91,81],[92,82],[93,83],[94,84],[95,85],[96,86],[97,87],[98,88],[99,89],[100,90],[101,90],[102,91],[103,92],[104,93],[105,94],[106,95],[107,96],[108,97],[109,98],[140,99],[110,100],[111,101],[112,102],[113,103],[114,104],[115,105],[116,106],[117,107],[118,108],[119,109],[120,110],[121,111],[123,112],[122,113],[124,114],[125,115],[127,116],[128,117],[129,118],[130,119],[131,120],[132,121],[133,122],[134,123],[135,124],[136,125],[137,126],[138,127],[240,128],[332,129],[325,130],[352,131],[251,132],[255,133],[225,134],[229,135],[228,136],[330,91],[227,137],[234,169],[171,170],[236,169],[237,170],[259,170],[260,170],[261,170],[262,170],[263,170],[264,170],[266,170],[257,170],[267,170],[268,170],[269,170],[270,169],[271,169],[275,170],[276,170],[277,170],[279,170],[281,170],[283,170],[285,170],[272,170],[286,170],[288,170],[294,170],[295,170],[297,170],[299,170],[301,170],[303,170],[307,170],[291,170],[310,170],[312,170],[313,170],[305,171],[306,170],[318,170],[319,171],[169,169],[321,172],[322,172],[323,172],[170,139],[249,173],[256,173],[248,163],[246,162],[258,162],[354,164],[360,165],[365,166],[367,166],[353,164],[358,167],[370,168],[359,166],[368,166]],"semanticDiagnosticsPerFile":[142,150,151,152,162,153,163,160,154,155,159,156,157,161,86,83,85,82,84,80,76,77,78,75,81,79,141,144,143,146,145,165,66,73,65,67,72,60,64,74,68,70,61,63,69,62,71,87,147,148,164,149,231,232,230,201,209,210,211,220,212,221,218,213,214,217,215,216,219,198,187,197,195,196,193,189,190,191,188,194,192,200,203,202,205,204,223,178,185,177,179,184,172,176,186,180,182,173,175,181,174,183,199,206,207,222,208,244,333,224,158,334,243,331,335,241,242,336,338,339,337,340,341,342,343,344,345,346,347,348,349,350,226,88,89,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,90,139,107,108,109,140,110,111,112,113,114,115,116,117,118,119,120,121,123,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,351,240,332,325,324,352,166,251,252,255,253,250,254,225,229,228,330,239,227,59,10,11,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,58,53,54,55,56,1,57,13,12,233,234,171,235,236,237,238,259,260,261,262,263,264,265,266,257,267,268,269,270,271,273,274,275,276,277,278,279,280,281,282,283,284,285,272,286,288,289,290,292,293,294,295,296,297,298,299,300,301,302,303,304,307,291,308,310,311,312,313,314,305,315,316,306,317,318,319,320,169,321,322,323,170,167,326,327,249,328,287,329,168,256,247,245,248,246,309,258,354,355,356,360,362,363,364,365,366,367,353,357,358,370,361,369,359,368],"latestChangedDtsFile":"./dist/lib/stdout.test.d.ts"},"version":"4.9.5"} \ No newline at end of file diff --git a/workpace.json b/workpace.json deleted file mode 100644 index 16851190..00000000 --- a/workpace.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 2, - "projects": { - "@rdfrontier/cli": { - "root": "packages/frontier-core/cli", - "type": "library" - }, - "@rdfrontier/lib-builder": { - "root": "packages/frontier-core/lib-builder", - "type": "library" - }, - "@rdfrontier/types": { - "root": "packages/frontier-libraries/typekit", - "type": "library" - }, - "@rdfrontier/stdlib": { - "root": "packages/frontier-libraries/stdlib", - "type": "library" - }, - "@rdfrontier/plugin-shared": { - "root": "packages/frontier-plugins/frontier-shared", - "type": "library" - } - } -} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 60ee164b..a6db9bfc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,15859 +2,6758 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": - "version" "2.1.2" - dependencies: - "@jridgewell/trace-mapping" "^0.3.0" +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - "integrity" "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - "version" "7.18.6" +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@babel/highlight" "^7.18.6" + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@7.12.11": - "integrity" "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - "version" "7.12.11" +"@babel/code-frame@7.12.11", "@babel/code-frame@^7.0.0": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.6": - "version" "7.18.6" - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.0", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.17.9", "@babel/core@^7.4.0-0", "@babel/core@^7.7.2", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8", "@babel/core@>=7.11.0": - "version" "7.18.6" - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.6" - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helpers" "^7.18.6" - "@babel/parser" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.2.1" - "semver" "^6.3.0" +"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.12.16", "@babel/core@^7.7.5": + version "7.23.7" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz" + integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.7" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" "@babel/eslint-parser@^7.12.16": - "version" "7.17.0" + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz" + integrity sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw== dependencies: - "eslint-scope" "^5.1.1" - "eslint-visitor-keys" "^2.1.0" - "semver" "^6.3.0" + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" -"@babel/generator@^7.18.6", "@babel/generator@^7.4.0", "@babel/generator@^7.7.2": - "version" "7.18.7" +"@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: - "@babel/types" "^7.18.7" + "@babel/types" "^7.23.6" "@jridgewell/gen-mapping" "^0.3.2" - "jsesc" "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - "integrity" "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==" - "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/compat-data" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "browserslist" "^4.20.2" - "semver" "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.0", "@babel/helper-create-class-features-plugin@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-member-expression-to-functions" "^7.18.6" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6": - "integrity" "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "regexpu-core" "^5.1.0" - -"@babel/helper-define-polyfill-provider@^0.3.1": - "integrity" "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz" - "version" "0.3.1" - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.6": - "version" "7.18.6" - -"@babel/helper-explode-assignable-expression@^7.18.6": - "integrity" "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==" - "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-hoist-variables@^7.18.6": - "integrity" "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": - "integrity" "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-optimise-call-expression@^7.18.6": - "integrity" "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==" - "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - "version" "7.18.6" - -"@babel/helper-remap-async-to-generator@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-wrap-function" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-replace-supers@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-member-expression-to-functions" "^7.18.6" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-simple-access@^7.18.6": - "integrity" "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-skip-transparent-expression-wrappers@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-split-export-declaration@^7.18.6": - "integrity" "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.18.6": - "integrity" "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz" - "version" "7.18.6" - -"@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.18.6": - "integrity" "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - "version" "7.18.6" - -"@babel/helper-wrap-function@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-function-name" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helpers@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": - "integrity" "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0": - "version" "7.18.6" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - "integrity" "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.6" - -"@babel/plugin-proposal-async-generator-functions@^7.18.6": - "integrity" "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.18.6": - "integrity" "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - "integrity" "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - "integrity" "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - "integrity" "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - "integrity" "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - "integrity" "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/compat-data" "^7.18.6" - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.6" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - "integrity" "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.18.6": - "integrity" "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - "integrity" "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - "integrity" "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - "version" "7.14.5" - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.18.6": - "integrity" "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-import-meta@^7.8.3": - "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - "version" "7.10.4" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.17.12", "@babel/plugin-syntax-typescript@^7.7.2": - "version" "7.17.12" - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - "integrity" "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - "integrity" "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - "integrity" "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-classes@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "globals" "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-destructuring@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - "integrity" "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-duplicate-keys@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - "integrity" "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-for-of@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-function-name@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-literals@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - "integrity" "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-modules-amd@^7.18.6": - "integrity" "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.18.6": - "integrity" "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "babel-plugin-dynamic-import-node" "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.18.6": - "integrity" "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": - "integrity" "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-new-target@^7.18.6": - "integrity" "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-super@^7.18.6": - "integrity" "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - -"@babel/plugin-transform-parameters@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-property-literals@^7.18.6": - "integrity" "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-regenerator@^7.18.6": - "integrity" "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "regenerator-transform" "^0.15.0" - -"@babel/plugin-transform-reserved-words@^7.18.6": - "integrity" "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-runtime@^7.17.0": - "version" "7.17.0" - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "babel-plugin-polyfill-corejs2" "^0.3.0" - "babel-plugin-polyfill-corejs3" "^0.5.0" - "babel-plugin-polyfill-regenerator" "^0.3.0" - "semver" "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - "integrity" "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-spread@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.6" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - "integrity" "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-typeof-symbol@^7.18.6": - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-typescript@^7.17.12": - "version" "7.18.4" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-typescript" "^7.17.12" - -"@babel/plugin-transform-unicode-escapes@^7.18.6": - "integrity" "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - "integrity" "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/preset-env@^7.16.11": - "version" "7.18.6" - dependencies: - "@babel/compat-data" "^7.18.6" - "@babel/helper-compilation-targets" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.6" - "@babel/plugin-proposal-async-generator-functions" "^7.18.6" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.6" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.6" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.6" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.6" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.6" - "@babel/plugin-transform-classes" "^7.18.6" - "@babel/plugin-transform-computed-properties" "^7.18.6" - "@babel/plugin-transform-destructuring" "^7.18.6" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.6" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.6" - "@babel/plugin-transform-function-name" "^7.18.6" - "@babel/plugin-transform-literals" "^7.18.6" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.18.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.18.6" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.6" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.18.6" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.6" - "@babel/plugin-transform-typeof-symbol" "^7.18.6" - "@babel/plugin-transform-unicode-escapes" "^7.18.6" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.18.6" - "babel-plugin-polyfill-corejs2" "^0.3.1" - "babel-plugin-polyfill-corejs3" "^0.5.2" - "babel-plugin-polyfill-regenerator" "^0.3.1" - "core-js-compat" "^3.22.1" - "semver" "^6.3.0" - -"@babel/preset-modules@^0.1.5": - "integrity" "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - "version" "0.1.5" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - "esutils" "^2.0.2" - -"@babel/preset-typescript@^7.16.7": - "version" "7.17.12" - dependencies: - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-typescript" "^7.17.12" - -"@babel/runtime@^7.15.0", "@babel/runtime@^7.8.4": - "version" "7.17.9" - dependencies: - "regenerator-runtime" "^0.13.4" - -"@babel/template@^7.18.6", "@babel/template@^7.3.3", "@babel/template@^7.4.0": - "integrity" "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz" - "version" "7.18.6" - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/traverse@^7.13.0", "@babel/traverse@^7.18.6", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": - "version" "7.18.6" - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.6" - "@babel/types" "^7.18.6" - "debug" "^4.1.0" - "globals" "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - "version" "7.18.7" - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - "to-fast-properties" "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - "version" "0.2.3" - -"@commitlint/cli@^16.3.0": - "integrity" "sha512-P+kvONlfsuTMnxSwWE1H+ZcPMY3STFaHb2kAacsqoIkNx66O0T7sTpBxpxkMrFPyhkJiLJnJWMhk4bbvYD3BMA==" - "resolved" "https://registry.npmjs.org/@commitlint/cli/-/cli-16.3.0.tgz" - "version" "16.3.0" - dependencies: - "@commitlint/format" "^16.2.1" - "@commitlint/lint" "^16.2.4" - "@commitlint/load" "^16.3.0" - "@commitlint/read" "^16.2.1" - "@commitlint/types" "^16.2.1" - "lodash" "^4.17.19" - "resolve-from" "5.0.0" - "resolve-global" "1.0.0" - "yargs" "^17.0.0" - -"@commitlint/config-conventional@^16.2.4": - "integrity" "sha512-av2UQJa3CuE5P0dzxj/o/B9XVALqYzEViHrMXtDrW9iuflrqCStWBAioijppj9URyz6ONpohJKAtSdgAOE0gkA==" - "resolved" "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-16.2.4.tgz" - "version" "16.2.4" - dependencies: - "conventional-changelog-conventionalcommits" "^4.3.1" - -"@commitlint/config-validator@^16.2.1": - "integrity" "sha512-hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw==" - "resolved" "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-16.2.1.tgz" - "version" "16.2.1" - dependencies: - "@commitlint/types" "^16.2.1" - "ajv" "^6.12.6" - -"@commitlint/ensure@^16.2.1": - "integrity" "sha512-/h+lBTgf1r5fhbDNHOViLuej38i3rZqTQnBTk+xEg+ehOwQDXUuissQ5GsYXXqI5uGy+261ew++sT4EA3uBJ+A==" - "resolved" "https://registry.npmjs.org/@commitlint/ensure/-/ensure-16.2.1.tgz" - "version" "16.2.1" - dependencies: - "@commitlint/types" "^16.2.1" - "lodash" "^4.17.19" - -"@commitlint/execute-rule@^16.2.1": - "integrity" "sha512-oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g==" - "resolved" "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-16.2.1.tgz" - "version" "16.2.1" - -"@commitlint/format@^16.2.1": - "integrity" "sha512-Yyio9bdHWmNDRlEJrxHKglamIk3d6hC0NkEUW6Ti6ipEh2g0BAhy8Od6t4vLhdZRa1I2n+gY13foy+tUgk0i1Q==" - "resolved" "https://registry.npmjs.org/@commitlint/format/-/format-16.2.1.tgz" - "version" "16.2.1" - dependencies: - "@commitlint/types" "^16.2.1" - "chalk" "^4.0.0" - -"@commitlint/is-ignored@^16.2.4": - "integrity" "sha512-Lxdq9aOAYCOOOjKi58ulbwK/oBiiKz+7Sq0+/SpFIEFwhHkIVugvDvWjh2VRBXmRC/x5lNcjDcYEwS/uYUvlYQ==" - "resolved" "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-16.2.4.tgz" - "version" "16.2.4" - dependencies: - "@commitlint/types" "^16.2.1" - "semver" "7.3.7" - -"@commitlint/lint@^16.2.4": - "integrity" "sha512-AUDuwOxb2eGqsXbTMON3imUGkc1jRdtXrbbohiLSCSk3jFVXgJLTMaEcr39pR00N8nE9uZ+V2sYaiILByZVmxQ==" - "resolved" "https://registry.npmjs.org/@commitlint/lint/-/lint-16.2.4.tgz" - "version" "16.2.4" - dependencies: - "@commitlint/is-ignored" "^16.2.4" - "@commitlint/parse" "^16.2.1" - "@commitlint/rules" "^16.2.4" - "@commitlint/types" "^16.2.1" - -"@commitlint/load@^16.3.0": - "integrity" "sha512-3tykjV/iwbkv2FU9DG+NZ/JqmP0Nm3b7aDwgCNQhhKV5P74JAuByULkafnhn+zsFGypG1qMtI5u+BZoa9APm0A==" - "resolved" "https://registry.npmjs.org/@commitlint/load/-/load-16.3.0.tgz" - "version" "16.3.0" - dependencies: - "@commitlint/config-validator" "^16.2.1" - "@commitlint/execute-rule" "^16.2.1" - "@commitlint/resolve-extends" "^16.2.1" - "@commitlint/types" "^16.2.1" - "@types/node" ">=12" - "chalk" "^4.0.0" - "cosmiconfig" "^7.0.0" - "cosmiconfig-typescript-loader" "^2.0.0" - "lodash" "^4.17.19" - "resolve-from" "^5.0.0" - "typescript" "^4.4.3" - -"@commitlint/message@^16.2.1": - "integrity" "sha512-2eWX/47rftViYg7a3axYDdrgwKv32mxbycBJT6OQY/MJM7SUfYNYYvbMFOQFaA4xIVZt7t2Alyqslbl6blVwWw==" - "resolved" "https://registry.npmjs.org/@commitlint/message/-/message-16.2.1.tgz" - "version" "16.2.1" - -"@commitlint/parse@^16.2.1": - "integrity" "sha512-2NP2dDQNL378VZYioLrgGVZhWdnJO4nAxQl5LXwYb08nEcN+cgxHN1dJV8OLJ5uxlGJtDeR8UZZ1mnQ1gSAD/g==" - "resolved" "https://registry.npmjs.org/@commitlint/parse/-/parse-16.2.1.tgz" - "version" "16.2.1" - dependencies: - "@commitlint/types" "^16.2.1" - "conventional-changelog-angular" "^5.0.11" - "conventional-commits-parser" "^3.2.2" - -"@commitlint/read@^16.2.1": - "integrity" "sha512-tViXGuaxLTrw2r7PiYMQOFA2fueZxnnt0lkOWqKyxT+n2XdEMGYcI9ID5ndJKXnfPGPppD0w/IItKsIXlZ+alw==" - "resolved" "https://registry.npmjs.org/@commitlint/read/-/read-16.2.1.tgz" - "version" "16.2.1" - dependencies: - "@commitlint/top-level" "^16.2.1" - "@commitlint/types" "^16.2.1" - "fs-extra" "^10.0.0" - "git-raw-commits" "^2.0.0" - -"@commitlint/resolve-extends@^16.2.1": - "integrity" "sha512-NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==" - "resolved" "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-16.2.1.tgz" - "version" "16.2.1" - dependencies: - "@commitlint/config-validator" "^16.2.1" - "@commitlint/types" "^16.2.1" - "import-fresh" "^3.0.0" - "lodash" "^4.17.19" - "resolve-from" "^5.0.0" - "resolve-global" "^1.0.0" - -"@commitlint/rules@^16.2.4": - "integrity" "sha512-rK5rNBIN2ZQNQK+I6trRPK3dWa0MtaTN4xnwOma1qxa4d5wQMQJtScwTZjTJeallFxhOgbNOgr48AMHkdounVg==" - "resolved" "https://registry.npmjs.org/@commitlint/rules/-/rules-16.2.4.tgz" - "version" "16.2.4" - dependencies: - "@commitlint/ensure" "^16.2.1" - "@commitlint/message" "^16.2.1" - "@commitlint/to-lines" "^16.2.1" - "@commitlint/types" "^16.2.1" - "execa" "^5.0.0" - -"@commitlint/to-lines@^16.2.1": - "integrity" "sha512-9/VjpYj5j1QeY3eiog1zQWY6axsdWAc0AonUUfyZ7B0MVcRI0R56YsHAfzF6uK/g/WwPZaoe4Lb1QCyDVnpVaQ==" - "resolved" "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-16.2.1.tgz" - "version" "16.2.1" - -"@commitlint/top-level@^16.2.1": - "integrity" "sha512-lS6GSieHW9y6ePL73ied71Z9bOKyK+Ib9hTkRsB8oZFAyQZcyRwq2w6nIa6Fngir1QW51oKzzaXfJL94qwImyw==" - "resolved" "https://registry.npmjs.org/@commitlint/top-level/-/top-level-16.2.1.tgz" - "version" "16.2.1" - dependencies: - "find-up" "^5.0.0" - -"@commitlint/types@^16.2.1": - "integrity" "sha512-7/z7pA7BM0i8XvMSBynO7xsB3mVQPUZbVn6zMIlp/a091XJ3qAXRXc+HwLYhiIdzzS5fuxxNIHZMGHVD4HJxdA==" - "resolved" "https://registry.npmjs.org/@commitlint/types/-/types-16.2.1.tgz" - "version" "16.2.1" - dependencies: - "chalk" "^4.0.0" - -"@cspotcode/source-map-consumer@0.8.0": - "version" "0.8.0" - -"@cspotcode/source-map-support@0.7.0": - "version" "0.7.0" - dependencies: - "@cspotcode/source-map-consumer" "0.8.0" - -"@discoveryjs/json-ext@^0.5.0": - "integrity" "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" - "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" - "version" "0.5.7" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helpers@^7.23.7": + version "7.23.8" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz" + integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.22.15", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== + +"@babel/parser@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" + integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== + +"@babel/runtime@^7.21.0": + version "7.23.8" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz" + integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.23.7": + version "7.23.7" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz" + integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6": + version "7.23.6" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" "@eslint/eslintrc@^0.4.3": - "integrity" "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==" - "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" - "version" "0.4.3" - dependencies: - "ajv" "^6.12.4" - "debug" "^4.1.1" - "espree" "^7.3.0" - "globals" "^13.9.0" - "ignore" "^4.0.6" - "import-fresh" "^3.2.1" - "js-yaml" "^3.13.1" - "minimatch" "^3.0.4" - "strip-json-comments" "^3.1.1" - -"@eslint/eslintrc@^1.2.1": - "version" "1.2.1" - dependencies: - "ajv" "^6.12.4" - "debug" "^4.3.2" - "espree" "^9.3.1" - "globals" "^13.9.0" - "ignore" "^5.2.0" - "import-fresh" "^3.2.1" - "js-yaml" "^4.1.0" - "minimatch" "^3.0.4" - "strip-json-comments" "^3.1.1" + version "0.4.3" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" "@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": - "integrity" "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" - "resolved" "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" - "version" "1.1.3" + version "1.1.3" + resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== "@humanwhocodes/config-array@^0.5.0": - "integrity" "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" - "version" "0.5.0" + version "0.5.0" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== dependencies: "@humanwhocodes/object-schema" "^1.2.0" - "debug" "^4.1.1" - "minimatch" "^3.0.4" - -"@humanwhocodes/config-array@^0.9.2": - "integrity" "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz" - "version" "0.9.5" - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - "debug" "^4.1.1" - "minimatch" "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1": - "integrity" "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - "version" "1.2.1" - -"@hutson/parse-repository-url@^3.0.0": - "integrity" "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==" - "resolved" "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz" - "version" "3.0.2" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" "@isaacs/string-locale-compare@^1.1.0": - "integrity" "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==" - "resolved" "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== "@istanbuljs/load-nyc-config@^1.0.0": - "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" - "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "camelcase" "^5.3.1" - "find-up" "^4.1.0" - "get-package-type" "^0.1.0" - "js-yaml" "^3.13.1" - "resolve-from" "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - "version" "0.1.3" - -"@jest/console@^27.5.1": - "integrity" "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==" - "resolved" "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" - "version" "27.5.1" + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "jest-message-util" "^27.5.1" - "jest-util" "^27.5.1" - "slash" "^3.0.0" - -"@jest/core@^27.5.1": - "integrity" "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==" - "resolved" "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "ansi-escapes" "^4.2.1" - "chalk" "^4.0.0" - "emittery" "^0.8.1" - "exit" "^0.1.2" - "graceful-fs" "^4.2.9" - "jest-changed-files" "^27.5.1" - "jest-config" "^27.5.1" - "jest-haste-map" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-resolve-dependencies" "^27.5.1" - "jest-runner" "^27.5.1" - "jest-runtime" "^27.5.1" - "jest-snapshot" "^27.5.1" - "jest-util" "^27.5.1" - "jest-validate" "^27.5.1" - "jest-watcher" "^27.5.1" - "micromatch" "^4.0.4" - "rimraf" "^3.0.0" - "slash" "^3.0.0" - "strip-ansi" "^6.0.0" - -"@jest/environment@^27.5.1": - "integrity" "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==" - "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "jest-mock" "^27.5.1" - -"@jest/expect-utils@^28.1.0": - "version" "28.1.1" - dependencies: - "jest-get-type" "^28.0.2" + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" -"@jest/fake-timers@^27.5.1": - "integrity" "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==" - "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" - "version" "27.5.1" +"@istanbuljs/nyc-config-typescript@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@istanbuljs/nyc-config-typescript/-/nyc-config-typescript-1.0.2.tgz" + integrity sha512-iKGIyMoyJuFnJRSVTZ78POIRvNnwZaWIf8vG4ZS3rQq58MMDrqEX2nnzx0R28V2X8JvmKYiqY9FP2hlJsm8A0w== dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - "jest-message-util" "^27.5.1" - "jest-mock" "^27.5.1" - "jest-util" "^27.5.1" - -"@jest/globals@^27.5.1": - "integrity" "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==" - "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - "expect" "^27.5.1" - -"@jest/reporters@^27.5.1": - "integrity" "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==" - "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "collect-v8-coverage" "^1.0.0" - "exit" "^0.1.2" - "glob" "^7.1.2" - "graceful-fs" "^4.2.9" - "istanbul-lib-coverage" "^3.0.0" - "istanbul-lib-instrument" "^5.1.0" - "istanbul-lib-report" "^3.0.0" - "istanbul-lib-source-maps" "^4.0.0" - "istanbul-reports" "^3.1.3" - "jest-haste-map" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-util" "^27.5.1" - "jest-worker" "^27.5.1" - "slash" "^3.0.0" - "source-map" "^0.6.0" - "string-length" "^4.0.1" - "terminal-link" "^2.0.0" - "v8-to-istanbul" "^8.1.0" - -"@jest/schemas@^28.0.2": - "version" "28.0.2" - dependencies: - "@sinclair/typebox" "^0.23.3" - -"@jest/source-map@^27.5.1": - "integrity" "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==" - "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "callsites" "^3.0.0" - "graceful-fs" "^4.2.9" - "source-map" "^0.6.0" - -"@jest/test-result@^27.5.1": - "integrity" "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==" - "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - "collect-v8-coverage" "^1.0.0" - -"@jest/test-sequencer@^27.5.1": - "integrity" "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==" - "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/test-result" "^27.5.1" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-runtime" "^27.5.1" - -"@jest/transform@^27.5.1": - "integrity" "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==" - "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - "babel-plugin-istanbul" "^6.1.1" - "chalk" "^4.0.0" - "convert-source-map" "^1.4.0" - "fast-json-stable-stringify" "^2.0.0" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-util" "^27.5.1" - "micromatch" "^4.0.4" - "pirates" "^4.0.4" - "slash" "^3.0.0" - "source-map" "^0.6.1" - "write-file-atomic" "^3.0.0" - -"@jest/types@^27.5.1": - "integrity" "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - "chalk" "^4.0.0" + "@istanbuljs/schema" "^0.1.2" -"@jest/types@^28.1.0": - "version" "28.1.0" - dependencies: - "@jest/schemas" "^28.0.2" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - "chalk" "^4.0.0" +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - "integrity" "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - "version" "0.3.2" + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3": - "version" "3.0.5" - -"@jridgewell/set-array@^1.0.1": - "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - "version" "1.1.2" - -"@jridgewell/source-map@^0.3.2": - "integrity" "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==" - "resolved" "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10": - "version" "1.4.11" - -"@jridgewell/trace-mapping@^0.3.0", "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9", "@jridgewell/trace-mapping@0.3.9": - "integrity" "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - "version" "0.3.9" - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@lerna/add@4.0.0": - "integrity" "sha512-cpmAH1iS3k8JBxNvnMqrGTTjbY/ZAiKa1ChJzFevMYY3eeqbvhsBKnBcxjRXtdrJ6bd3dCQM+ZtK+0i682Fhng==" - "resolved" "https://registry.npmjs.org/@lerna/add/-/add-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/bootstrap" "4.0.0" - "@lerna/command" "4.0.0" - "@lerna/filter-options" "4.0.0" - "@lerna/npm-conf" "4.0.0" - "@lerna/validation-error" "4.0.0" - "dedent" "^0.7.0" - "npm-package-arg" "^8.1.0" - "p-map" "^4.0.0" - "pacote" "^11.2.6" - "semver" "^7.3.4" - -"@lerna/bootstrap@4.0.0": - "integrity" "sha512-RkS7UbeM2vu+kJnHzxNRCLvoOP9yGNgkzRdy4UV2hNalD7EP41bLvRVOwRYQ7fhc2QcbhnKNdOBihYRL0LcKtw==" - "resolved" "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/command" "4.0.0" - "@lerna/filter-options" "4.0.0" - "@lerna/has-npm-version" "4.0.0" - "@lerna/npm-install" "4.0.0" - "@lerna/package-graph" "4.0.0" - "@lerna/pulse-till-done" "4.0.0" - "@lerna/rimraf-dir" "4.0.0" - "@lerna/run-lifecycle" "4.0.0" - "@lerna/run-topologically" "4.0.0" - "@lerna/symlink-binary" "4.0.0" - "@lerna/symlink-dependencies" "4.0.0" - "@lerna/validation-error" "4.0.0" - "dedent" "^0.7.0" - "get-port" "^5.1.1" - "multimatch" "^5.0.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "p-map" "^4.0.0" - "p-map-series" "^2.1.0" - "p-waterfall" "^2.1.1" - "read-package-tree" "^5.3.1" - "semver" "^7.3.4" - -"@lerna/changed@4.0.0": - "integrity" "sha512-cD+KuPRp6qiPOD+BO6S6SN5cARspIaWSOqGBpGnYzLb4uWT8Vk4JzKyYtc8ym1DIwyoFXHosXt8+GDAgR8QrgQ==" - "resolved" "https://registry.npmjs.org/@lerna/changed/-/changed-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/collect-updates" "4.0.0" - "@lerna/command" "4.0.0" - "@lerna/listable" "4.0.0" - "@lerna/output" "4.0.0" - -"@lerna/check-working-tree@4.0.0": - "integrity" "sha512-/++bxM43jYJCshBiKP5cRlCTwSJdRSxVmcDAXM+1oUewlZJVSVlnks5eO0uLxokVFvLhHlC5kHMc7gbVFPHv6Q==" - "resolved" "https://registry.npmjs.org/@lerna/check-working-tree/-/check-working-tree-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/collect-uncommitted" "4.0.0" - "@lerna/describe-ref" "4.0.0" - "@lerna/validation-error" "4.0.0" - -"@lerna/child-process@4.0.0": - "integrity" "sha512-XtCnmCT9eyVsUUHx6y/CTBYdV9g2Cr/VxyseTWBgfIur92/YKClfEtJTbOh94jRT62hlKLqSvux/UhxXVh613Q==" - "resolved" "https://registry.npmjs.org/@lerna/child-process/-/child-process-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "chalk" "^4.1.0" - "execa" "^5.0.0" - "strong-log-transformer" "^2.1.0" - -"@lerna/clean@4.0.0": - "integrity" "sha512-uugG2iN9k45ITx2jtd8nEOoAtca8hNlDCUM0N3lFgU/b1mEQYAPRkqr1qs4FLRl/Y50ZJ41wUz1eazS+d/0osA==" - "resolved" "https://registry.npmjs.org/@lerna/clean/-/clean-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/command" "4.0.0" - "@lerna/filter-options" "4.0.0" - "@lerna/prompt" "4.0.0" - "@lerna/pulse-till-done" "4.0.0" - "@lerna/rimraf-dir" "4.0.0" - "p-map" "^4.0.0" - "p-map-series" "^2.1.0" - "p-waterfall" "^2.1.1" - -"@lerna/cli@4.0.0": - "integrity" "sha512-Neaw3GzFrwZiRZv2g7g6NwFjs3er1vhraIniEs0jjVLPMNC4eata0na3GfE5yibkM/9d3gZdmihhZdZ3EBdvYA==" - "resolved" "https://registry.npmjs.org/@lerna/cli/-/cli-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/global-options" "4.0.0" - "dedent" "^0.7.0" - "npmlog" "^4.1.2" - "yargs" "^16.2.0" - -"@lerna/collect-uncommitted@4.0.0": - "integrity" "sha512-ufSTfHZzbx69YNj7KXQ3o66V4RC76ffOjwLX0q/ab//61bObJ41n03SiQEhSlmpP+gmFbTJ3/7pTe04AHX9m/g==" - "resolved" "https://registry.npmjs.org/@lerna/collect-uncommitted/-/collect-uncommitted-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "chalk" "^4.1.0" - "npmlog" "^4.1.2" - -"@lerna/collect-updates@4.0.0": - "integrity" "sha512-bnNGpaj4zuxsEkyaCZLka9s7nMs58uZoxrRIPJ+nrmrZYp1V5rrd+7/NYTuunOhY2ug1sTBvTAxj3NZQ+JKnOw==" - "resolved" "https://registry.npmjs.org/@lerna/collect-updates/-/collect-updates-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/describe-ref" "4.0.0" - "minimatch" "^3.0.4" - "npmlog" "^4.1.2" - "slash" "^3.0.0" - -"@lerna/command@4.0.0": - "integrity" "sha512-LM9g3rt5FsPNFqIHUeRwWXLNHJ5NKzOwmVKZ8anSp4e1SPrv2HNc1V02/9QyDDZK/w+5POXH5lxZUI1CHaOK/A==" - "resolved" "https://registry.npmjs.org/@lerna/command/-/command-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/package-graph" "4.0.0" - "@lerna/project" "4.0.0" - "@lerna/validation-error" "4.0.0" - "@lerna/write-log-file" "4.0.0" - "clone-deep" "^4.0.1" - "dedent" "^0.7.0" - "execa" "^5.0.0" - "is-ci" "^2.0.0" - "npmlog" "^4.1.2" - -"@lerna/conventional-commits@4.0.0": - "integrity" "sha512-CSUQRjJHFrH8eBn7+wegZLV3OrNc0Y1FehYfYGhjLE2SIfpCL4bmfu/ViYuHh9YjwHaA+4SX6d3hR+xkeseKmw==" - "resolved" "https://registry.npmjs.org/@lerna/conventional-commits/-/conventional-commits-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/validation-error" "4.0.0" - "conventional-changelog-angular" "^5.0.12" - "conventional-changelog-core" "^4.2.2" - "conventional-recommended-bump" "^6.1.0" - "fs-extra" "^9.1.0" - "get-stream" "^6.0.0" - "lodash.template" "^4.5.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "pify" "^5.0.0" - "semver" "^7.3.4" - -"@lerna/create-symlink@4.0.0": - "integrity" "sha512-I0phtKJJdafUiDwm7BBlEUOtogmu8+taxq6PtIrxZbllV9hWg59qkpuIsiFp+no7nfRVuaasNYHwNUhDAVQBig==" - "resolved" "https://registry.npmjs.org/@lerna/create-symlink/-/create-symlink-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "cmd-shim" "^4.1.0" - "fs-extra" "^9.1.0" - "npmlog" "^4.1.2" - -"@lerna/create@4.0.0": - "integrity" "sha512-mVOB1niKByEUfxlbKTM1UNECWAjwUdiioIbRQZEeEabtjCL69r9rscIsjlGyhGWCfsdAG5wfq4t47nlDXdLLag==" - "resolved" "https://registry.npmjs.org/@lerna/create/-/create-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/command" "4.0.0" - "@lerna/npm-conf" "4.0.0" - "@lerna/validation-error" "4.0.0" - "dedent" "^0.7.0" - "fs-extra" "^9.1.0" - "globby" "^11.0.2" - "init-package-json" "^2.0.2" - "npm-package-arg" "^8.1.0" - "p-reduce" "^2.1.0" - "pacote" "^11.2.6" - "pify" "^5.0.0" - "semver" "^7.3.4" - "slash" "^3.0.0" - "validate-npm-package-license" "^3.0.4" - "validate-npm-package-name" "^3.0.0" - "whatwg-url" "^8.4.0" - "yargs-parser" "20.2.4" - -"@lerna/describe-ref@4.0.0": - "integrity" "sha512-eTU5+xC4C5Gcgz+Ey4Qiw9nV2B4JJbMulsYJMW8QjGcGh8zudib7Sduj6urgZXUYNyhYpRs+teci9M2J8u+UvQ==" - "resolved" "https://registry.npmjs.org/@lerna/describe-ref/-/describe-ref-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "npmlog" "^4.1.2" - -"@lerna/diff@4.0.0": - "integrity" "sha512-jYPKprQVg41+MUMxx6cwtqsNm0Yxx9GDEwdiPLwcUTFx+/qKCEwifKNJ1oGIPBxyEHX2PFCOjkK39lHoj2qiag==" - "resolved" "https://registry.npmjs.org/@lerna/diff/-/diff-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/command" "4.0.0" - "@lerna/validation-error" "4.0.0" - "npmlog" "^4.1.2" - -"@lerna/exec@4.0.0": - "integrity" "sha512-VGXtL/b/JfY84NB98VWZpIExfhLOzy0ozm/0XaS4a2SmkAJc5CeUfrhvHxxkxiTBLkU+iVQUyYEoAT0ulQ8PCw==" - "resolved" "https://registry.npmjs.org/@lerna/exec/-/exec-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/command" "4.0.0" - "@lerna/filter-options" "4.0.0" - "@lerna/profiler" "4.0.0" - "@lerna/run-topologically" "4.0.0" - "@lerna/validation-error" "4.0.0" - "p-map" "^4.0.0" - -"@lerna/filter-options@4.0.0": - "integrity" "sha512-vV2ANOeZhOqM0rzXnYcFFCJ/kBWy/3OA58irXih9AMTAlQLymWAK0akWybl++sUJ4HB9Hx12TOqaXbYS2NM5uw==" - "resolved" "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/collect-updates" "4.0.0" - "@lerna/filter-packages" "4.0.0" - "dedent" "^0.7.0" - "npmlog" "^4.1.2" - -"@lerna/filter-packages@4.0.0": - "integrity" "sha512-+4AJIkK7iIiOaqCiVTYJxh/I9qikk4XjNQLhE3kixaqgMuHl1NQ99qXRR0OZqAWB9mh8Z1HA9bM5K1HZLBTOqA==" - "resolved" "https://registry.npmjs.org/@lerna/filter-packages/-/filter-packages-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/validation-error" "4.0.0" - "multimatch" "^5.0.0" - "npmlog" "^4.1.2" - -"@lerna/get-npm-exec-opts@4.0.0": - "integrity" "sha512-yvmkerU31CTWS2c7DvmAWmZVeclPBqI7gPVr5VATUKNWJ/zmVcU4PqbYoLu92I9Qc4gY1TuUplMNdNuZTSL7IQ==" - "resolved" "https://registry.npmjs.org/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "npmlog" "^4.1.2" - -"@lerna/get-packed@4.0.0": - "integrity" "sha512-rfWONRsEIGyPJTxFzC8ECb3ZbsDXJbfqWYyeeQQDrJRPnEJErlltRLPLgC2QWbxFgFPsoDLeQmFHJnf0iDfd8w==" - "resolved" "https://registry.npmjs.org/@lerna/get-packed/-/get-packed-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "fs-extra" "^9.1.0" - "ssri" "^8.0.1" - "tar" "^6.1.0" - -"@lerna/github-client@4.0.0": - "integrity" "sha512-2jhsldZtTKXYUBnOm23Lb0Fx8G4qfSXF9y7UpyUgWUj+YZYd+cFxSuorwQIgk5P4XXrtVhsUesIsli+BYSThiw==" - "resolved" "https://registry.npmjs.org/@lerna/github-client/-/github-client-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@octokit/plugin-enterprise-rest" "^6.0.1" - "@octokit/rest" "^18.1.0" - "git-url-parse" "^11.4.4" - "npmlog" "^4.1.2" - -"@lerna/gitlab-client@4.0.0": - "integrity" "sha512-OMUpGSkeDWFf7BxGHlkbb35T7YHqVFCwBPSIR6wRsszY8PAzCYahtH3IaJzEJyUg6vmZsNl0FSr3pdA2skhxqA==" - "resolved" "https://registry.npmjs.org/@lerna/gitlab-client/-/gitlab-client-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "node-fetch" "^2.6.1" - "npmlog" "^4.1.2" - "whatwg-url" "^8.4.0" - -"@lerna/global-options@4.0.0": - "integrity" "sha512-TRMR8afAHxuYBHK7F++Ogop2a82xQjoGna1dvPOY6ltj/pEx59pdgcJfYcynYqMkFIk8bhLJJN9/ndIfX29FTQ==" - "resolved" "https://registry.npmjs.org/@lerna/global-options/-/global-options-4.0.0.tgz" - "version" "4.0.0" - -"@lerna/has-npm-version@4.0.0": - "integrity" "sha512-LQ3U6XFH8ZmLCsvsgq1zNDqka0Xzjq5ibVN+igAI5ccRWNaUsE/OcmsyMr50xAtNQMYMzmpw5GVLAivT2/YzCg==" - "resolved" "https://registry.npmjs.org/@lerna/has-npm-version/-/has-npm-version-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "semver" "^7.3.4" - -"@lerna/import@4.0.0": - "integrity" "sha512-FaIhd+4aiBousKNqC7TX1Uhe97eNKf5/SC7c5WZANVWtC7aBWdmswwDt3usrzCNpj6/Wwr9EtEbYROzxKH8ffg==" - "resolved" "https://registry.npmjs.org/@lerna/import/-/import-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/command" "4.0.0" - "@lerna/prompt" "4.0.0" - "@lerna/pulse-till-done" "4.0.0" - "@lerna/validation-error" "4.0.0" - "dedent" "^0.7.0" - "fs-extra" "^9.1.0" - "p-map-series" "^2.1.0" - -"@lerna/info@4.0.0": - "integrity" "sha512-8Uboa12kaCSZEn4XRfPz5KU9XXoexSPS4oeYGj76s2UQb1O1GdnEyfjyNWoUl1KlJ2i/8nxUskpXIftoFYH0/Q==" - "resolved" "https://registry.npmjs.org/@lerna/info/-/info-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/command" "4.0.0" - "@lerna/output" "4.0.0" - "envinfo" "^7.7.4" - -"@lerna/init@4.0.0": - "integrity" "sha512-wY6kygop0BCXupzWj5eLvTUqdR7vIAm0OgyV9WHpMYQGfs1V22jhztt8mtjCloD/O0nEe4tJhdG62XU5aYmPNQ==" - "resolved" "https://registry.npmjs.org/@lerna/init/-/init-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/command" "4.0.0" - "fs-extra" "^9.1.0" - "p-map" "^4.0.0" - "write-json-file" "^4.3.0" - -"@lerna/link@4.0.0": - "integrity" "sha512-KlvPi7XTAcVOByfaLlOeYOfkkDcd+bejpHMCd1KcArcFTwijOwXOVi24DYomIeHvy6HsX/IUquJ4PPUJIeB4+w==" - "resolved" "https://registry.npmjs.org/@lerna/link/-/link-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/command" "4.0.0" - "@lerna/package-graph" "4.0.0" - "@lerna/symlink-dependencies" "4.0.0" - "p-map" "^4.0.0" - "slash" "^3.0.0" - -"@lerna/list@4.0.0": - "integrity" "sha512-L2B5m3P+U4Bif5PultR4TI+KtW+SArwq1i75QZ78mRYxPc0U/piau1DbLOmwrdqr99wzM49t0Dlvl6twd7GHFg==" - "resolved" "https://registry.npmjs.org/@lerna/list/-/list-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/command" "4.0.0" - "@lerna/filter-options" "4.0.0" - "@lerna/listable" "4.0.0" - "@lerna/output" "4.0.0" - -"@lerna/listable@4.0.0": - "integrity" "sha512-/rPOSDKsOHs5/PBLINZOkRIX1joOXUXEtyUs5DHLM8q6/RP668x/1lFhw6Dx7/U+L0+tbkpGtZ1Yt0LewCLgeQ==" - "resolved" "https://registry.npmjs.org/@lerna/listable/-/listable-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/query-graph" "4.0.0" - "chalk" "^4.1.0" - "columnify" "^1.5.4" - -"@lerna/log-packed@4.0.0": - "integrity" "sha512-+dpCiWbdzgMAtpajLToy9PO713IHoE6GV/aizXycAyA07QlqnkpaBNZ8DW84gHdM1j79TWockGJo9PybVhrrZQ==" - "resolved" "https://registry.npmjs.org/@lerna/log-packed/-/log-packed-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "byte-size" "^7.0.0" - "columnify" "^1.5.4" - "has-unicode" "^2.0.1" - "npmlog" "^4.1.2" - -"@lerna/npm-conf@4.0.0": - "integrity" "sha512-uS7H02yQNq3oejgjxAxqq/jhwGEE0W0ntr8vM3EfpCW1F/wZruwQw+7bleJQ9vUBjmdXST//tk8mXzr5+JXCfw==" - "resolved" "https://registry.npmjs.org/@lerna/npm-conf/-/npm-conf-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "config-chain" "^1.1.12" - "pify" "^5.0.0" - -"@lerna/npm-dist-tag@4.0.0": - "integrity" "sha512-F20sg28FMYTgXqEQihgoqSfwmq+Id3zT23CnOwD+XQMPSy9IzyLf1fFVH319vXIw6NF6Pgs4JZN2Qty6/CQXGw==" - "resolved" "https://registry.npmjs.org/@lerna/npm-dist-tag/-/npm-dist-tag-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/otplease" "4.0.0" - "npm-package-arg" "^8.1.0" - "npm-registry-fetch" "^9.0.0" - "npmlog" "^4.1.2" - -"@lerna/npm-install@4.0.0": - "integrity" "sha512-aKNxq2j3bCH3eXl3Fmu4D54s/YLL9WSwV8W7X2O25r98wzrO38AUN6AB9EtmAx+LV/SP15et7Yueg9vSaanRWg==" - "resolved" "https://registry.npmjs.org/@lerna/npm-install/-/npm-install-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/get-npm-exec-opts" "4.0.0" - "fs-extra" "^9.1.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "signal-exit" "^3.0.3" - "write-pkg" "^4.0.0" - -"@lerna/npm-publish@4.0.0": - "integrity" "sha512-vQb7yAPRo5G5r77DRjHITc9piR9gvEKWrmfCH7wkfBnGWEqu7n8/4bFQ7lhnkujvc8RXOsYpvbMQkNfkYibD/w==" - "resolved" "https://registry.npmjs.org/@lerna/npm-publish/-/npm-publish-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/otplease" "4.0.0" - "@lerna/run-lifecycle" "4.0.0" - "fs-extra" "^9.1.0" - "libnpmpublish" "^4.0.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "pify" "^5.0.0" - "read-package-json" "^3.0.0" - -"@lerna/npm-run-script@4.0.0": - "integrity" "sha512-Jmyh9/IwXJjOXqKfIgtxi0bxi1pUeKe5bD3S81tkcy+kyng/GNj9WSqD5ZggoNP2NP//s4CLDAtUYLdP7CU9rA==" - "resolved" "https://registry.npmjs.org/@lerna/npm-run-script/-/npm-run-script-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "@lerna/get-npm-exec-opts" "4.0.0" - "npmlog" "^4.1.2" - -"@lerna/otplease@4.0.0": - "integrity" "sha512-Sgzbqdk1GH4psNiT6hk+BhjOfIr/5KhGBk86CEfHNJTk9BK4aZYyJD4lpDbDdMjIV4g03G7pYoqHzH765T4fxw==" - "resolved" "https://registry.npmjs.org/@lerna/otplease/-/otplease-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/prompt" "4.0.0" - -"@lerna/output@4.0.0": - "integrity" "sha512-Un1sHtO1AD7buDQrpnaYTi2EG6sLF+KOPEAMxeUYG5qG3khTs2Zgzq5WE3dt2N/bKh7naESt20JjIW6tBELP0w==" - "resolved" "https://registry.npmjs.org/@lerna/output/-/output-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "npmlog" "^4.1.2" - -"@lerna/pack-directory@4.0.0": - "integrity" "sha512-NJrmZNmBHS+5aM+T8N6FVbaKFScVqKlQFJNY2k7nsJ/uklNKsLLl6VhTQBPwMTbf6Tf7l6bcKzpy7aePuq9UiQ==" - "resolved" "https://registry.npmjs.org/@lerna/pack-directory/-/pack-directory-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/get-packed" "4.0.0" - "@lerna/package" "4.0.0" - "@lerna/run-lifecycle" "4.0.0" - "npm-packlist" "^2.1.4" - "npmlog" "^4.1.2" - "tar" "^6.1.0" - "temp-write" "^4.0.0" - -"@lerna/package-graph@4.0.0": - "integrity" "sha512-QED2ZCTkfXMKFoTGoccwUzjHtZMSf3UKX14A4/kYyBms9xfFsesCZ6SLI5YeySEgcul8iuIWfQFZqRw+Qrjraw==" - "resolved" "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/prerelease-id-from-version" "4.0.0" - "@lerna/validation-error" "4.0.0" - "npm-package-arg" "^8.1.0" - "npmlog" "^4.1.2" - "semver" "^7.3.4" - -"@lerna/package@4.0.0": - "integrity" "sha512-l0M/izok6FlyyitxiQKr+gZLVFnvxRQdNhzmQ6nRnN9dvBJWn+IxxpM+cLqGACatTnyo9LDzNTOj2Db3+s0s8Q==" - "resolved" "https://registry.npmjs.org/@lerna/package/-/package-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "load-json-file" "^6.2.0" - "npm-package-arg" "^8.1.0" - "write-pkg" "^4.0.0" - -"@lerna/prerelease-id-from-version@4.0.0": - "integrity" "sha512-GQqguzETdsYRxOSmdFZ6zDBXDErIETWOqomLERRY54f4p+tk4aJjoVdd9xKwehC9TBfIFvlRbL1V9uQGHh1opg==" - "resolved" "https://registry.npmjs.org/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "semver" "^7.3.4" - -"@lerna/profiler@4.0.0": - "integrity" "sha512-/BaEbqnVh1LgW/+qz8wCuI+obzi5/vRE8nlhjPzdEzdmWmZXuCKyWSEzAyHOJWw1ntwMiww5dZHhFQABuoFz9Q==" - "resolved" "https://registry.npmjs.org/@lerna/profiler/-/profiler-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "fs-extra" "^9.1.0" - "npmlog" "^4.1.2" - "upath" "^2.0.1" - -"@lerna/project@4.0.0": - "integrity" "sha512-o0MlVbDkD5qRPkFKlBZsXZjoNTWPyuL58564nSfZJ6JYNmgAptnWPB2dQlAc7HWRZkmnC2fCkEdoU+jioPavbg==" - "resolved" "https://registry.npmjs.org/@lerna/project/-/project-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/package" "4.0.0" - "@lerna/validation-error" "4.0.0" - "cosmiconfig" "^7.0.0" - "dedent" "^0.7.0" - "dot-prop" "^6.0.1" - "glob-parent" "^5.1.1" - "globby" "^11.0.2" - "load-json-file" "^6.2.0" - "npmlog" "^4.1.2" - "p-map" "^4.0.0" - "resolve-from" "^5.0.0" - "write-json-file" "^4.3.0" - -"@lerna/prompt@4.0.0": - "integrity" "sha512-4Ig46oCH1TH5M7YyTt53fT6TuaKMgqUUaqdgxvp6HP6jtdak6+amcsqB8YGz2eQnw/sdxunx84DfI9XpoLj4bQ==" - "resolved" "https://registry.npmjs.org/@lerna/prompt/-/prompt-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "inquirer" "^7.3.3" - "npmlog" "^4.1.2" - -"@lerna/publish@4.0.0": - "integrity" "sha512-K8jpqjHrChH22qtkytA5GRKIVFEtqBF6JWj1I8dWZtHs4Jywn8yB1jQ3BAMLhqmDJjWJtRck0KXhQQKzDK2UPg==" - "resolved" "https://registry.npmjs.org/@lerna/publish/-/publish-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/check-working-tree" "4.0.0" - "@lerna/child-process" "4.0.0" - "@lerna/collect-updates" "4.0.0" - "@lerna/command" "4.0.0" - "@lerna/describe-ref" "4.0.0" - "@lerna/log-packed" "4.0.0" - "@lerna/npm-conf" "4.0.0" - "@lerna/npm-dist-tag" "4.0.0" - "@lerna/npm-publish" "4.0.0" - "@lerna/otplease" "4.0.0" - "@lerna/output" "4.0.0" - "@lerna/pack-directory" "4.0.0" - "@lerna/prerelease-id-from-version" "4.0.0" - "@lerna/prompt" "4.0.0" - "@lerna/pulse-till-done" "4.0.0" - "@lerna/run-lifecycle" "4.0.0" - "@lerna/run-topologically" "4.0.0" - "@lerna/validation-error" "4.0.0" - "@lerna/version" "4.0.0" - "fs-extra" "^9.1.0" - "libnpmaccess" "^4.0.1" - "npm-package-arg" "^8.1.0" - "npm-registry-fetch" "^9.0.0" - "npmlog" "^4.1.2" - "p-map" "^4.0.0" - "p-pipe" "^3.1.0" - "pacote" "^11.2.6" - "semver" "^7.3.4" - -"@lerna/pulse-till-done@4.0.0": - "integrity" "sha512-Frb4F7QGckaybRhbF7aosLsJ5e9WuH7h0KUkjlzSByVycxY91UZgaEIVjS2oN9wQLrheLMHl6SiFY0/Pvo0Cxg==" - "resolved" "https://registry.npmjs.org/@lerna/pulse-till-done/-/pulse-till-done-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "npmlog" "^4.1.2" - -"@lerna/query-graph@4.0.0": - "integrity" "sha512-YlP6yI3tM4WbBmL9GCmNDoeQyzcyg1e4W96y/PKMZa5GbyUvkS2+Jc2kwPD+5KcXou3wQZxSPzR3Te5OenaDdg==" - "resolved" "https://registry.npmjs.org/@lerna/query-graph/-/query-graph-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/package-graph" "4.0.0" - -"@lerna/resolve-symlink@4.0.0": - "integrity" "sha512-RtX8VEUzqT+uLSCohx8zgmjc6zjyRlh6i/helxtZTMmc4+6O4FS9q5LJas2uGO2wKvBlhcD6siibGt7dIC3xZA==" - "resolved" "https://registry.npmjs.org/@lerna/resolve-symlink/-/resolve-symlink-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "fs-extra" "^9.1.0" - "npmlog" "^4.1.2" - "read-cmd-shim" "^2.0.0" - -"@lerna/rimraf-dir@4.0.0": - "integrity" "sha512-QNH9ABWk9mcMJh2/muD9iYWBk1oQd40y6oH+f3wwmVGKYU5YJD//+zMiBI13jxZRtwBx0vmBZzkBkK1dR11cBg==" - "resolved" "https://registry.npmjs.org/@lerna/rimraf-dir/-/rimraf-dir-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/child-process" "4.0.0" - "npmlog" "^4.1.2" - "path-exists" "^4.0.0" - "rimraf" "^3.0.2" - -"@lerna/run-lifecycle@4.0.0": - "integrity" "sha512-IwxxsajjCQQEJAeAaxF8QdEixfI7eLKNm4GHhXHrgBu185JcwScFZrj9Bs+PFKxwb+gNLR4iI5rpUdY8Y0UdGQ==" - "resolved" "https://registry.npmjs.org/@lerna/run-lifecycle/-/run-lifecycle-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/npm-conf" "4.0.0" - "npm-lifecycle" "^3.1.5" - "npmlog" "^4.1.2" - -"@lerna/run-topologically@4.0.0": - "integrity" "sha512-EVZw9hGwo+5yp+VL94+NXRYisqgAlj0jWKWtAIynDCpghRxCE5GMO3xrQLmQgqkpUl9ZxQFpICgYv5DW4DksQA==" - "resolved" "https://registry.npmjs.org/@lerna/run-topologically/-/run-topologically-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/query-graph" "4.0.0" - "p-queue" "^6.6.2" - -"@lerna/run@4.0.0": - "integrity" "sha512-9giulCOzlMPzcZS/6Eov6pxE9gNTyaXk0Man+iCIdGJNMrCnW7Dme0Z229WWP/UoxDKg71F2tMsVVGDiRd8fFQ==" - "resolved" "https://registry.npmjs.org/@lerna/run/-/run-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/command" "4.0.0" - "@lerna/filter-options" "4.0.0" - "@lerna/npm-run-script" "4.0.0" - "@lerna/output" "4.0.0" - "@lerna/profiler" "4.0.0" - "@lerna/run-topologically" "4.0.0" - "@lerna/timer" "4.0.0" - "@lerna/validation-error" "4.0.0" - "p-map" "^4.0.0" - -"@lerna/symlink-binary@4.0.0": - "integrity" "sha512-zualodWC4q1QQc1pkz969hcFeWXOsVYZC5AWVtAPTDfLl+TwM7eG/O6oP+Rr3fFowspxo6b1TQ6sYfDV6HXNWA==" - "resolved" "https://registry.npmjs.org/@lerna/symlink-binary/-/symlink-binary-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/create-symlink" "4.0.0" - "@lerna/package" "4.0.0" - "fs-extra" "^9.1.0" - "p-map" "^4.0.0" - -"@lerna/symlink-dependencies@4.0.0": - "integrity" "sha512-BABo0MjeUHNAe2FNGty1eantWp8u83BHSeIMPDxNq0MuW2K3CiQRaeWT3EGPAzXpGt0+hVzBrA6+OT0GPn7Yuw==" - "resolved" "https://registry.npmjs.org/@lerna/symlink-dependencies/-/symlink-dependencies-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/create-symlink" "4.0.0" - "@lerna/resolve-symlink" "4.0.0" - "@lerna/symlink-binary" "4.0.0" - "fs-extra" "^9.1.0" - "p-map" "^4.0.0" - "p-map-series" "^2.1.0" - -"@lerna/timer@4.0.0": - "integrity" "sha512-WFsnlaE7SdOvjuyd05oKt8Leg3ENHICnvX3uYKKdByA+S3g+TCz38JsNs7OUZVt+ba63nC2nbXDlUnuT2Xbsfg==" - "resolved" "https://registry.npmjs.org/@lerna/timer/-/timer-4.0.0.tgz" - "version" "4.0.0" - -"@lerna/validation-error@4.0.0": - "integrity" "sha512-1rBOM5/koiVWlRi3V6dB863E1YzJS8v41UtsHgMr6gB2ncJ2LsQtMKlJpi3voqcgh41H8UsPXR58RrrpPpufyw==" - "resolved" "https://registry.npmjs.org/@lerna/validation-error/-/validation-error-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "npmlog" "^4.1.2" - -"@lerna/version@4.0.0": - "integrity" "sha512-otUgiqs5W9zGWJZSCCMRV/2Zm2A9q9JwSDS7s/tlKq4mWCYriWo7+wsHEA/nPTMDyYyBO5oyZDj+3X50KDUzeA==" - "resolved" "https://registry.npmjs.org/@lerna/version/-/version-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/check-working-tree" "4.0.0" - "@lerna/child-process" "4.0.0" - "@lerna/collect-updates" "4.0.0" - "@lerna/command" "4.0.0" - "@lerna/conventional-commits" "4.0.0" - "@lerna/github-client" "4.0.0" - "@lerna/gitlab-client" "4.0.0" - "@lerna/output" "4.0.0" - "@lerna/prerelease-id-from-version" "4.0.0" - "@lerna/prompt" "4.0.0" - "@lerna/run-lifecycle" "4.0.0" - "@lerna/run-topologically" "4.0.0" - "@lerna/validation-error" "4.0.0" - "chalk" "^4.1.0" - "dedent" "^0.7.0" - "load-json-file" "^6.2.0" - "minimatch" "^3.0.4" - "npmlog" "^4.1.2" - "p-map" "^4.0.0" - "p-pipe" "^3.1.0" - "p-reduce" "^2.1.0" - "p-waterfall" "^2.1.1" - "semver" "^7.3.4" - "slash" "^3.0.0" - "temp-write" "^4.0.0" - "write-json-file" "^4.3.0" - -"@lerna/write-log-file@4.0.0": - "integrity" "sha512-XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==" - "resolved" "https://registry.npmjs.org/@lerna/write-log-file/-/write-log-file-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "npmlog" "^4.1.2" - "write-file-atomic" "^3.0.3" - -"@mrmlnc/readdir-enhanced@^2.2.1": - "integrity" "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==" - "resolved" "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "call-me-maybe" "^1.0.1" - "glob-to-regexp" "^0.3.0" - -"@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" - dependencies: - "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" - -"@nodelib/fs.stat@^1.1.2": - "integrity" "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz" - "version" "1.1.3" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" - -"@nodelib/fs.walk@^1.2.3": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" - dependencies: - "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" - -"@npmcli/arborist@^4.0.4": - "integrity" "sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==" - "resolved" "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/installed-package-contents" "^1.0.7" - "@npmcli/map-workspaces" "^2.0.0" - "@npmcli/metavuln-calculator" "^2.0.0" - "@npmcli/move-file" "^1.1.0" - "@npmcli/name-from-folder" "^1.0.1" - "@npmcli/node-gyp" "^1.0.3" - "@npmcli/package-json" "^1.0.1" - "@npmcli/run-script" "^2.0.0" - "bin-links" "^3.0.0" - "cacache" "^15.0.3" - "common-ancestor-path" "^1.0.1" - "json-parse-even-better-errors" "^2.3.1" - "json-stringify-nice" "^1.1.4" - "mkdirp" "^1.0.4" - "mkdirp-infer-owner" "^2.0.0" - "npm-install-checks" "^4.0.0" - "npm-package-arg" "^8.1.5" - "npm-pick-manifest" "^6.1.0" - "npm-registry-fetch" "^12.0.1" - "pacote" "^12.0.2" - "parse-conflict-json" "^2.0.1" - "proc-log" "^1.0.0" - "promise-all-reject-late" "^1.0.0" - "promise-call-limit" "^1.0.1" - "read-package-json-fast" "^2.0.2" - "readdir-scoped-modules" "^1.1.0" - "rimraf" "^3.0.2" - "semver" "^7.3.5" - "ssri" "^8.0.1" - "treeverse" "^1.0.4" - "walk-up-path" "^1.0.0" - -"@npmcli/ci-detect@^1.0.0": - "integrity" "sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==" - "resolved" "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz" - "version" "1.4.0" - -"@npmcli/fs@^1.0.0": - "integrity" "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==" - "resolved" "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "@gar/promisify" "^1.0.1" - "semver" "^7.3.5" - -"@npmcli/fs@^2.1.0": - "integrity" "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==" - "resolved" "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "@gar/promisify" "^1.1.3" - "semver" "^7.3.5" - -"@npmcli/git@^2.1.0": - "integrity" "sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==" - "resolved" "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "@npmcli/promise-spawn" "^1.3.2" - "lru-cache" "^6.0.0" - "mkdirp" "^1.0.4" - "npm-pick-manifest" "^6.1.1" - "promise-inflight" "^1.0.1" - "promise-retry" "^2.0.1" - "semver" "^7.3.5" - "which" "^2.0.2" - -"@npmcli/installed-package-contents@^1.0.6", "@npmcli/installed-package-contents@^1.0.7": - "integrity" "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==" - "resolved" "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "npm-bundled" "^1.1.1" - "npm-normalize-package-bin" "^1.0.1" - -"@npmcli/map-workspaces@^2.0.0": - "integrity" "sha512-X6suAun5QyupNM8iHkNPh0AHdRC2rb1W+MTdMvvA/2ixgmqZwlq5cGUBgmKHUHT2LgrkKJMAXbfAoTxOigpK8Q==" - "resolved" "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz" - "version" "2.0.3" - dependencies: - "@npmcli/name-from-folder" "^1.0.1" - "glob" "^8.0.1" - "minimatch" "^5.0.1" - "read-package-json-fast" "^2.0.3" - -"@npmcli/metavuln-calculator@^2.0.0": - "integrity" "sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg==" - "resolved" "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "cacache" "^15.0.5" - "json-parse-even-better-errors" "^2.3.1" - "pacote" "^12.0.0" - "semver" "^7.3.2" - -"@npmcli/move-file@^1.0.1", "@npmcli/move-file@^1.1.0": - "integrity" "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==" - "resolved" "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "mkdirp" "^1.0.4" - "rimraf" "^3.0.2" - -"@npmcli/move-file@^2.0.0": - "integrity" "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==" - "resolved" "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "mkdirp" "^1.0.4" - "rimraf" "^3.0.2" - -"@npmcli/name-from-folder@^1.0.1": - "integrity" "sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA==" - "resolved" "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz" - "version" "1.0.1" - -"@npmcli/node-gyp@^1.0.2", "@npmcli/node-gyp@^1.0.3": - "integrity" "sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA==" - "resolved" "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz" - "version" "1.0.3" - -"@npmcli/package-json@^1.0.1": - "integrity" "sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg==" - "resolved" "https://registry.npmjs.org/@npmcli/package-json/-/package-json-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "json-parse-even-better-errors" "^2.3.1" - -"@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": - "integrity" "sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg==" - "resolved" "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "infer-owner" "^1.0.4" - -"@npmcli/run-script@^1.8.2": - "integrity" "sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g==" - "resolved" "https://registry.npmjs.org/@npmcli/run-script/-/run-script-1.8.6.tgz" - "version" "1.8.6" - dependencies: - "@npmcli/node-gyp" "^1.0.2" - "@npmcli/promise-spawn" "^1.3.2" - "node-gyp" "^7.1.0" - "read-package-json-fast" "^2.0.1" - -"@oclif/color@^1.0.0", "@oclif/color@^1.0.1": - "integrity" "sha512-qjYr+izgWdIVOroiBKqTzQgc1r5Wd9QB1J7yGM2EeelqhBARiiVLRZL45vhV4zdyTRdDkZS0EBzFwQap+nliLA==" - "resolved" "https://registry.npmjs.org/@oclif/color/-/color-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "ansi-styles" "^4.2.1" - "chalk" "^4.1.0" - "strip-ansi" "^6.0.1" - "supports-color" "^8.1.1" - "tslib" "^2" - -"@oclif/command@^1.8.0", "@oclif/command@^1.8.14", "@oclif/command@^1.8.15": - "integrity" "sha512-rmVKYEsKzurfRU0xJz+iHelbi1LGlihIWZ7Qvmb/CBz1EkhL7nOkW4SVXmG2dA5Ce0si2gr88i6q4eBOMRNJ1w==" - "resolved" "https://registry.npmjs.org/@oclif/command/-/command-1.8.16.tgz" - "version" "1.8.16" - dependencies: - "@oclif/config" "^1.18.2" - "@oclif/errors" "^1.3.5" - "@oclif/help" "^1.0.1" - "@oclif/parser" "^3.8.6" - "debug" "^4.1.1" - "semver" "^7.3.2" - -"@oclif/config@^1.17.0", "@oclif/config@^1.18.2": - "integrity" "sha512-sBpko86IrTscc39EvHUhL+c++81BVTsIZ3ETu/vG+cCdi0N6vb2DoahR67A9FI2CGnxRRHjnTfa3m6LulwNATA==" - "resolved" "https://registry.npmjs.org/@oclif/config/-/config-1.18.3.tgz" - "version" "1.18.3" - dependencies: - "@oclif/errors" "^1.3.5" - "@oclif/parser" "^3.8.0" - "debug" "^4.1.1" - "globby" "^11.0.1" - "is-wsl" "^2.1.1" - "tslib" "^2.3.1" - -"@oclif/config@1.18.2": - "integrity" "sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==" - "resolved" "https://registry.npmjs.org/@oclif/config/-/config-1.18.2.tgz" - "version" "1.18.2" - dependencies: - "@oclif/errors" "^1.3.3" - "@oclif/parser" "^3.8.0" - "debug" "^4.1.1" - "globby" "^11.0.1" - "is-wsl" "^2.1.1" - "tslib" "^2.0.0" - -"@oclif/core@^1", "@oclif/core@^1.0.8", "@oclif/core@^1.2.0", "@oclif/core@^1.2.1", "@oclif/core@^1.3.1", "@oclif/core@^1.3.6", "@oclif/core@^1.6.4": - "version" "1.7.0" - dependencies: - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^3.0.2" - "ansi-escapes" "^4.3.2" - "ansi-styles" "^4.3.0" - "cardinal" "^2.1.1" - "chalk" "^4.1.2" - "clean-stack" "^3.0.1" - "cli-progress" "^3.10.0" - "debug" "^4.3.3" - "ejs" "^3.1.6" - "fs-extra" "^9.1.0" - "get-package-type" "^0.1.0" - "globby" "^11.1.0" - "hyperlinker" "^1.0.0" - "indent-string" "^4.0.0" - "is-wsl" "^2.2.0" - "js-yaml" "^3.14.1" - "lodash" "^4.17.21" - "natural-orderby" "^2.0.3" - "object-treeify" "^1.1.33" - "password-prompt" "^1.1.2" - "semver" "^7.3.5" - "string-width" "^4.2.3" - "strip-ansi" "^6.0.1" - "supports-color" "^8.1.1" - "supports-hyperlinks" "^2.2.0" - "tslib" "^2.3.1" - "widest-line" "^3.1.0" - "wrap-ansi" "^7.0.0" - -"@oclif/dev-cli@^1.26.0": - "integrity" "sha512-dJ+II9rVXckzFvG+82PbfphMTnoqiHvsuAAbcHrLdZWPBnFAiDKhNYE0iHnA/knAC4VGXhogsrAJ3ERT5d5r2g==" - "resolved" "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.26.10.tgz" - "version" "1.26.10" - dependencies: - "@oclif/command" "^1.8.15" - "@oclif/config" "^1.18.2" - "@oclif/errors" "^1.3.5" - "@oclif/plugin-help" "3.2.18" - "cli-ux" "5.6.7" - "debug" "^4.1.1" - "find-yarn-workspace-root" "^2.0.0" - "fs-extra" "^8.1" - "github-slugger" "^1.2.1" - "lodash" "^4.17.11" - "normalize-package-data" "^3.0.0" - "qqjs" "^0.3.10" - "tslib" "^2.0.3" - -"@oclif/errors@^1.3.3", "@oclif/errors@^1.3.5", "@oclif/errors@1.3.5": - "integrity" "sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==" - "resolved" "https://registry.npmjs.org/@oclif/errors/-/errors-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "clean-stack" "^3.0.0" - "fs-extra" "^8.1" - "indent-string" "^4.0.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^7.0.0" - -"@oclif/help@^1.0.0", "@oclif/help@^1.0.1": - "integrity" "sha512-8rsl4RHL5+vBUAKBL6PFI3mj58hjPCp2VYyXD4TAa7IMStikFfOH2gtWmqLzIlxAED2EpD0dfYwo9JJxYsH7Aw==" - "resolved" "https://registry.npmjs.org/@oclif/help/-/help-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@oclif/config" "1.18.2" - "@oclif/errors" "1.3.5" - "chalk" "^4.1.2" - "indent-string" "^4.0.0" - "lodash" "^4.17.21" - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "widest-line" "^3.1.0" - "wrap-ansi" "^6.2.0" - -"@oclif/linewrap@^1.0.0": - "integrity" "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==" - "resolved" "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz" - "version" "1.0.0" - -"@oclif/parser@^3.8.0", "@oclif/parser@^3.8.6": - "integrity" "sha512-b11xBmIUK+LuuwVGJpFs4LwQN2xj2cBWj2c4z1FtiXGrJ85h9xV6q+k136Hw0tGg1jQoRXuvuBnqQ7es7vO9/Q==" - "resolved" "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.7.tgz" - "version" "3.8.7" - dependencies: - "@oclif/errors" "^1.3.5" - "@oclif/linewrap" "^1.0.0" - "chalk" "^4.1.0" - "tslib" "^2.3.1" - -"@oclif/plugin-help@^3.2.2": - "integrity" "sha512-QuSiseNRJygaqAdABYFWn/H1CwIZCp9zp/PLid6yXvy6VcQV7OenEFF5XuYaCvSARe2Tg9r8Jqls5+fw1A9CbQ==" - "resolved" "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.3.1.tgz" - "version" "3.3.1" - dependencies: - "@oclif/command" "^1.8.15" - "@oclif/config" "1.18.2" - "@oclif/errors" "1.3.5" - "@oclif/help" "^1.0.1" - "chalk" "^4.1.2" - "indent-string" "^4.0.0" - "lodash" "^4.17.21" - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "widest-line" "^3.1.0" - "wrap-ansi" "^6.2.0" - -"@oclif/plugin-help@^5.1.12": - "integrity" "sha512-HvH/RubJxqCinP0vUWQLTOboT+SfjfL8h40s+PymkWaldIcXlpoRaJX50vz+SjZIs7uewZwEk8fzLqpF/BWXlg==" - "resolved" "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.1.12.tgz" - "version" "5.1.12" - dependencies: - "@oclif/core" "^1.3.6" - -"@oclif/plugin-help@^5": - "integrity" "sha512-HvH/RubJxqCinP0vUWQLTOboT+SfjfL8h40s+PymkWaldIcXlpoRaJX50vz+SjZIs7uewZwEk8fzLqpF/BWXlg==" - "resolved" "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.1.12.tgz" - "version" "5.1.12" - dependencies: - "@oclif/core" "^1.3.6" - -"@oclif/plugin-help@3.2.18": - "integrity" "sha512-5n5Pkz4L0duknIvFwx2Ko9Xda3miT6RZP8bgaaK3Q/9fzVBrhi4bOM0u05/OThI6V+3NsSdxYS2o1NLcXToWDg==" - "resolved" "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-3.2.18.tgz" - "version" "3.2.18" - dependencies: - "@oclif/command" "^1.8.14" - "@oclif/config" "1.18.2" - "@oclif/errors" "1.3.5" - "@oclif/help" "^1.0.0" - "chalk" "^4.1.2" - "indent-string" "^4.0.0" - "lodash" "^4.17.21" - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "widest-line" "^3.1.0" - "wrap-ansi" "^6.2.0" - -"@oclif/plugin-not-found@^2.3.1": - "integrity" "sha512-AeNBw+zSkRpePmpXO8xlL072VF2/R2yK3qsVs/JF26Yw1w77TWuRTdFR+hFotJtFCJ4QYqhNtKSjdryCO9AXsA==" - "resolved" "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.3.1.tgz" - "version" "2.3.1" - dependencies: - "@oclif/color" "^1.0.0" - "@oclif/core" "^1.2.1" - "fast-levenshtein" "^3.0.0" - "lodash" "^4.17.21" - -"@oclif/plugin-plugins@^2.0.1": - "integrity" "sha512-Bgt+QpTlX7+Q0HkVgtbUGYQlo/hyzNBAaXH5l16ou9Ji5wfi5T+niV5AzQ14R7JF8ZDOTbUOU/NRBJ2bzLCaZQ==" - "resolved" "https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "@oclif/color" "^1.0.1" - "@oclif/core" "^1.2.0" - "chalk" "^4.1.2" - "debug" "^4.1.0" - "fs-extra" "^9.0" - "http-call" "^5.2.2" - "load-json-file" "^5.3.0" - "npm-run-path" "^4.0.1" - "semver" "^7.3.2" - "tslib" "^2.0.0" - "yarn" "^1.22.17" - -"@oclif/plugin-warn-if-update-available@^2.0.4": - "integrity" "sha512-9dprC1CWPjesg0Vf/rDSQH2tzJXhP1ow84cb2My1kj6e6ESulPKpctiCFSZ1WaCQFfq+crKhzlNoP/vRaXNUAg==" - "resolved" "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "@oclif/core" "^1.0.8" - "chalk" "^4.1.0" - "debug" "^4.1.0" - "fs-extra" "^9.0.1" - "http-call" "^5.2.2" - "lodash" "^4.17.21" - "semver" "^7.3.2" - -"@oclif/screen@^1.0.4": - "integrity" "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==" - "resolved" "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz" - "version" "1.0.4" - -"@oclif/screen@^3.0.2": - "integrity" "sha512-S/SF/XYJeevwIgHFmVDAFRUvM3m+OjhvCAYMk78ZJQCYCQ5wS7j+LTt1ZEv2jpEEGg2tx/F6TYYWxddNAYHrFQ==" - "resolved" "https://registry.npmjs.org/@oclif/screen/-/screen-3.0.2.tgz" - "version" "3.0.2" - -"@oclif/test@^1.2.8": - "integrity" "sha512-op+ak0NTyeBKqjLVH1jfPCRGWK5befIoQpCL/xwekjucUEmMfCbUpV1Sa60f9rU8X58HEqrclwWbAH+DtQR6FQ==" - "resolved" "https://registry.npmjs.org/@oclif/test/-/test-1.2.9.tgz" - "version" "1.2.9" - dependencies: - "fancy-test" "^1.4.10" - -"@oclif/test@^2": - "integrity" "sha512-o+JTv3k28aMUxywJUlJY1/DORLqumoZFRII492phOmtXM16rD6Luy3z1qinT4BvEtPj2BzOPd2whr/VdYszaYw==" - "resolved" "https://registry.npmjs.org/@oclif/test/-/test-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "@oclif/core" "^1.3.1" - "fancy-test" "^2.0.0" - -"@octokit/auth-token@^2.4.4": - "integrity" "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==" - "resolved" "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "@octokit/types" "^6.0.3" - -"@octokit/core@^3.5.1", "@octokit/core@>=2", "@octokit/core@>=3": - "integrity" "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==" - "resolved" "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "@octokit/auth-token" "^2.4.4" - "@octokit/graphql" "^4.5.8" - "@octokit/request" "^5.6.3" - "@octokit/request-error" "^2.0.5" - "@octokit/types" "^6.0.3" - "before-after-hook" "^2.2.0" - "universal-user-agent" "^6.0.0" - -"@octokit/endpoint@^6.0.1": - "integrity" "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==" - "resolved" "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" - "version" "6.0.12" - dependencies: - "@octokit/types" "^6.0.3" - "is-plain-object" "^5.0.0" - "universal-user-agent" "^6.0.0" - -"@octokit/graphql@^4.5.8": - "integrity" "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==" - "resolved" "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz" - "version" "4.8.0" - dependencies: - "@octokit/request" "^5.6.0" - "@octokit/types" "^6.0.3" - "universal-user-agent" "^6.0.0" - -"@octokit/openapi-types@^11.2.0": - "version" "11.2.0" - -"@octokit/plugin-enterprise-rest@^6.0.1": - "integrity" "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==" - "resolved" "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz" - "version" "6.0.1" - -"@octokit/plugin-paginate-rest@^2.16.8": - "version" "2.17.0" - dependencies: - "@octokit/types" "^6.34.0" - -"@octokit/plugin-request-log@^1.0.4": - "integrity" "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==" - "resolved" "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz" - "version" "1.0.4" - -"@octokit/plugin-rest-endpoint-methods@^5.12.0": - "version" "5.13.0" - dependencies: - "@octokit/types" "^6.34.0" - "deprecation" "^2.3.1" - -"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": - "integrity" "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==" - "resolved" "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "@octokit/types" "^6.0.3" - "deprecation" "^2.0.0" - "once" "^1.4.0" - -"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": - "integrity" "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==" - "resolved" "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz" - "version" "5.6.3" - dependencies: - "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.1.0" - "@octokit/types" "^6.16.1" - "is-plain-object" "^5.0.0" - "node-fetch" "^2.6.7" - "universal-user-agent" "^6.0.0" - -"@octokit/rest@^18.0.6", "@octokit/rest@^18.1.0": - "integrity" "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==" - "resolved" "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz" - "version" "18.12.0" - dependencies: - "@octokit/core" "^3.5.1" - "@octokit/plugin-paginate-rest" "^2.16.8" - "@octokit/plugin-request-log" "^1.0.4" - "@octokit/plugin-rest-endpoint-methods" "^5.12.0" - -"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.34.0": - "version" "6.34.0" - dependencies: - "@octokit/openapi-types" "^11.2.0" - -"@rdfrontier/cli@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-core/cli": - "resolved" "file:packages/frontier-core/cli" - "version" "0.0.2" - dependencies: - "@oclif/core" "^1" - "@oclif/plugin-help" "^5" - "@oclif/plugin-plugins" "^2.0.1" - "@rdfrontier/stdlib" "^0.0.1" - -"@rdfrontier/lib-builder@^1.0.0", "@rdfrontier/lib-builder@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-core/lib-builder": - "resolved" "file:packages/frontier-core/lib-builder" - "version" "1.0.0" - dependencies: - "chokidar" "^3.5.2" - "command-line-args" "^5.2.0" - "command-line-usage" "^6.1.1" - "cross-spawn" "^7.0.3" - "fs-extra" "^10.0.0" - "globby" "^11.0.4" - "node-notifier" "^10.0.0" - "rimraf" "^3.0.2" - -"@rdfrontier/plugin-mobile@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-plugins/plugin-mobile": - "resolved" "file:packages/frontier-plugins/plugin-mobile" - "version" "1.0.0-beta.0" - dependencies: - "@oclif/command" "^1.8.0" - "@oclif/config" "^1.17.0" - "@oclif/plugin-help" "^3.2.2" - "axios" "^0.27.2" - "bluebird" "^3.7.2" - "chalk" "^4.1.0" - "cli-ux" "^5.5.1" - "fs" "0.0.1-security" - "git-url-parse" "^11.6.0" - "git-user-name" "^2.0.0" - "inquirer" "^8.1.0" - "mkdirp" "^1.0.4" - "path" "^0.12.7" - "replace-in-file" "^6.2.0" - "shelljs" "^0.8.5" - "tslib" "^1.14.1" - "util" "^0.12.4" - -"@rdfrontier/plugin-qa@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-plugins/plugin-qa": - "resolved" "file:packages/frontier-plugins/plugin-qa" - "version" "1.0.0" - dependencies: - "@oclif/command" "^1.8.0" - "@oclif/config" "^1.17.0" - "@oclif/plugin-help" "^3.2.2" - "@rdfrontier/stdlib" "^0.0.1" - "chalk" "^4.1.1" - "replace-in-file" "^6.2.0" - "shelljs" "^0.8.4" - "tslib" "^1.14.1" - -"@rdfrontier/plugin-shared@^0.0.1", "@rdfrontier/plugin-shared@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-plugins/plugin-shared": - "resolved" "file:packages/frontier-plugins/plugin-shared" - "version" "0.0.1" - dependencies: - "@babel/runtime" "^7.15.0" - "@rdfrontier/stdlib" "^0.0.1" - -"@rdfrontier/plugin-vue@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-plugins/plugin-vue": - "resolved" "file:packages/frontier-plugins/plugin-vue" - "version" "1.0.0" - dependencies: - "@oclif/command" "^1.8.0" - "@oclif/config" "^1.17.0" - "@oclif/plugin-help" "^3.2.2" - "@rdfrontier/stdlib" "^0.0.1" - "bluebird" "^3.7.2" - "chalk" "^4.1.0" - "cli-ux" "^5.5.1" - "git-user-name" "^2.0.0" - "inquirer" "^8.1.0" - "mkdirp" "^1.0.4" - "ncp" "^2.0.0" - "path" "^0.12.7" - "replace-in-file" "^6.2.0" - "shelljs" "^0.8.5" - "tslib" "^1.14.1" - "util" "^0.12.4" - -"@rdfrontier/stdlib@^0.0.1", "@rdfrontier/stdlib@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-libraries/stdlib": - "resolved" "file:packages/frontier-libraries/stdlib" - "version" "0.0.1" - dependencies: - "@babel/runtime" "^7.15.0" - "type-fest" "^2.3.4" - -"@rdfrontier/typekit@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-libraries/typekit": - "resolved" "file:packages/frontier-libraries/typekit" - "version" "0.0.1" - dependencies: - "@babel/runtime" "^7.15.0" - -"@sinclair/typebox@^0.23.3": - "version" "0.23.5" - -"@sindresorhus/is@^0.14.0": - "version" "0.14.0" - -"@sindresorhus/is@^4.0.0": - "integrity" "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" - "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz" - "version" "4.6.0" - -"@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.3": - "integrity" "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==" - "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - "version" "1.8.3" - dependencies: - "type-detect" "4.0.8" - -"@sinonjs/fake-timers@^7.1.2": - "integrity" "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==" - "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz" - "version" "7.1.2" - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@sinonjs/fake-timers@^8.0.1", "@sinonjs/fake-timers@>=5": - "integrity" "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==" - "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@sinonjs/samsam@^6.0.2": - "integrity" "sha512-cZ7rKJTLiE7u7Wi/v9Hc2fs3Ucc3jrWeMgPHbbTCeVAB2S0wOBbYlkJVeNSL04i7fdhT8wIbDq1zhC/PXTD2SA==" - "resolved" "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.1.tgz" - "version" "6.1.1" - dependencies: - "@sinonjs/commons" "^1.6.0" - "lodash.get" "^4.4.2" - "type-detect" "^4.0.8" - -"@sinonjs/text-encoding@^0.7.1": - "integrity" "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==" - "resolved" "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz" - "version" "0.7.1" - -"@szmarczak/http-timer@^1.1.2": - "version" "1.1.2" - dependencies: - "defer-to-connect" "^1.0.1" - -"@szmarczak/http-timer@^4.0.5": - "integrity" "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==" - "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz" - "version" "4.0.6" - dependencies: - "defer-to-connect" "^2.0.0" - -"@tootallnate/once@1": - "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - "version" "1.1.2" - -"@tootallnate/once@2": - "integrity" "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" - "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" - "version" "2.0.0" - -"@tsconfig/node10@^1.0.7": - "version" "1.0.8" - -"@tsconfig/node12@^1.0.7": - "version" "1.0.9" - -"@tsconfig/node14@^1.0.0": - "version" "1.0.1" - -"@tsconfig/node16@^1.0.2": - "version" "1.0.2" - -"@types/aria-query@^5.0.0": - "integrity" "sha512-P+dkdFu0n08PDIvw+9nT9ByQnd+Udc8DaWPb9HKfaPwCvWvQpC5XaMRx2xLWECm9x1VKNps6vEAlirjA6+uNrQ==" - "resolved" "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.0.tgz" - "version" "5.0.0" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - "integrity" "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==" - "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" - "version" "7.1.19" - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - "integrity" "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==" - "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - "version" "7.6.4" - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" - "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - "version" "7.4.1" - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - "version" "7.17.0" - dependencies: - "@babel/types" "^7.3.0" - -"@types/bluebird@^3.5.33": - "integrity" "sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q==" - "resolved" "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz" - "version" "3.5.36" - -"@types/cacheable-request@^6.0.1": - "integrity" "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==" - "resolved" "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "*" - "@types/node" "*" - "@types/responselike" "*" - -"@types/chai@*", "@types/chai@^4", "@types/chai@^4.2.15", "@types/chai@^4.2.19": - "integrity" "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==" - "resolved" "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz" - "version" "4.3.1" - -"@types/diff@^5.0.0": - "integrity" "sha512-uw8eYMIReOwstQ0QKF0sICefSy8cNO/v7gOTiIy9SbwuHyEecJUm7qlgueOO5S1udZ5I/irVydHVwMchgzbKTg==" - "resolved" "https://registry.npmjs.org/@types/diff/-/diff-5.0.2.tgz" - "version" "5.0.2" - -"@types/easy-table@^0.0.33": - "integrity" "sha512-/vvqcJPmZUfQwCgemL0/34G7bIQnCuvgls379ygRlcC1FqNqk3n+VZ15dAO51yl6JNDoWd8vsk+kT8zfZ1VZSw==" - "resolved" "https://registry.npmjs.org/@types/easy-table/-/easy-table-0.0.33.tgz" - "version" "0.0.33" - -"@types/ejs@^3.0.5": - "integrity" "sha512-RQul5wEfY7BjWm0sYY86cmUN/pcXWGyVxWX93DFFJvcrxax5zKlieLwA3T77xJGwNcZW0YW6CYG70p1m8xPFmA==" - "resolved" "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.1.tgz" - "version" "3.1.1" - -"@types/eslint-scope@^3.7.3": - "integrity" "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==" - "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" - "version" "3.7.4" - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint-visitor-keys@^1.0.0": - "integrity" "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" - "resolved" "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" - "version" "1.0.0" - -"@types/eslint@*": - "integrity" "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==" - "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz" - "version" "8.4.5" - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^0.0.51": - "integrity" "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" - "version" "0.0.51" - -"@types/expect@^1.20.4": - "integrity" "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" - "resolved" "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz" - "version" "1.20.4" - -"@types/fs-extra@^9.0.1", "@types/fs-extra@^9.0.4": - "integrity" "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==" - "resolved" "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz" - "version" "9.0.13" - dependencies: - "@types/node" "*" - -"@types/glob@*", "@types/glob@^7.1.1": - "integrity" "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==" - "resolved" "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.2": - "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" - "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - "version" "4.1.5" - dependencies: - "@types/node" "*" - -"@types/http-cache-semantics@*": - "integrity" "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" - "resolved" "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz" - "version" "4.0.1" - -"@types/inquirer@^7.3.1": - "integrity" "sha512-HhxyLejTHMfohAuhRun4csWigAMjXTmRyiJTU1Y/I1xmggikFMkOUoMQRlFm+zQcPEGHSs3io/0FAmNZf8EymQ==" - "resolved" "https://registry.npmjs.org/@types/inquirer/-/inquirer-7.3.3.tgz" - "version" "7.3.3" - dependencies: - "@types/through" "*" - "rxjs" "^6.4.0" - -"@types/inquirer@^8.1.2": - "integrity" "sha512-wKW3SKIUMmltbykg4I5JzCVzUhkuD9trD6efAmYgN2MrSntY0SMRQzEnD3mkyJ/rv9NLbTC7g3hKKE86YwEDLw==" - "resolved" "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.1.tgz" - "version" "8.2.1" - dependencies: - "@types/through" "*" - "rxjs" "^7.2.0" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - "integrity" "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - "version" "2.0.4" - -"@types/istanbul-lib-report@*": - "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - "integrity" "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==" - "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^27.0.0", "@types/jest@^27.4.1": - "version" "27.4.1" - dependencies: - "jest-matcher-utils" "^27.0.0" - "pretty-format" "^27.0.0" - -"@types/json-buffer@~3.0.0": - "integrity" "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==" - "resolved" "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz" - "version" "3.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": - "integrity" "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - "version" "7.0.11" - -"@types/json5@^0.0.29": - "integrity" "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - "version" "0.0.29" - -"@types/keyv@*": - "integrity" "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==" - "resolved" "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz" - "version" "3.1.4" - dependencies: - "@types/node" "*" - -"@types/lodash.flattendeep@^4.4.6": - "integrity" "sha512-1h6GW/AeZw/Wej6uxrqgmdTDZX1yFS39lRsXYkg+3kWvOWWrlGCI6H7lXxlUHOzxDT4QeYGmgPpQ3BX9XevzOg==" - "resolved" "https://registry.npmjs.org/@types/lodash.flattendeep/-/lodash.flattendeep-4.4.7.tgz" - "version" "4.4.7" - dependencies: - "@types/lodash" "*" - -"@types/lodash.pickby@^4.6.6": - "integrity" "sha512-4ebXRusuLflfscbD0PUX4eVknDHD9Yf+uMtBIvA/hrnTqeAzbuHuDjvnYriLjUrI9YrhCPVKUf4wkRSXJQ6gig==" - "resolved" "https://registry.npmjs.org/@types/lodash.pickby/-/lodash.pickby-4.6.7.tgz" - "version" "4.6.7" - dependencies: - "@types/lodash" "*" - -"@types/lodash.union@^4.6.6": - "integrity" "sha512-6HXM6tsnHJzKgJE0gA/LhTGf/7AbjUk759WZ1MziVm+OBNAATHhdgj+a3KVE8g76GCLAnN4ZEQQG1EGgtBIABA==" - "resolved" "https://registry.npmjs.org/@types/lodash.union/-/lodash.union-4.6.7.tgz" - "version" "4.6.7" - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - "integrity" "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==" - "resolved" "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz" - "version" "4.14.182" - -"@types/minimatch@*", "@types/minimatch@^3.0.3": - "integrity" "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" - "version" "3.0.5" - -"@types/minimist@^1.2.0": - "integrity" "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" - "resolved" "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" - "version" "1.2.2" - -"@types/mkdirp@^1.0.1": - "integrity" "sha512-o0K1tSO0Dx5X6xlU5F1D6625FawhC3dU3iqr25lluNv/+/QIVH8RLNEiVokgIZo+mz+87w/3Mkg/VvQS+J51fQ==" - "resolved" "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "@types/node" "*" - -"@types/mocha@^5.2.7": - "integrity" "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" - "resolved" "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz" - "version" "5.2.7" - -"@types/mocha@^9.0.0": - "integrity" "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==" - "resolved" "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz" - "version" "9.1.1" - -"@types/node@*", "@types/node@^17.0.4", "@types/node@>=12": - "version" "17.0.24" - -"@types/node@^10.17.55": - "integrity" "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz" - "version" "10.17.60" - -"@types/node@^10.17.60": - "integrity" "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz" - "version" "10.17.60" - -"@types/node@^15.6.1": - "integrity" "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz" - "version" "15.14.9" - -"@types/node@^16.9.4": - "version" "16.11.43" - -"@types/normalize-package-data@^2.4.0": - "integrity" "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - "resolved" "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - "version" "2.4.1" - -"@types/object-inspect@^1.8.0": - "integrity" "sha512-0JTdf3CGV0oWzE6Wa40Ayv2e2GhpP3pEJMcrlM74vBSJPuuNkVwfDnl0SZxyFCXETcB4oKA/MpTVfuYSMOelBg==" - "resolved" "https://registry.npmjs.org/@types/object-inspect/-/object-inspect-1.8.1.tgz" - "version" "1.8.1" - -"@types/parse-json@^4.0.0": - "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" - -"@types/prettier@^2.1.5": - "version" "2.6.0" - -"@types/recursive-readdir@^2.2.0": - "integrity" "sha512-Xd+Ptc4/F2ueInqy5yK2FI5FxtwwbX2+VZpcg+9oYsFJVen8qQKGapCr+Bi5wQtHU1cTXT8s+07lo/nKPgu8Gg==" - "resolved" "https://registry.npmjs.org/@types/recursive-readdir/-/recursive-readdir-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "@types/node" "*" - -"@types/responselike@*", "@types/responselike@^1.0.0": - "integrity" "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==" - "resolved" "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "@types/node" "*" - -"@types/selenium-standalone@^7.0.0": - "integrity" "sha512-zbKenL0fAXzPyiOaaFMrvFdMNhj5BgNJQq8bxiZfwQD9ID2J8bUG5xbcS3tQtlzIX/62z9nG5Vo45oaHWTbvbw==" - "resolved" "https://registry.npmjs.org/@types/selenium-standalone/-/selenium-standalone-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "@types/node" "*" - -"@types/shelljs@^0.8.8": - "integrity" "sha512-x9yaMvEh5BEaZKeVQC4vp3l+QoFj3BXcd4aYfuKSzIIyihjdVARAadYy3SMNIz0WCCdS2vB9JL/U6GQk5PaxQw==" - "resolved" "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.11.tgz" - "version" "0.8.11" - dependencies: - "@types/glob" "*" - "@types/node" "*" - -"@types/sinon@*", "@types/sinon@^10.0.0": - "version" "10.0.11" - dependencies: - "@types/sinonjs__fake-timers" "*" - -"@types/sinonjs__fake-timers@*": - "integrity" "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" - "resolved" "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz" - "version" "8.1.2" - -"@types/stack-utils@^2.0.0": - "integrity" "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - "version" "2.0.1" - -"@types/stream-buffers@^3.0.3": - "integrity" "sha512-qU/K1tb2yUdhXkLIATzsIPwbtX6BpZk0l3dPW6xqWyhfzzM1ECaQ/8faEnu3CNraLiQ9LHyQQPBGp7N9Fbs25w==" - "resolved" "https://registry.npmjs.org/@types/stream-buffers/-/stream-buffers-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "@types/node" "*" - -"@types/supports-color@^8.1.0": - "integrity" "sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==" - "resolved" "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - -"@types/through@*": - "integrity" "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==" - "resolved" "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz" - "version" "0.0.30" - dependencies: - "@types/node" "*" - -"@types/tmp@^0.2.0": - "integrity" "sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA==" - "resolved" "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz" - "version" "0.2.3" - -"@types/ua-parser-js@^0.7.33": - "integrity" "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==" - "resolved" "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz" - "version" "0.7.36" - -"@types/vinyl@^2.0.4": - "integrity" "sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==" - "resolved" "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz" - "version" "2.0.6" - dependencies: - "@types/expect" "^1.20.4" - "@types/node" "*" - -"@types/which@^1.3.2": - "integrity" "sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==" - "resolved" "https://registry.npmjs.org/@types/which/-/which-1.3.2.tgz" - "version" "1.3.2" - -"@types/yargs-parser@*": - "integrity" "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - "version" "21.0.0" - -"@types/yargs@^16.0.0": - "integrity" "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz" - "version" "16.0.4" - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.8": - "integrity" "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz" - "version" "17.0.10" - dependencies: - "@types/yargs-parser" "*" - -"@types/yauzl@^2.9.1": - "integrity" "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==" - "resolved" "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz" - "version" "2.10.0" - dependencies: - "@types/node" "*" - -"@typescript-eslint/eslint-plugin@^2.6.1": - "integrity" "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz" - "version" "2.34.0" - dependencies: - "@typescript-eslint/experimental-utils" "2.34.0" - "functional-red-black-tree" "^1.0.1" - "regexpp" "^3.0.0" - "tsutils" "^3.17.1" - -"@typescript-eslint/eslint-plugin@^4.25.0", "@typescript-eslint/eslint-plugin@^4.31.2": - "integrity" "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" - "version" "4.33.0" - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - "debug" "^4.3.1" - "functional-red-black-tree" "^1.0.1" - "ignore" "^5.1.8" - "regexpp" "^3.1.0" - "semver" "^7.3.5" - "tsutils" "^3.21.0" - -"@typescript-eslint/experimental-utils@2.34.0": - "integrity" "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz" - "version" "2.34.0" - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" - "eslint-scope" "^5.0.0" - "eslint-utils" "^2.0.0" - -"@typescript-eslint/experimental-utils@4.33.0": - "integrity" "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" - "version" "4.33.0" - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - "eslint-scope" "^5.1.1" - "eslint-utils" "^3.0.0" - -"@typescript-eslint/parser@^2.0.0", "@typescript-eslint/parser@^2.6.1": - "version" "4.33.0" - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - "debug" "^4.3.1" - -"@typescript-eslint/parser@^4.0.0": - "integrity" "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz" - "version" "2.34.0" - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.34.0" - "@typescript-eslint/typescript-estree" "2.34.0" - "eslint-visitor-keys" "^1.1.0" - -"@typescript-eslint/parser@^4.31.2": - "integrity" "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" - "version" "4.33.0" - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - "debug" "^4.3.1" - -"@typescript-eslint/scope-manager@4.33.0": - "integrity" "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" - "version" "4.33.0" - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.33.0": - "integrity" "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" - "version" "4.33.0" - -"@typescript-eslint/typescript-estree@2.34.0", "@typescript-eslint/typescript-estree@4.33.0": - "integrity" "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz" - "version" "2.34.0" - dependencies: - "debug" "^4.1.1" - "eslint-visitor-keys" "^1.1.0" - "glob" "^7.1.6" - "is-glob" "^4.0.1" - "lodash" "^4.17.15" - "semver" "^7.3.2" - "tsutils" "^3.17.1" - -"@typescript-eslint/visitor-keys@4.33.0": - "integrity" "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" - "version" "4.33.0" - dependencies: - "@typescript-eslint/types" "4.33.0" - "eslint-visitor-keys" "^2.0.0" - -"@ungap/promise-all-settled@1.1.2": - "integrity" "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - "resolved" "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz" - "version" "1.1.2" - -"@wdio/allure-reporter@^7.16.13": - "version" "7.19.7" - dependencies: - "@types/node" "^17.0.4" - "@wdio/reporter" "7.19.7" - "@wdio/types" "7.19.5" - "allure-js-commons" "^1.3.2" - "csv-stringify" "^6.0.4" - "strip-ansi" "^6.0.0" - -"@wdio/appium-service@^7.18.0": - "version" "7.19.5" - dependencies: - "@types/fs-extra" "^9.0.4" - "@wdio/config" "7.19.5" - "@wdio/logger" "7.19.0" - "@wdio/types" "7.19.5" - "fs-extra" "^10.0.0" - "param-case" "^3.0.0" - -"@wdio/browserstack-service@^7.16.3": - "version" "7.19.7" - dependencies: - "@types/node" "^17.0.4" - "@wdio/logger" "7.19.0" - "@wdio/types" "7.19.5" - "browserstack-local" "^1.4.5" - "got" "^11.0.2" - "webdriverio" "7.19.7" - -"@wdio/cli@^7.0.0", "@wdio/cli@^7.16.9": - "version" "7.19.7" - dependencies: - "@types/ejs" "^3.0.5" - "@types/fs-extra" "^9.0.4" - "@types/inquirer" "^8.1.2" - "@types/lodash.flattendeep" "^4.4.6" - "@types/lodash.pickby" "^4.6.6" - "@types/lodash.union" "^4.6.6" - "@types/node" "^17.0.4" - "@types/recursive-readdir" "^2.2.0" - "@wdio/config" "7.19.5" - "@wdio/logger" "7.19.0" - "@wdio/types" "7.19.5" - "@wdio/utils" "7.19.7" - "async-exit-hook" "^2.0.1" - "chalk" "^4.0.0" - "chokidar" "^3.0.0" - "cli-spinners" "^2.1.0" - "ejs" "^3.0.1" - "fs-extra" "^10.0.0" - "inquirer" "8.2.4" - "lodash.flattendeep" "^4.4.0" - "lodash.pickby" "^4.6.0" - "lodash.union" "^4.6.0" - "mkdirp" "^1.0.4" - "recursive-readdir" "^2.2.2" - "webdriverio" "7.19.7" - "yargs" "^17.0.0" - "yarn-install" "^1.0.0" - -"@wdio/config@7.19.5": - "version" "7.19.5" - dependencies: - "@wdio/logger" "7.19.0" - "@wdio/types" "7.19.5" - "deepmerge" "^4.0.0" - "glob" "^7.1.2" - -"@wdio/local-runner@^7.16.9": - "version" "7.19.7" - dependencies: - "@types/stream-buffers" "^3.0.3" - "@wdio/logger" "7.19.0" - "@wdio/repl" "7.19.7" - "@wdio/runner" "7.19.7" - "@wdio/types" "7.19.5" - "async-exit-hook" "^2.0.1" - "split2" "^4.0.0" - "stream-buffers" "^3.0.2" - -"@wdio/logger@7.19.0": - "integrity" "sha512-xR7SN/kGei1QJD1aagzxs3KMuzNxdT/7LYYx+lt6BII49+fqL/SO+5X0FDCZD0Ds93AuQvvz9eGyzrBI2FFXmQ==" - "resolved" "https://registry.npmjs.org/@wdio/logger/-/logger-7.19.0.tgz" - "version" "7.19.0" - dependencies: - "chalk" "^4.0.0" - "loglevel" "^1.6.0" - "loglevel-plugin-prefix" "^0.8.4" - "strip-ansi" "^6.0.0" - -"@wdio/mocha-framework@^7.16.6": - "version" "7.19.7" - dependencies: - "@types/mocha" "^9.0.0" - "@wdio/logger" "7.19.0" - "@wdio/types" "7.19.5" - "@wdio/utils" "7.19.7" - "expect-webdriverio" "^3.0.0" - "mocha" "^10.0.0" - -"@wdio/protocols@7.19.0": - "version" "7.19.0" - -"@wdio/repl@7.19.7": - "version" "7.19.7" - dependencies: - "@wdio/utils" "7.19.7" - -"@wdio/reporter@7.19.7": - "version" "7.19.7" - dependencies: - "@types/diff" "^5.0.0" - "@types/node" "^17.0.4" - "@types/object-inspect" "^1.8.0" - "@types/supports-color" "^8.1.0" - "@types/tmp" "^0.2.0" - "@wdio/types" "7.19.5" - "diff" "^5.0.0" - "fs-extra" "^10.0.0" - "object-inspect" "^1.10.3" - "supports-color" "8.1.1" - -"@wdio/runner@7.19.7": - "version" "7.19.7" - dependencies: - "@wdio/config" "7.19.5" - "@wdio/logger" "7.19.0" - "@wdio/types" "7.19.5" - "@wdio/utils" "7.19.7" - "deepmerge" "^4.0.0" - "gaze" "^1.1.2" - "webdriver" "7.19.7" - "webdriverio" "7.19.7" - -"@wdio/selenium-standalone-service@^7.16.13": - "version" "7.19.5" - dependencies: - "@types/fs-extra" "^9.0.1" - "@types/node" "^17.0.4" - "@types/selenium-standalone" "^7.0.0" - "@wdio/config" "7.19.5" - "@wdio/logger" "7.19.0" - "@wdio/types" "7.19.5" - "fs-extra" "^10.0.0" - "selenium-standalone" "^8.0.3" - -"@wdio/spec-reporter@^7.16.9": - "version" "7.19.7" - dependencies: - "@types/easy-table" "^0.0.33" - "@wdio/reporter" "7.19.7" - "@wdio/types" "7.19.5" - "chalk" "^4.0.0" - "easy-table" "^1.1.1" - "pretty-ms" "^7.0.0" - -"@wdio/types@7.19.5": - "version" "7.19.5" - dependencies: - "@types/node" "^17.0.4" - "got" "^11.8.1" - -"@wdio/utils@7.19.7": - "version" "7.19.7" - dependencies: - "@wdio/logger" "7.19.0" - "@wdio/types" "7.19.5" - "p-iteration" "^1.1.8" - -"@webassemblyjs/ast@1.11.1": - "integrity" "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/ast@1.9.0": - "integrity" "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - "integrity" "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" - "version" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - "integrity" "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz" - "version" "1.9.0" - -"@webassemblyjs/helper-api-error@1.11.1": - "integrity" "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" - "version" "1.11.1" - -"@webassemblyjs/helper-api-error@1.9.0": - "integrity" "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" - "version" "1.9.0" - -"@webassemblyjs/helper-buffer@1.11.1": - "integrity" "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" - "version" "1.11.1" - -"@webassemblyjs/helper-buffer@1.9.0": - "integrity" "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" - "version" "1.9.0" - -"@webassemblyjs/helper-code-frame@1.9.0": - "integrity" "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - "integrity" "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" - "version" "1.9.0" - -"@webassemblyjs/helper-module-context@1.9.0": - "integrity" "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-numbers@1.11.1": - "integrity" "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - "integrity" "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" - "version" "1.11.1" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - "integrity" "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz" - "version" "1.9.0" - -"@webassemblyjs/helper-wasm-section@1.11.1": - "integrity" "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/helper-wasm-section@1.9.0": - "integrity" "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.11.1": - "integrity" "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/ieee754@1.9.0": - "integrity" "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - "integrity" "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/leb128@1.9.0": - "integrity" "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - "integrity" "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" - "version" "1.11.1" - -"@webassemblyjs/utf8@1.9.0": - "integrity" "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" - "version" "1.9.0" - -"@webassemblyjs/wasm-edit@1.11.1": - "integrity" "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-edit@1.9.0": - "integrity" "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.11.1": - "integrity" "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-gen@1.9.0": - "integrity" "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.11.1": - "integrity" "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-opt@1.9.0": - "integrity" "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.11.1": - "integrity" "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-parser@1.9.0": - "integrity" "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - "integrity" "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.11.1": - "integrity" "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - "integrity" "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz" - "version" "1.9.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^1.2.0": - "integrity" "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==" - "resolved" "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz" - "version" "1.2.0" - -"@webpack-cli/info@^1.5.0": - "integrity" "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==" - "resolved" "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "envinfo" "^7.7.3" - -"@webpack-cli/serve@^1.7.0": - "integrity" "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==" - "resolved" "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz" - "version" "1.7.0" - -"@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" - -"@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" - -"@yarnpkg/lockfile@^1.1.0": - "integrity" "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - "resolved" "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" - "version" "1.1.0" - -"abab@^2.0.3", "abab@^2.0.5": - "version" "2.0.5" - -"abbrev@1": - "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" - "version" "1.1.1" - -"acorn-globals@^6.0.0": - "integrity" "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==" - "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "acorn" "^7.1.1" - "acorn-walk" "^7.1.1" - -"acorn-import-assertions@^1.7.6": - "integrity" "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==" - "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" - "version" "1.8.0" - -"acorn-jsx@^5.0.0", "acorn-jsx@^5.3.1": - "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - "version" "5.3.2" - -"acorn-walk@^7.1.1": - "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" - "version" "7.2.0" - -"acorn-walk@^8.1.1": - "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - "version" "8.2.0" - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8", "acorn@^8.2.4", "acorn@^8.4.1", "acorn@^8.5.0", "acorn@^8.7.0": - "version" "8.7.0" - -"acorn@^6.0.7": - "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" - "version" "6.4.2" - -"acorn@^6.4.1": - "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" - "version" "6.4.2" - -"acorn@^7.1.1": - "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - "version" "7.4.1" - -"acorn@^7.4.0": - "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - "version" "7.4.1" - -"add-stream@^1.0.0": - "integrity" "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==" - "resolved" "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" - "version" "1.0.0" - -"agent-base@^6.0.2", "agent-base@6": - "integrity" "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==" - "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "debug" "4" - -"agentkeepalive@^4.1.3", "agentkeepalive@^4.2.1": - "integrity" "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==" - "resolved" "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "debug" "^4.1.0" - "depd" "^1.1.2" - "humanize-ms" "^1.2.1" - -"aggregate-error@^3.0.0": - "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" - "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "clean-stack" "^2.0.0" - "indent-string" "^4.0.0" - -"ajv-errors@^1.0.0": - "integrity" "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" - "resolved" "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" - "version" "1.0.1" - -"ajv-keywords@^3.1.0", "ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.3", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.12.6", "ajv@^6.9.1", "ajv@>=5.0.0": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - dependencies: - "fast-deep-equal" "^3.1.1" - "fast-json-stable-stringify" "^2.0.0" - "json-schema-traverse" "^0.4.1" - "uri-js" "^4.2.2" - -"ajv@^8.0.1": - "integrity" "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" - "version" "8.11.0" - dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" - -"allure-commandline@^2.13.8": - "version" "2.17.2" - -"allure-js-commons@^1.3.2": - "integrity" "sha512-FTmoqP36ZjHFT4iLdYamyCFhyj1jqD6BIdiZ5pBlyafDJrFRV76XIXNxwRqbHpSw40o1vHzYi4vGpmREnhnHVw==" - "resolved" "https://registry.npmjs.org/allure-js-commons/-/allure-js-commons-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "file-type" "^7.7.1" - "fs-extra" "^6.0.1" - "js2xmlparser" "^3.0.0" - "mime" "^2.3.1" - "object-assign" "^4.1.1" - "uuid" "^3.0.0" - -"ansi-align@^3.0.0": - "version" "3.0.1" - dependencies: - "string-width" "^4.1.0" - -"ansi-colors@^4.1.1", "ansi-colors@4.1.1": - "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - "version" "4.1.1" - -"ansi-escapes@^3.1.0": - "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" - "version" "3.2.0" - -"ansi-escapes@^3.2.0": - "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" - "version" "3.2.0" - -"ansi-escapes@^4.2.1", "ansi-escapes@^4.3.0", "ansi-escapes@^4.3.2": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-regex@^2.0.0": - "integrity" "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - "version" "2.1.1" - -"ansi-regex@^3.0.0": - "integrity" "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz" - "version" "3.0.1" - -"ansi-regex@^4.1.0": - "integrity" "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" - "version" "4.1.1" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-regex@^6.0.1": - "integrity" "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - "version" "6.0.1" - -"ansi-styles@^2.2.1": - "integrity" "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - "version" "2.2.1" - -"ansi-styles@^3.0.0": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^3.2.0": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0", "ansi-styles@^4.2.0", "ansi-styles@^4.2.1", "ansi-styles@^4.3.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^5.0.0": - "integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - "version" "5.2.0" - -"ansi-styles@^6.0.0": - "integrity" "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz" - "version" "6.1.0" - -"ansicolors@~0.3.2": - "integrity" "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==" - "resolved" "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" - "version" "0.3.2" - -"anymatch@^2.0.0": - "integrity" "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "micromatch" "^3.1.4" - "normalize-path" "^2.1.1" - -"anymatch@^3.0.3", "anymatch@~3.1.2": - "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"append-transform@^1.0.0": - "integrity" "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==" - "resolved" "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "default-require-extensions" "^2.0.0" - -"aproba@^1.0.3 || ^2.0.0": - "integrity" "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - "resolved" "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" - "version" "2.0.0" - -"aproba@^1.0.3", "aproba@^1.1.1": - "integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - "resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" - "version" "1.2.0" - -"aproba@^2.0.0": - "integrity" "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - "resolved" "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" - "version" "2.0.0" - -"archiver-utils@^2.1.0": - "integrity" "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==" - "resolved" "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "glob" "^7.1.4" - "graceful-fs" "^4.2.0" - "lazystream" "^1.0.0" - "lodash.defaults" "^4.2.0" - "lodash.difference" "^4.5.0" - "lodash.flatten" "^4.4.0" - "lodash.isplainobject" "^4.0.6" - "lodash.union" "^4.6.0" - "normalize-path" "^3.0.0" - "readable-stream" "^2.0.0" - -"archiver@^5.0.0": - "integrity" "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==" - "resolved" "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz" - "version" "5.3.1" - dependencies: - "archiver-utils" "^2.1.0" - "async" "^3.2.3" - "buffer-crc32" "^0.2.1" - "readable-stream" "^3.6.0" - "readdir-glob" "^1.0.0" - "tar-stream" "^2.2.0" - "zip-stream" "^4.1.0" - -"archy@^1.0.0": - "integrity" "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" - "resolved" "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" - "version" "1.0.0" - -"are-we-there-yet@^2.0.0": - "integrity" "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==" - "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "delegates" "^1.0.0" - "readable-stream" "^3.6.0" - -"are-we-there-yet@~1.1.2": - "integrity" "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==" - "resolved" "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "delegates" "^1.0.0" - "readable-stream" "^2.0.6" - -"arg@^4.1.0": - "integrity" "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - "resolved" "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - "version" "4.1.3" - -"argparse@^1.0.7": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"aria-query@^5.0.0": - "integrity" "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==" - "resolved" "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz" - "version" "5.0.0" - -"arr-diff@^4.0.0": - "integrity" "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" - "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - "version" "4.0.0" - -"arr-flatten@^1.1.0": - "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - "version" "1.1.0" - -"arr-union@^3.1.0": - "integrity" "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - "version" "3.1.0" - -"array-back@^3.0.1", "array-back@^3.1.0": - "integrity" "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" - "resolved" "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz" - "version" "3.1.0" - -"array-back@^4.0.1": - "integrity" "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==" - "resolved" "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz" - "version" "4.0.2" - -"array-back@^4.0.2": - "integrity" "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==" - "resolved" "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz" - "version" "4.0.2" - -"array-differ@^3.0.0": - "integrity" "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==" - "resolved" "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" - "version" "3.0.0" - -"array-ify@^1.0.0": - "integrity" "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==" - "resolved" "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" - "version" "1.0.0" - -"array-union@^1.0.2": - "integrity" "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "array-uniq" "^1.0.1" - -"array-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"array-uniq@^1.0.1": - "integrity" "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" - "resolved" "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" - "version" "1.0.3" - -"array-unique@^0.3.2": - "integrity" "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" - "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - "version" "0.3.2" - -"arrify@^1.0.1": - "integrity" "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" - "resolved" "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - "version" "1.0.1" - -"arrify@^2.0.1": - "integrity" "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" - "resolved" "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" - "version" "2.0.1" - -"asap@^2.0.0": - "integrity" "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - "version" "2.0.6" - -"asn1.js@^5.2.0": - "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==" - "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" - "version" "5.4.1" - dependencies: - "bn.js" "^4.0.0" - "inherits" "^2.0.1" - "minimalistic-assert" "^1.0.0" - "safer-buffer" "^2.1.0" - -"asn1@~0.2.3": - "integrity" "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==" - "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" - "version" "0.2.6" - dependencies: - "safer-buffer" "~2.1.0" - -"assert-plus@^1.0.0", "assert-plus@1.0.0": - "integrity" "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - "version" "1.0.0" - -"assert@^1.1.1": - "integrity" "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==" - "resolved" "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "object-assign" "^4.1.1" - "util" "0.10.3" - -"assertion-error@^1.1.0": - "integrity" "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - "resolved" "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" - "version" "1.1.0" - -"assign-symbols@^1.0.0": - "integrity" "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - "version" "1.0.0" - -"astral-regex@^1.0.0": - "integrity" "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" - "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" - "version" "1.0.0" - -"astral-regex@^2.0.0": - "integrity" "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - "version" "2.0.0" - -"async-each@^1.0.1": - "integrity" "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" - "version" "1.0.3" - -"async-exit-hook@^2.0.1": - "integrity" "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==" - "resolved" "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz" - "version" "2.0.1" - -"async@^3.2.3": - "version" "3.2.3" - -"asynckit@^0.4.0": - "integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - "version" "0.4.0" - -"at-least-node@^1.0.0": - "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - "version" "1.0.0" - -"atob@^2.1.2": - "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - "version" "2.1.2" - -"available-typed-arrays@^1.0.5": - "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - "version" "1.0.5" - -"aws-sdk@^2.1069.0": - "version" "2.1118.0" - dependencies: - "buffer" "4.9.2" - "events" "1.1.1" - "ieee754" "1.1.13" - "jmespath" "0.16.0" - "querystring" "0.2.0" - "sax" "1.2.1" - "url" "0.10.3" - "uuid" "3.3.2" - "xml2js" "0.4.19" - -"aws-sign2@~0.7.0": - "integrity" "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" - "version" "0.7.0" - -"aws4@^1.8.0": - "integrity" "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" - "version" "1.11.0" - -"axios@^0.24.0": - "integrity" "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz" - "version" "0.24.0" - dependencies: - "follow-redirects" "^1.14.4" - -"axios@^0.27.2": - "integrity" "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz" - "version" "0.27.2" - dependencies: - "follow-redirects" "^1.14.9" - "form-data" "^4.0.0" - -"babel-eslint@^10.1.0": - "integrity" "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==" - "resolved" "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - "eslint-visitor-keys" "^1.0.0" - "resolve" "^1.12.0" - -"babel-jest@^27.5.1", "babel-jest@>=27.0.0 <28": - "integrity" "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==" - "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - "babel-plugin-istanbul" "^6.1.1" - "babel-preset-jest" "^27.5.1" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "slash" "^3.0.0" - -"babel-loader@^8.2.2", "babel-loader@^8.2.4", "babel-loader@^8.2.5": - "integrity" "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==" - "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz" - "version" "8.2.5" - dependencies: - "find-cache-dir" "^3.3.1" - "loader-utils" "^2.0.0" - "make-dir" "^3.1.0" - "schema-utils" "^2.6.5" - -"babel-plugin-dynamic-import-node@^2.3.3": - "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "object.assign" "^4.1.0" - -"babel-plugin-istanbul@^6.1.1": - "integrity" "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==" - "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - "version" "6.1.1" - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - "istanbul-lib-instrument" "^5.0.4" - "test-exclude" "^6.0.0" - -"babel-plugin-jest-hoist@^27.5.1": - "integrity" "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -"babel-plugin-polyfill-corejs2@^0.3.0", "babel-plugin-polyfill-corejs2@^0.3.1": - "integrity" "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz" - "version" "0.3.1" - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" - "semver" "^6.1.1" - -"babel-plugin-polyfill-corejs3@^0.5.0", "babel-plugin-polyfill-corejs3@^0.5.2": - "integrity" "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz" - "version" "0.5.2" - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - "core-js-compat" "^3.21.0" - -"babel-plugin-polyfill-regenerator@^0.3.0", "babel-plugin-polyfill-regenerator@^0.3.1": - "integrity" "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz" - "version" "0.3.1" - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - -"babel-preset-current-node-syntax@^1.0.0": - "integrity" "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==" - "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -"babel-preset-jest@^27.5.1": - "integrity" "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==" - "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "babel-plugin-jest-hoist" "^27.5.1" - "babel-preset-current-node-syntax" "^1.0.0" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base@^0.11.1": - "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" - "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - "version" "0.11.2" - dependencies: - "cache-base" "^1.0.1" - "class-utils" "^0.3.5" - "component-emitter" "^1.2.1" - "define-property" "^1.0.0" - "isobject" "^3.0.1" - "mixin-deep" "^1.2.0" - "pascalcase" "^0.1.1" - -"base64-js@^1.0.2", "base64-js@^1.3.1": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"bcrypt-pbkdf@^1.0.0": - "integrity" "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==" - "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "tweetnacl" "^0.14.3" - -"before-after-hook@^2.2.0": - "integrity" "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" - "resolved" "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" - "version" "2.2.2" - -"big.js@^5.2.2": - "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - "version" "5.2.2" - -"bin-links@^3.0.0": - "integrity" "sha512-9vx+ypzVhASvHTS6K+YSGf7nwQdANoz7v6MTC0aCtYnOEZ87YvMf81aY737EZnGZdpbRM3sfWjO9oWkKmuIvyQ==" - "resolved" "https://registry.npmjs.org/bin-links/-/bin-links-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "cmd-shim" "^5.0.0" - "mkdirp-infer-owner" "^2.0.0" - "npm-normalize-package-bin" "^1.0.0" - "read-cmd-shim" "^3.0.0" - "rimraf" "^3.0.0" - "write-file-atomic" "^4.0.0" - -"binary-extensions@^1.0.0": - "integrity" "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" - "version" "1.13.1" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"binaryextensions@^4.15.0", "binaryextensions@^4.16.0": - "integrity" "sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==" - "resolved" "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.18.0.tgz" - "version" "4.18.0" - -"bl@^4.0.3", "bl@^4.1.0": - "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" - "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "buffer" "^5.5.0" - "inherits" "^2.0.4" - "readable-stream" "^3.4.0" - -"bluebird@^3.5.5", "bluebird@^3.7.2": - "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - "version" "3.7.2" - -"bn.js@^4.0.0", "bn.js@^4.1.0", "bn.js@^4.11.9": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^5.0.0": - "version" "5.2.0" - -"bn.js@^5.1.1": - "version" "5.2.0" - -"boxen@^5.0.0": - "version" "5.1.2" - dependencies: - "ansi-align" "^3.0.0" - "camelcase" "^6.2.0" - "chalk" "^4.1.0" - "cli-boxes" "^2.2.1" - "string-width" "^4.2.2" - "type-fest" "^0.20.2" - "widest-line" "^3.1.0" - "wrap-ansi" "^7.0.0" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"brace-expansion@^2.0.1": - "integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "balanced-match" "^1.0.0" - -"braces@^2.3.1", "braces@^2.3.2": - "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" - "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - "version" "2.3.2" - dependencies: - "arr-flatten" "^1.1.0" - "array-unique" "^0.3.2" - "extend-shallow" "^2.0.1" - "fill-range" "^4.0.0" - "isobject" "^3.0.1" - "repeat-element" "^1.1.2" - "snapdragon" "^0.8.1" - "snapdragon-node" "^2.0.1" - "split-string" "^3.0.2" - "to-regex" "^3.0.1" - -"braces@^3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"brorand@^1.0.1", "brorand@^1.1.0": - "integrity" "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - "version" "1.1.0" - -"browser-process-hrtime@^1.0.0": - "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - "version" "1.0.0" - -"browser-stdout@1.3.1": - "integrity" "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - "resolved" "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - "version" "1.3.1" - -"browserify-aes@^1.0.0", "browserify-aes@^1.0.4": - "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==" - "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "buffer-xor" "^1.0.3" - "cipher-base" "^1.0.0" - "create-hash" "^1.1.0" - "evp_bytestokey" "^1.0.3" - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"browserify-cipher@^1.0.0": - "integrity" "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==" - "resolved" "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "browserify-aes" "^1.0.4" - "browserify-des" "^1.0.0" - "evp_bytestokey" "^1.0.0" - -"browserify-des@^1.0.0": - "integrity" "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==" - "resolved" "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "cipher-base" "^1.0.1" - "des.js" "^1.0.0" - "inherits" "^2.0.1" - "safe-buffer" "^5.1.2" - -"browserify-rsa@^4.0.0", "browserify-rsa@^4.0.1": - "integrity" "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==" - "resolved" "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "bn.js" "^5.0.0" - "randombytes" "^2.0.1" - -"browserify-sign@^4.0.0": - "integrity" "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==" - "resolved" "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "bn.js" "^5.1.1" - "browserify-rsa" "^4.0.1" - "create-hash" "^1.2.0" - "create-hmac" "^1.1.7" - "elliptic" "^6.5.3" - "inherits" "^2.0.4" - "parse-asn1" "^5.1.5" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"browserify-zlib@^0.2.0": - "integrity" "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==" - "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "pako" "~1.0.5" - -"browserslist@^4.14.5", "browserslist@^4.20.2", "browserslist@^4.21.0", "browserslist@>= 4.21.0": - "version" "4.21.1" - dependencies: - "caniuse-lite" "^1.0.30001359" - "electron-to-chromium" "^1.4.172" - "node-releases" "^2.0.5" - "update-browserslist-db" "^1.0.4" - -"browserstack-local@^1.4.5": - "integrity" "sha512-T/wxyWDzvBHbDvl7fZKpFU7mYze6nrUkBhNy+d+8bXBqgQX10HTYvajIGO0wb49oGSLCPM0CMZTV/s7e6LF0sA==" - "resolved" "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "agent-base" "^6.0.2" - "https-proxy-agent" "^5.0.1" - "is-running" "^2.1.0" - "ps-tree" "=1.2.0" - "temp-fs" "^0.9.9" - -"bs-logger@0.x": - "integrity" "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==" - "resolved" "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" - "version" "0.2.6" - dependencies: - "fast-json-stable-stringify" "2.x" - -"bser@2.1.1": - "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" - "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "node-int64" "^0.4.0" - -"buffer-crc32@^0.2.1", "buffer-crc32@^0.2.13", "buffer-crc32@~0.2.3": - "integrity" "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" - "resolved" "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - "version" "0.2.13" - -"buffer-from@^1.0.0": - "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - "version" "1.1.2" - -"buffer-xor@^1.0.3": - "integrity" "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" - "version" "1.0.3" - -"buffer@^4.3.0", "buffer@4.9.2": - "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" - "version" "4.9.2" - dependencies: - "base64-js" "^1.0.2" - "ieee754" "^1.1.4" - "isarray" "^1.0.0" - -"buffer@^5.2.1": - "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.1.13" - -"buffer@^5.5.0": - "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.1.13" - -"builtin-modules@^3.0.0": - "version" "3.2.0" - -"builtin-status-codes@^3.0.0": - "integrity" "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" - "version" "3.0.0" - -"builtins@^1.0.3": - "integrity" "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" - "resolved" "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" - "version" "1.0.3" - -"byline@^5.0.0": - "integrity" "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==" - "resolved" "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz" - "version" "5.0.0" - -"byte-size@^7.0.0": - "integrity" "sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A==" - "resolved" "https://registry.npmjs.org/byte-size/-/byte-size-7.0.1.tgz" - "version" "7.0.1" - -"cac@^3.0.3": - "integrity" "sha512-hq4rxE3NT5PlaEiVV39Z45d6MoFcQZG5dsgJqtAUeOz3408LEQAElToDkf9i5IYSCOmK0If/81dLg7nKxqPR0w==" - "resolved" "https://registry.npmjs.org/cac/-/cac-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "camelcase-keys" "^3.0.0" - "chalk" "^1.1.3" - "indent-string" "^3.0.0" - "minimist" "^1.2.0" - "read-pkg-up" "^1.0.1" - "suffix" "^0.1.0" - "text-table" "^0.2.0" - -"cacache@^12.0.2": - "integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==" - "resolved" "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz" - "version" "12.0.4" - dependencies: - "bluebird" "^3.5.5" - "chownr" "^1.1.1" - "figgy-pudding" "^3.5.1" - "glob" "^7.1.4" - "graceful-fs" "^4.1.15" - "infer-owner" "^1.0.3" - "lru-cache" "^5.1.1" - "mississippi" "^3.0.0" - "mkdirp" "^0.5.1" - "move-concurrently" "^1.0.1" - "promise-inflight" "^1.0.1" - "rimraf" "^2.6.3" - "ssri" "^6.0.1" - "unique-filename" "^1.1.1" - "y18n" "^4.0.0" - -"cacache@^15.0.3", "cacache@^15.0.5", "cacache@^15.2.0": - "integrity" "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==" - "resolved" "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" - "version" "15.3.0" - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - "chownr" "^2.0.0" - "fs-minipass" "^2.0.0" - "glob" "^7.1.4" - "infer-owner" "^1.0.4" - "lru-cache" "^6.0.0" - "minipass" "^3.1.1" - "minipass-collect" "^1.0.2" - "minipass-flush" "^1.0.5" - "minipass-pipeline" "^1.2.2" - "mkdirp" "^1.0.3" - "p-map" "^4.0.0" - "promise-inflight" "^1.0.1" - "rimraf" "^3.0.2" - "ssri" "^8.0.1" - "tar" "^6.0.2" - "unique-filename" "^1.1.1" - -"cacache@^16.0.2": - "version" "16.0.5" - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - "chownr" "^2.0.0" - "fs-minipass" "^2.1.0" - "glob" "^8.0.1" - "infer-owner" "^1.0.4" - "lru-cache" "^7.7.1" - "minipass" "^3.1.6" - "minipass-collect" "^1.0.2" - "minipass-flush" "^1.0.5" - "minipass-pipeline" "^1.2.4" - "mkdirp" "^1.0.4" - "p-map" "^4.0.0" - "promise-inflight" "^1.0.1" - "rimraf" "^3.0.2" - "ssri" "^9.0.0" - "tar" "^6.1.11" - "unique-filename" "^1.1.1" - -"cache-base@^1.0.1": - "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" - "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "collection-visit" "^1.0.0" - "component-emitter" "^1.2.1" - "get-value" "^2.0.6" - "has-value" "^1.0.0" - "isobject" "^3.0.1" - "set-value" "^2.0.0" - "to-object-path" "^0.3.0" - "union-value" "^1.0.0" - "unset-value" "^1.0.0" - -"cacheable-lookup@^5.0.3": - "integrity" "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" - "resolved" "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz" - "version" "5.0.4" - -"cacheable-request@^6.0.0": - "version" "6.1.0" - dependencies: - "clone-response" "^1.0.2" - "get-stream" "^5.1.0" - "http-cache-semantics" "^4.0.0" - "keyv" "^3.0.0" - "lowercase-keys" "^2.0.0" - "normalize-url" "^4.1.0" - "responselike" "^1.0.2" - -"cacheable-request@^7.0.2": - "integrity" "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==" - "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz" - "version" "7.0.2" - dependencies: - "clone-response" "^1.0.2" - "get-stream" "^5.1.0" - "http-cache-semantics" "^4.0.0" - "keyv" "^4.0.0" - "lowercase-keys" "^2.0.0" - "normalize-url" "^6.0.1" - "responselike" "^2.0.0" - -"caching-transform@^3.0.2": - "integrity" "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==" - "resolved" "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "hasha" "^3.0.0" - "make-dir" "^2.0.0" - "package-hash" "^3.0.0" - "write-file-atomic" "^2.4.2" - -"call-bind@^1.0.0", "call-bind@^1.0.2": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"call-me-maybe@^1.0.1": - "integrity" "sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==" - "resolved" "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz" - "version" "1.0.1" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase-keys@^3.0.0": - "integrity" "sha512-U4E6A6aFyYnNW+tDt5/yIUKQURKXe3WMFPfX4FxrQFcwZ/R08AUk1xWcUtlr7oq6CV07Ji+aa69V2g7BSpblnQ==" - "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "camelcase" "^3.0.0" - "map-obj" "^1.0.0" - -"camelcase-keys@^6.2.2": - "integrity" "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==" - "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" - "version" "6.2.2" - dependencies: - "camelcase" "^5.3.1" - "map-obj" "^4.0.0" - "quick-lru" "^4.0.1" - -"camelcase@^3.0.0": - "integrity" "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" - "version" "3.0.0" - -"camelcase@^5.0.0", "camelcase@^5.3.1": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.0.0": - "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - "version" "6.3.0" - -"camelcase@^6.2.0": - "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - "version" "6.3.0" - -"caniuse-lite@^1.0.30001359": - "version" "1.0.30001361" - -"cardinal@^2.1.1": - "integrity" "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==" - "resolved" "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ansicolors" "~0.3.2" - "redeyed" "~2.1.0" - -"caseless@~0.12.0": - "integrity" "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - "version" "0.12.0" - -"chai@^4", "chai@^4.3.4": - "integrity" "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==" - "resolved" "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz" - "version" "4.3.6" - dependencies: - "assertion-error" "^1.1.0" - "check-error" "^1.0.2" - "deep-eql" "^3.0.1" - "get-func-name" "^2.0.0" - "loupe" "^2.3.1" - "pathval" "^1.1.1" - "type-detect" "^4.0.5" - -"chalk@^1.0.0": - "integrity" "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "ansi-styles" "^2.2.1" - "escape-string-regexp" "^1.0.2" - "has-ansi" "^2.0.0" - "strip-ansi" "^3.0.0" - "supports-color" "^2.0.0" - -"chalk@^1.1.3": - "integrity" "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "ansi-styles" "^2.2.1" - "escape-string-regexp" "^1.0.2" - "has-ansi" "^2.0.0" - "strip-ansi" "^3.0.0" - "supports-color" "^2.0.0" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.1.0", "chalk@^2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.4.1": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^4.0.0", "chalk@^4.0.2", "chalk@^4.1.0", "chalk@^4.1.1", "chalk@^4.1.2": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chance@^1.1.8": - "integrity" "sha512-v7fi5Hj2VbR6dJEGRWLmJBA83LJMS47pkAbmROFxHWd9qmE1esHRZW8Clf1Fhzr3rjxnNZVCjOEv/ivFxeIMtg==" - "resolved" "https://registry.npmjs.org/chance/-/chance-1.1.8.tgz" - "version" "1.1.8" - -"char-regex@^1.0.2": - "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - "version" "1.0.2" - -"chardet@^0.7.0": - "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" - "version" "0.7.0" - -"check-error@^1.0.2": - "integrity" "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" - "resolved" "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" - "version" "1.0.2" - -"chokidar@^2.1.8": - "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" - "version" "2.1.8" - dependencies: - "anymatch" "^2.0.0" - "async-each" "^1.0.1" - "braces" "^2.3.2" - "glob-parent" "^3.1.0" - "inherits" "^2.0.3" - "is-binary-path" "^1.0.0" - "is-glob" "^4.0.0" - "normalize-path" "^3.0.0" - "path-is-absolute" "^1.0.0" - "readdirp" "^2.2.1" - "upath" "^1.1.1" - optionalDependencies: - "fsevents" "^1.2.7" - -"chokidar@^3.0.0", "chokidar@^3.4.1", "chokidar@^3.5.2", "chokidar@3.5.3": - "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - "version" "3.5.3" - 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" - optionalDependencies: - "fsevents" "~2.3.2" - -"chownr@^1.1.1": - "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - "version" "1.1.4" - -"chownr@^1.1.4": - "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - "version" "1.1.4" - -"chownr@^2.0.0": - "integrity" "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - "resolved" "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" - "version" "2.0.0" - -"chrome-launcher@^0.15.0": - "integrity" "sha512-UugC8u59/w2AyX5sHLZUHoxBAiSiunUhZa3zZwMH6zPVis0C3dDKiRWyUGIo14tTbZHGVviWxv3PQWZ7taZ4fg==" - "resolved" "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.1.tgz" - "version" "0.15.1" - dependencies: - "@types/node" "*" - "escape-string-regexp" "^4.0.0" - "is-wsl" "^2.2.0" - "lighthouse-logger" "^1.0.0" - -"chrome-trace-event@^1.0.2": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" - -"ci-info@^2.0.0": - "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - "version" "2.0.0" - -"ci-info@^3.2.0": - "version" "3.3.0" - -"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3": - "integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==" - "resolved" "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"cjs-module-lexer@^1.0.0": - "integrity" "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" - "resolved" "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - "version" "1.2.2" - -"class-utils@^0.3.5": - "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" - "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - "version" "0.3.6" - dependencies: - "arr-union" "^3.1.0" - "define-property" "^0.2.5" - "isobject" "^3.0.0" - "static-extend" "^0.1.1" - -"clean-regexp@^1.0.0": - "integrity" "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==" - "resolved" "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "escape-string-regexp" "^1.0.5" - -"clean-stack@^2.0.0": - "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - "version" "2.2.0" - -"clean-stack@^3.0.0", "clean-stack@^3.0.1": - "integrity" "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==" - "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "escape-string-regexp" "4.0.0" - -"cli-boxes@^1.0.0": - "integrity" "sha512-3Fo5wu8Ytle8q9iCzS4D2MWVL2X7JVWRiS1BnXbTFDhS9c/REkM9vd1AmabsoZoY5/dGi5TT9iKL8Kb6DeBRQg==" - "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz" - "version" "1.0.0" - -"cli-boxes@^2.2.1": - "version" "2.2.1" - -"cli-cursor@^2.1.0": - "integrity" "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "restore-cursor" "^2.0.0" - -"cli-cursor@^3.1.0": - "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "restore-cursor" "^3.1.0" - -"cli-progress@^3.10.0", "cli-progress@^3.4.0": - "version" "3.10.0" - dependencies: - "string-width" "^4.2.0" - -"cli-spinners@^2.1.0", "cli-spinners@^2.5.0": - "integrity" "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" - "version" "2.6.1" - -"cli-table@^0.3.1": - "integrity" "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==" - "resolved" "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz" - "version" "0.3.11" - dependencies: - "colors" "1.0.3" - -"cli-truncate@^2.1.0": - "integrity" "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==" - "resolved" "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "slice-ansi" "^3.0.0" - "string-width" "^4.2.0" - -"cli-truncate@^3.1.0": - "integrity" "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==" - "resolved" "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "slice-ansi" "^5.0.0" - "string-width" "^5.0.0" - -"cli-usage@^0.1.10": - "integrity" "sha512-Q/s1S4Jz5LYI0LQ+XiFQCXkhMzn244ddyIffni8JIq/kL95DvQomVQ0cJC41c76hH9/FmZGY7rZB53y/bXHtRA==" - "resolved" "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.10.tgz" - "version" "0.1.10" - dependencies: - "marked" "^0.7.0" - "marked-terminal" "^3.3.0" - -"cli-ux@^5.5.1", "cli-ux@5.6.7": - "integrity" "sha512-dsKAurMNyFDnO6X1TiiRNiVbL90XReLKcvIq4H777NMqXGBxBws23ag8ubCJE97vVZEgWG2eSUhsyLf63Jv8+g==" - "resolved" "https://registry.npmjs.org/cli-ux/-/cli-ux-5.6.7.tgz" - "version" "5.6.7" - dependencies: - "@oclif/command" "^1.8.15" - "@oclif/errors" "^1.3.5" - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^1.0.4" - "ansi-escapes" "^4.3.0" - "ansi-styles" "^4.2.0" - "cardinal" "^2.1.1" - "chalk" "^4.1.0" - "clean-stack" "^3.0.0" - "cli-progress" "^3.4.0" - "extract-stack" "^2.0.0" - "fs-extra" "^8.1" - "hyperlinker" "^1.0.0" - "indent-string" "^4.0.0" - "is-wsl" "^2.2.0" - "js-yaml" "^3.13.1" - "lodash" "^4.17.21" - "natural-orderby" "^2.0.1" - "object-treeify" "^1.1.4" - "password-prompt" "^1.1.2" - "semver" "^7.3.2" - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "supports-color" "^8.1.0" - "supports-hyperlinks" "^2.1.0" - "tslib" "^2.0.0" - -"cli-width@^2.0.0": - "integrity" "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz" - "version" "2.2.1" - -"cli-width@^3.0.0": - "integrity" "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" - "version" "3.0.0" - -"cliui@^5.0.0": - "integrity" "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "string-width" "^3.1.0" - "strip-ansi" "^5.2.0" - "wrap-ansi" "^5.1.0" - -"cliui@^7.0.2": - "integrity" "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - "version" "7.0.4" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^7.0.0" - -"clone-buffer@^1.0.0": - "integrity" "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==" - "resolved" "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" - "version" "1.0.0" - -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" - -"clone-response@^1.0.2": - "version" "1.0.2" - dependencies: - "mimic-response" "^1.0.0" - -"clone-stats@^1.0.0": - "integrity" "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==" - "resolved" "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" - "version" "1.0.0" - -"clone@^1.0.2": - "integrity" "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - "version" "1.0.4" - -"clone@^2.1.1": - "integrity" "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" - "resolved" "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" - "version" "2.1.2" - -"cloneable-readable@^1.0.0": - "integrity" "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==" - "resolved" "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "inherits" "^2.0.1" - "process-nextick-args" "^2.0.0" - "readable-stream" "^2.3.5" - -"cmd-shim@^4.1.0": - "integrity" "sha512-lb9L7EM4I/ZRVuljLPEtUJOP+xiQVknZ4ZMpMgEp4JzNldPb27HU03hi6K1/6CoIuit/Zm/LQXySErFeXxDprw==" - "resolved" "https://registry.npmjs.org/cmd-shim/-/cmd-shim-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "mkdirp-infer-owner" "^2.0.0" - -"cmd-shim@^5.0.0": - "integrity" "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==" - "resolved" "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "mkdirp-infer-owner" "^2.0.0" - -"co@^4.6.0": - "integrity" "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - "version" "4.6.0" - -"code-point-at@^1.0.0": - "integrity" "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" - "resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - "version" "1.1.0" - -"collect-v8-coverage@^1.0.0": - "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - "version" "1.0.1" - -"collection-visit@^1.0.0": - "integrity" "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==" - "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "map-visit" "^1.0.0" - "object-visit" "^1.0.0" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"color-support@^1.1.2": - "integrity" "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" - "resolved" "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" - "version" "1.1.3" - -"colorette@^2.0.14", "colorette@^2.0.16": - "version" "2.0.16" - -"colors@1.0.3": - "integrity" "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" - "version" "1.0.3" - -"columnify@^1.5.4": - "integrity" "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==" - "resolved" "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz" - "version" "1.6.0" - dependencies: - "strip-ansi" "^6.0.1" - "wcwidth" "^1.0.0" - -"combined-stream@^1.0.6", "combined-stream@^1.0.8", "combined-stream@~1.0.6": - "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "delayed-stream" "~1.0.0" - -"command-line-args@^5.2.0": - "integrity" "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==" - "resolved" "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "array-back" "^3.1.0" - "find-replace" "^3.0.0" - "lodash.camelcase" "^4.3.0" - "typical" "^4.0.0" - -"command-line-usage@^6.1.1": - "integrity" "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==" - "resolved" "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz" - "version" "6.1.3" - dependencies: - "array-back" "^4.0.2" - "chalk" "^2.4.2" - "table-layout" "^1.0.2" - "typical" "^5.2.0" - -"commander@^2.20.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^7.0.0": - "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - "version" "7.2.0" - -"commander@^8.3.0": - "version" "8.3.0" - -"commander@^9.0.0": - "version" "9.3.0" - -"commander@2.15.1": - "integrity" "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz" - "version" "2.15.1" - -"commander@7.1.0": - "integrity" "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz" - "version" "7.1.0" - -"common-ancestor-path@^1.0.1": - "integrity" "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" - "resolved" "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz" - "version" "1.0.1" - -"commondir@^1.0.1": - "integrity" "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - "version" "1.0.1" - -"compare-func@^2.0.0": - "integrity" "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==" - "resolved" "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "array-ify" "^1.0.0" - "dot-prop" "^5.1.0" - -"component-emitter@^1.2.1": - "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - "version" "1.3.0" - -"compress-brotli@^1.3.8": - "integrity" "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==" - "resolved" "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz" - "version" "1.3.8" - dependencies: - "@types/json-buffer" "~3.0.0" - "json-buffer" "~3.0.1" - -"compress-commons@^4.1.0": - "integrity" "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==" - "resolved" "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "buffer-crc32" "^0.2.13" - "crc32-stream" "^4.0.2" - "normalize-path" "^3.0.0" - "readable-stream" "^3.6.0" - -"concat-map@0.0.1": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"concat-stream@^1.5.0": - "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==" - "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" - "version" "1.6.2" - dependencies: - "buffer-from" "^1.0.0" - "inherits" "^2.0.3" - "readable-stream" "^2.2.2" - "typedarray" "^0.0.6" - -"concat-stream@^2.0.0": - "integrity" "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" - "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "buffer-from" "^1.0.0" - "inherits" "^2.0.3" - "readable-stream" "^3.0.2" - "typedarray" "^0.0.6" - -"concurrently@^7.0.0": - "version" "7.1.0" - dependencies: - "chalk" "^4.1.0" - "date-fns" "^2.16.1" - "lodash" "^4.17.21" - "rxjs" "^6.6.3" - "spawn-command" "^0.0.2-1" - "supports-color" "^8.1.0" - "tree-kill" "^1.2.2" - "yargs" "^16.2.0" - -"config-chain@^1.1.12": - "integrity" "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==" - "resolved" "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" - "version" "1.1.13" - dependencies: - "ini" "^1.3.4" - "proto-list" "~1.2.1" - -"configstore@^5.0.1": - "version" "5.0.1" - dependencies: - "dot-prop" "^5.2.0" - "graceful-fs" "^4.1.2" - "make-dir" "^3.0.0" - "unique-string" "^2.0.0" - "write-file-atomic" "^3.0.0" - "xdg-basedir" "^4.0.0" - -"confusing-browser-globals@1.0.10": - "integrity" "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" - "resolved" "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz" - "version" "1.0.10" - -"console-browserify@^1.1.0": - "integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" - "version" "1.2.0" - -"console-control-strings@^1.0.0", "console-control-strings@^1.1.0", "console-control-strings@~1.1.0": - "integrity" "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - "resolved" "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - "version" "1.1.0" - -"constants-browserify@^1.0.0": - "integrity" "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" - "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" - "version" "1.0.0" - -"content-type@^1.0.4": - "integrity" "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - "version" "1.0.4" - -"conventional-changelog-angular@^5.0.11", "conventional-changelog-angular@^5.0.12": - "integrity" "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==" - "resolved" "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz" - "version" "5.0.13" - dependencies: - "compare-func" "^2.0.0" - "q" "^1.5.1" - -"conventional-changelog-conventionalcommits@^4.3.1": - "integrity" "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==" - "resolved" "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz" - "version" "4.6.3" - dependencies: - "compare-func" "^2.0.0" - "lodash" "^4.17.15" - "q" "^1.5.1" - -"conventional-changelog-core@^4.2.2": - "integrity" "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==" - "resolved" "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz" - "version" "4.2.4" - dependencies: - "add-stream" "^1.0.0" - "conventional-changelog-writer" "^5.0.0" - "conventional-commits-parser" "^3.2.0" - "dateformat" "^3.0.0" - "get-pkg-repo" "^4.0.0" - "git-raw-commits" "^2.0.8" - "git-remote-origin-url" "^2.0.0" - "git-semver-tags" "^4.1.1" - "lodash" "^4.17.15" - "normalize-package-data" "^3.0.0" - "q" "^1.5.1" - "read-pkg" "^3.0.0" - "read-pkg-up" "^3.0.0" - "through2" "^4.0.0" - -"conventional-changelog-preset-loader@^2.3.4": - "integrity" "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==" - "resolved" "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" - "version" "2.3.4" - -"conventional-changelog-writer@^5.0.0": - "integrity" "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==" - "resolved" "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "conventional-commits-filter" "^2.0.7" - "dateformat" "^3.0.0" - "handlebars" "^4.7.7" - "json-stringify-safe" "^5.0.1" - "lodash" "^4.17.15" - "meow" "^8.0.0" - "semver" "^6.0.0" - "split" "^1.0.0" - "through2" "^4.0.0" - -"conventional-commits-filter@^2.0.7": - "integrity" "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==" - "resolved" "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "lodash.ismatch" "^4.4.0" - "modify-values" "^1.0.0" - -"conventional-commits-parser@^3.2.0", "conventional-commits-parser@^3.2.2": - "integrity" "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==" - "resolved" "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz" - "version" "3.2.4" - dependencies: - "is-text-path" "^1.0.1" - "JSONStream" "^1.0.4" - "lodash" "^4.17.15" - "meow" "^8.0.0" - "split2" "^3.0.0" - "through2" "^4.0.0" - -"conventional-recommended-bump@^6.1.0": - "integrity" "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==" - "resolved" "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "concat-stream" "^2.0.0" - "conventional-changelog-preset-loader" "^2.3.4" - "conventional-commits-filter" "^2.0.7" - "conventional-commits-parser" "^3.2.0" - "git-raw-commits" "^2.0.8" - "git-semver-tags" "^4.1.1" - "meow" "^8.0.0" - "q" "^1.5.1" - -"convert-source-map@^1.4.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": - "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "safe-buffer" "~5.1.1" - -"copy-concurrently@^1.0.0": - "integrity" "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==" - "resolved" "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "aproba" "^1.1.1" - "fs-write-stream-atomic" "^1.0.8" - "iferr" "^0.1.5" - "mkdirp" "^0.5.1" - "rimraf" "^2.5.4" - "run-queue" "^1.0.0" - -"copy-descriptor@^0.1.0": - "integrity" "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" - "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - "version" "0.1.1" - -"core-js-compat@^3.21.0", "core-js-compat@^3.22.1": - "version" "3.23.3" - dependencies: - "browserslist" "^4.21.0" - "semver" "7.0.0" - -"core-js@^3.22.0": - "version" "3.22.0" - -"core-util-is@~1.0.0", "core-util-is@1.0.2": - "integrity" "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - "version" "1.0.2" - -"cosmiconfig-typescript-loader@^2.0.0": - "version" "2.0.0" - dependencies: - "cosmiconfig" "^7" - "ts-node" "^10.7.0" - -"cosmiconfig@^7", "cosmiconfig@^7.0.0": - "integrity" "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "@types/parse-json" "^4.0.0" - "import-fresh" "^3.2.1" - "parse-json" "^5.0.0" - "path-type" "^4.0.0" - "yaml" "^1.10.0" - -"cp-file@^6.2.0": - "integrity" "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==" - "resolved" "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "graceful-fs" "^4.1.2" - "make-dir" "^2.0.0" - "nested-error-stacks" "^2.0.0" - "pify" "^4.0.1" - "safe-buffer" "^5.0.1" - -"crc-32@^1.2.0": - "integrity" "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - "resolved" "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz" - "version" "1.2.2" - -"crc32-stream@^4.0.2": - "integrity" "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==" - "resolved" "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "crc-32" "^1.2.0" - "readable-stream" "^3.4.0" - -"create-ecdh@^4.0.0": - "integrity" "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==" - "resolved" "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "bn.js" "^4.1.0" - "elliptic" "^6.5.3" - -"create-hash@^1.1.0", "create-hash@^1.1.2", "create-hash@^1.2.0": - "integrity" "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==" - "resolved" "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "cipher-base" "^1.0.1" - "inherits" "^2.0.1" - "md5.js" "^1.3.4" - "ripemd160" "^2.0.1" - "sha.js" "^2.4.0" - -"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7": - "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==" - "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "cipher-base" "^1.0.3" - "create-hash" "^1.1.0" - "inherits" "^2.0.1" - "ripemd160" "^2.0.0" - "safe-buffer" "^5.0.1" - "sha.js" "^2.4.8" - -"create-require@^1.1.0": - "integrity" "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - "resolved" "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - "version" "1.1.1" - -"cross-fetch@^3.0.4", "cross-fetch@3.1.5": - "integrity" "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==" - "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "node-fetch" "2.6.7" - -"cross-spawn@^4.0.2": - "integrity" "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "lru-cache" "^4.0.1" - "which" "^1.2.9" - -"cross-spawn@^4": - "integrity" "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "lru-cache" "^4.0.1" - "which" "^1.2.9" - -"cross-spawn@^6.0.0": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^6.0.5": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^7.0.0", "cross-spawn@^7.0.2", "cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"crypto-browserify@^3.11.0": - "integrity" "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==" - "resolved" "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" - "version" "3.12.0" - dependencies: - "browserify-cipher" "^1.0.0" - "browserify-sign" "^4.0.0" - "create-ecdh" "^4.0.0" - "create-hash" "^1.1.0" - "create-hmac" "^1.1.0" - "diffie-hellman" "^5.0.0" - "inherits" "^2.0.1" - "pbkdf2" "^3.0.3" - "public-encrypt" "^4.0.0" - "randombytes" "^2.0.0" - "randomfill" "^1.0.3" - -"crypto-random-string@^2.0.0": - "version" "2.0.0" - -"css-shorthand-properties@^1.1.1": - "integrity" "sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==" - "resolved" "https://registry.npmjs.org/css-shorthand-properties/-/css-shorthand-properties-1.1.1.tgz" - "version" "1.1.1" - -"css-value@^0.0.1": - "integrity" "sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q==" - "resolved" "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz" - "version" "0.0.1" - -"cssom@^0.4.4": - "integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" - "version" "0.4.4" - -"cssom@~0.3.6": - "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - "version" "0.3.8" - -"cssstyle@^2.3.0": - "integrity" "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==" - "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "cssom" "~0.3.6" - -"csv-stringify@^6.0.4": - "version" "6.1.0" - -"cyclist@^1.0.1": - "integrity" "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==" - "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" - "version" "1.0.1" - -"dargs@^7.0.0": - "integrity" "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==" - "resolved" "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" - "version" "7.0.0" - -"dashdash@^1.12.0": - "integrity" "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==" - "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - "version" "1.14.1" - dependencies: - "assert-plus" "^1.0.0" - -"data-urls@^2.0.0": - "integrity" "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==" - "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "abab" "^2.0.3" - "whatwg-mimetype" "^2.3.0" - "whatwg-url" "^8.0.0" - -"date-fns@^2.16.1": - "integrity" "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==" - "resolved" "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz" - "version" "2.28.0" - -"dateformat@^3.0.0": - "integrity" "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" - "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" - "version" "3.0.3" - -"dateformat@^4.5.0": - "integrity" "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==" - "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz" - "version" "4.6.3" - -"debug@^2.2.0": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.3.3": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^3.2.7": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1", "debug@^4.3.1", "debug@^4.3.2", "debug@^4.3.3", "debug@4", "debug@4.3.4": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "ms" "2.1.2" - -"debug@3.1.0": - "integrity" "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "ms" "2.0.0" - -"debug@4.3.3": - "integrity" "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" - "version" "4.3.3" - dependencies: - "ms" "2.1.2" - -"debuglog@^1.0.1": - "integrity" "sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==" - "resolved" "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" - "version" "1.0.1" - -"decamelize-keys@^1.1.0": - "integrity" "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==" - "resolved" "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "decamelize" "^1.1.0" - "map-obj" "^1.0.0" - -"decamelize@^1.1.0", "decamelize@^1.2.0": - "integrity" "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - "version" "1.2.0" - -"decamelize@^4.0.0": - "integrity" "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" - "version" "4.0.0" - -"decimal.js@^10.2.1": - "integrity" "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" - "resolved" "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz" - "version" "10.3.1" - -"decode-uri-component@^0.2.0": - "integrity" "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" - "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - "version" "0.2.0" - -"decompress-response@^3.3.0": - "version" "3.3.0" - dependencies: - "mimic-response" "^1.0.0" - -"decompress-response@^6.0.0": - "integrity" "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==" - "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "mimic-response" "^3.1.0" - -"dedent@^0.7.0": - "integrity" "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - "version" "0.7.0" - -"deep-eql@^3.0.1": - "integrity" "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==" - "resolved" "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "type-detect" "^4.0.0" - -"deep-extend@^0.6.0", "deep-extend@~0.6.0": - "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - "version" "0.6.0" - -"deep-is@^0.1.3", "deep-is@~0.1.3": - "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - "version" "0.1.4" - -"deepmerge@^4.0.0", "deepmerge@^4.2.2": - "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - "version" "4.2.2" - -"default-require-extensions@^2.0.0": - "integrity" "sha512-B0n2zDIXpzLzKeoEozorDSa1cHc1t0NjmxP0zuAxbizNU2MBqYJJKYXrrFdKuQliojXynrxgd7l4ahfg/+aA5g==" - "resolved" "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "strip-bom" "^3.0.0" - -"defaults@^1.0.3": - "integrity" "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==" - "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "clone" "^1.0.2" - -"defer-to-connect@^1.0.1": - "version" "1.1.3" - -"defer-to-connect@^2.0.0": - "integrity" "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" - "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" - "version" "2.0.1" - -"define-lazy-prop@^2.0.0": - "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - "version" "2.0.0" - -"define-properties@^1.1.3", "define-properties@^1.1.4": - "integrity" "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "has-property-descriptors" "^1.0.0" - "object-keys" "^1.1.1" - -"define-property@^0.2.5": - "integrity" "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - "version" "0.2.5" - dependencies: - "is-descriptor" "^0.1.0" - -"define-property@^1.0.0": - "integrity" "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-descriptor" "^1.0.0" - -"define-property@^2.0.2": - "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "is-descriptor" "^1.0.2" - "isobject" "^3.0.1" - -"delayed-stream@~1.0.0": - "integrity" "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - "version" "1.0.0" - -"delegates@^1.0.0": - "integrity" "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - "resolved" "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - "version" "1.0.0" - -"depd@^1.1.2": - "integrity" "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - "version" "1.1.2" - -"deprecation@^2.0.0", "deprecation@^2.3.1": - "integrity" "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - "resolved" "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" - "version" "2.3.1" - -"des.js@^1.0.0": - "integrity" "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==" - "resolved" "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "inherits" "^2.0.1" - "minimalistic-assert" "^1.0.0" - -"detect-indent@^5.0.0": - "integrity" "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==" - "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz" - "version" "5.0.0" - -"detect-indent@^6.0.0": - "integrity" "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==" - "resolved" "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" - "version" "6.1.0" - -"detect-newline@^3.0.0": - "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - "version" "3.1.0" - -"devtools-protocol@^0.0.998712": - "version" "0.0.998712" - -"devtools-protocol@0.0.981744": - "integrity" "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==" - "resolved" "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz" - "version" "0.0.981744" - -"devtools@7.19.7": - "version" "7.19.7" - dependencies: - "@types/node" "^17.0.4" - "@types/ua-parser-js" "^0.7.33" - "@wdio/config" "7.19.5" - "@wdio/logger" "7.19.0" - "@wdio/protocols" "7.19.0" - "@wdio/types" "7.19.5" - "@wdio/utils" "7.19.7" - "chrome-launcher" "^0.15.0" - "edge-paths" "^2.1.0" - "puppeteer-core" "^13.1.3" - "query-selector-shadow-dom" "^1.0.0" - "ua-parser-js" "^1.0.1" - "uuid" "^8.0.0" - -"dezalgo@^1.0.0": - "integrity" "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==" - "resolved" "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "asap" "^2.0.0" - "wrappy" "1" - -"diff-sequences@^27.5.1": - "integrity" "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" - "version" "27.5.1" - -"diff-sequences@^28.0.2": - "version" "28.0.2" - -"diff@^4.0.1": - "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - "version" "4.0.2" - -"diff@^5.0.0": - "integrity" "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" - "resolved" "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" - "version" "5.1.0" - -"diff@3.5.0": - "integrity" "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - "resolved" "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" - "version" "3.5.0" - -"diff@5.0.0": - "integrity" "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" - "resolved" "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" - "version" "5.0.0" - -"diffie-hellman@^5.0.0": - "integrity" "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==" - "resolved" "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "bn.js" "^4.1.0" - "miller-rabin" "^4.0.0" - "randombytes" "^2.0.0" - -"dir-glob@^2.2.2": - "integrity" "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "path-type" "^3.0.0" - -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" - -"doctrine@^3.0.0": - "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "esutils" "^2.0.2" - -"domain-browser@^1.1.1": - "integrity" "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" - "version" "1.2.0" - -"domexception@^2.0.1": - "integrity" "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==" - "resolved" "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "webidl-conversions" "^5.0.0" - -"dot-case@^3.0.4": - "integrity" "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==" - "resolved" "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"dot-prop@^5.1.0", "dot-prop@^5.2.0": - "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" - "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "is-obj" "^2.0.0" - -"dot-prop@^6.0.1": - "integrity" "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==" - "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "is-obj" "^2.0.0" - -"dotenv@^10.0.0": - "integrity" "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" - "version" "10.0.0" - -"duplexer@^0.1.1", "duplexer@~0.1.1": - "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - "version" "0.1.2" - -"duplexer3@^0.1.4": - "version" "0.1.4" - -"duplexify@^3.4.2", "duplexify@^3.6.0": - "integrity" "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==" - "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" - "version" "3.7.1" - dependencies: - "end-of-stream" "^1.0.0" - "inherits" "^2.0.1" - "readable-stream" "^2.0.0" - "stream-shift" "^1.0.0" - -"eastasianwidth@^0.2.0": - "integrity" "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - "resolved" "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - "version" "0.2.0" - -"easy-table@^1.1.1": - "integrity" "sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==" - "resolved" "https://registry.npmjs.org/easy-table/-/easy-table-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "ansi-regex" "^5.0.1" - optionalDependencies: - "wcwidth" "^1.0.1" - -"ecc-jsbn@~0.1.1": - "integrity" "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==" - "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "jsbn" "~0.1.0" - "safer-buffer" "^2.1.0" - -"edge-paths@^2.1.0": - "integrity" "sha512-AI5fC7dfDmCdKo3m5y7PkYE8m6bMqR6pvVpgtrZkkhcJXFLelUgkjrhk3kXXx8Kbw2cRaTT4LkOR7hqf39KJdw==" - "resolved" "https://registry.npmjs.org/edge-paths/-/edge-paths-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "@types/which" "^1.3.2" - "which" "^2.0.2" - -"ejs@^3.0.1", "ejs@^3.1.6": - "version" "3.1.7" - dependencies: - "jake" "^10.8.5" - -"electron-to-chromium@^1.4.172": - "version" "1.4.176" - -"elliptic@^6.5.3": - "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" - "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - "version" "6.5.4" - dependencies: - "bn.js" "^4.11.9" - "brorand" "^1.1.0" - "hash.js" "^1.0.0" - "hmac-drbg" "^1.0.1" - "inherits" "^2.0.4" - "minimalistic-assert" "^1.0.1" - "minimalistic-crypto-utils" "^1.0.1" - -"emittery@^0.8.1": - "integrity" "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" - "version" "0.8.1" - -"emoji-regex@^7.0.1": - "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - "version" "7.0.3" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"emoji-regex@^9.2.2": - "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - "version" "9.2.2" - -"emojis-list@^3.0.0": - "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - "version" "3.0.0" - -"encoding@^0.1.0", "encoding@^0.1.12", "encoding@^0.1.13": - "integrity" "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==" - "resolved" "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" - "version" "0.1.13" - dependencies: - "iconv-lite" "^0.6.2" - -"end-of-stream@^1.0.0", "end-of-stream@^1.1.0", "end-of-stream@^1.4.1": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"enhanced-resolve@^4.5.0": - "integrity" "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" - "version" "4.5.0" - dependencies: - "graceful-fs" "^4.1.2" - "memory-fs" "^0.5.0" - "tapable" "^1.0.0" - -"enhanced-resolve@^5.9.3": - "integrity" "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz" - "version" "5.10.0" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"enquirer@^2.3.5", "enquirer@>= 2.3.0 < 3": - "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - "version" "2.3.6" - dependencies: - "ansi-colors" "^4.1.1" - -"env-paths@^2.2.0": - "integrity" "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - "resolved" "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" - "version" "2.2.1" - -"envinfo@^7.7.3", "envinfo@^7.7.4": - "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" - "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" - "version" "7.8.1" - -"err-code@^2.0.2": - "integrity" "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" - "resolved" "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" - "version" "2.0.3" - -"errno@^0.1.3", "errno@~0.1.7": - "integrity" "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==" - "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" - "version" "0.1.8" - dependencies: - "prr" "~1.0.1" - -"error-ex@^1.2.0", "error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"error@^10.4.0": - "integrity" "sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw==" - "resolved" "https://registry.npmjs.org/error/-/error-10.4.0.tgz" - "version" "10.4.0" - -"es-abstract@^1.19.0", "es-abstract@^1.19.1", "es-abstract@^1.19.5", "es-abstract@^1.20.0": - "version" "1.20.0" - dependencies: - "call-bind" "^1.0.2" - "es-to-primitive" "^1.2.1" - "function-bind" "^1.1.1" - "function.prototype.name" "^1.1.5" - "get-intrinsic" "^1.1.1" - "get-symbol-description" "^1.0.0" - "has" "^1.0.3" - "has-property-descriptors" "^1.0.0" - "has-symbols" "^1.0.3" - "internal-slot" "^1.0.3" - "is-callable" "^1.2.4" - "is-negative-zero" "^2.0.2" - "is-regex" "^1.1.4" - "is-shared-array-buffer" "^1.0.2" - "is-string" "^1.0.7" - "is-weakref" "^1.0.2" - "object-inspect" "^1.12.0" - "object-keys" "^1.1.1" - "object.assign" "^4.1.2" - "regexp.prototype.flags" "^1.4.1" - "string.prototype.trimend" "^1.0.5" - "string.prototype.trimstart" "^1.0.5" - "unbox-primitive" "^1.0.2" - -"es-module-lexer@^0.9.0": - "integrity" "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" - "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" - "version" "0.9.3" - -"es-to-primitive@^1.2.1": - "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" - "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "is-callable" "^1.1.4" - "is-date-object" "^1.0.1" - "is-symbol" "^1.0.2" - -"es6-error@^4.0.1": - "integrity" "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - "resolved" "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" - "version" "4.1.1" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-goat@^2.0.0": - "version" "2.1.1" - -"escape-string-regexp@^1.0.2": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^1.0.5", "escape-string-regexp@1.0.5": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^2.0.0": - "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - "version" "2.0.0" - -"escape-string-regexp@^4.0.0", "escape-string-regexp@4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"escodegen@^2.0.0": - "integrity" "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==" - "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "esprima" "^4.0.1" - "estraverse" "^5.2.0" - "esutils" "^2.0.2" - "optionator" "^0.8.1" - optionalDependencies: - "source-map" "~0.6.1" - -"eslint-ast-utils@^1.0.0": - "integrity" "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==" - "resolved" "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "lodash.get" "^4.4.2" - "lodash.zip" "^4.2.0" - -"eslint-config-oclif-typescript@^0.1.0": - "integrity" "sha512-BjXNJcH2F02MdaSFml9vJskviUFVkLHbTPGM5tinIt98H6klFNKP7/lQ+fB/Goc2wB45usEuuw6+l/fwAv9i7g==" - "resolved" "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "@typescript-eslint/eslint-plugin" "^2.6.1" - "@typescript-eslint/parser" "^2.6.1" - "eslint-config-oclif" "^3.1.0" - "eslint-config-xo-space" "^0.20.0" - "eslint-plugin-mocha" "^5.2.0" - "eslint-plugin-node" "^7.0.1" - "eslint-plugin-unicorn" "^6.0.1" - -"eslint-config-oclif-typescript@^1.0.2": - "integrity" "sha512-QUldSp+y0C7tVT3pVNFUUeN53m2IqiY0VvWQNYt5LJoFcaFvrpEB8G3x17LFFku4jy9bg8d+MbkMG1alPwzm1w==" - "resolved" "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "@typescript-eslint/eslint-plugin" "^4.31.2" - "@typescript-eslint/parser" "^4.31.2" - "eslint-config-xo-space" "^0.29.0" - "eslint-plugin-mocha" "^9.0.0" - "eslint-plugin-node" "^11.1.0" - -"eslint-config-oclif@^3.1.0": - "integrity" "sha512-66i2mWHb4luJHqJSUO5o9bTYQyH4yuItEikBghUixQB1tFpe/j3mKoRMncxGm2LDGcVIbgK7iLXWO9Ta7buIpg==" - "resolved" "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "eslint-config-xo-space" "^0.27.0" - "eslint-plugin-mocha" "^9.0.0" - "eslint-plugin-node" "^11.1.0" - "eslint-plugin-unicorn" "^36.0.0" - -"eslint-config-oclif@^4": - "integrity" "sha512-5tkUQeC33rHAhJxaGeBGYIflDLumeV2qD/4XLBdXhB/6F/+Jnwdce9wYHSvkx0JUqUQShpQv8JEVkBp/zzD7hg==" - "resolved" "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "eslint-config-xo-space" "^0.27.0" - "eslint-plugin-mocha" "^9.0.0" - "eslint-plugin-node" "^11.1.0" - "eslint-plugin-unicorn" "^36.0.0" - -"eslint-config-xo-space@^0.20.0": - "integrity" "sha512-bOsoZA8M6v1HviDUIGVq1fLVnSu3mMZzn85m2tqKb73tSzu4GKD4Jd2Py4ZKjCgvCbRRByEB5HPC3fTMnnJ1uw==" - "resolved" "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.20.0.tgz" - "version" "0.20.0" - dependencies: - "eslint-config-xo" "^0.24.0" - -"eslint-config-xo-space@^0.27.0": - "integrity" "sha512-b8UjW+nQyOkhiANVpIptqlKPyE7XRyQ40uQ1NoBhzVfu95gxfZGrpliq8ZHBpaOF2wCLZaexTSjg7Rvm99vj4A==" - "resolved" "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.27.0.tgz" - "version" "0.27.0" - dependencies: - "eslint-config-xo" "^0.35.0" - -"eslint-config-xo-space@^0.29.0": - "integrity" "sha512-emUZVHjmzl3I1aO2M/2gEpqa/GHXTl7LF/vQeAX4W+mQIU+2kyqY97FkMnSc2J8Osoq+vCSXCY/HjFUmFIF/Ag==" - "resolved" "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.29.0.tgz" - "version" "0.29.0" - dependencies: - "eslint-config-xo" "^0.38.0" - -"eslint-config-xo@^0.24.0": - "integrity" "sha512-ivQ7qISScW6gfBp+p31nQntz1rg34UCybd3uvlngcxt5Utsf4PMMi9QoAluLFcPUM5Tvqk4JGraR9qu3msKPKQ==" - "resolved" "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.24.2.tgz" - "version" "0.24.2" - -"eslint-config-xo@^0.35.0": - "integrity" "sha512-+WyZTLWUJlvExFrBU/Ldw8AB/S0d3x+26JQdBWbcqig2ZaWh0zinYcHok+ET4IoPaEcRRf3FE9kjItNVjBwnAg==" - "resolved" "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.35.0.tgz" - "version" "0.35.0" - dependencies: - "confusing-browser-globals" "1.0.10" - -"eslint-config-xo@^0.38.0": - "integrity" "sha512-G2jL+VyfkcZW8GoTmqLsExvrWssBedSoaQQ11vyhflDeT3csMdBVp0On+AVijrRuvgmkWeDwwUL5Rj0qDRHK6g==" - "resolved" "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.38.0.tgz" - "version" "0.38.0" - dependencies: - "confusing-browser-globals" "1.0.10" - -"eslint-plugin-es@^1.3.1": - "integrity" "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==" - "resolved" "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "eslint-utils" "^1.4.2" - "regexpp" "^2.0.1" - -"eslint-plugin-es@^3.0.0": - "integrity" "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==" - "resolved" "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "eslint-utils" "^2.0.0" - "regexpp" "^3.0.0" - -"eslint-plugin-mocha@^5.2.0": - "integrity" "sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A==" - "resolved" "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "ramda" "^0.26.1" - -"eslint-plugin-mocha@^9.0.0": - "integrity" "sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg==" - "resolved" "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz" - "version" "9.0.0" - dependencies: - "eslint-utils" "^3.0.0" - "ramda" "^0.27.1" - -"eslint-plugin-node@^11.1.0": - "integrity" "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==" - "resolved" "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" - "version" "11.1.0" - 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" - -"eslint-plugin-node@^7.0.1": - "integrity" "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==" - "resolved" "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "eslint-plugin-es" "^1.3.1" - "eslint-utils" "^1.3.1" - "ignore" "^4.0.2" - "minimatch" "^3.0.4" - "resolve" "^1.8.1" - "semver" "^5.5.0" - -"eslint-plugin-unicorn@^36.0.0": - "integrity" "sha512-xxN2vSctGWnDW6aLElm/LKIwcrmk6mdiEcW55Uv5krcrVcIFSWMmEgc/hwpemYfZacKZ5npFERGNz4aThsp1AA==" - "resolved" "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-36.0.0.tgz" - "version" "36.0.0" - dependencies: - "@babel/helper-validator-identifier" "^7.14.9" - "ci-info" "^3.2.0" - "clean-regexp" "^1.0.0" - "eslint-template-visitor" "^2.3.2" - "eslint-utils" "^3.0.0" - "is-builtin-module" "^3.1.0" - "lodash" "^4.17.21" - "pluralize" "^8.0.0" - "read-pkg-up" "^7.0.1" - "regexp-tree" "^0.1.23" - "safe-regex" "^2.1.1" - "semver" "^7.3.5" - -"eslint-plugin-unicorn@^6.0.1": - "integrity" "sha512-hjy9LhTdtL7pz8WTrzS0CGXRkWK3VAPLDjihofj8JC+uxQLfXm0WwZPPPB7xKmcjRyoH+jruPHOCrHNEINpG/Q==" - "resolved" "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "clean-regexp" "^1.0.0" - "eslint-ast-utils" "^1.0.0" - "import-modules" "^1.1.0" - "lodash.camelcase" "^4.1.1" - "lodash.kebabcase" "^4.0.1" - "lodash.snakecase" "^4.0.1" - "lodash.upperfirst" "^4.2.0" - "safe-regex" "^1.1.0" - -"eslint-scope@^4.0.3": - "integrity" "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "esrecurse" "^4.1.0" - "estraverse" "^4.1.1" - -"eslint-scope@^5.0.0", "eslint-scope@^5.1.1", "eslint-scope@5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"eslint-scope@^7.1.1": - "integrity" "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" - "version" "7.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^5.2.0" - -"eslint-template-visitor@^2.3.2": - "integrity" "sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==" - "resolved" "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz" - "version" "2.3.2" - dependencies: - "@babel/core" "^7.12.16" - "@babel/eslint-parser" "^7.12.16" - "eslint-visitor-keys" "^2.0.0" - "esquery" "^1.3.1" - "multimap" "^1.1.0" - -"eslint-utils@^1.3.1", "eslint-utils@^1.4.2": - "integrity" "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "eslint-visitor-keys" "^1.1.0" - -"eslint-utils@^2.0.0", "eslint-utils@^2.1.0": - "integrity" "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "eslint-visitor-keys" "^1.1.0" - -"eslint-utils@^3.0.0": - "integrity" "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "eslint-visitor-keys" "^2.0.0" - -"eslint-visitor-keys@^1.0.0", "eslint-visitor-keys@^1.1.0", "eslint-visitor-keys@^1.3.0": - "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - "version" "1.3.0" - -"eslint-visitor-keys@^2.0.0", "eslint-visitor-keys@^2.1.0": - "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - "version" "2.1.0" - -"eslint-visitor-keys@^3.3.0": - "integrity" "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" - "version" "3.3.0" - -"eslint@*", "eslint@^7.5.0 || ^8.0.0", "eslint@^8.13.0", "eslint@>= 4.12.1", "eslint@>=4.19.1", "eslint@>=5", "eslint@>=5.16.0", "eslint@>=7.0.0", "eslint@>=7.20.0", "eslint@>=7.32.0": - "version" "8.13.0" - dependencies: - "@eslint/eslintrc" "^1.2.1" - "@humanwhocodes/config-array" "^0.9.2" - "ajv" "^6.10.0" - "chalk" "^4.0.0" - "cross-spawn" "^7.0.2" - "debug" "^4.3.2" - "doctrine" "^3.0.0" - "escape-string-regexp" "^4.0.0" - "eslint-scope" "^7.1.1" - "eslint-utils" "^3.0.0" - "eslint-visitor-keys" "^3.3.0" - "espree" "^9.3.1" - "esquery" "^1.4.0" - "esutils" "^2.0.2" - "fast-deep-equal" "^3.1.3" - "file-entry-cache" "^6.0.1" - "functional-red-black-tree" "^1.0.1" - "glob-parent" "^6.0.1" - "globals" "^13.6.0" - "ignore" "^5.2.0" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "js-yaml" "^4.1.0" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.4.1" - "lodash.merge" "^4.6.2" - "minimatch" "^3.0.4" - "natural-compare" "^1.4.0" - "optionator" "^0.9.1" - "regexpp" "^3.2.0" - "strip-ansi" "^6.0.1" - "strip-json-comments" "^3.1.0" - "text-table" "^0.2.0" - "v8-compile-cache" "^2.0.3" - -"eslint@^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^7.32.0": - "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" - "version" "7.32.0" - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - "ajv" "^6.10.0" - "chalk" "^4.0.0" - "cross-spawn" "^7.0.2" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "enquirer" "^2.3.5" - "escape-string-regexp" "^4.0.0" - "eslint-scope" "^5.1.1" - "eslint-utils" "^2.1.0" - "eslint-visitor-keys" "^2.0.0" - "espree" "^7.3.1" - "esquery" "^1.4.0" - "esutils" "^2.0.2" - "fast-deep-equal" "^3.1.3" - "file-entry-cache" "^6.0.1" - "functional-red-black-tree" "^1.0.1" - "glob-parent" "^5.1.2" - "globals" "^13.6.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "js-yaml" "^3.13.1" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.4.1" - "lodash.merge" "^4.6.2" - "minimatch" "^3.0.4" - "natural-compare" "^1.4.0" - "optionator" "^0.9.1" - "progress" "^2.0.0" - "regexpp" "^3.1.0" - "semver" "^7.2.1" - "strip-ansi" "^6.0.0" - "strip-json-comments" "^3.1.0" - "table" "^6.0.9" - "text-table" "^0.2.0" - "v8-compile-cache" "^2.0.3" - -"eslint@^5.0.0 || ^6.0.0", "eslint@^5.3.0", "eslint@>= 4.0.0", "eslint@>=5.0.0", "eslint@>=5.3.0": - "version" "5.16.0" - dependencies: - "@babel/code-frame" "^7.0.0" - "ajv" "^6.9.1" - "chalk" "^2.1.0" - "cross-spawn" "^6.0.5" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "eslint-scope" "^4.0.3" - "eslint-utils" "^1.3.1" - "eslint-visitor-keys" "^1.0.0" - "espree" "^5.0.1" - "esquery" "^1.0.1" - "esutils" "^2.0.2" - "file-entry-cache" "^5.0.1" - "functional-red-black-tree" "^1.0.1" - "glob" "^7.1.2" - "globals" "^11.7.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "inquirer" "^6.2.2" - "js-yaml" "^3.13.0" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.3.0" - "lodash" "^4.17.11" - "minimatch" "^3.0.4" - "mkdirp" "^0.5.1" - "natural-compare" "^1.4.0" - "optionator" "^0.8.2" - "path-is-inside" "^1.0.2" - "progress" "^2.0.0" - "regexpp" "^2.0.1" - "semver" "^5.5.1" - "strip-ansi" "^4.0.0" - "strip-json-comments" "^2.0.1" - "table" "^5.2.3" - "text-table" "^0.2.0" - -"eslint@^5.16.0": - "integrity" "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz" - "version" "5.16.0" - dependencies: - "@babel/code-frame" "^7.0.0" - "ajv" "^6.9.1" - "chalk" "^2.1.0" - "cross-spawn" "^6.0.5" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "eslint-scope" "^4.0.3" - "eslint-utils" "^1.3.1" - "eslint-visitor-keys" "^1.0.0" - "espree" "^5.0.1" - "esquery" "^1.0.1" - "esutils" "^2.0.2" - "file-entry-cache" "^5.0.1" - "functional-red-black-tree" "^1.0.1" - "glob" "^7.1.2" - "globals" "^11.7.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "inquirer" "^6.2.2" - "js-yaml" "^3.13.0" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.3.0" - "lodash" "^4.17.11" - "minimatch" "^3.0.4" - "mkdirp" "^0.5.1" - "natural-compare" "^1.4.0" - "optionator" "^0.8.2" - "path-is-inside" "^1.0.2" - "progress" "^2.0.0" - "regexpp" "^2.0.1" - "semver" "^5.5.1" - "strip-ansi" "^4.0.0" - "strip-json-comments" "^2.0.1" - "table" "^5.2.3" - "text-table" "^0.2.0" - -"eslint@^7.27.0": - "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" - "version" "7.32.0" - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - "ajv" "^6.10.0" - "chalk" "^4.0.0" - "cross-spawn" "^7.0.2" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "enquirer" "^2.3.5" - "escape-string-regexp" "^4.0.0" - "eslint-scope" "^5.1.1" - "eslint-utils" "^2.1.0" - "eslint-visitor-keys" "^2.0.0" - "espree" "^7.3.1" - "esquery" "^1.4.0" - "esutils" "^2.0.2" - "fast-deep-equal" "^3.1.3" - "file-entry-cache" "^6.0.1" - "functional-red-black-tree" "^1.0.1" - "glob-parent" "^5.1.2" - "globals" "^13.6.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "js-yaml" "^3.13.1" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.4.1" - "lodash.merge" "^4.6.2" - "minimatch" "^3.0.4" - "natural-compare" "^1.4.0" - "optionator" "^0.9.1" - "progress" "^2.0.0" - "regexpp" "^3.1.0" - "semver" "^7.2.1" - "strip-ansi" "^6.0.0" - "strip-json-comments" "^3.1.0" - "table" "^6.0.9" - "text-table" "^0.2.0" - "v8-compile-cache" "^2.0.3" - -"espree@^5.0.1": - "integrity" "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==" - "resolved" "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "acorn" "^6.0.7" - "acorn-jsx" "^5.0.0" - "eslint-visitor-keys" "^1.0.0" - -"espree@^7.3.0", "espree@^7.3.1": - "integrity" "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==" - "resolved" "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" - "version" "7.3.1" - dependencies: - "acorn" "^7.4.0" - "acorn-jsx" "^5.3.1" - "eslint-visitor-keys" "^1.3.0" - -"espree@^9.3.1": - "version" "9.3.1" - dependencies: - "acorn" "^8.7.0" - "acorn-jsx" "^5.3.1" - "eslint-visitor-keys" "^3.3.0" - -"esprima@^4.0.0", "esprima@^4.0.1", "esprima@~4.0.0": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"esquery@^1.0.1", "esquery@^1.3.1", "esquery@^1.4.0": - "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==" - "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "estraverse" "^5.1.0" - -"esrecurse@^4.1.0", "esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.1.0", "estraverse@^5.2.0": - "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - "version" "5.3.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"event-stream@=3.3.4": - "integrity" "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==" - "resolved" "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz" - "version" "3.3.4" - dependencies: - "duplexer" "~0.1.1" - "from" "~0" - "map-stream" "~0.1.0" - "pause-stream" "0.0.11" - "split" "0.3" - "stream-combiner" "~0.0.4" - "through" "~2.3.1" - -"eventemitter3@^4.0.4": - "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - "version" "4.0.7" - -"events@^3.0.0", "events@^3.2.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"events@1.1.1": - "integrity" "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==" - "resolved" "https://registry.npmjs.org/events/-/events-1.1.1.tgz" - "version" "1.1.1" - -"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3": - "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" - "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "md5.js" "^1.3.4" - "safe-buffer" "^5.1.1" - -"execa@^0.10.0": - "integrity" "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==" - "resolved" "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz" - "version" "0.10.0" - dependencies: - "cross-spawn" "^6.0.0" - "get-stream" "^3.0.0" - "is-stream" "^1.1.0" - "npm-run-path" "^2.0.0" - "p-finally" "^1.0.0" - "signal-exit" "^3.0.0" - "strip-eof" "^1.0.0" - -"execa@^4.1.0": - "integrity" "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==" - "resolved" "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "cross-spawn" "^7.0.0" - "get-stream" "^5.0.0" - "human-signals" "^1.1.1" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.0" - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" - "strip-final-newline" "^2.0.0" - -"execa@^5.0.0", "execa@^5.1.1": - "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "cross-spawn" "^7.0.3" - "get-stream" "^6.0.0" - "human-signals" "^2.1.0" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.1" - "onetime" "^5.1.2" - "signal-exit" "^3.0.3" - "strip-final-newline" "^2.0.0" - -"exit@^0.1.2": - "integrity" "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - "version" "0.1.2" - -"expand-brackets@^2.1.4": - "integrity" "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==" - "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "debug" "^2.3.3" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "posix-character-classes" "^0.1.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"expect-webdriverio@^3.0.0": - "integrity" "sha512-7Ivy1IB35pmkbCcI36un2OMytGEYCy1PcdqrlDnWZBzTpewAO14r+gO2FSuO5kNpDWm3gZSD4NYLG1KXJOlI3w==" - "resolved" "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-3.4.0.tgz" - "version" "3.4.0" - dependencies: - "expect" "^28.1.0" - "jest-matcher-utils" "^28.1.0" - -"expect@^27.5.1": - "integrity" "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==" - "resolved" "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "jest-get-type" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - -"expect@^28.1.0": - "version" "28.1.0" - dependencies: - "@jest/expect-utils" "^28.1.0" - "jest-get-type" "^28.0.2" - "jest-matcher-utils" "^28.1.0" - "jest-message-util" "^28.1.0" - "jest-util" "^28.1.0" - -"extend-shallow@^2.0.1": - "integrity" "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extendable" "^0.1.0" - -"extend-shallow@^3.0.0": - "integrity" "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extend-shallow@^3.0.2": - "integrity" "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extend@~3.0.2": - "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - "version" "3.0.2" - -"external-editor@^3.0.3": - "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==" - "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "chardet" "^0.7.0" - "iconv-lite" "^0.4.24" - "tmp" "^0.0.33" - -"extglob@^2.0.4": - "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" - "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "array-unique" "^0.3.2" - "define-property" "^1.0.0" - "expand-brackets" "^2.1.4" - "extend-shallow" "^2.0.1" - "fragment-cache" "^0.2.1" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"extract-stack@^2.0.0": - "integrity" "sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==" - "resolved" "https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz" - "version" "2.0.0" - -"extract-zip@2.0.1": - "integrity" "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==" - "resolved" "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "debug" "^4.1.1" - "get-stream" "^5.1.0" - "yauzl" "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -"extsprintf@^1.2.0", "extsprintf@1.3.0": - "integrity" "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - "version" "1.3.0" - -"fancy-test@^1.4.10": - "integrity" "sha512-AaUX6wKS7D5OP2YK2q5G7c8PGx2lgoyLUD7Bbg8z323sb9aebBqzb9UN6phzI73UgO/ViihmNfOxF3kdfZLhew==" - "resolved" "https://registry.npmjs.org/fancy-test/-/fancy-test-1.4.10.tgz" - "version" "1.4.10" - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - "lodash" "^4.17.13" - "mock-stdin" "^1.0.0" - "nock" "^13.0.0" - "stdout-stderr" "^0.1.9" - -"fancy-test@^2.0.0": - "integrity" "sha512-SFb2D/VX9SV+wNYXO1IIh1wyxUC1GS0mYCFJOWD1ia7MPj9yE2G8jaPkw4t/pg0Sj7/YJP56OzMY4nAuJSOugQ==" - "resolved" "https://registry.npmjs.org/fancy-test/-/fancy-test-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "@types/chai" "*" - "@types/lodash" "*" - "@types/node" "*" - "@types/sinon" "*" - "lodash" "^4.17.13" - "mock-stdin" "^1.0.0" - "nock" "^13.0.0" - "stdout-stderr" "^0.1.9" - -"fast-deep-equal@^2.0.1": - "integrity" "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" - "version" "2.0.1" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-glob@^2.2.6": - "integrity" "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz" - "version" "2.2.7" - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - "glob-parent" "^3.1.0" - "is-glob" "^4.0.0" - "merge2" "^1.2.3" - "micromatch" "^3.1.10" - -"fast-glob@^3.0.3", "fast-glob@^3.2.9": - "integrity" "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" - "version" "3.2.11" - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - "glob-parent" "^5.1.2" - "merge2" "^1.3.0" - "micromatch" "^4.0.4" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== -"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@2.x": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": - "integrity" "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"fast-levenshtein@^3.0.0": - "integrity" "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz" - "version" "3.0.0" +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: - "fastest-levenshtein" "^1.0.7" - -"fastest-levenshtein@^1.0.12", "fastest-levenshtein@^1.0.7": - "integrity" "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" - "resolved" "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz" - "version" "1.0.12" + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" -"fastq@^1.6.0": - "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - "version" "1.13.0" +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== dependencies: - "reusify" "^1.0.4" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" -"fb-watchman@^2.0.0": - "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" - "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" - "version" "2.0.1" +"@mdi/font@^7.2.96": + version "7.4.47" + resolved "https://registry.npmjs.org/@mdi/font/-/font-7.4.47.tgz" + integrity sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw== + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== dependencies: - "bser" "2.1.1" + eslint-scope "5.1.1" -"fd-slicer@~1.1.0": - "integrity" "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==" - "resolved" "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - "version" "1.1.0" +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "pend" "~1.2.0" + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" -"figgy-pudding@^3.5.1": - "integrity" "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - "resolved" "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" - "version" "3.5.2" +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"figures@^2.0.0": - "integrity" "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==" - "resolved" "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" - "version" "2.0.0" +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "escape-string-regexp" "^1.0.5" + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" -"figures@^3.0.0": - "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - "version" "3.2.0" +"@npmcli/arborist@^4.0.4": + version "4.3.1" + resolved "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.3.1.tgz" + integrity sha512-yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A== dependencies: - "escape-string-regexp" "^1.0.5" + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/map-workspaces" "^2.0.0" + "@npmcli/metavuln-calculator" "^2.0.0" + "@npmcli/move-file" "^1.1.0" + "@npmcli/name-from-folder" "^1.0.1" + "@npmcli/node-gyp" "^1.0.3" + "@npmcli/package-json" "^1.0.1" + "@npmcli/run-script" "^2.0.0" + bin-links "^3.0.0" + cacache "^15.0.3" + common-ancestor-path "^1.0.1" + json-parse-even-better-errors "^2.3.1" + json-stringify-nice "^1.1.4" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + npm-install-checks "^4.0.0" + npm-package-arg "^8.1.5" + npm-pick-manifest "^6.1.0" + npm-registry-fetch "^12.0.1" + pacote "^12.0.2" + parse-conflict-json "^2.0.1" + proc-log "^1.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^1.0.1" + read-package-json-fast "^2.0.2" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.5" + ssri "^8.0.1" + treeverse "^1.0.4" + walk-up-path "^1.0.0" -"file-entry-cache@^5.0.1": - "integrity" "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz" - "version" "5.0.1" +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== dependencies: - "flat-cache" "^2.0.1" + "@gar/promisify" "^1.0.1" + semver "^7.3.5" -"file-entry-cache@^6.0.1": - "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - "version" "6.0.1" +"@npmcli/fs@^2.1.0": + version "2.1.2" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== dependencies: - "flat-cache" "^3.0.4" + "@gar/promisify" "^1.1.3" + semver "^7.3.5" -"file-type@^7.7.1": - "integrity" "sha512-bTrKkzzZI6wH+NXhyD3SOXtb2zXTw2SbwI2RxUlRcXVsnN7jNL5hJzVQLYv7FOQhxFkK4XWdAflEaWFpaLLWpQ==" - "resolved" "https://registry.npmjs.org/file-type/-/file-type-7.7.1.tgz" - "version" "7.7.1" +"@npmcli/fs@^3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz" + integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== + dependencies: + semver "^7.3.5" -"filelist@^1.0.1": - "version" "1.0.3" +"@npmcli/git@^2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@npmcli/git/-/git-2.1.0.tgz" + integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw== dependencies: - "minimatch" "^5.0.1" + "@npmcli/promise-spawn" "^1.3.2" + lru-cache "^6.0.0" + mkdirp "^1.0.4" + npm-pick-manifest "^6.1.1" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" + +"@npmcli/git@^4.0.0": + version "4.1.0" + resolved "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz" + integrity sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ== + dependencies: + "@npmcli/promise-spawn" "^6.0.0" + lru-cache "^7.4.4" + npm-pick-manifest "^8.0.0" + proc-log "^3.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^3.0.0" -"fill-range@^4.0.0": - "integrity" "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - "version" "4.0.0" +"@npmcli/installed-package-contents@^1.0.6", "@npmcli/installed-package-contents@^1.0.7": + version "1.0.7" + resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz" + integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== dependencies: - "extend-shallow" "^2.0.1" - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - "to-regex-range" "^2.1.0" + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" +"@npmcli/installed-package-contents@^2.0.1": + version "2.0.2" + resolved "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz" + integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== dependencies: - "to-regex-range" "^5.0.1" + npm-bundled "^3.0.0" + npm-normalize-package-bin "^3.0.0" -"filter-obj@^1.1.0": - "integrity" "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" - "resolved" "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" - "version" "1.1.0" +"@npmcli/map-workspaces@^2.0.0": + version "2.0.4" + resolved "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz" + integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== + dependencies: + "@npmcli/name-from-folder" "^1.0.1" + glob "^8.0.1" + minimatch "^5.0.1" + read-package-json-fast "^2.0.3" -"find-cache-dir@^2.1.0": - "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" - "version" "2.1.0" +"@npmcli/metavuln-calculator@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-2.0.0.tgz" + integrity sha512-VVW+JhWCKRwCTE+0xvD6p3uV4WpqocNYYtzyvenqL/u1Q3Xx6fGTJ+6UoIoii07fbuEO9U3IIyuGY0CYHDv1sg== dependencies: - "commondir" "^1.0.1" - "make-dir" "^2.0.0" - "pkg-dir" "^3.0.0" + cacache "^15.0.5" + json-parse-even-better-errors "^2.3.1" + pacote "^12.0.0" + semver "^7.3.2" -"find-cache-dir@^3.3.1": - "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" - "version" "3.3.2" +"@npmcli/move-file@^1.0.1", "@npmcli/move-file@^1.1.0": + version "1.1.2" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== dependencies: - "commondir" "^1.0.1" - "make-dir" "^3.0.2" - "pkg-dir" "^4.1.0" + mkdirp "^1.0.4" + rimraf "^3.0.2" -"find-replace@^3.0.0": - "integrity" "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==" - "resolved" "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz" - "version" "3.0.0" +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== dependencies: - "array-back" "^3.0.1" + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/name-from-folder@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz" + integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== + +"@npmcli/node-gyp@^1.0.2", "@npmcli/node-gyp@^1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz" + integrity sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== + +"@npmcli/node-gyp@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz" + integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== -"find-up@^1.0.0": - "integrity" "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - "version" "1.1.2" +"@npmcli/package-json@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@npmcli/package-json/-/package-json-1.0.1.tgz" + integrity sha512-y6jnu76E9C23osz8gEMBayZmaZ69vFOIk8vR1FJL/wbEJ54+9aVG9rLTjQKSXfgYZEr50nw1txBBFfBZZe+bYg== dependencies: - "path-exists" "^2.0.0" - "pinkie-promise" "^2.0.0" + json-parse-even-better-errors "^2.3.1" -"find-up@^2.0.0": - "integrity" "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - "version" "2.1.0" +"@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": + version "1.3.2" + resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz" + integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== dependencies: - "locate-path" "^2.0.0" + infer-owner "^1.0.4" -"find-up@^3.0.0": - "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - "version" "3.0.0" +"@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": + version "6.0.2" + resolved "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz" + integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== dependencies: - "locate-path" "^3.0.0" + which "^3.0.0" -"find-up@^4.0.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" +"@npmcli/run-script@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-2.0.0.tgz" + integrity sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig== dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" + "@npmcli/node-gyp" "^1.0.2" + "@npmcli/promise-spawn" "^1.3.2" + node-gyp "^8.2.0" + read-package-json-fast "^2.0.1" + +"@npmcli/run-script@^6.0.0": + version "6.0.2" + resolved "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz" + integrity sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA== + dependencies: + "@npmcli/node-gyp" "^3.0.0" + "@npmcli/promise-spawn" "^6.0.0" + node-gyp "^9.0.0" + read-package-json-fast "^3.0.0" + which "^3.0.0" + +"@oclif/core@2.8.0": + version "2.8.0" + resolved "https://registry.npmjs.org/@oclif/core/-/core-2.8.0.tgz" + integrity sha512-A2wHItFrD/WOw5bJ6Mtv9MD7If0bsKNR0pwEY0me+fo4HSXlJOtgYGqmzb8t8akX3DUUT7XsjPajsoHLkIJyvg== + dependencies: + "@types/cli-progress" "^3.11.0" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.12.0" + debug "^4.3.4" + ejs "^3.1.8" + fs-extra "^9.1.0" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.2" + semver "^7.3.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + ts-node "^10.9.1" + tslib "^2.5.0" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + +"@oclif/core@^2.11.4", "@oclif/core@^2.15.0": + version "2.15.0" + resolved "https://registry.npmjs.org/@oclif/core/-/core-2.15.0.tgz" + integrity sha512-fNEMG5DzJHhYmI3MgpByTvltBOMyFcnRIUMxbiz2ai8rhaYgaTHMG3Q38HcosfIvtw9nCjxpcQtC8MN8QtVCcA== + dependencies: + "@types/cli-progress" "^3.11.0" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.12.0" + debug "^4.3.4" + ejs "^3.1.8" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + ts-node "^10.9.1" + tslib "^2.5.0" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + +"@oclif/plugin-help@^5", "@oclif/plugin-help@^5.2.14": + version "5.2.20" + resolved "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-5.2.20.tgz" + integrity sha512-u+GXX/KAGL9S10LxAwNUaWdzbEBARJ92ogmM7g3gDVud2HioCmvWQCDohNRVZ9GYV9oKwZ/M8xwd6a1d95rEKQ== + dependencies: + "@oclif/core" "^2.15.0" + +"@oclif/plugin-not-found@^2.3.32": + version "2.4.3" + resolved "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.4.3.tgz" + integrity sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg== + dependencies: + "@oclif/core" "^2.15.0" + chalk "^4" + fast-levenshtein "^3.0.0" + +"@oclif/plugin-warn-if-update-available@^2.0.44": + version "2.1.1" + resolved "https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.1.1.tgz" + integrity sha512-y7eSzT6R5bmTIJbiMMXgOlbBpcWXGlVhNeQJBLBCCy1+90Wbjyqf6uvY0i2WcO4sh/THTJ20qCW80j3XUlgDTA== + dependencies: + "@oclif/core" "^2.15.0" + chalk "^4.1.0" + debug "^4.1.0" + http-call "^5.2.2" + lodash.template "^4.5.0" + semver "^7.5.4" + +"@oclif/test@^2.3.13": + version "2.5.6" + resolved "https://registry.npmjs.org/@oclif/test/-/test-2.5.6.tgz" + integrity sha512-AcusFApdU6/akXaofhBDrY4IM9uYzlOD9bYCCM0NwUXOv1m6320hSp2DT/wkj9H1gsvKbJXZHqgtXsNGZTWLFg== + dependencies: + "@oclif/core" "^2.15.0" + fancy-test "^2.0.42" -"find-up@^4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" +"@octokit/auth-token@^2.4.4": + version "2.5.0" + resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" + "@octokit/types" "^6.0.3" -"find-up@^5.0.0", "find-up@5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" +"@octokit/core@^3.5.1": + version "3.6.0" + resolved "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz" + integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.6.3" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.0.3" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" -"find-yarn-workspace-root@^2.0.0": - "integrity" "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==" - "resolved" "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" - "version" "2.0.0" +"@octokit/endpoint@^6.0.1": + version "6.0.12" + resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" + integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== dependencies: - "micromatch" "^4.0.2" - -"find-yarn-workspace-root2@1.2.16": - "integrity" "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==" - "resolved" "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz" - "version" "1.2.16" - dependencies: - "micromatch" "^4.0.2" - "pkg-dir" "^4.2.0" - -"first-chunk-stream@^2.0.0": - "integrity" "sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==" - "resolved" "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "readable-stream" "^2.0.2" + "@octokit/types" "^6.0.3" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" -"flat-cache@^2.0.1": - "integrity" "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "flatted" "^2.0.0" - "rimraf" "2.6.3" - "write" "1.0.3" - -"flat-cache@^3.0.4": - "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "flatted" "^3.1.0" - "rimraf" "^3.0.2" - -"flat@^5.0.2": - "integrity" "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - "resolved" "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - "version" "5.0.2" - -"flatted@^2.0.0": - "integrity" "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz" - "version" "2.0.2" - -"flatted@^3.1.0": - "version" "3.2.5" +"@octokit/graphql@^4.5.8": + version "4.8.0" + resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz" + integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== + dependencies: + "@octokit/request" "^5.6.0" + "@octokit/types" "^6.0.3" + universal-user-agent "^6.0.0" -"flush-write-stream@^1.0.0": - "integrity" "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==" - "resolved" "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "inherits" "^2.0.3" - "readable-stream" "^2.3.6" - -"follow-redirects@^1.14.4", "follow-redirects@^1.14.9": - "integrity" "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz" - "version" "1.15.1" - -"for-each@^0.3.3": - "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" - "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "is-callable" "^1.1.3" - -"for-in@^1.0.2": - "integrity" "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - "version" "1.0.2" - -"foreground-child@^1.5.6": - "integrity" "sha512-3TOY+4TKV0Ml83PXJQY+JFQaHNV38lzQDIzzXYg1kWdBLenGgoZhAs0CKgzI31vi2pWEpQMq/Yi4bpKwCPkw7g==" - "resolved" "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz" - "version" "1.5.6" - dependencies: - "cross-spawn" "^4" - "signal-exit" "^3.0.0" - -"forever-agent@~0.6.1": - "integrity" "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - "version" "0.6.1" - -"form-data@^3.0.0": - "integrity" "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.8" - "mime-types" "^2.1.12" - -"form-data@^4.0.0": - "integrity" "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.8" - "mime-types" "^2.1.12" - -"form-data@~2.3.2": - "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.6" - "mime-types" "^2.1.12" - -"fragment-cache@^0.2.1": - "integrity" "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==" - "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "map-cache" "^0.2.2" - -"from@~0": - "integrity" "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==" - "resolved" "https://registry.npmjs.org/from/-/from-0.1.7.tgz" - "version" "0.1.7" - -"from2@^2.1.0": - "integrity" "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==" - "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "inherits" "^2.0.1" - "readable-stream" "^2.0.0" - -"fs-constants@^1.0.0": - "integrity" "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - "resolved" "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - "version" "1.0.0" - -"fs-exists-sync@^0.1.0": - "integrity" "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==" - "resolved" "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz" - "version" "0.1.0" - -"fs-extra@^10.0.0": - "version" "10.0.1" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^6.0.1": - "integrity" "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "graceful-fs" "^4.1.2" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-extra@^7.0.1": - "integrity" "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "graceful-fs" "^4.1.2" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-extra@^8.1": - "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-extra@^9.0", "fs-extra@^9.0.1", "fs-extra@^9.1.0": - "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "at-least-node" "^1.0.0" - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-minipass@^1.2.7": - "integrity" "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==" - "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz" - "version" "1.2.7" - dependencies: - "minipass" "^2.6.0" - -"fs-minipass@^2.0.0", "fs-minipass@^2.1.0": - "integrity" "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==" - "resolved" "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "minipass" "^3.0.0" - -"fs-write-stream-atomic@^1.0.8": - "integrity" "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==" - "resolved" "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "graceful-fs" "^4.1.2" - "iferr" "^0.1.5" - "imurmurhash" "^0.1.4" - "readable-stream" "1 || 2" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fs@0.0.1-security": - "integrity" "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" - "resolved" "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz" - "version" "0.0.1-security" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"function.prototype.name@^1.1.5": - "integrity" "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==" - "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.0" - "functions-have-names" "^1.2.2" - -"functional-red-black-tree@^1.0.1": - "integrity" "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - "version" "1.0.1" - -"functions-have-names@^1.2.2": - "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - "version" "1.2.3" - -"gauge@^3.0.0": - "integrity" "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==" - "resolved" "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "aproba" "^1.0.3 || ^2.0.0" - "color-support" "^1.1.2" - "console-control-strings" "^1.0.0" - "has-unicode" "^2.0.1" - "object-assign" "^4.1.1" - "signal-exit" "^3.0.0" - "string-width" "^4.2.3" - "strip-ansi" "^6.0.1" - "wide-align" "^1.1.2" - -"gauge@~2.7.3": - "integrity" "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==" - "resolved" "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" - "version" "2.7.4" - dependencies: - "aproba" "^1.0.3" - "console-control-strings" "^1.0.0" - "has-unicode" "^2.0.0" - "object-assign" "^4.1.0" - "signal-exit" "^3.0.0" - "string-width" "^1.0.1" - "strip-ansi" "^3.0.1" - "wide-align" "^1.1.0" - -"gaze@^1.1.2": - "integrity" "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==" - "resolved" "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "globule" "^1.0.0" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^2.0.1", "get-caller-file@^2.0.5": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-func-name@^2.0.0": - "integrity" "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" - "resolved" "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" - "version" "2.0.0" - -"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.0", "get-intrinsic@^1.1.1": - "version" "1.1.1" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.1" - -"get-package-type@^0.1.0": - "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - "version" "0.1.0" - -"get-pkg-repo@^4.0.0": - "integrity" "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==" - "resolved" "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "@hutson/parse-repository-url" "^3.0.0" - "hosted-git-info" "^4.0.0" - "through2" "^2.0.0" - "yargs" "^16.2.0" - -"get-port@^5.1.1": - "integrity" "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==" - "resolved" "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz" - "version" "5.1.1" - -"get-stdin@^4.0.1": - "integrity" "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==" - "resolved" "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" - "version" "4.0.1" - -"get-stream@^3.0.0": - "integrity" "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" - "version" "3.0.0" - -"get-stream@^4.1.0": - "version" "4.1.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^5.0.0", "get-stream@^5.1.0": - "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"get-symbol-description@^1.0.0": - "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" - "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.1" - -"get-value@^2.0.3", "get-value@^2.0.6": - "integrity" "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" - "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - "version" "2.0.6" - -"getpass@^0.1.1": - "integrity" "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==" - "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - "version" "0.1.7" - dependencies: - "assert-plus" "^1.0.0" - -"git-config-path@^1.0.1": - "integrity" "sha512-KcJ2dlrrP5DbBnYIZ2nlikALfRhKzNSX0stvv3ImJ+fvC4hXKoV+U+74SV0upg+jlQZbrtQzc0bu6/Zh+7aQbg==" - "resolved" "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "extend-shallow" "^2.0.1" - "fs-exists-sync" "^0.1.0" - "homedir-polyfill" "^1.0.0" - -"git-raw-commits@^2.0.0", "git-raw-commits@^2.0.8": - "integrity" "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==" - "resolved" "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz" - "version" "2.0.11" - dependencies: - "dargs" "^7.0.0" - "lodash" "^4.17.15" - "meow" "^8.0.0" - "split2" "^3.0.0" - "through2" "^4.0.0" - -"git-remote-origin-url@^2.0.0": - "integrity" "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==" - "resolved" "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "gitconfiglocal" "^1.0.0" - "pify" "^2.3.0" - -"git-semver-tags@^4.1.1": - "integrity" "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==" - "resolved" "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "meow" "^8.0.0" - "semver" "^6.0.0" - -"git-up@^4.0.0": - "integrity" "sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==" - "resolved" "https://registry.npmjs.org/git-up/-/git-up-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "is-ssh" "^1.3.0" - "parse-url" "^6.0.0" - -"git-url-parse@^11.4.4", "git-url-parse@^11.6.0": - "integrity" "sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==" - "resolved" "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.6.0.tgz" - "version" "11.6.0" - dependencies: - "git-up" "^4.0.0" +"@octokit/openapi-types@^12.11.0": + version "12.11.0" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz" + integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ== -"git-user-name@^2.0.0": - "integrity" "sha512-1DC8rUNm2I5V9v4eIpK6PSjKCp9bI0t6Wl05WSk+xEMS8GhR8GWzxM3aGZfPrfuqEfWxSbui5/pQJryJFXqCzQ==" - "resolved" "https://registry.npmjs.org/git-user-name/-/git-user-name-2.0.0.tgz" - "version" "2.0.0" +"@octokit/plugin-paginate-rest@^2.16.8": + version "2.21.3" + resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz" + integrity sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw== dependencies: - "extend-shallow" "^2.0.1" - "git-config-path" "^1.0.1" - "parse-git-config" "^1.1.1" + "@octokit/types" "^6.40.0" -"gitconfiglocal@^1.0.0": - "integrity" "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==" - "resolved" "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "ini" "^1.3.2" +"@octokit/plugin-request-log@^1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== -"github-slugger@^1.2.1", "github-slugger@^1.4.0": - "integrity" "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==" - "resolved" "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz" - "version" "1.4.0" +"@octokit/plugin-rest-endpoint-methods@^5.12.0": + version "5.16.2" + resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz" + integrity sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw== + dependencies: + "@octokit/types" "^6.39.0" + deprecation "^2.3.1" -"github-username@^6.0.0": - "integrity" "sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==" - "resolved" "https://registry.npmjs.org/github-username/-/github-username-6.0.0.tgz" - "version" "6.0.0" +"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: - "@octokit/rest" "^18.0.6" + "@octokit/types" "^6.0.3" + deprecation "^2.0.0" + once "^1.4.0" -"glob-parent@^3.1.0": - "integrity" "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "is-glob" "^3.1.0" - "path-dirname" "^1.0.0" - -"glob-parent@^5.1.1", "glob-parent@^5.1.2", "glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob-parent@^6.0.1": - "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "is-glob" "^4.0.3" - -"glob-to-regexp@^0.3.0": - "integrity" "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz" - "version" "0.3.0" - -"glob-to-regexp@^0.4.1": - "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - "version" "0.4.1" - -"glob@^7.0.0", "glob@^7.0.5", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6", "glob@^7.2.0", "glob@7.2.0": - "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"glob@^8.0.1": - "version" "8.0.1" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^5.0.1" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"glob@~7.1.1": - "integrity" "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - "version" "7.1.7" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"glob@7.1.2": - "integrity" "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" - "version" "7.1.2" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"global-dirs@^0.1.1": - "integrity" "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==" - "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "ini" "^1.3.4" - -"global-dirs@^3.0.0": - "version" "3.0.0" - dependencies: - "ini" "2.0.0" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globals@^11.7.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globals@^13.6.0", "globals@^13.9.0": - "version" "13.15.0" - dependencies: - "type-fest" "^0.20.2" - -"globby@^10.0.1": - "integrity" "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==" - "resolved" "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz" - "version" "10.0.2" - dependencies: - "@types/glob" "^7.1.1" - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.0.3" - "glob" "^7.1.3" - "ignore" "^5.1.1" - "merge2" "^1.2.3" - "slash" "^3.0.0" - -"globby@^10.0.2": - "integrity" "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==" - "resolved" "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz" - "version" "10.0.2" - dependencies: - "@types/glob" "^7.1.1" - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.0.3" - "glob" "^7.1.3" - "ignore" "^5.1.1" - "merge2" "^1.2.3" - "slash" "^3.0.0" - -"globby@^11", "globby@^11.0.1", "globby@^11.0.2", "globby@^11.0.3", "globby@^11.0.4", "globby@^11.1.0": - "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - "version" "11.1.0" - dependencies: - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.2.9" - "ignore" "^5.2.0" - "merge2" "^1.4.1" - "slash" "^3.0.0" - -"globby@^9.2.0": - "integrity" "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==" - "resolved" "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz" - "version" "9.2.0" - dependencies: - "@types/glob" "^7.1.1" - "array-union" "^1.0.2" - "dir-glob" "^2.2.2" - "fast-glob" "^2.2.6" - "glob" "^7.1.3" - "ignore" "^4.0.3" - "pify" "^4.0.1" - "slash" "^2.0.0" - -"globule@^1.0.0": - "version" "1.3.3" - dependencies: - "glob" "~7.1.1" - "lodash" "~4.17.10" - "minimatch" "~3.0.2" - -"got@^11.0.2", "got@^11.8.1", "got@^11.8.2": - "integrity" "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==" - "resolved" "https://registry.npmjs.org/got/-/got-11.8.5.tgz" - "version" "11.8.5" +"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": + version "5.6.3" + resolved "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz" + integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - "cacheable-lookup" "^5.0.3" - "cacheable-request" "^7.0.2" - "decompress-response" "^6.0.0" - "http2-wrapper" "^1.0.0-beta.5.2" - "lowercase-keys" "^2.0.0" - "p-cancelable" "^2.0.0" - "responselike" "^2.0.0" - -"got@^9.6.0": - "version" "9.6.0" - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - "cacheable-request" "^6.0.0" - "decompress-response" "^3.3.0" - "duplexer3" "^0.1.4" - "get-stream" "^4.1.0" - "lowercase-keys" "^1.0.1" - "mimic-response" "^1.0.1" - "p-cancelable" "^1.0.0" - "to-readable-stream" "^1.0.0" - "url-parse-lax" "^3.0.0" - -"graceful-fs@^4.1.11", "graceful-fs@^4.1.15", "graceful-fs@^4.1.2", "graceful-fs@^4.1.5", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.2", "graceful-fs@^4.2.3", "graceful-fs@^4.2.4", "graceful-fs@^4.2.9": - "integrity" "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - "version" "4.2.10" - -"grapheme-splitter@^1.0.2": - "integrity" "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - "resolved" "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - "version" "1.0.4" - -"grouped-queue@^2.0.0": - "integrity" "sha512-/PiFUa7WIsl48dUeCvhIHnwNmAAzlI/eHoJl0vu3nsFA366JleY7Ff8EVTplZu5kO0MIdZjKTTnzItL61ahbnw==" - "resolved" "https://registry.npmjs.org/grouped-queue/-/grouped-queue-2.0.0.tgz" - "version" "2.0.0" - -"growl@1.10.5": - "integrity" "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - "resolved" "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" - "version" "1.10.5" - -"growly@^1.3.0": - "integrity" "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==" - "resolved" "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" - "version" "1.3.0" - -"handlebars@^4.7.7": - "integrity" "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==" - "resolved" "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" - "version" "4.7.7" - dependencies: - "minimist" "^1.2.5" - "neo-async" "^2.6.0" - "source-map" "^0.6.1" - "wordwrap" "^1.0.0" - optionalDependencies: - "uglify-js" "^3.1.4" - -"har-schema@^2.0.0": - "integrity" "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - "version" "2.0.0" - -"har-validator@~5.1.3": - "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" - "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" - "version" "5.1.5" - dependencies: - "ajv" "^6.12.3" - "har-schema" "^2.0.0" - -"hard-rejection@^2.1.0": - "integrity" "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" - "resolved" "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" - "version" "2.1.0" - -"has-ansi@^2.0.0": - "integrity" "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==" - "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "ansi-regex" "^2.0.0" - -"has-bigints@^1.0.1", "has-bigints@^1.0.2": - "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - "version" "1.0.2" - -"has-flag@^2.0.0": - "integrity" "sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" - "version" "2.0.0" - -"has-flag@^3.0.0": - "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-property-descriptors@^1.0.0": - "integrity" "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" - "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-intrinsic" "^1.1.1" - -"has-symbols@^1.0.1", "has-symbols@^1.0.2", "has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has-tostringtag@^1.0.0": - "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" - "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-symbols" "^1.0.2" - -"has-unicode@^2.0.0", "has-unicode@^2.0.1": - "integrity" "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - "resolved" "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - "version" "2.0.1" - -"has-value@^0.3.1": - "integrity" "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - "version" "0.3.1" - dependencies: - "get-value" "^2.0.3" - "has-values" "^0.1.4" - "isobject" "^2.0.0" - -"has-value@^1.0.0": - "integrity" "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-value" "^2.0.6" - "has-values" "^1.0.0" - "isobject" "^3.0.0" - -"has-values@^0.1.4": - "integrity" "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - "version" "0.1.4" - -"has-values@^1.0.0": - "integrity" "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-number" "^3.0.0" - "kind-of" "^4.0.0" - -"has-yarn@^2.1.0": - "version" "2.1.0" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"hash-base@^3.0.0": - "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" - "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "inherits" "^2.0.4" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"hash.js@^1.0.0", "hash.js@^1.0.3": - "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" - "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "inherits" "^2.0.3" - "minimalistic-assert" "^1.0.1" - -"hasha@^3.0.0": - "integrity" "sha512-w0Kz8lJFBoyaurBiNrIvxPqr/gJ6fOfSkpAPOepN3oECqGJag37xPbOv57izi/KP8auHgNYxn5fXtAb+1LsJ6w==" - "resolved" "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "is-stream" "^1.0.1" - -"he@1.1.1": - "integrity" "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==" - "resolved" "https://registry.npmjs.org/he/-/he-1.1.1.tgz" - "version" "1.1.1" - -"he@1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"hmac-drbg@^1.0.1": - "integrity" "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" - "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "hash.js" "^1.0.3" - "minimalistic-assert" "^1.0.0" - "minimalistic-crypto-utils" "^1.0.1" - -"homedir-polyfill@^1.0.0": - "integrity" "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==" - "resolved" "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "parse-passwd" "^1.0.0" - -"hosted-git-info@^2.1.4": - "integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - "version" "2.8.9" - -"hosted-git-info@^4.0.0", "hosted-git-info@^4.0.1": - "integrity" "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==" - "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "lru-cache" "^6.0.0" - -"html-encoding-sniffer@^2.0.1": - "integrity" "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==" - "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "whatwg-encoding" "^1.0.5" - -"html-escaper@^2.0.0": - "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - "version" "2.0.2" - -"http-cache-semantics@^4.0.0", "http-cache-semantics@^4.1.0": - "integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - "version" "4.1.0" - -"http-call@^5.1.2", "http-call@^5.2.2": - "integrity" "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==" - "resolved" "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "content-type" "^1.0.4" - "debug" "^4.1.1" - "is-retry-allowed" "^1.1.0" - "is-stream" "^2.0.0" - "parse-json" "^4.0.0" - "tunnel-agent" "^0.6.0" - -"http-proxy-agent@^4.0.1": - "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" - "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - "version" "4.0.1" + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" + +"@octokit/rest@^18.0.6": + version "18.12.0" + resolved "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz" + integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== dependencies: - "@tootallnate/once" "1" - "agent-base" "6" - "debug" "4" + "@octokit/core" "^3.5.1" + "@octokit/plugin-paginate-rest" "^2.16.8" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^5.12.0" -"http-proxy-agent@^5.0.0": - "integrity" "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==" - "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" - "version" "5.0.0" +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.39.0", "@octokit/types@^6.40.0": + version "6.41.0" + resolved "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz" + integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg== dependencies: - "@tootallnate/once" "2" - "agent-base" "6" - "debug" "4" + "@octokit/openapi-types" "^12.11.0" -"http-signature@~1.2.0": - "integrity" "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==" - "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "assert-plus" "^1.0.0" - "jsprim" "^1.2.2" - "sshpk" "^1.7.0" - -"http2-wrapper@^1.0.0-beta.5.2": - "integrity" "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==" - "resolved" "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "quick-lru" "^5.1.1" - "resolve-alpn" "^1.0.0" - -"https-browserify@^1.0.0": - "integrity" "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" - "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" - "version" "1.0.0" - -"https-proxy-agent@^5.0.0", "https-proxy-agent@^5.0.1", "https-proxy-agent@5.0.1": - "integrity" "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==" - "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "agent-base" "6" - "debug" "4" - -"human-signals@^1.1.1": - "integrity" "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" - "version" "1.1.1" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"humanize-ms@^1.2.1": - "integrity" "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==" - "resolved" "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "ms" "^2.0.0" - -"husky@^7.0.4": - "integrity" "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==" - "resolved" "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" - "version" "7.0.4" - -"hyperlinker@^1.0.0": - "integrity" "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==" - "resolved" "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz" - "version" "1.0.0" - -"iconv-lite@^0.4.24", "iconv-lite@0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"iconv-lite@^0.6.2": - "integrity" "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "safer-buffer" ">= 2.1.2 < 3.0.0" - -"ieee754@^1.1.13", "ieee754@^1.1.4", "ieee754@1.1.13": - "integrity" "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" - "version" "1.1.13" - -"iferr@^0.1.5": - "integrity" "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" - "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" - "version" "0.1.5" - -"ignore-by-default@^1.0.1": - "integrity" "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" - "resolved" "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz" - "version" "1.0.1" - -"ignore-walk@^3.0.3": - "integrity" "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==" - "resolved" "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "minimatch" "^3.0.4" - -"ignore-walk@^4.0.1": - "integrity" "sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==" - "resolved" "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "minimatch" "^3.0.4" - -"ignore@^4.0.2", "ignore@^4.0.6": - "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - "version" "4.0.6" - -"ignore@^4.0.3": - "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - "version" "4.0.6" - -"ignore@^5.1.1", "ignore@^5.1.8", "ignore@^5.2.0": - "integrity" "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - "version" "5.2.0" - -"import-fresh@^3.0.0", "import-fresh@^3.2.1": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-lazy@^2.1.0": - "version" "2.1.0" - -"import-local@^3.0.2": - "integrity" "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "pkg-dir" "^4.2.0" - "resolve-cwd" "^3.0.0" - -"import-modules@^1.1.0": - "integrity" "sha512-szMf9iPglnnDYueTxUzJWM+dXlwgfOIIONjVj36ZX8YHG9vBGCHPCpawKr+uIXD0Znm7QQlznIQtVjxfwJkq4g==" - "resolved" "https://registry.npmjs.org/import-modules/-/import-modules-1.1.0.tgz" - "version" "1.1.0" - -"imurmurhash@^0.1.4": - "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"indent-string@^3.0.0": - "integrity" "sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==" - "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz" - "version" "3.2.0" - -"indent-string@^4.0.0": - "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - "version" "4.0.0" - -"infer-owner@^1.0.3", "infer-owner@^1.0.4": - "integrity" "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - "resolved" "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" - "version" "1.0.4" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"inherits@2.0.1": - "integrity" "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - "version" "2.0.1" - -"inherits@2.0.3": - "integrity" "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - "version" "2.0.3" - -"ini@^1.3.2", "ini@^1.3.4", "ini@~1.3.0": - "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - "version" "1.3.8" - -"ini@2.0.0": - "version" "2.0.0" - -"init-package-json@^2.0.2": - "integrity" "sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA==" - "resolved" "https://registry.npmjs.org/init-package-json/-/init-package-json-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "npm-package-arg" "^8.1.5" - "promzard" "^0.3.0" - "read" "~1.0.1" - "read-package-json" "^4.1.1" - "semver" "^7.3.5" - "validate-npm-package-license" "^3.0.4" - "validate-npm-package-name" "^3.0.0" - -"inquirer@^6.2.2": - "integrity" "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==" - "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz" - "version" "6.5.2" - dependencies: - "ansi-escapes" "^3.2.0" - "chalk" "^2.4.2" - "cli-cursor" "^2.1.0" - "cli-width" "^2.0.0" - "external-editor" "^3.0.3" - "figures" "^2.0.0" - "lodash" "^4.17.12" - "mute-stream" "0.0.7" - "run-async" "^2.2.0" - "rxjs" "^6.4.0" - "string-width" "^2.1.0" - "strip-ansi" "^5.1.0" - "through" "^2.3.6" - -"inquirer@^7.3.3": - "integrity" "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==" - "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz" - "version" "7.3.3" - dependencies: - "ansi-escapes" "^4.2.1" - "chalk" "^4.1.0" - "cli-cursor" "^3.1.0" - "cli-width" "^3.0.0" - "external-editor" "^3.0.3" - "figures" "^3.0.0" - "lodash" "^4.17.19" - "mute-stream" "0.0.8" - "run-async" "^2.4.0" - "rxjs" "^6.6.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - "through" "^2.3.6" - -"inquirer@^8.0.0", "inquirer@^8.1.0", "inquirer@8.2.4": - "integrity" "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==" - "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz" - "version" "8.2.4" - dependencies: - "ansi-escapes" "^4.2.1" - "chalk" "^4.1.1" - "cli-cursor" "^3.1.0" - "cli-width" "^3.0.0" - "external-editor" "^3.0.3" - "figures" "^3.0.0" - "lodash" "^4.17.21" - "mute-stream" "0.0.8" - "ora" "^5.4.1" - "run-async" "^2.4.0" - "rxjs" "^7.5.5" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - "through" "^2.3.6" - "wrap-ansi" "^7.0.0" - -"internal-slot@^1.0.3": - "integrity" "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==" - "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "get-intrinsic" "^1.1.0" - "has" "^1.0.3" - "side-channel" "^1.0.4" - -"interpret@^1.0.0": - "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - "version" "1.4.0" - -"interpret@^2.2.0": - "integrity" "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz" - "version" "2.2.0" - -"ip@^1.1.5": - "version" "1.1.5" - -"is-accessor-descriptor@^0.1.6": - "integrity" "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "kind-of" "^3.0.2" - -"is-accessor-descriptor@^1.0.0": - "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^6.0.0" - -"is-arguments@^1.0.4": - "integrity" "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==" - "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-arrayish@^0.2.1": - "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-bigint@^1.0.1": - "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" - "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-bigints" "^1.0.1" - -"is-binary-path@^1.0.0": - "integrity" "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "binary-extensions" "^1.0.0" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" - -"is-boolean-object@^1.1.0": - "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" - "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-buffer@^1.1.5": - "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - "version" "1.1.6" - -"is-builtin-module@^3.1.0": - "integrity" "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==" - "resolved" "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "builtin-modules" "^3.0.0" - -"is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.4": - "integrity" "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" - "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" - "version" "1.2.4" +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"is-ci@^2.0.0": - "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" - "version" "2.0.0" +"@sigstore/bundle@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz" + integrity sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog== dependencies: - "ci-info" "^2.0.0" + "@sigstore/protobuf-specs" "^0.2.0" -"is-core-module@^2.5.0", "is-core-module@^2.8.1": - "version" "2.8.1" - dependencies: - "has" "^1.0.3" +"@sigstore/protobuf-specs@^0.2.0": + version "0.2.1" + resolved "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz" + integrity sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A== -"is-data-descriptor@^0.1.4": - "integrity" "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - "version" "0.1.4" +"@sigstore/sign@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz" + integrity sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA== dependencies: - "kind-of" "^3.0.2" + "@sigstore/bundle" "^1.1.0" + "@sigstore/protobuf-specs" "^0.2.0" + make-fetch-happen "^11.0.1" -"is-data-descriptor@^1.0.0": - "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - "version" "1.0.0" +"@sigstore/tuf@^1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz" + integrity sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg== dependencies: - "kind-of" "^6.0.0" + "@sigstore/protobuf-specs" "^0.2.0" + tuf-js "^1.1.7" -"is-date-object@^1.0.1": - "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" - "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "has-tostringtag" "^1.0.0" +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== -"is-descriptor@^0.1.0": - "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - "version" "0.1.6" +"@sinonjs/commons@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz" + integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== dependencies: - "is-accessor-descriptor" "^0.1.6" - "is-data-descriptor" "^0.1.4" - "kind-of" "^5.0.0" + type-detect "4.0.8" -"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": - "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - "version" "1.0.2" +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== dependencies: - "is-accessor-descriptor" "^1.0.0" - "is-data-descriptor" "^1.0.0" - "kind-of" "^6.0.2" + type-detect "4.0.8" -"is-docker@^2.0.0", "is-docker@^2.1.1": - "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - "version" "2.2.1" +"@sinonjs/fake-timers@^10.3.0": + version "10.3.0" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" -"is-extendable@^0.1.0", "is-extendable@^0.1.1": - "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" +"@sinonjs/fake-timers@^11.2.2": + version "11.2.2" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz" + integrity sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw== + dependencies: + "@sinonjs/commons" "^3.0.0" -"is-extendable@^1.0.1": - "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - "version" "1.0.1" +"@sinonjs/samsam@^8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz" + integrity sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew== dependencies: - "is-plain-object" "^2.0.4" + "@sinonjs/commons" "^2.0.0" + lodash.get "^4.4.2" + type-detect "^4.0.8" -"is-extglob@^2.1.0", "is-extglob@^2.1.1": - "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" +"@sinonjs/text-encoding@^0.7.2": + version "0.7.2" + resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz" + integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== -"is-fullwidth-code-point@^1.0.0": - "integrity" "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - "version" "1.0.0" +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== dependencies: - "number-is-nan" "^1.0.0" + defer-to-connect "^2.0.0" -"is-fullwidth-code-point@^2.0.0": - "integrity" "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - "version" "2.0.0" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== -"is-fullwidth-code-point@^4.0.0": - "integrity" "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" - "version" "4.0.0" +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== -"is-generator-fn@^2.0.0": - "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - "version" "2.1.0" +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== -"is-generator-function@^1.0.7": - "integrity" "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==" - "resolved" "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "has-tostringtag" "^1.0.0" +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== -"is-glob@^3.1.0": - "integrity" "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "is-extglob" "^2.1.0" - -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": - "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "is-extglob" "^2.1.1" - -"is-installed-globally@^0.4.0": - "version" "0.4.0" - dependencies: - "global-dirs" "^3.0.0" - "is-path-inside" "^3.0.2" - -"is-interactive@^1.0.0": - "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" - "version" "1.0.0" - -"is-lambda@^1.0.1": - "integrity" "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" - "resolved" "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" - "version" "1.0.1" - -"is-negative-zero@^2.0.2": - "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - "version" "2.0.2" - -"is-npm@^5.0.0": - "version" "5.0.0" - -"is-number-object@^1.0.4": - "integrity" "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==" - "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-number@^3.0.0": - "integrity" "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "kind-of" "^3.0.2" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-obj@^2.0.0": - "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" - "version" "2.0.0" - -"is-path-inside@^3.0.2": - "version" "3.0.3" - -"is-plain-obj@^1.0.0": - "integrity" "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - "version" "1.1.0" +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== -"is-plain-obj@^1.1.0": - "integrity" "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - "version" "1.1.0" +"@tufjs/canonical-json@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz" + integrity sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ== -"is-plain-obj@^2.0.0", "is-plain-obj@^2.1.0": - "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - "version" "2.1.0" +"@tufjs/models@1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz" + integrity sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A== + dependencies: + "@tufjs/canonical-json" "1.0.0" + minimatch "^9.0.0" -"is-plain-object@^2.0.3", "is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" +"@types/bluebird@^3.5.38": + version "3.5.42" + resolved "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.42.tgz" + integrity sha512-Jhy+MWRlro6UjVi578V/4ZGNfeCOcNCp0YaFNIUGFKlImowqwb1O/22wDVk3FDGMLqxdpOV3qQHD5fPEH4hK6A== -"is-plain-object@^5.0.0": - "integrity" "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - "version" "5.0.0" +"@types/cacheable-request@^6.0.1": + version "6.0.3" + resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" -"is-port-reachable@^3.0.0": - "integrity" "sha512-vjc0SSRNZ32s9SbZBzGaiP6YVB+xglLShhgZD/FHMZUXBvQWaV9CtzgeVhjccFJrI6RAMV+LX7NYxueW/A8W5A==" - "resolved" "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-3.1.0.tgz" - "version" "3.1.0" +"@types/chai@*", "@types/chai@^4": + version "4.3.11" + resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz" + integrity sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ== -"is-potential-custom-element-name@^1.0.1": - "integrity" "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - "resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" - "version" "1.0.1" - -"is-regex@^1.1.4": - "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" - "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-retry-allowed@^1.1.0": - "integrity" "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" - "resolved" "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" - "version" "1.2.0" - -"is-running@^2.1.0": - "integrity" "sha512-mjJd3PujZMl7j+D395WTIO5tU5RIDBfVSRtRR4VOJou3H66E38UjbjvDGh3slJzPuolsb+yQFqwHNNdyp5jg3w==" - "resolved" "https://registry.npmjs.org/is-running/-/is-running-2.1.0.tgz" - "version" "2.1.0" - -"is-scoped@^2.1.0": - "integrity" "sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==" - "resolved" "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "scoped-regex" "^2.0.0" - -"is-shared-array-buffer@^1.0.2": - "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" - "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-ssh@^1.3.0": - "version" "1.3.3" - dependencies: - "protocols" "^1.1.0" - -"is-stream@^1.0.1": - "integrity" "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - "version" "1.1.0" - -"is-stream@^1.1.0": - "integrity" "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - "version" "1.1.0" - -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" - -"is-string@^1.0.5", "is-string@^1.0.7": - "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" - "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-symbol@^1.0.2", "is-symbol@^1.0.3": - "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" - "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-symbols" "^1.0.2" - -"is-text-path@^1.0.1": - "integrity" "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==" - "resolved" "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "text-extensions" "^1.0.0" - -"is-typed-array@^1.1.3", "is-typed-array@^1.1.9": - "integrity" "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==" - "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz" - "version" "1.1.9" - dependencies: - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.2" - "es-abstract" "^1.20.0" - "for-each" "^0.3.3" - "has-tostringtag" "^1.0.0" - -"is-typedarray@^1.0.0", "is-typedarray@~1.0.0": - "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"is-unicode-supported@^0.1.0": - "integrity" "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - "resolved" "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - "version" "0.1.0" - -"is-utf8@^0.2.0", "is-utf8@^0.2.1": - "integrity" "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" - "resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - "version" "0.2.1" - -"is-weakref@^1.0.2": - "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" - "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-windows@^1.0.2": - "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - "version" "1.0.2" - -"is-wsl@^1.1.0": - "integrity" "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" - "version" "1.1.0" - -"is-wsl@^2.1.1", "is-wsl@^2.2.0": - "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "is-docker" "^2.0.0" - -"is-yarn-global@^0.3.0": - "version" "0.3.0" - -"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": - "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isarray@0.0.1": - "integrity" "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - "version" "0.0.1" - -"isbinaryfile@^4.0.8": - "integrity" "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==" - "resolved" "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz" - "version" "4.0.10" - -"isexe@^2.0.0": - "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^2.0.0": - "integrity" "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "isarray" "1.0.0" - -"isobject@^3.0.0", "isobject@^3.0.1": - "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"isstream@~0.1.2": - "integrity" "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - "version" "0.1.2" - -"istanbul-lib-coverage@^2.0.5": - "integrity" "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" - "version" "2.0.5" - -"istanbul-lib-coverage@^3.0.0": - "integrity" "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - "version" "3.2.0" - -"istanbul-lib-coverage@^3.2.0": - "integrity" "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - "version" "3.2.0" - -"istanbul-lib-hook@^2.0.7": - "integrity" "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==" - "resolved" "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "append-transform" "^1.0.0" - -"istanbul-lib-instrument@^3.3.0": - "integrity" "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==" - "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - "istanbul-lib-coverage" "^2.0.5" - "semver" "^6.0.0" - -"istanbul-lib-instrument@^5.0.4", "istanbul-lib-instrument@^5.1.0": - "version" "5.1.0" - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - "istanbul-lib-coverage" "^3.2.0" - "semver" "^6.3.0" - -"istanbul-lib-report@^2.0.8": - "integrity" "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==" - "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz" - "version" "2.0.8" - dependencies: - "istanbul-lib-coverage" "^2.0.5" - "make-dir" "^2.1.0" - "supports-color" "^6.1.0" - -"istanbul-lib-report@^3.0.0": - "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "istanbul-lib-coverage" "^3.0.0" - "make-dir" "^3.0.0" - "supports-color" "^7.1.0" - -"istanbul-lib-source-maps@^3.0.6": - "integrity" "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz" - "version" "3.0.6" - dependencies: - "debug" "^4.1.1" - "istanbul-lib-coverage" "^2.0.5" - "make-dir" "^2.1.0" - "rimraf" "^2.6.3" - "source-map" "^0.6.1" - -"istanbul-lib-source-maps@^4.0.0": - "integrity" "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "debug" "^4.1.1" - "istanbul-lib-coverage" "^3.0.0" - "source-map" "^0.6.1" - -"istanbul-reports@^2.2.4": - "integrity" "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==" - "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz" - "version" "2.2.7" - dependencies: - "html-escaper" "^2.0.0" - -"istanbul-reports@^3.1.3": - "version" "3.1.4" - dependencies: - "html-escaper" "^2.0.0" - "istanbul-lib-report" "^3.0.0" - -"jake@^10.8.5": - "integrity" "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==" - "resolved" "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz" - "version" "10.8.5" - dependencies: - "async" "^3.2.3" - "chalk" "^4.0.2" - "filelist" "^1.0.1" - "minimatch" "^3.0.4" - -"jest-changed-files@^27.5.1": - "integrity" "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==" - "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "execa" "^5.0.0" - "throat" "^6.0.1" - -"jest-circus@^27.5.1": - "integrity" "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==" - "resolved" "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "co" "^4.6.0" - "dedent" "^0.7.0" - "expect" "^27.5.1" - "is-generator-fn" "^2.0.0" - "jest-each" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-runtime" "^27.5.1" - "jest-snapshot" "^27.5.1" - "jest-util" "^27.5.1" - "pretty-format" "^27.5.1" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - "throat" "^6.0.1" - -"jest-cli@^27.5.1": - "integrity" "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==" - "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "chalk" "^4.0.0" - "exit" "^0.1.2" - "graceful-fs" "^4.2.9" - "import-local" "^3.0.2" - "jest-config" "^27.5.1" - "jest-util" "^27.5.1" - "jest-validate" "^27.5.1" - "prompts" "^2.0.1" - "yargs" "^16.2.0" - -"jest-config@^27.5.1": - "integrity" "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==" - "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - "babel-jest" "^27.5.1" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "deepmerge" "^4.2.2" - "glob" "^7.1.1" - "graceful-fs" "^4.2.9" - "jest-circus" "^27.5.1" - "jest-environment-jsdom" "^27.5.1" - "jest-environment-node" "^27.5.1" - "jest-get-type" "^27.5.1" - "jest-jasmine2" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-runner" "^27.5.1" - "jest-util" "^27.5.1" - "jest-validate" "^27.5.1" - "micromatch" "^4.0.4" - "parse-json" "^5.2.0" - "pretty-format" "^27.5.1" - "slash" "^3.0.0" - "strip-json-comments" "^3.1.1" - -"jest-diff@^27.5.1": - "integrity" "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==" - "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "chalk" "^4.0.0" - "diff-sequences" "^27.5.1" - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-diff@^28.1.0": - "version" "28.1.0" - dependencies: - "chalk" "^4.0.0" - "diff-sequences" "^28.0.2" - "jest-get-type" "^28.0.2" - "pretty-format" "^28.1.0" - -"jest-docblock@^27.5.1": - "integrity" "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==" - "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "detect-newline" "^3.0.0" - -"jest-each@^27.5.1": - "integrity" "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==" - "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "chalk" "^4.0.0" - "jest-get-type" "^27.5.1" - "jest-util" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-environment-jsdom@^27.5.1": - "integrity" "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==" - "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "jest-mock" "^27.5.1" - "jest-util" "^27.5.1" - "jsdom" "^16.6.0" - -"jest-environment-node@^27.5.1": - "integrity" "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==" - "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "jest-mock" "^27.5.1" - "jest-util" "^27.5.1" - -"jest-fetch-mock@^3.0.3": - "integrity" "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==" - "resolved" "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "cross-fetch" "^3.0.4" - "promise-polyfill" "^8.1.3" - -"jest-get-type@^27.5.1": - "integrity" "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" - "version" "27.5.1" - -"jest-get-type@^28.0.2": - "integrity" "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz" - "version" "28.0.2" - -"jest-haste-map@^27.5.1": - "integrity" "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==" - "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" +"@types/cli-progress@^3.11.0": + version "3.11.5" + resolved "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.5.tgz" + integrity sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g== + dependencies: "@types/node" "*" - "anymatch" "^3.0.3" - "fb-watchman" "^2.0.0" - "graceful-fs" "^4.2.9" - "jest-regex-util" "^27.5.1" - "jest-serializer" "^27.5.1" - "jest-util" "^27.5.1" - "jest-worker" "^27.5.1" - "micromatch" "^4.0.4" - "walker" "^1.0.7" - optionalDependencies: - "fsevents" "^2.3.2" -"jest-jasmine2@^27.5.1": - "integrity" "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==" - "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" - "version" "27.5.1" +"@types/expect@^1.20.4": + version "1.20.4" + resolved "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz" + integrity sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg== + +"@types/fs-extra@^11.0.4": + version "11.0.4" + resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz" + integrity sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "co" "^4.6.0" - "expect" "^27.5.1" - "is-generator-fn" "^2.0.0" - "jest-each" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-runtime" "^27.5.1" - "jest-snapshot" "^27.5.1" - "jest-util" "^27.5.1" - "pretty-format" "^27.5.1" - "throat" "^6.0.1" - -"jest-leak-detector@^27.5.1": - "integrity" "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==" - "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-matcher-utils@^27.0.0", "jest-matcher-utils@^27.5.1": - "integrity" "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==" - "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "chalk" "^4.0.0" - "jest-diff" "^27.5.1" - "jest-get-type" "^27.5.1" - "pretty-format" "^27.5.1" - -"jest-matcher-utils@^28.1.0": - "version" "28.1.0" - dependencies: - "chalk" "^4.0.0" - "jest-diff" "^28.1.0" - "jest-get-type" "^28.0.2" - "pretty-format" "^28.1.0" - -"jest-message-util@^27.5.1": - "integrity" "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==" - "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "micromatch" "^4.0.4" - "pretty-format" "^27.5.1" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - -"jest-message-util@^28.1.0": - "version" "28.1.0" - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.0" - "@types/stack-utils" "^2.0.0" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "micromatch" "^4.0.4" - "pretty-format" "^28.1.0" - "slash" "^3.0.0" - "stack-utils" "^2.0.3" - -"jest-mock@^27.5.1": - "integrity" "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==" - "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" + "@types/jsonfile" "*" "@types/node" "*" -"jest-pnp-resolver@^1.2.2": - "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" - "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" - "version" "1.2.2" - -"jest-regex-util@^27.5.1": - "integrity" "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" - "version" "27.5.1" - -"jest-resolve-dependencies@^27.5.1": - "integrity" "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==" - "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-snapshot" "^27.5.1" - -"jest-resolve@*", "jest-resolve@^27.5.1": - "integrity" "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==" - "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "chalk" "^4.0.0" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-pnp-resolver" "^1.2.2" - "jest-util" "^27.5.1" - "jest-validate" "^27.5.1" - "resolve" "^1.20.0" - "resolve.exports" "^1.1.0" - "slash" "^3.0.0" - -"jest-runner@^27.5.1": - "integrity" "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==" - "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "emittery" "^0.8.1" - "graceful-fs" "^4.2.9" - "jest-docblock" "^27.5.1" - "jest-environment-jsdom" "^27.5.1" - "jest-environment-node" "^27.5.1" - "jest-haste-map" "^27.5.1" - "jest-leak-detector" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-runtime" "^27.5.1" - "jest-util" "^27.5.1" - "jest-worker" "^27.5.1" - "source-map-support" "^0.5.6" - "throat" "^6.0.1" - -"jest-runtime@^27.5.1": - "integrity" "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==" - "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "chalk" "^4.0.0" - "cjs-module-lexer" "^1.0.0" - "collect-v8-coverage" "^1.0.0" - "execa" "^5.0.0" - "glob" "^7.1.3" - "graceful-fs" "^4.2.9" - "jest-haste-map" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-mock" "^27.5.1" - "jest-regex-util" "^27.5.1" - "jest-resolve" "^27.5.1" - "jest-snapshot" "^27.5.1" - "jest-util" "^27.5.1" - "slash" "^3.0.0" - "strip-bom" "^4.0.0" - -"jest-serializer@^27.5.1": - "integrity" "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==" - "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" - "version" "27.5.1" +"@types/http-cache-semantics@*": + version "4.0.4" + resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/json-schema@^7.0.7": + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/jsonfile@*": + version "6.1.4" + resolved "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz" + integrity sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== dependencies: "@types/node" "*" - "graceful-fs" "^4.2.9" - -"jest-snapshot@^27.5.1": - "integrity" "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==" - "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - "babel-preset-current-node-syntax" "^1.0.0" - "chalk" "^4.0.0" - "expect" "^27.5.1" - "graceful-fs" "^4.2.9" - "jest-diff" "^27.5.1" - "jest-get-type" "^27.5.1" - "jest-haste-map" "^27.5.1" - "jest-matcher-utils" "^27.5.1" - "jest-message-util" "^27.5.1" - "jest-util" "^27.5.1" - "natural-compare" "^1.4.0" - "pretty-format" "^27.5.1" - "semver" "^7.3.2" - -"jest-util@^27.0.0", "jest-util@^27.5.1": - "integrity" "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "graceful-fs" "^4.2.9" - "picomatch" "^2.2.3" -"jest-util@^28.1.0": - "version" "28.1.0" +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== dependencies: - "@jest/types" "^28.1.0" "@types/node" "*" - "chalk" "^4.0.0" - "ci-info" "^3.2.0" - "graceful-fs" "^4.2.9" - "picomatch" "^2.2.3" - -"jest-validate@^27.5.1": - "integrity" "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==" - "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/types" "^27.5.1" - "camelcase" "^6.2.0" - "chalk" "^4.0.0" - "jest-get-type" "^27.5.1" - "leven" "^3.1.0" - "pretty-format" "^27.5.1" - -"jest-watcher@^27.5.1": - "integrity" "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==" - "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + +"@types/lodash@*": + version "4.14.202" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz" + integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== + +"@types/minimatch@^3.0.3": + version "3.0.5" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/mocha@^9.0.0": + version "9.1.1" + resolved "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz" + integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== + +"@types/node@*", "@types/node@^16.18.20": + version "16.18.74" + resolved "https://registry.npmjs.org/@types/node/-/node-16.18.74.tgz" + integrity sha512-eEn8RkzZFcT0gb8qyi0CcfSOQnLE+NbGLIIaxGGmjn/N35v/C3M8ohxcpSlNlCv+H8vPpMGmrGDdCkzr8xu2tQ== + +"@types/node@^15.6.2": + version "15.14.9" + resolved "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz" + integrity sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A== + +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + +"@types/prompts@^2.4.3": + version "2.4.9" + resolved "https://registry.npmjs.org/@types/prompts/-/prompts-2.4.9.tgz" + integrity sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA== + dependencies: "@types/node" "*" - "ansi-escapes" "^4.2.1" - "chalk" "^4.0.0" - "jest-util" "^27.5.1" - "string-length" "^4.0.1" + kleur "^3.0.3" -"jest-worker@^27.4.5", "jest-worker@^27.5.1": - "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - "version" "27.5.1" +"@types/responselike@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== dependencies: "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" - -"jest@^27.0.0", "jest@^27.5.1": - "integrity" "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==" - "resolved" "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "@jest/core" "^27.5.1" - "import-local" "^3.0.2" - "jest-cli" "^27.5.1" - -"jmespath@0.16.0": - "integrity" "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" - "resolved" "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz" - "version" "0.16.0" - -"js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^3.13.0", "js-yaml@^3.13.1", "js-yaml@^3.14.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js-yaml@^4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"js-yaml@4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"js2xmlparser@^3.0.0": - "integrity" "sha512-CSOkdn0/GhRFwxnipmhXfqJ+FG6+wkWBi46kKSsPx6+j65176ZiQcrCYpg6K8x3iLbO4k3zScBnZ7I/L80dAtw==" - "resolved" "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "xmlcreate" "^1.0.1" - -"jsbn@~0.1.0": - "integrity" "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - "version" "0.1.1" - -"jsdom@^16.6.0": - "integrity" "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==" - "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" - "version" "16.7.0" - dependencies: - "abab" "^2.0.5" - "acorn" "^8.2.4" - "acorn-globals" "^6.0.0" - "cssom" "^0.4.4" - "cssstyle" "^2.3.0" - "data-urls" "^2.0.0" - "decimal.js" "^10.2.1" - "domexception" "^2.0.1" - "escodegen" "^2.0.0" - "form-data" "^3.0.0" - "html-encoding-sniffer" "^2.0.1" - "http-proxy-agent" "^4.0.1" - "https-proxy-agent" "^5.0.0" - "is-potential-custom-element-name" "^1.0.1" - "nwsapi" "^2.2.0" - "parse5" "6.0.1" - "saxes" "^5.0.1" - "symbol-tree" "^3.2.4" - "tough-cookie" "^4.0.0" - "w3c-hr-time" "^1.0.2" - "w3c-xmlserializer" "^2.0.0" - "webidl-conversions" "^6.1.0" - "whatwg-encoding" "^1.0.5" - "whatwg-mimetype" "^2.3.0" - "whatwg-url" "^8.5.0" - "ws" "^7.4.6" - "xml-name-validator" "^3.0.0" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-buffer@~3.0.1", "json-buffer@3.0.1": - "integrity" "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - "version" "3.0.1" - -"json-buffer@3.0.0": - "version" "3.0.0" - -"json-parse-better-errors@^1.0.1", "json-parse-better-errors@^1.0.2": - "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - "version" "1.0.2" - -"json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-schema-traverse@^1.0.0": - "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - "version" "1.0.0" - -"json-schema@0.4.0": - "integrity" "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" - "version" "0.4.0" - -"json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - "version" "1.0.1" - -"json-stringify-nice@^1.1.4": - "integrity" "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==" - "resolved" "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz" - "version" "1.1.4" - -"json-stringify-safe@^5.0.1", "json-stringify-safe@~5.0.1": - "integrity" "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - "version" "5.0.1" - -"json5@^1.0.1": - "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==" - "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "minimist" "^1.2.0" - -"json5@^2.1.2", "json5@^2.2.1", "json5@2.x": - "integrity" "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" - "version" "2.2.1" - -"jsonfile@^4.0.0": - "integrity" "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - "version" "4.0.0" - optionalDependencies: - "graceful-fs" "^4.1.6" -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" +"@types/sinon@*", "@types/sinon@^10.0.13": + version "10.0.20" + resolved "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz" + integrity sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg== dependencies: - "universalify" "^2.0.0" - optionalDependencies: - "graceful-fs" "^4.1.6" + "@types/sinonjs__fake-timers" "*" -"jsonparse@^1.2.0", "jsonparse@^1.3.1": - "integrity" "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==" - "resolved" "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - "version" "1.3.1" +"@types/sinonjs__fake-timers@*": + version "8.1.5" + resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz" + integrity sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ== -"JSONStream@^1.0.4": - "integrity" "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==" - "resolved" "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - "version" "1.3.5" +"@types/vinyl@^2.0.4": + version "2.0.11" + resolved "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.11.tgz" + integrity sha512-vPXzCLmRp74e9LsP8oltnWKTH+jBwt86WgRUb4Pc9Lf3pkMVGyvIo2gm9bODeGfCay2DBB/hAWDuvf07JcK4rw== dependencies: - "jsonparse" "^1.2.0" - "through" ">=2.2.7 <3" + "@types/expect" "^1.20.4" + "@types/node" "*" -"jsprim@^1.2.2": - "integrity" "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==" - "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" - "version" "1.4.2" +"@typescript-eslint/eslint-plugin@^4.31.2": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: - "assert-plus" "1.0.0" - "extsprintf" "1.3.0" - "json-schema" "0.4.0" - "verror" "1.10.0" - -"just-diff-apply@^5.2.0": - "version" "5.2.0" + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" -"just-diff@^5.0.1": - "version" "5.0.1" +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"just-extend@^4.0.2": - "integrity" "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==" - "resolved" "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz" - "version" "4.2.1" - -"keyv@^3.0.0": - "version" "3.1.0" - dependencies: - "json-buffer" "3.0.0" - -"keyv@^4.0.0": - "version" "4.3.0" - dependencies: - "compress-brotli" "^1.3.8" - "json-buffer" "3.0.1" - -"kind-of@^3.0.2": - "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.0.3": - "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.2.0": - "integrity" "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^4.0.0": - "integrity" "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^5.0.0": - "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - "version" "5.1.0" - -"kind-of@^6.0.0", "kind-of@^6.0.2", "kind-of@^6.0.3": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" - -"klaw-sync@^6.0.0": - "integrity" "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==" - "resolved" "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "graceful-fs" "^4.1.11" - -"kleur@^3.0.3": - "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - "version" "3.0.3" - -"ky@^0.30.0": - "version" "0.30.0" - -"latest-version@^5.1.0": - "version" "5.1.0" - dependencies: - "package-json" "^6.3.0" - -"lazystream@^1.0.0": - "integrity" "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==" - "resolved" "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "readable-stream" "^2.0.5" - -"lerna@^4.0.0": - "integrity" "sha512-DD/i1znurfOmNJb0OBw66NmNqiM8kF6uIrzrJ0wGE3VNdzeOhz9ziWLYiRaZDGGwgbcjOo6eIfcx9O5Qynz+kg==" - "resolved" "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "@lerna/add" "4.0.0" - "@lerna/bootstrap" "4.0.0" - "@lerna/changed" "4.0.0" - "@lerna/clean" "4.0.0" - "@lerna/cli" "4.0.0" - "@lerna/create" "4.0.0" - "@lerna/diff" "4.0.0" - "@lerna/exec" "4.0.0" - "@lerna/import" "4.0.0" - "@lerna/info" "4.0.0" - "@lerna/init" "4.0.0" - "@lerna/link" "4.0.0" - "@lerna/list" "4.0.0" - "@lerna/publish" "4.0.0" - "@lerna/run" "4.0.0" - "@lerna/version" "4.0.0" - "import-local" "^3.0.2" - "npmlog" "^4.1.2" - -"leven@^3.1.0": - "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - "version" "3.1.0" - -"levn@^0.3.0": - "integrity" "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - -"levn@^0.4.1": - "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "prelude-ls" "^1.2.1" - "type-check" "~0.4.0" - -"levn@~0.3.0": - "integrity" "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - -"libnpmaccess@^4.0.1": - "integrity" "sha512-sPeTSNImksm8O2b6/pf3ikv4N567ERYEpeKRPSmqlNt1dTZbvgpJIzg5vAhXHpw2ISBsELFRelk0jEahj1c6nQ==" - "resolved" "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "aproba" "^2.0.0" - "minipass" "^3.1.1" - "npm-package-arg" "^8.1.2" - "npm-registry-fetch" "^11.0.0" - -"libnpmpublish@^4.0.0": - "integrity" "sha512-+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==" - "resolved" "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "normalize-package-data" "^3.0.2" - "npm-package-arg" "^8.1.2" - "npm-registry-fetch" "^11.0.0" - "semver" "^7.1.3" - "ssri" "^8.0.1" - -"lighthouse-logger@^1.0.0": - "integrity" "sha512-BbqAKApLb9ywUli+0a+PcV04SyJ/N1q/8qgCNe6U97KbPCS1BTksEuHFLYdvc8DltuhfxIUBqDZsC0bBGtl3lA==" - "resolved" "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "debug" "^2.6.9" - "marky" "^1.2.2" - -"lilconfig@2.0.4": - "version" "2.0.4" - -"lines-and-columns@^1.1.6": - "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - "version" "1.2.4" - -"lint-staged@^12.3.8": - "version" "12.3.8" - dependencies: - "cli-truncate" "^3.1.0" - "colorette" "^2.0.16" - "commander" "^8.3.0" - "debug" "^4.3.3" - "execa" "^5.1.1" - "lilconfig" "2.0.4" - "listr2" "^4.0.1" - "micromatch" "^4.0.4" - "normalize-path" "^3.0.0" - "object-inspect" "^1.12.0" - "pidtree" "^0.5.0" - "string-argv" "^0.3.1" - "supports-color" "^9.2.1" - "yaml" "^1.10.2" - -"listr2@^4.0.1": - "version" "4.0.5" - dependencies: - "cli-truncate" "^2.1.0" - "colorette" "^2.0.16" - "log-update" "^4.0.0" - "p-map" "^4.0.0" - "rfdc" "^1.3.0" - "rxjs" "^7.5.5" - "through" "^2.3.8" - "wrap-ansi" "^7.0.0" - -"load-json-file@^1.0.0": - "integrity" "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==" - "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "graceful-fs" "^4.1.2" - "parse-json" "^2.2.0" - "pify" "^2.0.0" - "pinkie-promise" "^2.0.0" - "strip-bom" "^2.0.0" - -"load-json-file@^4.0.0": - "integrity" "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==" - "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "graceful-fs" "^4.1.2" - "parse-json" "^4.0.0" - "pify" "^3.0.0" - "strip-bom" "^3.0.0" - -"load-json-file@^5.3.0": - "integrity" "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==" - "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "graceful-fs" "^4.1.15" - "parse-json" "^4.0.0" - "pify" "^4.0.1" - "strip-bom" "^3.0.0" - "type-fest" "^0.3.0" - -"load-json-file@^6.2.0": - "integrity" "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==" - "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "graceful-fs" "^4.1.15" - "parse-json" "^5.0.0" - "strip-bom" "^4.0.0" - "type-fest" "^0.6.0" - -"load-yaml-file@^0.2.0": - "integrity" "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==" - "resolved" "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "graceful-fs" "^4.1.5" - "js-yaml" "^3.13.0" - "pify" "^4.0.1" - "strip-bom" "^3.0.0" - -"loader-runner@^2.4.0": - "integrity" "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" - "version" "2.4.0" - -"loader-runner@^4.2.0": - "integrity" "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - "version" "4.3.0" - -"loader-utils@^1.2.3": - "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^1.0.1" - -"loader-utils@^2.0.0": - "integrity" "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^2.1.2" - -"locate-path@^2.0.0": - "integrity" "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "p-locate" "^2.0.0" - "path-exists" "^3.0.0" - -"locate-path@^3.0.0": - "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-locate" "^3.0.0" - "path-exists" "^3.0.0" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"locate-path@^6.0.0": - "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "p-locate" "^5.0.0" - -"lodash._reinterpolate@^3.0.0": - "integrity" "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==" - "resolved" "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" - "version" "3.0.0" - -"lodash.camelcase@^4.1.1", "lodash.camelcase@^4.3.0": - "integrity" "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - "version" "4.3.0" - -"lodash.clonedeep@^4.5.0": - "integrity" "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" - "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" - "version" "4.5.0" - -"lodash.debounce@^4.0.8": - "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash.defaults@^4.2.0": - "integrity" "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" - "resolved" "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" - "version" "4.2.0" - -"lodash.difference@^4.5.0": - "integrity" "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==" - "resolved" "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz" - "version" "4.5.0" - -"lodash.flatten@^4.4.0": - "integrity" "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - "resolved" "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" - "version" "4.4.0" - -"lodash.flattendeep@^4.4.0": - "integrity" "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==" - "resolved" "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" - "version" "4.4.0" - -"lodash.get@^4.4.2": - "integrity" "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - "resolved" "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" - "version" "4.4.2" - -"lodash.ismatch@^4.4.0": - "integrity" "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==" - "resolved" "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" - "version" "4.4.0" - -"lodash.isobject@^3.0.2": - "integrity" "sha512-3/Qptq2vr7WeJbB4KHUSKlq8Pl7ASXi3UG6CMbBm8WRtXi8+GHm7mKaU3urfpSEzWe2wCIChs6/sdocUsTKJiA==" - "resolved" "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz" - "version" "3.0.2" - -"lodash.isplainobject@^4.0.6": - "integrity" "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - "resolved" "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" - "version" "4.0.6" - -"lodash.kebabcase@^4.0.1": - "integrity" "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" - "resolved" "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" - "version" "4.1.1" - -"lodash.mapvalues@^4.6.0": - "integrity" "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==" - "resolved" "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz" - "version" "4.6.0" - -"lodash.memoize@4.x": - "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - "version" "4.1.2" - -"lodash.merge@^4.6.1", "lodash.merge@^4.6.2": - "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - "version" "4.6.2" - -"lodash.pickby@^4.6.0": - "integrity" "sha512-AZV+GsS/6ckvPOVQPXSiFFacKvKB4kOQu6ynt9wz0F3LO4R9Ij4K1ddYsIytDpSgLz88JHd9P+oaLeej5/Sl7Q==" - "resolved" "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz" - "version" "4.6.0" - -"lodash.set@^4.3.2": - "version" "4.3.2" - -"lodash.snakecase@^4.0.1": - "integrity" "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" - "resolved" "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz" - "version" "4.1.1" - -"lodash.template@^4.5.0": - "integrity" "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==" - "resolved" "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" - "version" "4.5.0" - dependencies: - "lodash._reinterpolate" "^3.0.0" - "lodash.templatesettings" "^4.0.0" - -"lodash.templatesettings@^4.0.0": - "integrity" "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==" - "resolved" "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "lodash._reinterpolate" "^3.0.0" - -"lodash.truncate@^4.4.2": - "integrity" "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" - "resolved" "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" - "version" "4.4.2" - -"lodash.union@^4.6.0": - "integrity" "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==" - "resolved" "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz" - "version" "4.6.0" - -"lodash.upperfirst@^4.2.0": - "integrity" "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==" - "resolved" "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz" - "version" "4.3.1" - -"lodash.zip@^4.2.0": - "integrity" "sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==" - "resolved" "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz" - "version" "4.2.0" - -"lodash@^4.17.10", "lodash@^4.17.11", "lodash@^4.17.12", "lodash@^4.17.13", "lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.19", "lodash@^4.17.21", "lodash@^4.7.0", "lodash@~4.17.10": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"log-symbols@^4.0.0", "log-symbols@^4.1.0", "log-symbols@4.1.0": - "integrity" "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "chalk" "^4.1.0" - "is-unicode-supported" "^0.1.0" - -"log-update@^4.0.0": - "integrity" "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==" - "resolved" "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-escapes" "^4.3.0" - "cli-cursor" "^3.1.0" - "slice-ansi" "^4.0.0" - "wrap-ansi" "^6.2.0" - -"loglevel-plugin-prefix@^0.8.4": - "integrity" "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==" - "resolved" "https://registry.npmjs.org/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz" - "version" "0.8.4" - -"loglevel@^1.6.0": - "integrity" "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==" - "resolved" "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz" - "version" "1.8.0" - -"loupe@^2.3.1": - "integrity" "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==" - "resolved" "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz" - "version" "2.3.4" - dependencies: - "get-func-name" "^2.0.0" - -"lower-case@^2.0.2": - "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" - "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "tslib" "^2.0.3" - -"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": - "version" "1.0.1" - -"lowercase-keys@^2.0.0": - "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" - "version" "2.0.0" - -"lru-cache@^4.0.1": - "integrity" "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" - "version" "4.1.5" - dependencies: - "pseudomap" "^1.0.2" - "yallist" "^2.1.2" - -"lru-cache@^5.1.1": - "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "yallist" "^3.0.2" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"lru-cache@^7.7.1": - "version" "7.8.1" - -"make-dir@^2.0.0", "make-dir@^2.1.0": - "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "pify" "^4.0.1" - "semver" "^5.6.0" - -"make-dir@^3.0.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"make-dir@^3.0.2", "make-dir@^3.1.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"make-error@^1.1.1", "make-error@1.x": - "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - "version" "1.3.6" - -"make-fetch-happen@^10.0.1": - "version" "10.1.2" - dependencies: - "agentkeepalive" "^4.2.1" - "cacache" "^16.0.2" - "http-cache-semantics" "^4.1.0" - "http-proxy-agent" "^5.0.0" - "https-proxy-agent" "^5.0.0" - "is-lambda" "^1.0.1" - "lru-cache" "^7.7.1" - "minipass" "^3.1.6" - "minipass-collect" "^1.0.2" - "minipass-fetch" "^2.0.3" - "minipass-flush" "^1.0.5" - "minipass-pipeline" "^1.2.4" - "negotiator" "^0.6.3" - "promise-retry" "^2.0.1" - "socks-proxy-agent" "^6.1.1" - "ssri" "^9.0.0" - -"make-fetch-happen@^8.0.9": - "integrity" "sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==" - "resolved" "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz" - "version" "8.0.14" - dependencies: - "agentkeepalive" "^4.1.3" - "cacache" "^15.0.5" - "http-cache-semantics" "^4.1.0" - "http-proxy-agent" "^4.0.1" - "https-proxy-agent" "^5.0.0" - "is-lambda" "^1.0.1" - "lru-cache" "^6.0.0" - "minipass" "^3.1.3" - "minipass-collect" "^1.0.2" - "minipass-fetch" "^1.3.2" - "minipass-flush" "^1.0.5" - "minipass-pipeline" "^1.2.4" - "promise-retry" "^2.0.1" - "socks-proxy-agent" "^5.0.0" - "ssri" "^8.0.0" - -"make-fetch-happen@^9.0.1": - "integrity" "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==" - "resolved" "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "agentkeepalive" "^4.1.3" - "cacache" "^15.2.0" - "http-cache-semantics" "^4.1.0" - "http-proxy-agent" "^4.0.1" - "https-proxy-agent" "^5.0.0" - "is-lambda" "^1.0.1" - "lru-cache" "^6.0.0" - "minipass" "^3.1.3" - "minipass-collect" "^1.0.2" - "minipass-fetch" "^1.3.2" - "minipass-flush" "^1.0.5" - "minipass-pipeline" "^1.2.4" - "negotiator" "^0.6.2" - "promise-retry" "^2.0.1" - "socks-proxy-agent" "^6.0.0" - "ssri" "^8.0.0" - -"makeerror@1.0.12": - "integrity" "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==" - "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - "version" "1.0.12" - dependencies: - "tmpl" "1.0.5" - -"map-cache@^0.2.2": - "integrity" "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - "version" "0.2.2" - -"map-obj@^1.0.0": - "integrity" "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==" - "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - "version" "1.0.1" - -"map-obj@^4.0.0": - "integrity" "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" - "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" - "version" "4.3.0" - -"map-stream@~0.1.0": - "integrity" "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==" - "resolved" "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" - "version" "0.1.0" - -"map-visit@^1.0.0": - "integrity" "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==" - "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "object-visit" "^1.0.0" - -"marked-terminal@^3.3.0": - "integrity" "sha512-+IUQJ5VlZoAFsM5MHNT7g3RHSkA3eETqhRCdXv4niUMAKHQ7lb1yvAcuGPmm4soxhmtX13u4Li6ZToXtvSEH+A==" - "resolved" "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "ansi-escapes" "^3.1.0" - "cardinal" "^2.1.1" - "chalk" "^2.4.1" - "cli-table" "^0.3.1" - "node-emoji" "^1.4.1" - "supports-hyperlinks" "^1.0.1" - -"marked@^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0", "marked@^0.7.0": - "integrity" "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==" - "resolved" "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz" - "version" "0.7.0" - -"marky@^1.2.2": - "version" "1.2.4" - -"md5.js@^1.3.4": - "integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==" - "resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" - "safe-buffer" "^5.1.2" - -"mem-fs-editor@^8.1.2 || ^9.0.0": - "integrity" "sha512-HSSOLSVRrsDdui9I6i96dDtG+oAez/4EB2g4cjSrNhgNQ3M+L57/+22NuPdORSoxvOHjIg/xeOE+C0wwF91D2g==" - "resolved" "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.4.0.tgz" - "version" "9.4.0" - dependencies: - "binaryextensions" "^4.16.0" - "commondir" "^1.0.1" - "deep-extend" "^0.6.0" - "ejs" "^3.1.6" - "globby" "^11.0.3" - "isbinaryfile" "^4.0.8" - "minimatch" "^3.0.4" - "multimatch" "^5.0.0" - "normalize-path" "^3.0.0" - "textextensions" "^5.13.0" - -"mem-fs@^1.2.0 || ^2.0.0", "mem-fs@^2.1.0": - "integrity" "sha512-yiAivd4xFOH/WXlUi6v/nKopBh1QLzwjFi36NK88cGt/PRXI8WeBASqY+YSjIVWvQTx3hR8zHKDBMV6hWmglNA==" - "resolved" "https://registry.npmjs.org/mem-fs/-/mem-fs-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "@types/node" "^15.6.1" - "@types/vinyl" "^2.0.4" - "vinyl" "^2.0.1" - "vinyl-file" "^3.0.0" - -"memory-fs@^0.4.1": - "integrity" "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==" - "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "errno" "^0.1.3" - "readable-stream" "^2.0.1" - -"memory-fs@^0.5.0": - "integrity" "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==" - "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "errno" "^0.1.3" - "readable-stream" "^2.0.1" - -"memorystream@^0.3.1": - "integrity" "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==" - "resolved" "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" - "version" "0.3.1" - -"meow@^8.0.0": - "integrity" "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==" - "resolved" "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" - "version" "8.1.2" - dependencies: - "@types/minimist" "^1.2.0" - "camelcase-keys" "^6.2.2" - "decamelize-keys" "^1.1.0" - "hard-rejection" "^2.1.0" - "minimist-options" "4.1.0" - "normalize-package-data" "^3.0.0" - "read-pkg-up" "^7.0.1" - "redent" "^3.0.0" - "trim-newlines" "^3.0.0" - "type-fest" "^0.18.0" - "yargs-parser" "^20.2.3" - -"merge-source-map@^1.1.0": - "integrity" "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==" - "resolved" "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "source-map" "^0.6.1" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"merge2@^1.2.3", "merge2@^1.3.0", "merge2@^1.4.1": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"micromatch@^3.1.10", "micromatch@^3.1.4": - "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - "version" "3.1.10" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "braces" "^2.3.1" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "extglob" "^2.0.4" - "fragment-cache" "^0.2.1" - "kind-of" "^6.0.2" - "nanomatch" "^1.2.9" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.2" - -"micromatch@^4.0.2", "micromatch@^4.0.4": - "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "braces" "^3.0.2" - "picomatch" "^2.3.1" - -"miller-rabin@^4.0.0": - "integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==" - "resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "bn.js" "^4.0.0" - "brorand" "^1.0.1" - -"mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.12", "mime-types@^2.1.27", "mime-types@~2.1.19": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime@^2.3.1": - "integrity" "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" - "version" "2.6.0" - -"mimic-fn@^1.0.0": - "integrity" "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" - "version" "1.2.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"mimic-response@^1.0.0", "mimic-response@^1.0.1": - "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - "version" "1.0.1" - -"mimic-response@^3.1.0": - "integrity" "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" - "version" "3.1.0" - -"min-indent@^1.0.0": - "integrity" "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - "resolved" "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-crypto-utils@^1.0.1": - "integrity" "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.4": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@^5.0.0": - "integrity" "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "brace-expansion" "^2.0.1" - -"minimatch@^5.0.1": - "version" "5.0.1" - dependencies: - "brace-expansion" "^2.0.1" - -"minimatch@~3.0.2": - "integrity" "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz" - "version" "3.0.8" - dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@3.0.4": - "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - "version" "3.0.4" +"@typescript-eslint/parser@^4.31.2": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: - "brace-expansion" "^1.1.7" - -"minimatch@4.2.1": - "integrity" "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "brace-expansion" "^1.1.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" -"minimatch@5.0.1": - "integrity" "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz" - "version" "5.0.1" +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: - "brace-expansion" "^2.0.1" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== -"minimist-options@4.1.0": - "integrity" "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==" - "resolved" "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" - "version" "4.1.0" +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: - "arrify" "^1.0.1" - "is-plain-obj" "^1.1.0" - "kind-of" "^6.0.3" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" -"minimist@^1.1.0", "minimist@^1.2.0", "minimist@^1.2.3", "minimist@^1.2.5", "minimist@^1.2.6": - "integrity" "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" - "version" "1.2.6" - -"minimist@0.0.8": - "integrity" "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - "version" "0.0.8" - -"minipass-collect@^1.0.2": - "integrity" "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==" - "resolved" "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" - "version" "1.0.2" +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: - "minipass" "^3.0.0" + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" -"minipass-fetch@^1.3.0", "minipass-fetch@^1.3.2", "minipass-fetch@^1.4.1": - "integrity" "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==" - "resolved" "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz" - "version" "1.4.1" +"@ungap/promise-all-settled@1.1.2": + 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== + +"@vue/compiler-core@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.31.tgz#b51a76f1b30e9b5eba0553264dff0f171aedb7c6" + integrity sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg== + dependencies: + "@babel/parser" "^7.24.7" + "@vue/shared" "3.4.31" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.2.0" + +"@vue/compiler-dom@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.31.tgz#30961ca847f5d6ad18ffa26236c219f61b195f6b" + integrity sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ== + dependencies: + "@vue/compiler-core" "3.4.31" + "@vue/shared" "3.4.31" + +"@vue/compiler-sfc@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.31.tgz#cc6bfccda17df8268cc5440842277f61623c591f" + integrity sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ== + dependencies: + "@babel/parser" "^7.24.7" + "@vue/compiler-core" "3.4.31" + "@vue/compiler-dom" "3.4.31" + "@vue/compiler-ssr" "3.4.31" + "@vue/shared" "3.4.31" + estree-walker "^2.0.2" + magic-string "^0.30.10" + postcss "^8.4.38" + source-map-js "^1.2.0" + +"@vue/compiler-ssr@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.31.tgz#f62ffecdf15bacb883d0099780cf9a1e3654bfc4" + integrity sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA== + dependencies: + "@vue/compiler-dom" "3.4.31" + "@vue/shared" "3.4.31" + +"@vue/reactivity@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.31.tgz#eda80e90c4f9d7659efe1f5ed99c2dfdc9e93d77" + integrity sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q== + dependencies: + "@vue/shared" "3.4.31" + +"@vue/runtime-core@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.31.tgz#ad3a41ad76385c0429e3e4dbefb81918494e10cf" + integrity sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw== + dependencies: + "@vue/reactivity" "3.4.31" + "@vue/shared" "3.4.31" + +"@vue/runtime-dom@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.31.tgz#bae7ad844f944af33699c73581bc36125bab96ce" + integrity sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw== + dependencies: + "@vue/reactivity" "3.4.31" + "@vue/runtime-core" "3.4.31" + "@vue/shared" "3.4.31" + csstype "^3.1.3" + +"@vue/server-renderer@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.31.tgz#bbe990f793c36d62d05bdbbaf142511d53e159fd" + integrity sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA== + dependencies: + "@vue/compiler-ssr" "3.4.31" + "@vue/shared" "3.4.31" + +"@vue/shared@3.4.31": + version "3.4.31" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.31.tgz#af9981f57def2c3f080c14bf219314fc0dc808a0" + integrity sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA== + +abbrev@1, abbrev@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.4.1: + version "8.11.3" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: + version "4.5.0" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" + integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: - "minipass" "^3.1.0" - "minipass-sized" "^1.0.3" - "minizlib" "^2.0.0" - optionalDependencies: - "encoding" "^0.1.12" + normalize-path "^3.0.0" + picomatch "^2.0.4" + +append-transform@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz" + integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== + dependencies: + default-require-extensions "^3.0.0" -"minipass-fetch@^2.0.3": - "integrity" "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==" - "resolved" "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz" - "version" "2.1.0" +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== + +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-retry@^1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +async@^3.2.3: + version "3.2.5" + resolved "https://registry.npmjs.org/async/-/async-3.2.5.tgz" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sdk@^2.1231.0: + version "2.1541.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1541.0.tgz" + integrity sha512-+xS/Gq/+j/RKb3A6SHXn6tOCaog1O3troklpVxxNaqVNnq+zlwjFderGNzR6S4ftfNG7sKMUP++Znsqte8GMaw== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.16.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + util "^0.12.4" + uuid "8.0.0" + xml2js "0.5.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + +bin-links@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/bin-links/-/bin-links-3.0.3.tgz" + integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== + dependencies: + cmd-shim "^5.0.0" + mkdirp-infer-owner "^2.0.0" + npm-normalize-package-bin "^2.0.0" + read-cmd-shim "^3.0.0" + rimraf "^3.0.0" + write-file-atomic "^4.0.0" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +binaryextensions@^4.15.0, binaryextensions@^4.16.0: + version "4.19.0" + resolved "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.19.0.tgz" + integrity sha512-DRxnVbOi/1OgA5pA9EDiRT8gvVYeqfuN7TmPfLyt6cyho3KbHCi3EtDQf39TTmGDrR5dZ9CspdXhPkL/j/WGbg== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" + integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== + +builtins@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +cacache@^15.0.3, cacache@^15.0.5, cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cacache@^16.1.0: + version "16.1.3" + resolved "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== dependencies: - "minipass" "^3.1.6" - "minipass-sized" "^1.0.3" - "minizlib" "^2.1.2" + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + +cacache@^17.0.0: + version "17.1.4" + resolved "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz" + integrity sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A== + dependencies: + "@npmcli/fs" "^3.1.0" + fs-minipass "^3.0.0" + glob "^10.2.2" + lru-cache "^7.7.1" + minipass "^7.0.3" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +caching-transform@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz" + integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== + dependencies: + hasha "^5.0.0" + make-dir "^3.0.0" + package-hash "^4.0.0" + write-file-atomic "^3.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001565: + version "1.0.30001579" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz" + integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== + +cardinal@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz" + integrity sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== + dependencies: + ansicolors "~0.3.2" + redeyed "~2.1.0" + +chai@^4: + version "4.4.1" + resolved "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz" + integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.0.8" + +chalk@4.1.2, chalk@^4, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + 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" optionalDependencies: - "encoding" "^0.1.13" + fsevents "~2.3.2" -"minipass-flush@^1.0.5": - "integrity" "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==" - "resolved" "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "minipass" "^3.0.0" +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -"minipass-json-stream@^1.0.1": - "integrity" "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==" - "resolved" "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz" - "version" "1.0.1" +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +clean-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz" + integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== + dependencies: + escape-string-regexp "^1.0.5" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +clean-stack@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz" + integrity sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg== + dependencies: + escape-string-regexp "4.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-progress@^3.12.0: + version "3.12.0" + resolved "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz" + integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== + dependencies: + string-width "^4.2.3" + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-table@^0.3.1: + version "0.3.11" + resolved "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz" + integrity sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ== + dependencies: + colors "1.0.3" + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" + integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" + integrity sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag== + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +cmd-shim@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz" + integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== + dependencies: + mkdirp-infer-owner "^2.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.2, color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" + integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw== + +commander@7.1.0: + version "7.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz" + integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== + +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compare-versions@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz" + integrity sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concurrently@^7.6.0: + version "7.6.0" + resolved "https://registry.npmjs.org/concurrently/-/concurrently-7.6.0.tgz" + integrity sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw== + dependencies: + chalk "^4.1.0" + date-fns "^2.29.1" + lodash "^4.17.21" + rxjs "^7.0.0" + shell-quote "^1.7.3" + spawn-command "^0.0.2-1" + supports-color "^8.1.0" + tree-kill "^1.2.2" + yargs "^17.3.1" + +confusing-browser-globals@1.0.10: + version "1.0.10" + resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz" + integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== + +console-control-strings@^1.0.0, console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +content-type@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + +date-fns@^2.29.1: + version "2.30.0" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +dateformat@^4.5.0: + version "4.6.3" + resolved "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz" + integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== + +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@4.3.3: + version "4.3.3" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" + integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-eql@^4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@^0.1.3: + 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== + +default-require-extensions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz" + integrity sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw== + dependencies: + strip-bom "^4.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + +dezalgo@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== + dependencies: + asap "^2.0.0" + wrappy "1" + +diff@5.0.0, diff@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diff@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ejs@^3.1.8: + version "3.1.9" + resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz" + integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.4.601: + version "1.4.642" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.642.tgz" + integrity sha512-M4+u22ZJGpk4RY7tne6W+APkZhnnhmAH48FNl8iEFK2lEgob+U5rUQsIqQhvAwCXYpfd3H20pHK/ENsCvwTbsA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encoding@^0.1.12, encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enquirer@^2.3.5: + version "2.4.1" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error@^10.4.0: + version "10.4.0" + resolved "https://registry.npmjs.org/error/-/error-10.4.0.tgz" + integrity sha512-YxIFEJuhgcICugOUvRx5th0UM+ActZ9sjY0QJmeVwsQdvosZ7kYzc9QqS0Da3R5iUmgU5meGIxh0xBeZpMVeLw== + +es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.5" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.12" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.13" + +es-set-tostringtag@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== + dependencies: + get-intrinsic "^1.2.2" + has-tostringtag "^1.0.0" + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-error@^4.0.1: + version "4.1.1" + resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +eslint-config-oclif-typescript@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-1.0.3.tgz" + integrity sha512-TeJKXWBQ3uKMtzgz++UFNWpe1WCx8mfqRuzZy1LirREgRlVv656SkVG4gNZat5rRNIQgfDmTS+YebxK02kfylA== dependencies: - "jsonparse" "^1.3.1" - "minipass" "^3.0.0" + "@typescript-eslint/eslint-plugin" "^4.31.2" + "@typescript-eslint/parser" "^4.31.2" + eslint-config-xo-space "^0.29.0" + eslint-plugin-mocha "^9.0.0" + eslint-plugin-node "^11.1.0" -"minipass-pipeline@^1.2.2", "minipass-pipeline@^1.2.4": - "integrity" "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==" - "resolved" "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" - "version" "1.2.4" +eslint-config-oclif@^4: + version "4.0.0" + resolved "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-4.0.0.tgz" + integrity sha512-5tkUQeC33rHAhJxaGeBGYIflDLumeV2qD/4XLBdXhB/6F/+Jnwdce9wYHSvkx0JUqUQShpQv8JEVkBp/zzD7hg== dependencies: - "minipass" "^3.0.0" + eslint-config-xo-space "^0.27.0" + eslint-plugin-mocha "^9.0.0" + eslint-plugin-node "^11.1.0" + eslint-plugin-unicorn "^36.0.0" -"minipass-sized@^1.0.3": - "integrity" "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==" - "resolved" "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" - "version" "1.0.3" +eslint-config-xo-space@^0.27.0: + version "0.27.0" + resolved "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.27.0.tgz" + integrity sha512-b8UjW+nQyOkhiANVpIptqlKPyE7XRyQ40uQ1NoBhzVfu95gxfZGrpliq8ZHBpaOF2wCLZaexTSjg7Rvm99vj4A== dependencies: - "minipass" "^3.0.0" + eslint-config-xo "^0.35.0" -"minipass@^2.6.0", "minipass@^2.9.0": - "integrity" "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==" - "resolved" "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz" - "version" "2.9.0" +eslint-config-xo-space@^0.29.0: + version "0.29.0" + resolved "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.29.0.tgz" + integrity sha512-emUZVHjmzl3I1aO2M/2gEpqa/GHXTl7LF/vQeAX4W+mQIU+2kyqY97FkMnSc2J8Osoq+vCSXCY/HjFUmFIF/Ag== dependencies: - "safe-buffer" "^5.1.2" - "yallist" "^3.0.0" + eslint-config-xo "^0.38.0" -"minipass@^3.0.0", "minipass@^3.1.0", "minipass@^3.1.1", "minipass@^3.1.3", "minipass@^3.1.6": - "version" "3.1.6" +eslint-config-xo@^0.35.0: + version "0.35.0" + resolved "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.35.0.tgz" + integrity sha512-+WyZTLWUJlvExFrBU/Ldw8AB/S0d3x+26JQdBWbcqig2ZaWh0zinYcHok+ET4IoPaEcRRf3FE9kjItNVjBwnAg== dependencies: - "yallist" "^4.0.0" + confusing-browser-globals "1.0.10" -"minizlib@^1.3.3": - "integrity" "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==" - "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz" - "version" "1.3.3" +eslint-config-xo@^0.38.0: + version "0.38.0" + resolved "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.38.0.tgz" + integrity sha512-G2jL+VyfkcZW8GoTmqLsExvrWssBedSoaQQ11vyhflDeT3csMdBVp0On+AVijrRuvgmkWeDwwUL5Rj0qDRHK6g== dependencies: - "minipass" "^2.9.0" + confusing-browser-globals "1.0.10" -"minizlib@^2.0.0", "minizlib@^2.1.1", "minizlib@^2.1.2": - "integrity" "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==" - "resolved" "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" - "version" "2.1.2" +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== dependencies: - "minipass" "^3.0.0" - "yallist" "^4.0.0" + eslint-utils "^2.0.0" + regexpp "^3.0.0" -"mississippi@^3.0.0": - "integrity" "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==" - "resolved" "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz" - "version" "3.0.0" +eslint-plugin-mocha@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz" + integrity sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg== dependencies: - "concat-stream" "^1.5.0" - "duplexify" "^3.4.2" - "end-of-stream" "^1.1.0" - "flush-write-stream" "^1.0.0" - "from2" "^2.1.0" - "parallel-transform" "^1.1.0" - "pump" "^3.0.0" - "pumpify" "^1.3.3" - "stream-each" "^1.1.0" - "through2" "^2.0.0" + eslint-utils "^3.0.0" + ramda "^0.27.1" -"mixin-deep@^1.2.0": - "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" - "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - "version" "1.3.2" +eslint-plugin-node@^11.1.0: + 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== dependencies: - "for-in" "^1.0.2" - "is-extendable" "^1.0.1" - -"mkdirp-classic@^0.5.2": - "integrity" "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - "resolved" "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - "version" "0.5.3" + 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" -"mkdirp-infer-owner@^2.0.0": - "integrity" "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==" - "resolved" "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz" - "version" "2.0.0" +eslint-plugin-unicorn@^36.0.0: + version "36.0.0" + resolved "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-36.0.0.tgz" + integrity sha512-xxN2vSctGWnDW6aLElm/LKIwcrmk6mdiEcW55Uv5krcrVcIFSWMmEgc/hwpemYfZacKZ5npFERGNz4aThsp1AA== dependencies: - "chownr" "^2.0.0" - "infer-owner" "^1.0.4" - "mkdirp" "^1.0.3" - -"mkdirp@^0.5.0": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" + "@babel/helper-validator-identifier" "^7.14.9" + ci-info "^3.2.0" + clean-regexp "^1.0.0" + eslint-template-visitor "^2.3.2" + eslint-utils "^3.0.0" + is-builtin-module "^3.1.0" + lodash "^4.17.21" + pluralize "^8.0.0" + read-pkg-up "^7.0.1" + regexp-tree "^0.1.23" + safe-regex "^2.1.1" + semver "^7.3.5" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-template-visitor@^2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz" + integrity sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA== dependencies: - "minimist" "^1.2.6" + "@babel/core" "^7.12.16" + "@babel/eslint-parser" "^7.12.16" + eslint-visitor-keys "^2.0.0" + esquery "^1.3.1" + multimap "^1.1.0" -"mkdirp@^0.5.1", "mkdirp@^0.5.5": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: - "minimist" "^1.2.6" + eslint-visitor-keys "^1.1.0" -"mkdirp@^0.5.3": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: - "minimist" "^1.2.6" + eslint-visitor-keys "^2.0.0" -"mkdirp@^1.0.3", "mkdirp@^1.0.4": - "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - "version" "1.0.4" +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -"mkdirp@0.5.1": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" - dependencies: - "minimist" "^1.2.6" +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -"mocha@^10.0.0": - "integrity" "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==" - "resolved" "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz" - "version" "10.0.0" - dependencies: - "@ungap/promise-all-settled" "1.1.2" - "ansi-colors" "4.1.1" - "browser-stdout" "1.3.1" - "chokidar" "3.5.3" - "debug" "4.3.4" - "diff" "5.0.0" - "escape-string-regexp" "4.0.0" - "find-up" "5.0.0" - "glob" "7.2.0" - "he" "1.2.0" - "js-yaml" "4.1.0" - "log-symbols" "4.1.0" - "minimatch" "5.0.1" - "ms" "2.1.3" - "nanoid" "3.3.3" - "serialize-javascript" "6.0.0" - "strip-json-comments" "3.1.1" - "supports-color" "8.1.1" - "workerpool" "6.2.1" - "yargs" "16.2.0" - "yargs-parser" "20.2.4" - "yargs-unparser" "2.0.0" - -"mocha@^5.2.0": - "integrity" "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==" - "resolved" "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "browser-stdout" "1.3.1" - "commander" "2.15.1" - "debug" "3.1.0" - "diff" "3.5.0" - "escape-string-regexp" "1.0.5" - "glob" "7.1.2" - "growl" "1.10.5" - "he" "1.1.1" - "minimatch" "3.0.4" - "mkdirp" "0.5.1" - "supports-color" "5.4.0" - -"mocha@^9": - "integrity" "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==" - "resolved" "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz" - "version" "9.2.2" - dependencies: - "@ungap/promise-all-settled" "1.1.2" - "ansi-colors" "4.1.1" - "browser-stdout" "1.3.1" - "chokidar" "3.5.3" - "debug" "4.3.3" - "diff" "5.0.0" - "escape-string-regexp" "4.0.0" - "find-up" "5.0.0" - "glob" "7.2.0" - "growl" "1.10.5" - "he" "1.2.0" - "js-yaml" "4.1.0" - "log-symbols" "4.1.0" - "minimatch" "4.2.1" - "ms" "2.1.3" - "nanoid" "3.3.1" - "serialize-javascript" "6.0.0" - "strip-json-comments" "3.1.1" - "supports-color" "8.1.1" - "which" "2.0.2" - "workerpool" "6.2.0" - "yargs" "16.2.0" - "yargs-parser" "20.2.4" - "yargs-unparser" "2.0.0" - -"mock-stdin@^1.0.0": - "integrity" "sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==" - "resolved" "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz" - "version" "1.0.0" - -"modify-values@^1.0.0": - "integrity" "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==" - "resolved" "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" - "version" "1.0.1" - -"move-concurrently@^1.0.1": - "integrity" "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==" - "resolved" "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "aproba" "^1.1.1" - "copy-concurrently" "^1.0.0" - "fs-write-stream-atomic" "^1.0.8" - "mkdirp" "^0.5.1" - "rimraf" "^2.5.4" - "run-queue" "^1.0.3" - -"ms@^2.0.0", "ms@^2.1.1", "ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.0.0": - "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"ms@2.1.3": - "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - "version" "2.1.3" - -"multimap@^1.1.0": - "integrity" "sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==" - "resolved" "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz" - "version" "1.1.0" - -"multimatch@^5.0.0": - "integrity" "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==" - "resolved" "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz" - "version" "5.0.0" +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: - "@types/minimatch" "^3.0.3" - "array-differ" "^3.0.0" - "array-union" "^2.1.0" - "arrify" "^2.0.1" - "minimatch" "^3.0.4" - -"mute-stream@~0.0.4", "mute-stream@0.0.8": - "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" - "version" "0.0.8" - -"mute-stream@0.0.7": - "integrity" "sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==" - "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz" - "version" "0.0.7" - -"nanoid@3.3.1": - "integrity" "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz" - "version" "3.3.1" - -"nanoid@3.3.3": - "integrity" "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz" - "version" "3.3.3" - -"nanomatch@^1.2.9": - "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" - "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - "version" "1.2.13" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "fragment-cache" "^0.2.1" - "is-windows" "^1.0.2" - "kind-of" "^6.0.2" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"natural-compare@^1.4.0": - "integrity" "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"natural-orderby@^2.0.1", "natural-orderby@^2.0.3": - "integrity" "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==" - "resolved" "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz" - "version" "2.0.3" - -"ncp@^2.0.0": - "integrity" "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==" - "resolved" "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz" - "version" "2.0.0" - -"negotiator@^0.6.2", "negotiator@^0.6.3": - "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - "version" "0.6.3" - -"neo-async@^2.5.0", "neo-async@^2.6.0", "neo-async@^2.6.1", "neo-async@^2.6.2": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"nested-error-stacks@^2.0.0": - "integrity" "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==" - "resolved" "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz" - "version" "2.1.1" - -"nice-try@^1.0.4": - "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - "version" "1.0.5" - -"nise@^5.1.0": - "integrity" "sha512-yr5kW2THW1AkxVmCnKEh4nbYkJdB3I7LUkiUgOvEkOp414mc2UMaHMA7pjq1nYowhdoJZGwEKGaQVbxfpWj10A==" - "resolved" "https://registry.npmjs.org/nise/-/nise-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "@sinonjs/commons" "^1.8.3" - "@sinonjs/fake-timers" ">=5" - "@sinonjs/text-encoding" "^0.7.1" - "just-extend" "^4.0.2" - "path-to-regexp" "^1.7.0" - -"no-case@^3.0.4": - "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" - "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "lower-case" "^2.0.2" - "tslib" "^2.0.3" - -"nock@^13.0.0": - "version" "13.2.4" - dependencies: - "debug" "^4.1.0" - "json-stringify-safe" "^5.0.1" - "lodash.set" "^4.3.2" - "propagate" "^2.0.0" - -"node-emoji@^1.4.1": - "integrity" "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==" - "resolved" "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "lodash" "^4.17.21" - -"node-fetch@^2.6.1", "node-fetch@^2.6.7", "node-fetch@2.6.7": - "integrity" "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - "version" "2.6.7" - dependencies: - "whatwg-url" "^5.0.0" - -"node-gyp@^5.0.2": - "integrity" "sha512-WH0WKGi+a4i4DUt2mHnvocex/xPLp9pYt5R6M2JdFB7pJ7Z34hveZ4nDTGTiLXCkitA9T8HFZjhinBCiVHYcWw==" - "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "env-paths" "^2.2.0" - "glob" "^7.1.4" - "graceful-fs" "^4.2.2" - "mkdirp" "^0.5.1" - "nopt" "^4.0.1" - "npmlog" "^4.1.2" - "request" "^2.88.0" - "rimraf" "^2.6.3" - "semver" "^5.7.1" - "tar" "^4.4.12" - "which" "^1.3.1" - -"node-gyp@^7.1.0": - "integrity" "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==" - "resolved" "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz" - "version" "7.1.2" - dependencies: - "env-paths" "^2.2.0" - "glob" "^7.1.4" - "graceful-fs" "^4.2.3" - "nopt" "^5.0.0" - "npmlog" "^4.1.2" - "request" "^2.88.2" - "rimraf" "^3.0.2" - "semver" "^7.3.2" - "tar" "^6.0.2" - "which" "^2.0.2" - -"node-int64@^0.4.0": - "integrity" "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - "version" "0.4.0" - -"node-libs-browser@^2.2.1": - "integrity" "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==" - "resolved" "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "assert" "^1.1.1" - "browserify-zlib" "^0.2.0" - "buffer" "^4.3.0" - "console-browserify" "^1.1.0" - "constants-browserify" "^1.0.0" - "crypto-browserify" "^3.11.0" - "domain-browser" "^1.1.1" - "events" "^3.0.0" - "https-browserify" "^1.0.0" - "os-browserify" "^0.3.0" - "path-browserify" "0.0.1" - "process" "^0.11.10" - "punycode" "^1.2.4" - "querystring-es3" "^0.2.0" - "readable-stream" "^2.3.3" - "stream-browserify" "^2.0.1" - "stream-http" "^2.7.2" - "string_decoder" "^1.0.0" - "timers-browserify" "^2.0.4" - "tty-browserify" "0.0.0" - "url" "^0.11.0" - "util" "^0.11.0" - "vm-browserify" "^1.0.1" - -"node-notifier-cli@^2.0.0": - "integrity" "sha512-Ka+k0Xt0Pjy35oHk/nCjAaNCVjOjanSl//K29YXlXg4795AlEeJChc0cNQzMXhyYwpfZCH2PgbJPfV4Sqhd7og==" - "resolved" "https://registry.npmjs.org/node-notifier-cli/-/node-notifier-cli-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "cli-usage" "^0.1.10" - "minimist" "^1.2.5" - "node-notifier" "^8.0.2" - -"node-notifier@^10.0.0", "node-notifier@^10.0.1", "node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0": - "integrity" "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==" - "resolved" "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz" - "version" "10.0.1" - dependencies: - "growly" "^1.3.0" - "is-wsl" "^2.2.0" - "semver" "^7.3.5" - "shellwords" "^0.1.1" - "uuid" "^8.3.2" - "which" "^2.0.2" - -"node-notifier@^8.0.2": - "integrity" "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==" - "resolved" "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz" - "version" "8.0.2" - dependencies: - "growly" "^1.3.0" - "is-wsl" "^2.2.0" - "semver" "^7.3.2" - "shellwords" "^0.1.1" - "uuid" "^8.3.0" - "which" "^2.0.2" - -"node-releases@^2.0.5": - "version" "2.0.5" - -"nodemon@^2.0.15": - "version" "2.0.15" - dependencies: - "chokidar" "^3.5.2" - "debug" "^3.2.7" - "ignore-by-default" "^1.0.1" - "minimatch" "^3.0.4" - "pstree.remy" "^1.1.8" - "semver" "^5.7.1" - "supports-color" "^5.5.0" - "touch" "^3.1.0" - "undefsafe" "^2.0.5" - "update-notifier" "^5.1.0" - -"nopt@^4.0.1": - "integrity" "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==" - "resolved" "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "abbrev" "1" - "osenv" "^0.1.4" - -"nopt@^5.0.0": - "integrity" "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==" - "resolved" "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "abbrev" "1" - -"nopt@~1.0.10": - "integrity" "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==" - "resolved" "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "abbrev" "1" - -"normalize-package-data@^2.0.0": - "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" - "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "hosted-git-info" "^2.1.4" - "resolve" "^1.10.0" - "semver" "2 || 3 || 4 || 5" - "validate-npm-package-license" "^3.0.1" - -"normalize-package-data@^2.3.2": - "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" - "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "hosted-git-info" "^2.1.4" - "resolve" "^1.10.0" - "semver" "2 || 3 || 4 || 5" - "validate-npm-package-license" "^3.0.1" - -"normalize-package-data@^2.5.0": - "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" - "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "hosted-git-info" "^2.1.4" - "resolve" "^1.10.0" - "semver" "2 || 3 || 4 || 5" - "validate-npm-package-license" "^3.0.1" - -"normalize-package-data@^3.0.0", "normalize-package-data@^3.0.2", "normalize-package-data@^3.0.3": - "integrity" "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==" - "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "hosted-git-info" "^4.0.1" - "is-core-module" "^2.5.0" - "semver" "^7.3.4" - "validate-npm-package-license" "^3.0.1" - -"normalize-path@^2.1.1": - "integrity" "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "remove-trailing-separator" "^1.0.1" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"normalize-url@^4.1.0": - "version" "4.5.1" - -"normalize-url@^6.0.1", "normalize-url@^6.1.0": - "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - "version" "6.1.0" - -"npm-bundled@^1.1.1": - "integrity" "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==" - "resolved" "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "npm-normalize-package-bin" "^1.0.1" - -"npm-install-checks@^4.0.0": - "integrity" "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==" - "resolved" "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "semver" "^7.1.1" - -"npm-lifecycle@^3.1.5": - "integrity" "sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g==" - "resolved" "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "byline" "^5.0.0" - "graceful-fs" "^4.1.15" - "node-gyp" "^5.0.2" - "resolve-from" "^4.0.0" - "slide" "^1.1.6" - "uid-number" "0.0.6" - "umask" "^1.1.0" - "which" "^1.3.1" - -"npm-normalize-package-bin@^1.0.0", "npm-normalize-package-bin@^1.0.1": - "integrity" "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" - "resolved" "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz" - "version" "1.0.1" - -"npm-package-arg@^8.0.0", "npm-package-arg@^8.0.1", "npm-package-arg@^8.1.0", "npm-package-arg@^8.1.2", "npm-package-arg@^8.1.5": - "integrity" "sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==" - "resolved" "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz" - "version" "8.1.5" - dependencies: - "hosted-git-info" "^4.0.1" - "semver" "^7.3.4" - "validate-npm-package-name" "^3.0.0" - -"npm-packlist@^2.1.4": - "integrity" "sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==" - "resolved" "https://registry.npmjs.org/npm-packlist/-/npm-packlist-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "glob" "^7.1.6" - "ignore-walk" "^3.0.3" - "npm-bundled" "^1.1.1" - "npm-normalize-package-bin" "^1.0.1" - -"npm-packlist@^3.0.0": - "integrity" "sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==" - "resolved" "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "glob" "^7.1.6" - "ignore-walk" "^4.0.1" - "npm-bundled" "^1.1.1" - "npm-normalize-package-bin" "^1.0.1" - -"npm-pick-manifest@^6.0.0", "npm-pick-manifest@^6.1.0", "npm-pick-manifest@^6.1.1": - "integrity" "sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==" - "resolved" "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz" - "version" "6.1.1" - dependencies: - "npm-install-checks" "^4.0.0" - "npm-normalize-package-bin" "^1.0.1" - "npm-package-arg" "^8.1.2" - "semver" "^7.3.4" - -"npm-registry-fetch@^11.0.0": - "integrity" "sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==" - "resolved" "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz" - "version" "11.0.0" - dependencies: - "make-fetch-happen" "^9.0.1" - "minipass" "^3.1.3" - "minipass-fetch" "^1.3.0" - "minipass-json-stream" "^1.0.1" - "minizlib" "^2.0.0" - "npm-package-arg" "^8.0.0" - -"npm-registry-fetch@^12.0.0", "npm-registry-fetch@^12.0.1": - "integrity" "sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==" - "resolved" "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz" - "version" "12.0.2" - dependencies: - "make-fetch-happen" "^10.0.1" - "minipass" "^3.1.6" - "minipass-fetch" "^1.4.1" - "minipass-json-stream" "^1.0.1" - "minizlib" "^2.1.2" - "npm-package-arg" "^8.1.5" - -"npm-registry-fetch@^9.0.0": - "integrity" "sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA==" - "resolved" "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz" - "version" "9.0.0" - dependencies: - "@npmcli/ci-detect" "^1.0.0" - "lru-cache" "^6.0.0" - "make-fetch-happen" "^8.0.9" - "minipass" "^3.1.3" - "minipass-fetch" "^1.3.0" - "minipass-json-stream" "^1.0.1" - "minizlib" "^2.0.0" - "npm-package-arg" "^8.0.0" - -"npm-run-all@^4.1.5": - "integrity" "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==" - "resolved" "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" - "version" "4.1.5" - dependencies: - "ansi-styles" "^3.2.1" - "chalk" "^2.4.1" - "cross-spawn" "^6.0.5" - "memorystream" "^0.3.1" - "minimatch" "^3.0.4" - "pidtree" "^0.3.0" - "read-pkg" "^3.0.0" - "shell-quote" "^1.6.1" - "string.prototype.padend" "^3.0.0" - -"npm-run-path@^2.0.0": - "integrity" "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "path-key" "^2.0.0" - -"npm-run-path@^4.0.0", "npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"npmlog@^4.1.2": - "integrity" "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==" - "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "are-we-there-yet" "~1.1.2" - "console-control-strings" "~1.1.0" - "gauge" "~2.7.3" - "set-blocking" "~2.0.0" - -"npmlog@^5.0.1": - "integrity" "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==" - "resolved" "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "are-we-there-yet" "^2.0.0" - "console-control-strings" "^1.1.0" - "gauge" "^3.0.0" - "set-blocking" "^2.0.0" - -"number-is-nan@^1.0.0": - "integrity" "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" - "resolved" "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - "version" "1.0.1" - -"nwsapi@^2.2.0": - "version" "2.2.0" - -"nyc@^14.1.1": - "integrity" "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==" - "resolved" "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz" - "version" "14.1.1" - dependencies: - "archy" "^1.0.0" - "caching-transform" "^3.0.2" - "convert-source-map" "^1.6.0" - "cp-file" "^6.2.0" - "find-cache-dir" "^2.1.0" - "find-up" "^3.0.0" - "foreground-child" "^1.5.6" - "glob" "^7.1.3" - "istanbul-lib-coverage" "^2.0.5" - "istanbul-lib-hook" "^2.0.7" - "istanbul-lib-instrument" "^3.3.0" - "istanbul-lib-report" "^2.0.8" - "istanbul-lib-source-maps" "^3.0.6" - "istanbul-reports" "^2.2.4" - "js-yaml" "^3.13.1" - "make-dir" "^2.1.0" - "merge-source-map" "^1.1.0" - "resolve-from" "^4.0.0" - "rimraf" "^2.6.3" - "signal-exit" "^3.0.2" - "spawn-wrap" "^1.4.2" - "test-exclude" "^5.2.3" - "uuid" "^3.3.2" - "yargs" "^13.2.2" - "yargs-parser" "^13.0.0" - -"oauth-sign@~0.9.0": - "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" - "version" "0.9.0" - -"object-assign@^4.1.0", "object-assign@^4.1.1": - "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-copy@^0.1.0": - "integrity" "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==" - "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "copy-descriptor" "^0.1.0" - "define-property" "^0.2.5" - "kind-of" "^3.0.3" - -"object-inspect@^1.10.3", "object-inspect@^1.12.0", "object-inspect@^1.9.0": - "version" "1.12.0" - -"object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object-treeify@^1.1.33", "object-treeify@^1.1.4": - "integrity" "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==" - "resolved" "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz" - "version" "1.1.33" - -"object-visit@^1.0.0": - "integrity" "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==" - "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "isobject" "^3.0.0" - -"object.assign@^4.1.0", "object.assign@^4.1.2": - "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "has-symbols" "^1.0.1" - "object-keys" "^1.1.1" - -"object.getownpropertydescriptors@^2.0.3": - "version" "2.1.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.1" - -"object.pick@^1.3.0": - "integrity" "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==" - "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "isobject" "^3.0.1" - -"oclif@^3": - "version" "3.0.1" - dependencies: - "@oclif/core" "^1.6.4" - "@oclif/plugin-help" "^5.1.12" - "@oclif/plugin-not-found" "^2.3.1" - "@oclif/plugin-warn-if-update-available" "^2.0.4" - "aws-sdk" "^2.1069.0" - "concurrently" "^7.0.0" - "debug" "^4.3.3" - "find-yarn-workspace-root" "^2.0.0" - "fs-extra" "^8.1" - "github-slugger" "^1.4.0" - "lodash" "^4.17.21" - "normalize-package-data" "^3.0.3" - "qqjs" "^0.3.11" - "semver" "^7.3.5" - "tslib" "^2.3.1" - "yeoman-environment" "^3.9.1" - "yeoman-generator" "^5.6.1" - "yosay" "^2.0.2" - -"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^2.0.0": - "integrity" "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "mimic-fn" "^1.0.0" - -"onetime@^5.1.0", "onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"open@^7.4.2": - "integrity" "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==" - "resolved" "https://registry.npmjs.org/open/-/open-7.4.2.tgz" - "version" "7.4.2" - dependencies: - "is-docker" "^2.0.0" - "is-wsl" "^2.1.1" - -"open@^8.4.0": - "integrity" "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==" - "resolved" "https://registry.npmjs.org/open/-/open-8.4.0.tgz" - "version" "8.4.0" - dependencies: - "define-lazy-prop" "^2.0.0" - "is-docker" "^2.1.1" - "is-wsl" "^2.2.0" - -"optionator@^0.8.1", "optionator@^0.8.2": - "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - "version" "0.8.3" - dependencies: - "deep-is" "~0.1.3" - "fast-levenshtein" "~2.0.6" - "levn" "~0.3.0" - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - "word-wrap" "~1.2.3" - -"optionator@^0.9.1": - "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "deep-is" "^0.1.3" - "fast-levenshtein" "^2.0.6" - "levn" "^0.4.1" - "prelude-ls" "^1.2.1" - "type-check" "^0.4.0" - "word-wrap" "^1.2.3" - -"ora@^5.4.1": - "integrity" "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==" - "resolved" "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" - "version" "5.4.1" - dependencies: - "bl" "^4.1.0" - "chalk" "^4.1.0" - "cli-cursor" "^3.1.0" - "cli-spinners" "^2.5.0" - "is-interactive" "^1.0.0" - "is-unicode-supported" "^0.1.0" - "log-symbols" "^4.1.0" - "strip-ansi" "^6.0.0" - "wcwidth" "^1.0.1" - -"os-browserify@^0.3.0": - "integrity" "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" - "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" - "version" "0.3.0" - -"os-homedir@^1.0.0", "os-homedir@^1.0.1": - "integrity" "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" - "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - "version" "1.0.2" - -"os-tmpdir@^1.0.0", "os-tmpdir@~1.0.2": - "integrity" "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - "version" "1.0.2" - -"osenv@^0.1.4": - "integrity" "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==" - "resolved" "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" - "version" "0.1.5" - dependencies: - "os-homedir" "^1.0.0" - "os-tmpdir" "^1.0.0" - -"p-cancelable@^1.0.0": - "version" "1.1.0" - -"p-cancelable@^2.0.0": - "integrity" "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" - "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz" - "version" "2.1.1" - -"p-finally@^1.0.0": - "integrity" "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - "version" "1.0.0" - -"p-iteration@^1.1.8": - "integrity" "sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ==" - "resolved" "https://registry.npmjs.org/p-iteration/-/p-iteration-1.1.8.tgz" - "version" "1.1.8" - -"p-limit@^1.1.0": - "integrity" "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "p-try" "^1.0.0" - -"p-limit@^2.0.0", "p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-limit@^3.0.2": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" - -"p-locate@^2.0.0": - "integrity" "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "p-limit" "^1.1.0" - -"p-locate@^3.0.0": - "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-limit" "^2.0.0" - -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "p-limit" "^2.2.0" - -"p-locate@^5.0.0": - "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-limit" "^3.0.2" - -"p-map-series@^2.1.0": - "integrity" "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==" - "resolved" "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz" - "version" "2.1.0" - -"p-map@^4.0.0": - "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" - "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - "version" "4.0.0" + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0, esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.3.1, esquery@^1.4.0: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz" + integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== + +events@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.0.0, execa@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +fancy-test@^2.0.42: + version "2.0.42" + resolved "https://registry.npmjs.org/fancy-test/-/fancy-test-2.0.42.tgz" + integrity sha512-TX8YTALYAmExny+f+G24MFxWry3Pk09+9uykwRjfwjibRxJ9ZjJzrnHYVBZK46XQdyli7d+rQc5U/KK7V6uLsw== dependencies: - "aggregate-error" "^3.0.0" + "@types/chai" "*" + "@types/lodash" "*" + "@types/node" "*" + "@types/sinon" "*" + lodash "^4.17.13" + mock-stdin "^1.0.0" + nock "^13.3.3" + stdout-stderr "^0.1.9" -"p-pipe@^3.1.0": - "integrity" "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==" - "resolved" "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz" - "version" "3.1.0" +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -"p-queue@^6.6.2": - "integrity" "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==" - "resolved" "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" - "version" "6.6.2" +fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: - "eventemitter3" "^4.0.4" - "p-timeout" "^3.2.0" + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" -"p-reduce@^2.0.0", "p-reduce@^2.1.0": - "integrity" "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==" - "resolved" "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz" - "version" "2.1.0" +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -"p-timeout@^3.2.0": - "integrity" "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==" - "resolved" "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "p-finally" "^1.0.0" +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -"p-transform@^1.3.0": - "integrity" "sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg==" - "resolved" "https://registry.npmjs.org/p-transform/-/p-transform-1.3.0.tgz" - "version" "1.3.0" +fast-levenshtein@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz" + integrity sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ== dependencies: - "debug" "^4.3.2" - "p-queue" "^6.6.2" + fastest-levenshtein "^1.0.7" -"p-try@^1.0.0": - "integrity" "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - "version" "1.0.0" +fastest-levenshtein@^1.0.7: + version "1.0.16" + resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" +fastq@^1.6.0: + version "1.16.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz" + integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + dependencies: + reusify "^1.0.4" -"p-waterfall@^2.1.1": - "integrity" "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==" - "resolved" "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz" - "version" "2.1.1" +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: - "p-reduce" "^2.0.0" + escape-string-regexp "^1.0.5" -"package-hash@^3.0.0": - "integrity" "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==" - "resolved" "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz" - "version" "3.0.0" +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - "graceful-fs" "^4.1.15" - "hasha" "^3.0.0" - "lodash.flattendeep" "^4.4.0" - "release-zalgo" "^1.0.0" + flat-cache "^3.0.4" -"package-json@^6.3.0": - "version" "6.5.0" +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: - "got" "^9.6.0" - "registry-auth-token" "^4.0.0" - "registry-url" "^5.0.0" - "semver" "^6.2.0" + minimatch "^5.0.1" -"pacote@^11.2.6": - "integrity" "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==" - "resolved" "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz" - "version" "11.3.5" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: - "@npmcli/git" "^2.1.0" - "@npmcli/installed-package-contents" "^1.0.6" - "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^1.8.2" - "cacache" "^15.0.5" - "chownr" "^2.0.0" - "fs-minipass" "^2.1.0" - "infer-owner" "^1.0.4" - "minipass" "^3.1.3" - "mkdirp" "^1.0.3" - "npm-package-arg" "^8.0.1" - "npm-packlist" "^2.1.4" - "npm-pick-manifest" "^6.0.0" - "npm-registry-fetch" "^11.0.0" - "promise-retry" "^2.0.1" - "read-package-json-fast" "^2.0.1" - "rimraf" "^3.0.2" - "ssri" "^8.0.1" - "tar" "^6.1.0" - -"pacote@^12.0.0": - "integrity" "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==" - "resolved" "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz" - "version" "12.0.3" + to-regex-range "^5.0.1" + +find-cache-dir@^3.2.0: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: - "@npmcli/git" "^2.1.0" - "@npmcli/installed-package-contents" "^1.0.6" - "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^2.0.0" - "cacache" "^15.0.5" - "chownr" "^2.0.0" - "fs-minipass" "^2.1.0" - "infer-owner" "^1.0.4" - "minipass" "^3.1.3" - "mkdirp" "^1.0.3" - "npm-package-arg" "^8.0.1" - "npm-packlist" "^3.0.0" - "npm-pick-manifest" "^6.0.0" - "npm-registry-fetch" "^12.0.0" - "promise-retry" "^2.0.1" - "read-package-json-fast" "^2.0.1" - "rimraf" "^3.0.2" - "ssri" "^8.0.1" - "tar" "^6.1.0" - -"pacote@^12.0.2": - "integrity" "sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==" - "resolved" "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz" - "version" "12.0.3" + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@5.0.0, find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - "@npmcli/git" "^2.1.0" - "@npmcli/installed-package-contents" "^1.0.6" - "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^2.0.0" - "cacache" "^15.0.5" - "chownr" "^2.0.0" - "fs-minipass" "^2.1.0" - "infer-owner" "^1.0.4" - "minipass" "^3.1.3" - "mkdirp" "^1.0.3" - "npm-package-arg" "^8.0.1" - "npm-packlist" "^3.0.0" - "npm-pick-manifest" "^6.0.0" - "npm-registry-fetch" "^12.0.0" - "promise-retry" "^2.0.1" - "read-package-json-fast" "^2.0.1" - "rimraf" "^3.0.2" - "ssri" "^8.0.1" - "tar" "^6.1.0" - -"pad-component@0.0.1": - "integrity" "sha512-8EKVBxCRSvLnsX1p2LlSFSH3c2/wuhY9/BXXWu8boL78FbVKqn2L5SpURt1x5iw6Gq8PTqJ7MdPoe5nCtX3I+g==" - "resolved" "https://registry.npmjs.org/pad-component/-/pad-component-0.0.1.tgz" - "version" "0.0.1" - -"pako@~1.0.5": - "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" - "version" "1.0.11" - -"parallel-transform@^1.1.0": - "integrity" "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==" - "resolved" "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "cyclist" "^1.0.1" - "inherits" "^2.0.3" - "readable-stream" "^2.1.5" - -"param-case@^3.0.0": - "integrity" "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==" - "resolved" "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "dot-case" "^3.0.4" - "tslib" "^2.0.3" - -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "callsites" "^3.0.0" - -"parse-asn1@^5.0.0", "parse-asn1@^5.1.5": - "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==" - "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" - "version" "5.1.6" - dependencies: - "asn1.js" "^5.2.0" - "browserify-aes" "^1.0.0" - "evp_bytestokey" "^1.0.0" - "pbkdf2" "^3.0.3" - "safe-buffer" "^5.1.1" - -"parse-conflict-json@^2.0.1": - "integrity" "sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA==" - "resolved" "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "json-parse-even-better-errors" "^2.3.1" - "just-diff" "^5.0.1" - "just-diff-apply" "^5.2.0" - -"parse-git-config@^1.1.1": - "integrity" "sha512-S3LGXJZVSy/hswvbSkfdbKBRVsnqKrVu6j8fcvdtJ4TxosSELyQDsJPuGPXuZ+EyuYuJd3O4uAF8gcISR0OFrQ==" - "resolved" "https://registry.npmjs.org/parse-git-config/-/parse-git-config-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "extend-shallow" "^2.0.1" - "fs-exists-sync" "^0.1.0" - "git-config-path" "^1.0.1" - "ini" "^1.3.4" - -"parse-json@^2.2.0": - "integrity" "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "error-ex" "^1.2.0" - -"parse-json@^4.0.0": - "integrity" "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "error-ex" "^1.3.1" - "json-parse-better-errors" "^1.0.1" - -"parse-json@^5.0.0", "parse-json@^5.2.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: - "@babel/code-frame" "^7.0.0" - "error-ex" "^1.3.1" - "json-parse-even-better-errors" "^2.3.0" - "lines-and-columns" "^1.1.6" - -"parse-ms@^2.1.0": - "integrity" "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==" - "resolved" "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz" - "version" "2.1.0" - -"parse-passwd@^1.0.0": - "integrity" "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==" - "resolved" "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" - "version" "1.0.0" - -"parse-path@^4.0.0": - "version" "4.0.3" - dependencies: - "is-ssh" "^1.3.0" - "protocols" "^1.4.0" - "qs" "^6.9.4" - "query-string" "^6.13.8" - -"parse-url@^6.0.0": - "version" "6.0.0" - dependencies: - "is-ssh" "^1.3.0" - "normalize-url" "^6.1.0" - "parse-path" "^4.0.0" - "protocols" "^1.4.0" - -"parse5@6.0.1": - "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - "version" "6.0.1" - -"pascalcase@^0.1.1": - "integrity" "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" - "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - "version" "0.1.1" - -"password-prompt@^1.1.2": - "integrity" "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==" - "resolved" "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "ansi-escapes" "^3.1.0" - "cross-spawn" "^6.0.5" - -"patch-package@^6.4.7": - "integrity" "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==" - "resolved" "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz" - "version" "6.4.7" - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - "chalk" "^2.4.2" - "cross-spawn" "^6.0.5" - "find-yarn-workspace-root" "^2.0.0" - "fs-extra" "^7.0.1" - "is-ci" "^2.0.0" - "klaw-sync" "^6.0.0" - "minimist" "^1.2.0" - "open" "^7.4.2" - "rimraf" "^2.6.3" - "semver" "^5.6.0" - "slash" "^2.0.0" - "tmp" "^0.0.33" - -"path-browserify@0.0.1": - "integrity" "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" - "version" "0.0.1" - -"path-dirname@^1.0.0": - "integrity" "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" - "resolved" "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" - "version" "1.0.2" - -"path-exists@^2.0.0": - "integrity" "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "pinkie-promise" "^2.0.0" - -"path-exists@^3.0.0": - "integrity" "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - "version" "3.0.0" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-is-inside@^1.0.2": - "integrity" "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - "version" "1.0.2" - -"path-key@^2.0.0", "path-key@^2.0.1": - "integrity" "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - "version" "2.0.1" - -"path-key@^3.0.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.7": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-to-regexp@^1.7.0": - "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "isarray" "0.0.1" - -"path-type@^1.0.0": - "integrity" "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "graceful-fs" "^4.1.2" - "pify" "^2.0.0" - "pinkie-promise" "^2.0.0" - -"path-type@^3.0.0": - "integrity" "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "pify" "^3.0.0" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"path@^0.12.7": - "integrity" "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==" - "resolved" "https://registry.npmjs.org/path/-/path-0.12.7.tgz" - "version" "0.12.7" - dependencies: - "process" "^0.11.1" - "util" "^0.10.3" - -"pathval@^1.1.1": - "integrity" "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - "resolved" "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" - "version" "1.1.1" - -"pause-stream@0.0.11": - "integrity" "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==" - "resolved" "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz" - "version" "0.0.11" - dependencies: - "through" "~2.3" - -"pbkdf2@^3.0.3": - "integrity" "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==" - "resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "create-hash" "^1.1.2" - "create-hmac" "^1.1.4" - "ripemd160" "^2.0.1" - "safe-buffer" "^5.0.1" - "sha.js" "^2.4.8" - -"pend@~1.2.0": - "integrity" "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - "resolved" "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - "version" "1.2.0" - -"performance-now@^2.1.0": - "integrity" "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - "version" "2.1.0" - -"picocolors@^1.0.0": - "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - "version" "1.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.3", "picomatch@^2.3.1": - "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - "version" "2.3.1" - -"pidtree@^0.3.0": - "integrity" "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==" - "resolved" "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" - "version" "0.3.1" - -"pidtree@^0.5.0": - "integrity" "sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==" - "resolved" "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz" - "version" "0.5.0" - -"pify@^2.0.0": - "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - "version" "2.3.0" - -"pify@^2.3.0": - "integrity" "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - "version" "2.3.0" - -"pify@^3.0.0": - "integrity" "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - "version" "3.0.0" - -"pify@^4.0.1": - "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - "version" "4.0.1" - -"pify@^5.0.0": - "integrity" "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==" - "resolved" "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz" - "version" "5.0.0" - -"pinkie-promise@^2.0.0": - "integrity" "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==" - "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "pinkie" "^2.0.0" - -"pinkie@^2.0.0": - "integrity" "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" - "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - "version" "2.0.4" - -"pirates@^4.0.4": - "integrity" "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - "version" "4.0.5" - -"pkg-dir@^3.0.0": - "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "find-up" "^3.0.0" - -"pkg-dir@^4.1.0", "pkg-dir@^4.2.0", "pkg-dir@4.2.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"pluralize@^8.0.0": - "integrity" "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" - "resolved" "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" - "version" "8.0.0" - -"posix-character-classes@^0.1.0": - "integrity" "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" - "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - "version" "0.1.1" - -"preferred-pm@^3.0.3": - "integrity" "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==" - "resolved" "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "find-up" "^5.0.0" - "find-yarn-workspace-root2" "1.2.16" - "path-exists" "^4.0.0" - "which-pm" "2.0.0" - -"prelude-ls@^1.2.1": - "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - "version" "1.2.1" - -"prelude-ls@~1.1.2": - "integrity" "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - "version" "1.1.2" - -"prepend-http@^2.0.0": - "version" "2.0.0" - -"prettier@^2.6.2": - "version" "2.6.2" - -"pretty-bytes@^5.3.0": - "integrity" "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - "resolved" "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" - "version" "5.6.0" - -"pretty-format@^27.0.0", "pretty-format@^27.5.1": - "integrity" "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" - "version" "27.5.1" - dependencies: - "ansi-regex" "^5.0.1" - "ansi-styles" "^5.0.0" - "react-is" "^17.0.1" - -"pretty-format@^28.1.0": - "version" "28.1.0" - dependencies: - "@jest/schemas" "^28.0.2" - "ansi-regex" "^5.0.1" - "ansi-styles" "^5.0.0" - "react-is" "^18.0.0" - -"pretty-ms@^7.0.0": - "integrity" "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==" - "resolved" "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "parse-ms" "^2.1.0" - -"proc-log@^1.0.0": - "integrity" "sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==" - "resolved" "https://registry.npmjs.org/proc-log/-/proc-log-1.0.0.tgz" - "version" "1.0.0" - -"process-nextick-args@^2.0.0", "process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"process@^0.11.1", "process@^0.11.10": - "integrity" "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - "version" "0.11.10" - -"progress@^2.0.0", "progress@2.0.3": - "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - "version" "2.0.3" - -"project-mobile@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-plugins/plugin-qa/template/mobile-project-template": - "resolved" "file:packages/frontier-plugins/plugin-qa/template/mobile-project-template" - "version" "1.0.0" - -"project-standard@file:/Users/realdecoy/RealDecoy/Projects/frontier/packages/frontier-plugins/plugin-qa/template/project-template": - "resolved" "file:packages/frontier-plugins/plugin-qa/template/project-template" - "version" "1.0.0" - -"promise-all-reject-late@^1.0.0": - "integrity" "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==" - "resolved" "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz" - "version" "1.0.1" - -"promise-call-limit@^1.0.1": - "integrity" "sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q==" - "resolved" "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.1.tgz" - "version" "1.0.1" - -"promise-inflight@^1.0.1": - "integrity" "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" - "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" - "version" "1.0.1" - -"promise-polyfill@^8.1.3": - "integrity" "sha512-Og0+jCRQetV84U8wVjMNccfGCnMQ9mGs9Hv78QFe+pSDD3gWTpz0y+1QCuxy5d/vBFuZ3iwP2eycAkvqIMPmWg==" - "resolved" "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.3.tgz" - "version" "8.2.3" - -"promise-retry@^2.0.1": - "integrity" "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==" - "resolved" "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "err-code" "^2.0.2" - "retry" "^0.12.0" - -"prompts@^2.0.1": - "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" - "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "kleur" "^3.0.3" - "sisteransi" "^1.0.5" - -"promzard@^0.3.0": - "integrity" "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==" - "resolved" "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "read" "1" - -"propagate@^2.0.0": - "integrity" "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==" - "resolved" "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz" - "version" "2.0.1" - -"proto-list@~1.2.1": - "integrity" "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" - "resolved" "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" - "version" "1.2.4" - -"protocols@^1.1.0", "protocols@^1.4.0": - "integrity" "sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==" - "resolved" "https://registry.npmjs.org/protocols/-/protocols-1.4.8.tgz" - "version" "1.4.8" - -"proxy-from-env@1.1.0": - "integrity" "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - "resolved" "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - "version" "1.1.0" - -"prr@~1.0.1": - "integrity" "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" - "version" "1.0.1" - -"ps-tree@=1.2.0": - "integrity" "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==" - "resolved" "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "event-stream" "=3.3.4" - -"pseudomap@^1.0.2": - "integrity" "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" - "resolved" "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - "version" "1.0.2" - -"psl@^1.1.28", "psl@^1.1.33": - "version" "1.8.0" - -"pstree.remy@^1.1.8": - "integrity" "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" - "resolved" "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz" - "version" "1.1.8" - -"public-encrypt@^4.0.0": - "integrity" "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==" - "resolved" "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "bn.js" "^4.1.0" - "browserify-rsa" "^4.0.0" - "create-hash" "^1.1.0" - "parse-asn1" "^5.0.0" - "randombytes" "^2.0.1" - "safe-buffer" "^5.1.2" - -"pump@^2.0.0": - "integrity" "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==" - "resolved" "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"pumpify@^1.3.3": - "integrity" "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==" - "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "duplexify" "^3.6.0" - "inherits" "^2.0.3" - "pump" "^2.0.0" - -"punycode@^1.2.4": - "integrity" "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - "version" "1.4.1" - -"punycode@^2.1.0", "punycode@^2.1.1": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"punycode@1.3.2": - "integrity" "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - "version" "1.3.2" - -"pupa@^2.1.1": - "version" "2.1.1" - dependencies: - "escape-goat" "^2.0.0" - -"puppeteer-core@^13.1.3": - "integrity" "sha512-rXja4vcnAzFAP1OVLq/5dWNfwBGuzcOARJ6qGV7oAZhnLmVRU8G5MsdeQEAOy332ZhkIOnn9jp15R89LKHyp2Q==" - "resolved" "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.7.0.tgz" - "version" "13.7.0" - dependencies: - "cross-fetch" "3.1.5" - "debug" "4.3.4" - "devtools-protocol" "0.0.981744" - "extract-zip" "2.0.1" - "https-proxy-agent" "5.0.1" - "pkg-dir" "4.2.0" - "progress" "2.0.3" - "proxy-from-env" "1.1.0" - "rimraf" "3.0.2" - "tar-fs" "2.1.1" - "unbzip2-stream" "1.4.3" - "ws" "8.5.0" - -"q@^1.5.1": - "integrity" "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - "version" "1.5.1" - -"qqjs@^0.3.10", "qqjs@^0.3.11": - "integrity" "sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==" - "resolved" "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz" - "version" "0.3.11" - dependencies: - "chalk" "^2.4.1" - "debug" "^4.1.1" - "execa" "^0.10.0" - "fs-extra" "^6.0.1" - "get-stream" "^5.1.0" - "glob" "^7.1.2" - "globby" "^10.0.1" - "http-call" "^5.1.2" - "load-json-file" "^6.2.0" - "pkg-dir" "^4.2.0" - "tar-fs" "^2.0.0" - "tmp" "^0.1.0" - "write-json-file" "^4.1.1" - -"qs@^6.9.4": - "version" "6.10.3" - dependencies: - "side-channel" "^1.0.4" - -"qs@~6.5.2": - "integrity" "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" - "version" "6.5.3" - -"query-selector-shadow-dom@^1.0.0": - "integrity" "sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==" - "resolved" "https://registry.npmjs.org/query-selector-shadow-dom/-/query-selector-shadow-dom-1.0.0.tgz" - "version" "1.0.0" - -"query-string@^6.13.8": - "integrity" "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==" - "resolved" "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" - "version" "6.14.1" - dependencies: - "decode-uri-component" "^0.2.0" - "filter-obj" "^1.1.0" - "split-on-first" "^1.0.0" - "strict-uri-encode" "^2.0.0" - -"querystring-es3@^0.2.0": - "integrity" "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" - "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" - "version" "0.2.1" - -"querystring@0.2.0": - "integrity" "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - "version" "0.2.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"quick-lru@^4.0.1": - "integrity" "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" - "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" - "version" "4.0.1" - -"quick-lru@^5.1.1": - "integrity" "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" - "resolved" "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - "version" "5.1.1" - -"ramda@^0.26.1": - "integrity" "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" - "resolved" "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz" - "version" "0.26.1" - -"ramda@^0.27.1": - "integrity" "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==" - "resolved" "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz" - "version" "0.27.2" - -"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5", "randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"randomfill@^1.0.3": - "integrity" "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==" - "resolved" "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "randombytes" "^2.0.5" - "safe-buffer" "^5.1.0" - -"rc@^1.2.8": - "version" "1.2.8" - dependencies: - "deep-extend" "^0.6.0" - "ini" "~1.3.0" - "minimist" "^1.2.0" - "strip-json-comments" "~2.0.1" - -"react-is@^17.0.1": - "integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - "version" "17.0.2" - -"react-is@^18.0.0": - "version" "18.1.0" - -"read-cmd-shim@^2.0.0": - "integrity" "sha512-HJpV9bQpkl6KwjxlJcBoqu9Ba0PQg8TqSNIOrulGt54a0uup0HtevreFHzYzkm0lpnleRdNBzXznKrgxglEHQw==" - "resolved" "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-2.0.0.tgz" - "version" "2.0.0" - -"read-cmd-shim@^3.0.0": - "integrity" "sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog==" - "resolved" "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz" - "version" "3.0.0" - -"read-package-json-fast@^2.0.1", "read-package-json-fast@^2.0.2", "read-package-json-fast@^2.0.3": - "integrity" "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==" - "resolved" "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz" - "version" "2.0.3" - dependencies: - "json-parse-even-better-errors" "^2.3.0" - "npm-normalize-package-bin" "^1.0.1" - -"read-package-json@^2.0.0": - "integrity" "sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA==" - "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz" - "version" "2.1.2" - dependencies: - "glob" "^7.1.1" - "json-parse-even-better-errors" "^2.3.0" - "normalize-package-data" "^2.0.0" - "npm-normalize-package-bin" "^1.0.0" - -"read-package-json@^3.0.0": - "integrity" "sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng==" - "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "glob" "^7.1.1" - "json-parse-even-better-errors" "^2.3.0" - "normalize-package-data" "^3.0.0" - "npm-normalize-package-bin" "^1.0.0" - -"read-package-json@^4.1.1": - "integrity" "sha512-Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ==" - "resolved" "https://registry.npmjs.org/read-package-json/-/read-package-json-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "glob" "^7.1.1" - "json-parse-even-better-errors" "^2.3.0" - "normalize-package-data" "^3.0.0" - "npm-normalize-package-bin" "^1.0.0" - -"read-package-tree@^5.3.1": - "integrity" "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==" - "resolved" "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz" - "version" "5.3.1" - dependencies: - "read-package-json" "^2.0.0" - "readdir-scoped-modules" "^1.0.0" - "util-promisify" "^2.1.0" - -"read-pkg-up@^1.0.1": - "integrity" "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "find-up" "^1.0.0" - "read-pkg" "^1.0.0" - -"read-pkg-up@^3.0.0": - "integrity" "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "find-up" "^2.0.0" - "read-pkg" "^3.0.0" - -"read-pkg-up@^4.0.0": - "integrity" "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "find-up" "^3.0.0" - "read-pkg" "^3.0.0" - -"read-pkg-up@^7.0.1": - "integrity" "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "find-up" "^4.1.0" - "read-pkg" "^5.2.0" - "type-fest" "^0.8.1" - -"read-pkg@^1.0.0": - "integrity" "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==" - "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "load-json-file" "^1.0.0" - "normalize-package-data" "^2.3.2" - "path-type" "^1.0.0" - -"read-pkg@^3.0.0": - "integrity" "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==" - "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "load-json-file" "^4.0.0" - "normalize-package-data" "^2.3.2" - "path-type" "^3.0.0" - -"read-pkg@^5.2.0": - "integrity" "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==" - "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - "version" "5.2.0" + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-yarn-workspace-root2@1.2.16: + version "1.2.16" + resolved "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz" + integrity sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== dependencies: - "@types/normalize-package-data" "^2.4.0" - "normalize-package-data" "^2.5.0" - "parse-json" "^5.0.0" - "type-fest" "^0.6.0" - -"read@~1.0.1", "read@1": - "integrity" "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==" - "resolved" "https://registry.npmjs.org/read/-/read-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "mute-stream" "~0.0.4" - -"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.0.5", "readable-stream@^2.0.6", "readable-stream@^2.1.5", "readable-stream@^2.2.2", "readable-stream@^2.3.3", "readable-stream@^2.3.5", "readable-stream@^2.3.6", "readable-stream@~2.3.6", "readable-stream@1 || 2": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^3.0.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.0.2": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.1.1": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.4.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@^3.6.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@3": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readdir-glob@^1.0.0": - "version" "1.1.1" - dependencies: - "minimatch" "^3.0.4" - -"readdir-scoped-modules@^1.0.0", "readdir-scoped-modules@^1.1.0": - "integrity" "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==" - "resolved" "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "debuglog" "^1.0.1" - "dezalgo" "^1.0.0" - "graceful-fs" "^4.1.2" - "once" "^1.3.0" - -"readdirp@^2.2.1": - "integrity" "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "graceful-fs" "^4.1.11" - "micromatch" "^3.1.10" - "readable-stream" "^2.0.2" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"rechoir@^0.6.2": - "integrity" "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - "version" "0.6.2" - dependencies: - "resolve" "^1.1.6" - -"rechoir@^0.7.0": - "integrity" "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" - "version" "0.7.1" - dependencies: - "resolve" "^1.9.0" - -"recursive-readdir@^2.2.2": - "integrity" "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==" - "resolved" "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz" - "version" "2.2.2" + micromatch "^4.0.2" + pkg-dir "^4.2.0" + +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== dependencies: - "minimatch" "3.0.4" - -"redent@^3.0.0": - "integrity" "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==" - "resolved" "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "indent-string" "^4.0.0" - "strip-indent" "^3.0.0" + micromatch "^4.0.2" + +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz" + integrity sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg== + dependencies: + readable-stream "^2.0.2" -"redeyed@~2.1.0": - "integrity" "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==" - "resolved" "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz" - "version" "2.1.1" +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: - "esprima" "~4.0.0" - -"reduce-flatten@^2.0.0": - "integrity" "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==" - "resolved" "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz" - "version" "2.0.0" + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" -"regenerate-unicode-properties@^10.0.1": - "integrity" "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" - "version" "10.0.1" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreground-child@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz" + integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^3.0.2" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +fromentries@^1.2.0: + version "1.3.2" + resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz" + integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== + +fs-extra@^11.2.0: + version "11.2.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^8.1: + version "8.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-minipass@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz" + integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== + dependencies: + minipass "^7.0.3" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== + dependencies: + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +github-slugger@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" + integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== + +github-username@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/github-username/-/github-username-6.0.0.tgz" + integrity sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ== dependencies: - "regenerate" "^1.4.2" - -"regenerate@^1.4.2": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" + "@octokit/rest" "^18.0.6" -"regenerator-runtime@^0.13.4": - "integrity" "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" - "version" "0.13.9" +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@7.2.0, glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^10.2.2: + version "10.3.10" + resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@^8.0.1: + version "8.1.0" + resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.24.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.0.1, globby@^11.0.3, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^11: + version "11.8.6" + resolved "https://registry.npmjs.org/got/-/got-11.8.6.tgz" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +grouped-queue@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/grouped-queue/-/grouped-queue-2.0.0.tgz" + integrity sha512-/PiFUa7WIsl48dUeCvhIHnwNmAAzlI/eHoJl0vu3nsFA366JleY7Ff8EVTplZu5kO0MIdZjKTTnzItL61ahbnw== + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +hasha@^5.0.0: + version "5.2.2" + resolved "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz" + integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== + dependencies: + is-stream "^2.0.0" + type-fest "^0.8.0" + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^6.0.0: + version "6.1.1" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz" + integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== + dependencies: + lru-cache "^7.5.1" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-call@^5.2.2: + version "5.3.0" + resolved "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz" + integrity sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w== + dependencies: + content-type "^1.0.4" + debug "^4.1.1" + is-retry-allowed "^1.1.0" + is-stream "^2.0.0" + parse-json "^4.0.0" + tunnel-agent "^0.6.0" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" -"regenerator-transform@^0.15.0": - "integrity" "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" - "version" "0.15.0" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: - "@babel/runtime" "^7.8.4" + "@tootallnate/once" "2" + agent-base "6" + debug "4" -"regex-not@^1.0.0", "regex-not@^1.0.2": - "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" - "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - "version" "1.0.2" +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +hyperlinker@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz" + integrity sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ== + +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@1.1.13, ieee754@^1.1.13, ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore-walk@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-4.0.1.tgz" + integrity sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw== + dependencies: + minimatch "^3.0.4" + +ignore-walk@^6.0.0: + version "6.0.4" + resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz" + integrity sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw== + dependencies: + minimatch "^9.0.0" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inquirer@^8.0.0: + version "8.2.6" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz" + integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^6.0.1" + +internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== + dependencies: + get-intrinsic "^1.2.2" + hasown "^2.0.0" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-builtin-module@^3.1.0: + version "3.2.1" + resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.8.1: + version "2.13.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + 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-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== dependencies: - "extend-shallow" "^3.0.2" - "safe-regex" "^1.1.0" - -"regexp-tree@^0.1.23", "regexp-tree@~0.1.1": - "integrity" "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==" - "resolved" "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz" - "version" "0.1.24" - -"regexp.prototype.flags@^1.4.1": - "version" "1.4.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "functions-have-names" "^1.2.2" - -"regexpp@^2.0.1": - "integrity" "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz" - "version" "2.0.1" - -"regexpp@^3.0.0", "regexpp@^3.1.0", "regexpp@^3.2.0": - "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - "version" "3.2.0" - -"regexpu-core@^5.1.0": - "integrity" "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==" - "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "regenerate" "^1.4.2" - "regenerate-unicode-properties" "^10.0.1" - "regjsgen" "^0.6.0" - "regjsparser" "^0.8.2" - "unicode-match-property-ecmascript" "^2.0.0" - "unicode-match-property-value-ecmascript" "^2.0.0" - -"registry-auth-token@^4.0.0": - "version" "4.2.1" - dependencies: - "rc" "^1.2.8" - -"registry-url@^5.0.0": - "version" "5.1.0" - dependencies: - "rc" "^1.2.8" - -"regjsgen@^0.6.0": - "integrity" "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" - "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" - "version" "0.6.0" - -"regjsparser@^0.8.2": - "integrity" "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" - "version" "0.8.4" - dependencies: - "jsesc" "~0.5.0" - -"release-zalgo@^1.0.0": - "integrity" "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==" - "resolved" "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "es6-error" "^4.0.1" - -"remove-trailing-separator@^1.0.1": - "integrity" "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" - "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - "version" "1.1.0" - -"repeat-element@^1.1.2": - "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" - "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - "version" "1.1.4" - -"repeat-string@^1.6.1": - "integrity" "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - "version" "1.6.1" - -"replace-ext@^1.0.0": - "integrity" "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" - "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" - "version" "1.0.1" - -"replace-in-file@^6.2.0": - "version" "6.3.2" - dependencies: - "chalk" "^4.1.2" - "glob" "^7.2.0" - "yargs" "^17.2.1" - -"request@^2.88.0", "request@^2.88.2": - "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" - "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" - "version" "2.88.2" - dependencies: - "aws-sign2" "~0.7.0" - "aws4" "^1.8.0" - "caseless" "~0.12.0" - "combined-stream" "~1.0.6" - "extend" "~3.0.2" - "forever-agent" "~0.6.1" - "form-data" "~2.3.2" - "har-validator" "~5.1.3" - "http-signature" "~1.2.0" - "is-typedarray" "~1.0.0" - "isstream" "~0.1.2" - "json-stringify-safe" "~5.0.1" - "mime-types" "~2.1.19" - "oauth-sign" "~0.9.0" - "performance-now" "^2.1.0" - "qs" "~6.5.2" - "safe-buffer" "^5.1.2" - "tough-cookie" "~2.5.0" - "tunnel-agent" "^0.6.0" - "uuid" "^3.3.2" - -"require-directory@^2.1.1": - "integrity" "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"require-from-string@^2.0.2": - "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - "version" "2.0.2" - -"require-main-filename@^2.0.0": - "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - "version" "2.0.0" - -"resolve-alpn@^1.0.0": - "integrity" "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" - "resolved" "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" - "version" "1.2.1" - -"resolve-cwd@^3.0.0": - "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "resolve-from" "^5.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-from@^5.0.0", "resolve-from@5.0.0": - "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - "version" "5.0.0" - -"resolve-global@^1.0.0", "resolve-global@1.0.0": - "integrity" "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==" - "resolved" "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "global-dirs" "^0.1.1" - -"resolve-url@^0.2.1": - "integrity" "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" - "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - "version" "0.2.1" - -"resolve.exports@^1.1.0": - "integrity" "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==" - "resolved" "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" - "version" "1.1.0" - -"resolve@^1.1.6", "resolve@^1.10.0", "resolve@^1.10.1", "resolve@^1.12.0", "resolve@^1.14.2", "resolve@^1.20.0", "resolve@^1.8.1", "resolve@^1.9.0": - "version" "1.22.0" - dependencies: - "is-core-module" "^2.8.1" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"responselike@^1.0.2": - "version" "1.0.2" - dependencies: - "lowercase-keys" "^1.0.0" - -"responselike@^2.0.0": - "version" "2.0.0" - dependencies: - "lowercase-keys" "^2.0.0" - -"resq@^1.9.1": - "integrity" "sha512-HmgVS3j+FLrEDBTDYysPdPVF9/hioDMJ/otOiQDKqk77YfZeeLOj0qi34yObumcud1gBpk+wpBTEg4kMicD++A==" - "resolved" "https://registry.npmjs.org/resq/-/resq-1.10.2.tgz" - "version" "1.10.2" - dependencies: - "fast-deep-equal" "^2.0.1" - -"restore-cursor@^2.0.0": - "integrity" "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "onetime" "^2.0.0" - "signal-exit" "^3.0.2" - -"restore-cursor@^3.1.0": - "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" -"ret@~0.1.10": - "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - "version" "0.1.15" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== -"retry@^0.12.0": - "integrity" "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" - "resolved" "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - "version" "0.12.0" +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -"rfdc@^1.3.0": - "integrity" "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" - "resolved" "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" - "version" "1.3.0" +is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: + 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== + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-retry-allowed@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-scoped@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz" + integrity sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ== + dependencies: + scoped-regex "^2.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isbinaryfile@^4.0.10: + version "4.0.10" + resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== + +isbinaryfile@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz" + integrity sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -"rgb2hex@0.2.5": - "integrity" "sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw==" - "resolved" "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.2.5.tgz" - "version" "0.2.5" +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== -"rimraf@^2.5.4": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" - dependencies: - "glob" "^7.1.3" +istanbul-lib-hook@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz" + integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== + dependencies: + append-transform "^2.0.0" -"rimraf@^2.6.2": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" - dependencies: - "glob" "^7.1.3" +istanbul-lib-instrument@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-processinfo@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz" + integrity sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg== + dependencies: + archy "^1.0.0" + cross-spawn "^7.0.3" + istanbul-lib-coverage "^3.2.0" + p-map "^3.0.0" + rimraf "^3.0.0" + uuid "^8.3.2" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.1.6" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jake@^10.8.5: + version "10.8.7" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz" + integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jmespath@0.16.0: + version "0.16.0" + resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz" + integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.14.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-parse-even-better-errors@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz" + integrity sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" -"rimraf@^2.6.3": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - "glob" "^7.1.3" + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +just-diff-apply@^5.2.0: + version "5.5.0" + resolved "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz" + integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== + +just-diff@^5.0.1: + version "5.2.0" + resolved "https://registry.npmjs.org/just-diff/-/just-diff-5.2.0.tgz" + integrity sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw== + +just-extend@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz" + integrity sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw== + +keyv@^4.0.0, keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +load-yaml-file@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz" + integrity sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== + dependencies: + graceful-fs "^4.1.5" + js-yaml "^3.13.0" + pify "^4.0.1" + strip-bom "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" + integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA== + +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" + integrity sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ== + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.1.0, log-symbols@^4.0.0, log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.18.3" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +"lru-cache@^9.1.1 || ^10.0.0": + version "10.1.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz" + integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== + +magic-string@^0.30.10: + version "0.30.10" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" + integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +make-dir@^3.0.0, make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +make-fetch-happen@^10.0.1, make-fetch-happen@^10.0.3: + version "10.2.1" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + +make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.1.1: + version "11.1.1" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz" + integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^17.0.0" + http-cache-semantics "^4.1.1" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^5.0.0" + minipass-fetch "^3.0.0" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^10.0.0" + +make-fetch-happen@^9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +"mem-fs-editor@^8.1.2 || ^9.0.0", mem-fs-editor@^9.0.0: + version "9.7.0" + resolved "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.7.0.tgz" + integrity sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg== + dependencies: + binaryextensions "^4.16.0" + commondir "^1.0.1" + deep-extend "^0.6.0" + ejs "^3.1.8" + globby "^11.1.0" + isbinaryfile "^5.0.0" + minimatch "^7.2.0" + multimatch "^5.0.0" + normalize-path "^3.0.0" + textextensions "^5.13.0" + +"mem-fs@^1.2.0 || ^2.0.0": + version "2.3.0" + resolved "https://registry.npmjs.org/mem-fs/-/mem-fs-2.3.0.tgz" + integrity sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw== + dependencies: + "@types/node" "^15.6.2" + "@types/vinyl" "^2.0.4" + vinyl "^2.0.1" + vinyl-file "^3.0.0" + +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" + integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +minimatch@4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz" + integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.0.4, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^7.2.0: + version "7.4.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz" + integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.0, minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.3, minimist@^1.2.5: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.2, minipass-fetch@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" -"rimraf@^3.0.0", "rimraf@^3.0.2", "rimraf@3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== dependencies: - "glob" "^7.1.3" + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" -"rimraf@~2.5.2": - "integrity" "sha512-Lw7SHMjssciQb/rRz7JyPIy9+bbUshEucPoLRvWqy09vC5zQixl8Uet+Zl+SROBB/JMWHJRdCk1qdxNWHNMvlQ==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" - "version" "2.5.4" +minipass-fetch@^3.0.0: + version "3.0.4" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz" + integrity sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg== dependencies: - "glob" "^7.0.5" + minipass "^7.0.3" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" -"rimraf@2.6.3": - "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" - "version" "2.6.3" +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== dependencies: - "glob" "^7.1.3" + minipass "^3.0.0" -"ripemd160@^2.0.0", "ripemd160@^2.0.1": - "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" - "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - "version" "2.0.2" +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz" + integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" + jsonparse "^1.3.1" + minipass "^3.0.0" -"run-async@^2.0.0", "run-async@^2.2.0", "run-async@^2.4.0": - "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" - "version" "2.4.1" - -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: - "queue-microtask" "^1.2.2" + minipass "^3.0.0" -"run-queue@^1.0.0", "run-queue@^1.0.3": - "integrity" "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==" - "resolved" "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" - "version" "1.0.3" +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== dependencies: - "aproba" "^1.1.1" + minipass "^3.0.0" -"rxjs@^6.4.0", "rxjs@^6.6.0", "rxjs@^6.6.3": - "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - "version" "6.6.7" +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: + version "3.3.6" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: - "tslib" "^1.9.0" - -"rxjs@^7.2.0": - "version" "7.5.5" - dependencies: - "tslib" "^2.1.0" - -"rxjs@^7.5.5": - "version" "7.5.5" - dependencies: - "tslib" "^2.1.0" - -"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safe-buffer@^5.2.0", "safe-buffer@~5.2.0": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-buffer@^5.2.1": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-regex@^1.1.0": - "integrity" "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==" - "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "ret" "~0.1.10" - -"safe-regex@^2.1.1": - "integrity" "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==" - "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "regexp-tree" "~0.1.1" - -"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", "safer-buffer@~2.1.0": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" - -"sax@>=0.6.0", "sax@1.2.1": - "integrity" "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" - "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz" - "version" "1.2.1" - -"saxes@^5.0.1": - "integrity" "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==" - "resolved" "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "xmlchars" "^2.2.0" - -"schema-utils@^1.0.0": - "integrity" "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "ajv" "^6.1.0" - "ajv-errors" "^1.0.0" - "ajv-keywords" "^3.1.0" - -"schema-utils@^2.6.5": - "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - "version" "2.7.1" - dependencies: - "@types/json-schema" "^7.0.5" - "ajv" "^6.12.4" - "ajv-keywords" "^3.5.2" - -"schema-utils@^3.1.0", "schema-utils@^3.1.1": - "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" - -"scoped-regex@^2.0.0": - "integrity" "sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==" - "resolved" "https://registry.npmjs.org/scoped-regex/-/scoped-regex-2.1.0.tgz" - "version" "2.1.0" - -"selenium-standalone@^8.0.3": - "version" "8.1.4" - dependencies: - "commander" "^9.0.0" - "cross-spawn" "^7.0.3" - "debug" "^4.3.1" - "fs-extra" "^10.0.0" - "got" "^11.8.2" - "is-port-reachable" "^3.0.0" - "lodash.mapvalues" "^4.6.0" - "lodash.merge" "^4.6.2" - "minimist" "^1.2.5" - "mkdirp" "^1.0.4" - "progress" "2.0.3" - "tar-stream" "2.2.0" - "which" "^2.0.2" - "yauzl" "^2.10.0" - -"semver-diff@^3.1.1": - "version" "3.1.1" - dependencies: - "semver" "^6.3.0" - -"semver@^5.5.0", "semver@^5.5.1", "semver@^5.6.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.7.1": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^6.0.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.1": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.2": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.2.0": - "version" "6.3.0" - -"semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.1.1", "semver@^7.1.3", "semver@^7.2.1", "semver@^7.3.2", "semver@^7.3.4", "semver@^7.3.5", "semver@7.3.7", "semver@7.x": - "integrity" "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" - "version" "7.3.7" - dependencies: - "lru-cache" "^6.0.0" - -"semver@2 || 3 || 4 || 5": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@7.0.0": - "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - "version" "7.0.0" - -"serialize-error@^8.0.0": - "integrity" "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" - "resolved" "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "type-fest" "^0.20.2" - -"serialize-javascript@^4.0.0": - "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "randombytes" "^2.1.0" - -"serialize-javascript@^6.0.0", "serialize-javascript@6.0.0": - "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "randombytes" "^2.1.0" - -"set-blocking@^2.0.0", "set-blocking@~2.0.0": - "integrity" "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - "version" "2.0.0" - -"set-value@^2.0.0", "set-value@^2.0.1": - "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" - "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "extend-shallow" "^2.0.1" - "is-extendable" "^0.1.1" - "is-plain-object" "^2.0.3" - "split-string" "^3.0.1" - -"setimmediate@^1.0.4": - "integrity" "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - "version" "1.0.5" - -"sha.js@^2.4.0", "sha.js@^2.4.8": - "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" - "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - "version" "2.4.11" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^6.0.2" - -"shebang-command@^1.2.0": - "integrity" "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "shebang-regex" "^1.0.0" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^1.0.0": - "integrity" "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - "version" "1.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"shell-quote@^1.6.1": - "integrity" "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" - "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz" - "version" "1.7.3" - -"shelljs@^0.8.4", "shelljs@^0.8.5": - "integrity" "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==" - "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" - "version" "0.8.5" - dependencies: - "glob" "^7.0.0" - "interpret" "^1.0.0" - "rechoir" "^0.6.2" - -"shellwords@^0.1.1": - "integrity" "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" - "resolved" "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" - "version" "0.1.1" - -"shx@^0.3.3": - "integrity" "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==" - "resolved" "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz" - "version" "0.3.4" - dependencies: - "minimist" "^1.2.3" - "shelljs" "^0.8.5" - -"side-channel@^1.0.4": - "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" - "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.0" - "get-intrinsic" "^1.0.2" - "object-inspect" "^1.9.0" - -"signal-exit@^3.0.0", "signal-exit@^3.0.2", "signal-exit@^3.0.3", "signal-exit@^3.0.7": - "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - "version" "3.0.7" - -"sinon@^11.1.0": - "integrity" "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==" - "resolved" "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz" - "version" "11.1.2" - dependencies: - "@sinonjs/commons" "^1.8.3" - "@sinonjs/fake-timers" "^7.1.2" - "@sinonjs/samsam" "^6.0.2" - "diff" "^5.0.0" - "nise" "^5.1.0" - "supports-color" "^7.2.0" - -"sisteransi@^1.0.5": - "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - "version" "1.0.5" - -"slash@^2.0.0": - "integrity" "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - "resolved" "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" - "version" "2.0.0" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"slice-ansi@^2.1.0": - "integrity" "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "ansi-styles" "^3.2.0" - "astral-regex" "^1.0.0" - "is-fullwidth-code-point" "^2.0.0" - -"slice-ansi@^3.0.0": - "integrity" "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "astral-regex" "^2.0.0" - "is-fullwidth-code-point" "^3.0.0" - -"slice-ansi@^4.0.0": - "integrity" "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "astral-regex" "^2.0.0" - "is-fullwidth-code-point" "^3.0.0" - -"slice-ansi@^5.0.0": - "integrity" "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "ansi-styles" "^6.0.0" - "is-fullwidth-code-point" "^4.0.0" - -"slide@^1.1.6": - "integrity" "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==" - "resolved" "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz" - "version" "1.1.6" - -"smart-buffer@^4.2.0": - "integrity" "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - "resolved" "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" - "version" "4.2.0" - -"snapdragon-node@^2.0.1": - "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" - "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "define-property" "^1.0.0" - "isobject" "^3.0.0" - "snapdragon-util" "^3.0.1" - -"snapdragon-util@^3.0.1": - "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" - "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^3.2.0" - -"snapdragon@^0.8.1": - "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" - "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - "version" "0.8.2" - dependencies: - "base" "^0.11.1" - "debug" "^2.2.0" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "map-cache" "^0.2.2" - "source-map" "^0.5.6" - "source-map-resolve" "^0.5.0" - "use" "^3.1.0" - -"socks-proxy-agent@^5.0.0": - "integrity" "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==" - "resolved" "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "agent-base" "^6.0.2" - "debug" "4" - "socks" "^2.3.3" - -"socks-proxy-agent@^6.0.0", "socks-proxy-agent@^6.1.1": - "version" "6.1.1" - dependencies: - "agent-base" "^6.0.2" - "debug" "^4.3.1" - "socks" "^2.6.1" - -"socks@^2.3.3", "socks@^2.6.1": - "version" "2.6.2" - dependencies: - "ip" "^1.1.5" - "smart-buffer" "^4.2.0" - -"sort-keys@^2.0.0": - "integrity" "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==" - "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "is-plain-obj" "^1.0.0" - -"sort-keys@^4.0.0": - "integrity" "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==" - "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "is-plain-obj" "^2.0.0" - -"sort-keys@^4.2.0": - "integrity" "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==" - "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "is-plain-obj" "^2.0.0" - -"source-list-map@^2.0.0": - "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - "version" "2.0.1" - -"source-map-resolve@^0.5.0": - "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" - "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "atob" "^2.1.2" - "decode-uri-component" "^0.2.0" - "resolve-url" "^0.2.1" - "source-map-url" "^0.4.0" - "urix" "^0.1.0" - -"source-map-support@^0.5.17", "source-map-support@^0.5.6", "source-map-support@~0.5.12", "source-map-support@~0.5.20": - "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - "version" "0.5.21" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map-url@^0.4.0": - "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - "version" "0.4.1" - -"source-map@^0.5.6": - "integrity" "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@^0.7.3": - "version" "0.7.3" - -"spawn-command@^0.0.2-1": - "integrity" "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==" - "resolved" "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz" - "version" "0.0.2-1" - -"spawn-wrap@^1.4.2": - "integrity" "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==" - "resolved" "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "foreground-child" "^1.5.6" - "mkdirp" "^0.5.0" - "os-homedir" "^1.0.1" - "rimraf" "^2.6.2" - "signal-exit" "^3.0.2" - "which" "^1.3.0" - -"spdx-correct@^3.0.0": - "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" - "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "spdx-expression-parse" "^3.0.0" - "spdx-license-ids" "^3.0.0" - -"spdx-exceptions@^2.1.0": - "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - "version" "2.3.0" - -"spdx-expression-parse@^3.0.0": - "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" - "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "spdx-exceptions" "^2.1.0" - "spdx-license-ids" "^3.0.0" - -"spdx-license-ids@^3.0.0": - "integrity" "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" - "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" - "version" "3.0.11" - -"split-on-first@^1.0.0": - "integrity" "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" - "resolved" "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" - "version" "1.1.0" - -"split-string@^3.0.1", "split-string@^3.0.2": - "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" - "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "extend-shallow" "^3.0.0" - -"split@^1.0.0": - "integrity" "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==" - "resolved" "https://registry.npmjs.org/split/-/split-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "through" "2" - -"split@0.3": - "integrity" "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==" - "resolved" "https://registry.npmjs.org/split/-/split-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "through" "2" - -"split2@^3.0.0": - "integrity" "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==" - "resolved" "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "readable-stream" "^3.0.0" - -"split2@^4.0.0": - "integrity" "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==" - "resolved" "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz" - "version" "4.1.0" - -"sprintf-js@~1.0.2": - "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" - -"sshpk@^1.7.0": - "integrity" "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==" - "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz" - "version" "1.17.0" - dependencies: - "asn1" "~0.2.3" - "assert-plus" "^1.0.0" - "bcrypt-pbkdf" "^1.0.0" - "dashdash" "^1.12.0" - "ecc-jsbn" "~0.1.1" - "getpass" "^0.1.1" - "jsbn" "~0.1.0" - "safer-buffer" "^2.0.2" - "tweetnacl" "~0.14.0" - -"ssri@^6.0.1": - "integrity" "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==" - "resolved" "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "figgy-pudding" "^3.5.1" - -"ssri@^8.0.0", "ssri@^8.0.1": - "integrity" "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==" - "resolved" "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" - "version" "8.0.1" - dependencies: - "minipass" "^3.1.1" - -"ssri@^9.0.0": - "version" "9.0.0" - dependencies: - "minipass" "^3.1.1" - -"stack-utils@^2.0.3": - "integrity" "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==" - "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "escape-string-regexp" "^2.0.0" - -"static-extend@^0.1.1": - "integrity" "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==" - "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "define-property" "^0.2.5" - "object-copy" "^0.1.0" - -"stdout-stderr@^0.1.9": - "integrity" "sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA==" - "resolved" "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz" - "version" "0.1.13" - dependencies: - "debug" "^4.1.1" - "strip-ansi" "^6.0.0" - -"stream-browserify@^2.0.1": - "integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==" - "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "inherits" "~2.0.1" - "readable-stream" "^2.0.2" - -"stream-buffers@^3.0.2": - "integrity" "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==" - "resolved" "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz" - "version" "3.0.2" - -"stream-combiner@~0.0.4": - "integrity" "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==" - "resolved" "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz" - "version" "0.0.4" - dependencies: - "duplexer" "~0.1.1" - -"stream-each@^1.1.0": - "integrity" "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==" - "resolved" "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz" - "version" "1.2.3" - dependencies: - "end-of-stream" "^1.1.0" - "stream-shift" "^1.0.0" - -"stream-http@^2.7.2": - "integrity" "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==" - "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" - "version" "2.8.3" - dependencies: - "builtin-status-codes" "^3.0.0" - "inherits" "^2.0.1" - "readable-stream" "^2.3.6" - "to-arraybuffer" "^1.0.0" - "xtend" "^4.0.0" - -"stream-shift@^1.0.0": - "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" - "version" "1.0.1" - -"strict-uri-encode@^2.0.0": - "integrity" "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" - "resolved" "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" - "version" "2.0.0" - -"string_decoder@^1.0.0", "string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string_decoder@^1.1.1": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "safe-buffer" "~5.2.0" + yallist "^4.0.0" -"string-argv@^0.3.1": - "integrity" "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==" - "resolved" "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" - "version" "0.3.1" - -"string-length@^4.0.1": - "integrity" "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==" - "resolved" "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "char-regex" "^1.0.2" - "strip-ansi" "^6.0.0" - -"string-width@^1.0.1": - "integrity" "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "code-point-at" "^1.0.0" - "is-fullwidth-code-point" "^1.0.0" - "strip-ansi" "^3.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", "string-width@^4.0.0", "string-width@^4.1.0", "string-width@^4.2.0", "string-width@^4.2.2", "string-width@^4.2.3": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"string-width@^2.0.0": - "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^4.0.0" - -"string-width@^2.1.0": - "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^4.0.0" - -"string-width@^3.0.0", "string-width@^3.1.0": - "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "emoji-regex" "^7.0.1" - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^5.1.0" - -"string-width@^5.0.0": - "integrity" "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "eastasianwidth" "^0.2.0" - "emoji-regex" "^9.2.2" - "strip-ansi" "^7.0.1" - -"string.prototype.padend@^3.0.0": - "integrity" "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==" - "resolved" "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.19.1" - -"string.prototype.trimend@^1.0.5": - "integrity" "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==" - "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.19.5" - -"string.prototype.trimstart@^1.0.5": - "integrity" "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==" - "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "es-abstract" "^1.19.5" - -"strip-ansi@^3.0.0", "strip-ansi@^3.0.1": - "integrity" "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "ansi-regex" "^2.0.0" - -"strip-ansi@^4.0.0": - "integrity" "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-regex" "^3.0.0" - -"strip-ansi@^5.0.0", "strip-ansi@^5.1.0", "strip-ansi@^5.2.0": - "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "ansi-regex" "^4.1.0" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"strip-ansi@^7.0.1": - "integrity" "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "ansi-regex" "^6.0.1" +minipass@^5.0.0, "minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "5.0.0" + resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -"strip-bom-buf@^1.0.0": - "integrity" "sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==" - "resolved" "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-utf8" "^0.2.1" +minipass@^7.0.3: + version "7.0.4" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== -"strip-bom-stream@^2.0.0": - "integrity" "sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==" - "resolved" "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz" - "version" "2.0.0" +minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: - "first-chunk-stream" "^2.0.0" - "strip-bom" "^2.0.0" + minipass "^3.0.0" + yallist "^4.0.0" -"strip-bom@^2.0.0": - "integrity" "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - "version" "2.0.0" +mkdirp-infer-owner@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz" + integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== dependencies: - "is-utf8" "^0.2.0" - -"strip-bom@^3.0.0": - "integrity" "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - "version" "3.0.0" + chownr "^2.0.0" + infer-owner "^1.0.4" + mkdirp "^1.0.3" -"strip-bom@^4.0.0": - "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - "version" "4.0.0" +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -"strip-eof@^1.0.0": - "integrity" "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" - "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - "version" "1.0.0" +mkdirp@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz" + integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"strip-indent@^3.0.0": - "integrity" "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==" - "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" - "version" "3.0.0" +mocha@^9: + version "9.2.2" + resolved "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz" + integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g== dependencies: - "min-indent" "^1.0.0" - -"strip-json-comments@^2.0.1": - "integrity" "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - "version" "2.0.1" + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.3" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + growl "1.10.5" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "4.2.1" + ms "2.1.3" + nanoid "3.3.1" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + workerpool "6.2.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +mock-stdin@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz" + integrity sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q== + +ms@2.1.2, ms@^2.0.0: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multimap@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz" + integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw== + +multimatch@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz" + integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nanoid@3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz" + integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +natural-orderby@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz" + integrity sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q== + +ncp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz" + integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== + +negotiator@^0.6.2, negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +nise@^5.1.4: + version "5.1.7" + resolved "https://registry.npmjs.org/nise/-/nise-5.1.7.tgz" + integrity sha512-wWtNUhkT7k58uvWTB/Gy26eA/EJKtPZFVAhEilN5UYVmmGRYOURbejRUyKm0Uu9XVEW7K5nBOZfR8VMB4QR2RQ== + dependencies: + "@sinonjs/commons" "^3.0.0" + "@sinonjs/fake-timers" "^11.2.2" + "@sinonjs/text-encoding" "^0.7.2" + just-extend "^6.2.0" + path-to-regexp "^6.2.1" + +nock@^13.3.3: + version "13.5.0" + resolved "https://registry.npmjs.org/nock/-/nock-13.5.0.tgz" + integrity sha512-9hc1eCS2HtOz+sE9W7JQw/tXJktg0zoPSu48s/pYe73e25JW9ywiowbqnUSd7iZPeVawLcVpPZeZS312fwSY+g== + dependencies: + debug "^4.1.0" + json-stringify-safe "^5.0.1" + propagate "^2.0.0" + +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-gyp@^8.2.0: + version "8.4.1" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^9.1.0" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-gyp@^9.0.0: + version "9.4.1" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz" + integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^6.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-preload@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz" + integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== + dependencies: + process-on-spawn "^1.0.0" + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz" + integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== + dependencies: + hosted-git-info "^6.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-bundled@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== + dependencies: + npm-normalize-package-bin "^1.0.1" + +npm-bundled@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz" + integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== + dependencies: + npm-normalize-package-bin "^3.0.0" + +npm-install-checks@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz" + integrity sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w== + dependencies: + semver "^7.1.1" + +npm-install-checks@^6.0.0: + version "6.3.0" + resolved "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz" + integrity sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw== + dependencies: + semver "^7.1.1" + +npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + +npm-normalize-package-bin@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz" + integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== + +npm-normalize-package-bin@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz" + integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== + +npm-package-arg@^10.0.0: + version "10.1.0" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz" + integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== + dependencies: + hosted-git-info "^6.0.0" + proc-log "^3.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + +npm-package-arg@^8.0.1, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: + version "8.1.5" + resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.5.tgz" + integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== + dependencies: + hosted-git-info "^4.0.1" + semver "^7.3.4" + validate-npm-package-name "^3.0.0" + +npm-packlist@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-3.0.0.tgz" + integrity sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ== + dependencies: + glob "^7.1.6" + ignore-walk "^4.0.1" + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +npm-packlist@^7.0.0: + version "7.0.4" + resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz" + integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q== + dependencies: + ignore-walk "^6.0.0" + +npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.0, npm-pick-manifest@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz" + integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== + dependencies: + npm-install-checks "^4.0.0" + npm-normalize-package-bin "^1.0.1" + npm-package-arg "^8.1.2" + semver "^7.3.4" + +npm-pick-manifest@^8.0.0: + version "8.0.2" + resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz" + integrity sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg== + dependencies: + npm-install-checks "^6.0.0" + npm-normalize-package-bin "^3.0.0" + npm-package-arg "^10.0.0" + semver "^7.3.5" + +npm-registry-fetch@^12.0.0, npm-registry-fetch@^12.0.1: + version "12.0.2" + resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz" + integrity sha512-Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA== + dependencies: + make-fetch-happen "^10.0.1" + minipass "^3.1.6" + minipass-fetch "^1.4.1" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^8.1.5" + +npm-registry-fetch@^14.0.0: + version "14.0.5" + resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz" + integrity sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA== + dependencies: + make-fetch-happen "^11.0.0" + minipass "^5.0.0" + minipass-fetch "^3.0.0" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^10.0.0" + proc-log "^3.0.0" + +npm-run-all@^4.1.5: + version "4.1.5" + resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" + +npmlog@^6.0.0: + version "6.0.2" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +nyc@^15.1.0: + version "15.1.0" + resolved "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz" + integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== + dependencies: + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + caching-transform "^4.0.0" + convert-source-map "^1.7.0" + decamelize "^1.2.0" + find-cache-dir "^3.2.0" + find-up "^4.1.0" + foreground-child "^2.0.0" + get-package-type "^0.1.0" + glob "^7.1.6" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-hook "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-processinfo "^2.0.2" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + make-dir "^3.0.0" + node-preload "^0.2.1" + p-map "^3.0.0" + process-on-spawn "^1.0.0" + resolve-from "^5.0.0" + rimraf "^3.0.0" + signal-exit "^3.0.2" + spawn-wrap "^2.0.0" + test-exclude "^6.0.0" + yargs "^15.0.2" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-treeify@^1.1.33: + version "1.1.33" + resolved "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz" + integrity sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A== + +object.assign@^4.1.4: + version "4.1.5" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +oclif@^3: + version "3.17.2" + resolved "https://registry.npmjs.org/oclif/-/oclif-3.17.2.tgz" + integrity sha512-+vFXxgmR7dGGz+g6YiqSZu2LXVkBMaS9/rhtsLGkYw45e53CW/3kBgPRnOvxcTDM3Td9JPeBD2JWxXnPKGQW3A== + dependencies: + "@oclif/core" "^2.11.4" + "@oclif/plugin-help" "^5.2.14" + "@oclif/plugin-not-found" "^2.3.32" + "@oclif/plugin-warn-if-update-available" "^2.0.44" + async-retry "^1.3.3" + aws-sdk "^2.1231.0" + concurrently "^7.6.0" + debug "^4.3.3" + find-yarn-workspace-root "^2.0.0" + fs-extra "^8.1" + github-slugger "^1.5.0" + got "^11" + lodash "^4.17.21" + normalize-package-data "^3.0.3" + semver "^7.3.8" + shelljs "^0.8.5" + tslib "^2.3.1" + yeoman-environment "^3.15.1" + yeoman-generator "^5.8.0" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.9.1: + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + 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== + dependencies: + p-limit "^3.0.2" + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-queue@^6.6.2: + version "6.6.2" + resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +p-transform@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/p-transform/-/p-transform-1.3.0.tgz" + integrity sha512-UJKdSzgd3KOnXXAtqN5+/eeHcvTn1hBkesEmElVgvO/NAYcxAvmjzIGmnNd3Tb/gRAvMBdNRFD4qAWdHxY6QXg== + dependencies: + debug "^4.3.2" + p-queue "^6.6.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-hash@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz" + integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== + dependencies: + graceful-fs "^4.1.15" + hasha "^5.0.0" + lodash.flattendeep "^4.4.0" + release-zalgo "^1.0.0" -"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1", "strip-json-comments@3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" +pacote@^12.0.0, pacote@^12.0.2: + version "12.0.3" + resolved "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz" + integrity sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow== + dependencies: + "@npmcli/git" "^2.1.0" + "@npmcli/installed-package-contents" "^1.0.6" + "@npmcli/promise-spawn" "^1.2.0" + "@npmcli/run-script" "^2.0.0" + cacache "^15.0.5" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.3" + mkdirp "^1.0.3" + npm-package-arg "^8.0.1" + npm-packlist "^3.0.0" + npm-pick-manifest "^6.0.0" + npm-registry-fetch "^12.0.0" + promise-retry "^2.0.1" + read-package-json-fast "^2.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.0" + +pacote@^15.2.0: + version "15.2.0" + resolved "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz" + integrity sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA== + dependencies: + "@npmcli/git" "^4.0.0" + "@npmcli/installed-package-contents" "^2.0.1" + "@npmcli/promise-spawn" "^6.0.1" + "@npmcli/run-script" "^6.0.0" + cacache "^17.0.0" + fs-minipass "^3.0.0" + minipass "^5.0.0" + npm-package-arg "^10.0.0" + npm-packlist "^7.0.0" + npm-pick-manifest "^8.0.0" + npm-registry-fetch "^14.0.0" + proc-log "^3.0.0" + promise-retry "^2.0.1" + read-package-json "^6.0.0" + read-package-json-fast "^3.0.0" + sigstore "^1.3.0" + ssri "^10.0.0" + tar "^6.1.11" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-conflict-json@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz" + integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== + dependencies: + json-parse-even-better-errors "^2.3.1" + just-diff "^5.0.1" + just-diff-apply "^5.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +password-prompt@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz" + integrity sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw== + dependencies: + ansi-escapes "^4.3.2" + cross-spawn "^7.0.3" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-to-regexp@^6.2.1: + version "6.2.1" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz" + integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +postcss@^8.4.38: + version "8.4.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3" + integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.1" + source-map-js "^1.2.0" + +preferred-pm@^3.0.3: + version "3.1.2" + resolved "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz" + integrity sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q== + dependencies: + find-up "^5.0.0" + find-yarn-workspace-root2 "1.2.16" + path-exists "^4.0.0" + which-pm "2.0.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +pretty-bytes@^5.3.0: + version "5.6.0" + resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +proc-log@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/proc-log/-/proc-log-1.0.0.tgz" + integrity sha512-aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg== + +proc-log@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz" + integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process-on-spawn@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz" + integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== + dependencies: + fromentries "^1.2.0" + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.2.tgz" + integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +propagate@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz" + integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" + integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +ramda@^0.27.1: + version "0.27.2" + resolved "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz" + integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +read-cmd-shim@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz" + integrity sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g== + +read-package-json-fast@^2.0.1, read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz" + integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== + dependencies: + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" + +read-package-json-fast@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz" + integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== + dependencies: + json-parse-even-better-errors "^3.0.0" + npm-normalize-package-bin "^3.0.0" + +read-package-json@^6.0.0: + version "6.0.4" + resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz" + integrity sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw== + dependencies: + glob "^10.2.2" + json-parse-even-better-errors "^3.0.0" + normalize-package-data "^5.0.0" + npm-normalize-package-bin "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@^2.0.2, readable-stream@^2.3.5: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^4.3.0: + version "4.5.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz" + integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + +readdir-scoped-modules@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz" + integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +redeyed@~2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz" + integrity sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== + dependencies: + esprima "~4.0.0" + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regexp-tree@^0.1.23, regexp-tree@~0.1.1: + version "0.1.27" + resolved "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz" + integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== + +regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +release-zalgo@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz" + integrity sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA== + dependencies: + es6-error "^4.0.1" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +replace-in-file@^6.3.5: + version "6.3.5" + resolved "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.3.5.tgz" + integrity sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg== + dependencies: + chalk "^4.1.2" + glob "^7.2.0" + yargs "^17.2.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + 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== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-async@^2.0.0, run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^7.0.0, rxjs@^7.5.5: + version "7.8.1" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz" + integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz" + integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + is-regex "^1.1.4" + +safe-regex@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz" + integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== + dependencies: + regexp-tree "~0.1.1" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@1.2.1, sax@>=0.6.0: + version "1.2.1" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz" + integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== + +scoped-regex@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/scoped-regex/-/scoped-regex-2.1.0.tgz" + integrity sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.1.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz" + integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== + dependencies: + define-data-property "^1.1.1" + function-bind "^1.1.2" + get-intrinsic "^1.2.2" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + +set-function-name@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1, shell-quote@^1.7.3: + version "1.8.1" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shx@^0.3.3: + version "0.3.4" + resolved "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz" + integrity sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== + dependencies: + minimist "^1.2.3" + shelljs "^0.8.5" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +sigstore@^1.3.0: + version "1.9.0" + resolved "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz" + integrity sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A== + dependencies: + "@sigstore/bundle" "^1.1.0" + "@sigstore/protobuf-specs" "^0.2.0" + "@sigstore/sign" "^1.0.0" + "@sigstore/tuf" "^1.0.3" + make-fetch-happen "^11.0.1" + +sinon@^15.0.3: + version "15.2.0" + resolved "https://registry.npmjs.org/sinon/-/sinon-15.2.0.tgz" + integrity sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw== + dependencies: + "@sinonjs/commons" "^3.0.0" + "@sinonjs/fake-timers" "^10.3.0" + "@sinonjs/samsam" "^8.0.0" + diff "^5.1.0" + nise "^5.1.4" + supports-color "^7.2.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks-proxy-agent@^6.0.0: + version "6.2.1" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz" + integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.7.1" + resolved "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz" + integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== + dependencies: + ip "^2.0.0" + smart-buffer "^4.2.0" + +sort-keys@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz" + integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== + dependencies: + is-plain-obj "^2.0.0" + +source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz" + integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg== + +spawn-wrap@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz" + integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== + dependencies: + foreground-child "^2.0.0" + is-windows "^1.0.2" + make-dir "^3.0.0" + rimraf "^3.0.0" + signal-exit "^3.0.2" + which "^2.0.1" + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.16" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +ssri@^10.0.0: + version "10.0.5" + resolved "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz" + integrity sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A== + dependencies: + minipass "^7.0.3" + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +ssri@^9.0.0: + version "9.0.1" + resolved "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + +stdout-stderr@^0.1.9: + version "0.1.13" + resolved "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz" + integrity sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA== + dependencies: + debug "^4.1.1" + strip-ansi "^6.0.0" + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.padend@^3.0.0: + version "3.1.5" + resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.5.tgz" + integrity sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" -"strip-json-comments@~2.0.1": - "version" "2.0.1" +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" -"strong-log-transformer@^2.1.0": - "integrity" "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" - "resolved" "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz" - "version" "2.1.0" +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== dependencies: - "duplexer" "^0.1.1" - "minimist" "^1.2.0" - "through" "^2.3.4" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" -"suffix@^0.1.0": - "integrity" "sha512-j5uf6MJtMCfC4vBe5LFktSe4bGyNTBk7I2Kdri0jeLrcv5B9pWfxVa5JQpoxgtR8vaVB7bVxsWgnfQbX5wkhAA==" - "resolved" "https://registry.npmjs.org/suffix/-/suffix-0.1.1.tgz" - "version" "0.1.1" +string_decoder@^1.1.1, string_decoder@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" -"supports-color@^2.0.0": - "integrity" "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - "version" "2.0.0" +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" -"supports-color@^5.0.0", "supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - "has-flag" "^3.0.0" + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom-buf@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz" + integrity sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ== + dependencies: + is-utf8 "^0.2.1" + +strip-bom-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz" + integrity sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w== + dependencies: + first-chunk-stream "^2.0.0" + strip-bom "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -"supports-color@^5.5.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" +supports-color@8.1.1, supports-color@^8.1.0, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: - "has-flag" "^3.0.0" - -"supports-color@^6.1.0": - "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.0.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^7.2.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^8.0.0", "supports-color@^8.1.0", "supports-color@^8.1.1", "supports-color@8.1.1": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^9.2.1": - "version" "9.2.2" - -"supports-color@5.4.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-hyperlinks@^1.0.1": - "integrity" "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==" - "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "has-flag" "^2.0.0" - "supports-color" "^5.0.0" - -"supports-hyperlinks@^2.0.0", "supports-hyperlinks@^2.1.0", "supports-hyperlinks@^2.2.0": - "integrity" "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==" - "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "has-flag" "^4.0.0" - "supports-color" "^7.0.0" - -"supports-preserve-symlinks-flag@^1.0.0": - "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - "version" "1.0.0" - -"symbol-tree@^3.2.4": - "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - "version" "3.2.4" - -"table-layout@^1.0.2": - "integrity" "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==" - "resolved" "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "array-back" "^4.0.1" - "deep-extend" "~0.6.0" - "typical" "^5.2.0" - "wordwrapjs" "^4.0.0" - -"table@^5.2.3": - "integrity" "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==" - "resolved" "https://registry.npmjs.org/table/-/table-5.4.6.tgz" - "version" "5.4.6" - dependencies: - "ajv" "^6.10.2" - "lodash" "^4.17.14" - "slice-ansi" "^2.1.0" - "string-width" "^3.0.0" - -"table@^6.0.9": - "integrity" "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==" - "resolved" "https://registry.npmjs.org/table/-/table-6.8.0.tgz" - "version" "6.8.0" - dependencies: - "ajv" "^8.0.1" - "lodash.truncate" "^4.4.2" - "slice-ansi" "^4.0.0" - "string-width" "^4.2.3" - "strip-ansi" "^6.0.1" - -"taketalk@^1.0.0": - "integrity" "sha512-kS7E53It6HA8S1FVFBWP7HDwgTiJtkmYk7TsowGlizzVrivR1Mf9mgjXHY1k7rOfozRVMZSfwjB3bevO4QEqpg==" - "resolved" "https://registry.npmjs.org/taketalk/-/taketalk-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-stdin" "^4.0.1" - "minimist" "^1.1.0" - -"tapable@^1.0.0", "tapable@^1.1.3": - "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - "version" "1.1.3" - -"tapable@^2.1.1", "tapable@^2.2.0": - "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - "version" "2.2.1" - -"tar-fs@^2.0.0", "tar-fs@2.1.1": - "integrity" "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==" - "resolved" "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "chownr" "^1.1.1" - "mkdirp-classic" "^0.5.2" - "pump" "^3.0.0" - "tar-stream" "^2.1.4" - -"tar-stream@^2.1.4", "tar-stream@^2.2.0", "tar-stream@2.2.0": - "integrity" "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" - "resolved" "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "bl" "^4.0.3" - "end-of-stream" "^1.4.1" - "fs-constants" "^1.0.0" - "inherits" "^2.0.3" - "readable-stream" "^3.1.1" - -"tar@^4.4.12": - "integrity" "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==" - "resolved" "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz" - "version" "4.4.19" - dependencies: - "chownr" "^1.1.4" - "fs-minipass" "^1.2.7" - "minipass" "^2.9.0" - "minizlib" "^1.3.3" - "mkdirp" "^0.5.5" - "safe-buffer" "^5.2.1" - "yallist" "^3.1.1" - -"tar@^6.0.2", "tar@^6.1.0", "tar@^6.1.11": - "integrity" "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==" - "resolved" "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" - "version" "6.1.11" - dependencies: - "chownr" "^2.0.0" - "fs-minipass" "^2.0.0" - "minipass" "^3.0.0" - "minizlib" "^2.1.1" - "mkdirp" "^1.0.3" - "yallist" "^4.0.0" - -"temp-dir@^1.0.0": - "integrity" "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==" - "resolved" "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" - "version" "1.0.0" - -"temp-fs@^0.9.9": - "integrity" "sha512-WfecDCR1xC9b0nsrzSaxPf3ZuWeWLUWblW4vlDQAa1biQaKHiImHnJfeQocQe/hXKMcolRzgkcVX/7kK4zoWbw==" - "resolved" "https://registry.npmjs.org/temp-fs/-/temp-fs-0.9.9.tgz" - "version" "0.9.9" - dependencies: - "rimraf" "~2.5.2" - -"temp-write@^4.0.0": - "integrity" "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==" - "resolved" "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "graceful-fs" "^4.1.15" - "is-stream" "^2.0.0" - "make-dir" "^3.0.0" - "temp-dir" "^1.0.0" - "uuid" "^3.3.2" - -"terminal-link@^2.0.0": - "integrity" "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==" - "resolved" "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ansi-escapes" "^4.2.1" - "supports-hyperlinks" "^2.0.0" - -"terser-webpack-plugin@^1.4.3": - "integrity" "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz" - "version" "1.4.5" - dependencies: - "cacache" "^12.0.2" - "find-cache-dir" "^2.1.0" - "is-wsl" "^1.1.0" - "schema-utils" "^1.0.0" - "serialize-javascript" "^4.0.0" - "source-map" "^0.6.1" - "terser" "^4.1.2" - "webpack-sources" "^1.4.0" - "worker-farm" "^1.7.0" - -"terser-webpack-plugin@^5.1.3": - "integrity" "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz" - "version" "5.3.3" - dependencies: - "@jridgewell/trace-mapping" "^0.3.7" - "jest-worker" "^27.4.5" - "schema-utils" "^3.1.1" - "serialize-javascript" "^6.0.0" - "terser" "^5.7.2" - -"terser@^4.1.2": - "version" "4.8.0" - dependencies: - "commander" "^2.20.0" - "source-map" "~0.6.1" - "source-map-support" "~0.5.12" - -"terser@^5.7.2": - "version" "5.14.1" - dependencies: - "@jridgewell/source-map" "^0.3.2" - "acorn" "^8.5.0" - "commander" "^2.20.0" - "source-map-support" "~0.5.20" - -"test-exclude@^5.2.3": - "integrity" "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==" - "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz" - "version" "5.2.3" - dependencies: - "glob" "^7.1.3" - "minimatch" "^3.0.4" - "read-pkg-up" "^4.0.0" - "require-main-filename" "^2.0.0" - -"test-exclude@^6.0.0": - "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" - "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - "version" "6.0.0" + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: - "@istanbuljs/schema" "^0.1.2" - "glob" "^7.1.4" - "minimatch" "^3.0.4" + has-flag "^3.0.0" -"text-extensions@^1.0.0": - "integrity" "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==" - "resolved" "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" - "version" "1.9.0" - -"text-table@^0.2.0": - "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"textextensions@^5.12.0", "textextensions@^5.13.0": - "integrity" "sha512-MeqZRHLuaGamUXGuVn2ivtU3LA3mLCCIO5kUGoohTCoGmCBg/+8yPhWVX9WSl9telvVd8erftjFk9Fwb2dD6rw==" - "resolved" "https://registry.npmjs.org/textextensions/-/textextensions-5.15.0.tgz" - "version" "5.15.0" - -"throat@^6.0.1": - "integrity" "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" - "resolved" "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz" - "version" "6.0.1" +supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" -"through@^2.3.4", "through@^2.3.6", "through@^2.3.8", "through@>=2.2.7 <3", "through@~2.3", "through@~2.3.1", "through@2": - "integrity" "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - "version" "2.3.8" - -"through2@^2.0.0": - "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" - "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "readable-stream" "~2.3.6" - "xtend" "~4.0.1" - -"through2@^4.0.0": - "integrity" "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" - "resolved" "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "readable-stream" "3" +supports-hyperlinks@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" -"timers-browserify@^2.0.4": - "integrity" "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==" - "resolved" "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" - "version" "2.0.12" - dependencies: - "setimmediate" "^1.0.4" +supports-preserve-symlinks-flag@^1.0.0: + 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== -"tmp@^0.0.33": - "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - "version" "0.0.33" - dependencies: - "os-tmpdir" "~1.0.2" - -"tmp@^0.1.0": - "integrity" "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "rimraf" "^2.6.3" - -"tmpl@1.0.5": - "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - "version" "1.0.5" - -"to-arraybuffer@^1.0.0": - "integrity" "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" - "resolved" "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" - "version" "1.0.1" - -"to-fast-properties@^2.0.0": - "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-object-path@^0.3.0": - "integrity" "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==" - "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "kind-of" "^3.0.2" - -"to-readable-stream@^1.0.0": - "version" "1.0.0" - -"to-regex-range@^2.1.0": - "integrity" "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"to-regex@^3.0.1", "to-regex@^3.0.2": - "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" - "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "regex-not" "^1.0.2" - "safe-regex" "^1.1.0" - -"touch@^3.1.0": - "integrity" "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==" - "resolved" "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "nopt" "~1.0.10" - -"tough-cookie@^4.0.0": - "integrity" "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "psl" "^1.1.33" - "punycode" "^2.1.1" - "universalify" "^0.1.2" - -"tough-cookie@~2.5.0": - "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - "version" "2.5.0" +table@^6.0.9: + version "6.8.1" + resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: + version "6.2.0" + resolved "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: - "psl" "^1.1.28" - "punycode" "^2.1.1" - -"tr46@^2.1.0": - "integrity" "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "punycode" "^2.1.1" - -"tr46@~0.0.3": - "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - "version" "0.0.3" - -"tree-kill@^1.2.2": - "integrity" "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" - "resolved" "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" - "version" "1.2.2" - -"treeverse@^1.0.4": - "integrity" "sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g==" - "resolved" "https://registry.npmjs.org/treeverse/-/treeverse-1.0.4.tgz" - "version" "1.0.4" - -"trim-newlines@^3.0.0": - "integrity" "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" - "resolved" "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" - "version" "3.0.1" - -"ts-jest@^27.1.4": - "version" "27.1.4" - dependencies: - "bs-logger" "0.x" - "fast-json-stable-stringify" "2.x" - "jest-util" "^27.0.0" - "json5" "2.x" - "lodash.memoize" "4.x" - "make-error" "1.x" - "semver" "7.x" - "yargs-parser" "20.x" - -"ts-node@^10.2.1", "ts-node@^10.7.0", "ts-node@>=9.0.0": - "version" "10.7.0" - dependencies: - "@cspotcode/source-map-support" "0.7.0" + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +textextensions@^5.12.0, textextensions@^5.13.0: + version "5.16.0" + resolved "https://registry.npmjs.org/textextensions/-/textextensions-5.16.0.tgz" + integrity sha512-7D/r3s6uPZyU//MCYrX6I14nzauDwJ5CxazouuRGNuvSCihW87ufN6VLoROLCrHg6FblLuJrT6N2BVaPVzqElw== + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + 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== + dependencies: + is-number "^7.0.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +treeverse@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/treeverse/-/treeverse-1.0.4.tgz" + integrity sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g== + +ts-node@^10.9.1: + version "10.9.2" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" "@tsconfig/node16" "^1.0.2" - "acorn" "^8.4.1" - "acorn-walk" "^8.1.1" - "arg" "^4.1.0" - "create-require" "^1.1.0" - "diff" "^4.0.1" - "make-error" "^1.1.1" - "v8-compile-cache-lib" "^3.0.0" - "yn" "3.1.1" - -"ts-node@^10.4.0", "ts-node@^8.10.2": - "integrity" "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==" - "resolved" "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz" - "version" "8.10.2" - dependencies: - "arg" "^4.1.0" - "diff" "^4.0.1" - "make-error" "^1.1.1" - "source-map-support" "^0.5.17" - "yn" "3.1.1" - -"tsconfig-paths@^3.12.0": - "integrity" "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==" - "resolved" "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "@types/json5" "^0.0.29" - "json5" "^1.0.1" - "minimist" "^1.2.6" - "strip-bom" "^3.0.0" - -"tscpaths@^0.0.9": - "integrity" "sha512-tz4qimSJTCjYtHVsoY7pvxLcxhmhgmwzm7fyMEiL3/kPFFVyUuZOwuwcWwjkAsIrSUKJK22A7fNuJUwxzQ+H+w==" - "resolved" "https://registry.npmjs.org/tscpaths/-/tscpaths-0.0.9.tgz" - "version" "0.0.9" - dependencies: - "commander" "^2.20.0" - "globby" "^9.2.0" - -"tslib@^1.14.1", "tslib@^1.9.0": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^1.8.1": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^1.9.0": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^2", "tslib@^2.0.0", "tslib@^2.0.3", "tslib@^2.1.0", "tslib@^2.3.1": - "version" "2.3.1" - -"tsutils@^3.17.1", "tsutils@^3.21.0": - "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" - "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - "version" "3.21.0" - dependencies: - "tslib" "^1.8.1" - -"tty-browserify@0.0.0": - "integrity" "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" - "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" - "version" "0.0.0" - -"tunnel-agent@^0.6.0": - "integrity" "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==" - "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "safe-buffer" "^5.0.1" - -"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": - "integrity" "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - "version" "0.14.5" - -"type-check@^0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-check@~0.3.2": - "integrity" "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "prelude-ls" "~1.1.2" - -"type-check@~0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-detect@^4.0.0", "type-detect@^4.0.5", "type-detect@^4.0.8", "type-detect@4.0.8": - "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - "version" "4.0.8" - -"type-fest@^0.18.0": - "integrity" "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" - "version" "0.18.1" - -"type-fest@^0.20.2": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"type-fest@^0.3.0": - "integrity" "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz" - "version" "0.3.1" - -"type-fest@^0.4.1": - "integrity" "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz" - "version" "0.4.1" - -"type-fest@^0.6.0": - "integrity" "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - "version" "0.6.0" - -"type-fest@^0.8.1": - "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - "version" "0.8.1" - -"type-fest@^2.3.4": - "integrity" "sha512-qpaThT2HQkFb83gMOrdKVsfCN7LKxP26Yq+smPzY1FqoHRjqmjqHXA7n5Gkxi8efirtbeEUxzfEdePthQWCuHw==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-2.16.0.tgz" - "version" "2.16.0" - -"typedarray-to-buffer@^3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"typedarray@^0.0.6": - "integrity" "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - "version" "0.0.6" - -"typescript@^3.9.9": - "integrity" "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz" - "version" "3.9.10" - -"typescript@^4.0.0", "typescript@^4.4.3", "typescript@^4.5.2", "typescript@^4.6.2", "typescript@^4.6.3", "typescript@>=2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@>=3", "typescript@>=3.8 <5.0": - "version" "4.6.3" - -"typical@^4.0.0": - "integrity" "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" - "resolved" "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz" - "version" "4.0.0" - -"typical@^5.2.0": - "integrity" "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" - "resolved" "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz" - "version" "5.2.0" - -"ua-parser-js@^1.0.1": - "integrity" "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==" - "resolved" "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz" - "version" "1.0.2" - -"uglify-js@^3.1.4": - "version" "3.15.4" - -"uid-number@0.0.6": - "integrity" "sha512-c461FXIljswCuscZn67xq9PpszkPT6RjheWFQTgCyabJrTUozElanb0YEqv2UGgk247YpcJkFBuSGNvBlpXM9w==" - "resolved" "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" - "version" "0.0.6" - -"umask@^1.1.0": - "integrity" "sha512-lE/rxOhmiScJu9L6RTNVgB/zZbF+vGC0/p6D3xnkAePI2o0sMyFG966iR5Ki50OI/0mNi2yaRnxfLsPmEZF/JA==" - "resolved" "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz" - "version" "1.1.0" - -"unbox-primitive@^1.0.2": - "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" - "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - "has-bigints" "^1.0.2" - "has-symbols" "^1.0.3" - "which-boxed-primitive" "^1.0.2" - -"unbzip2-stream@1.4.3": - "integrity" "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==" - "resolved" "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "buffer" "^5.2.1" - "through" "^2.3.8" - -"undefsafe@^2.0.5": - "integrity" "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" - "resolved" "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz" - "version" "2.0.5" - -"unicode-canonical-property-names-ecmascript@^2.0.0": - "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-match-property-ecmascript@^2.0.0": - "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "unicode-canonical-property-names-ecmascript" "^2.0.0" - "unicode-property-aliases-ecmascript" "^2.0.0" - -"unicode-match-property-value-ecmascript@^2.0.0": - "integrity" "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-property-aliases-ecmascript@^2.0.0": - "integrity" "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"union-value@^1.0.0": - "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" - "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "arr-union" "^3.1.0" - "get-value" "^2.0.6" - "is-extendable" "^0.1.1" - "set-value" "^2.0.1" - -"unique-filename@^1.1.1": - "integrity" "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==" - "resolved" "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "unique-slug" "^2.0.0" - -"unique-slug@^2.0.0": - "integrity" "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==" - "resolved" "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "imurmurhash" "^0.1.4" - -"unique-string@^2.0.0": - "version" "2.0.0" - dependencies: - "crypto-random-string" "^2.0.0" - -"universal-user-agent@^6.0.0": - "integrity" "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" - "resolved" "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" - "version" "6.0.0" - -"universalify@^0.1.0", "universalify@^0.1.2": - "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - "version" "0.1.2" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"unset-value@^1.0.0": - "integrity" "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==" - "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-value" "^0.3.1" - "isobject" "^3.0.0" - -"untildify@^4.0.0": - "integrity" "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" - "resolved" "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" - "version" "4.0.0" - -"upath@^1.1.1": - "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" - "version" "1.2.0" - -"upath@^2.0.1": - "integrity" "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==" - "resolved" "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz" - "version" "2.0.1" - -"update-browserslist-db@^1.0.4": - "version" "1.0.4" - dependencies: - "escalade" "^3.1.1" - "picocolors" "^1.0.0" - -"update-notifier@^5.1.0": - "version" "5.1.0" - dependencies: - "boxen" "^5.0.0" - "chalk" "^4.1.0" - "configstore" "^5.0.1" - "has-yarn" "^2.1.0" - "import-lazy" "^2.1.0" - "is-ci" "^2.0.0" - "is-installed-globally" "^0.4.0" - "is-npm" "^5.0.0" - "is-yarn-global" "^0.3.0" - "latest-version" "^5.1.0" - "pupa" "^2.1.1" - "semver" "^7.3.4" - "semver-diff" "^3.1.1" - "xdg-basedir" "^4.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"urix@^0.1.0": - "integrity" "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" - "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - "version" "0.1.0" - -"url-parse-lax@^3.0.0": - "version" "3.0.0" - dependencies: - "prepend-http" "^2.0.0" - -"url@^0.11.0": - "integrity" "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==" - "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" - "version" "0.11.0" - dependencies: - "punycode" "1.3.2" - "querystring" "0.2.0" - -"url@0.10.3": - "integrity" "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==" - "resolved" "https://registry.npmjs.org/url/-/url-0.10.3.tgz" - "version" "0.10.3" - dependencies: - "punycode" "1.3.2" - "querystring" "0.2.0" - -"use@^3.1.0": - "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - "version" "3.1.1" - -"util-deprecate@^1.0.1", "util-deprecate@~1.0.1": - "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"util-promisify@^2.1.0": - "integrity" "sha512-K+5eQPYs14b3+E+hmE2J6gCZ4JmMl9DbYS6BeP2CHq6WMuNxErxf5B/n0fz85L8zUuoO6rIzNNmIQDu/j+1OcA==" - "resolved" "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "object.getownpropertydescriptors" "^2.0.3" - -"util@^0.10.3": - "integrity" "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==" - "resolved" "https://registry.npmjs.org/util/-/util-0.10.4.tgz" - "version" "0.10.4" - dependencies: - "inherits" "2.0.3" - -"util@^0.11.0": - "integrity" "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==" - "resolved" "https://registry.npmjs.org/util/-/util-0.11.1.tgz" - "version" "0.11.1" - dependencies: - "inherits" "2.0.3" - -"util@^0.12.4": - "integrity" "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==" - "resolved" "https://registry.npmjs.org/util/-/util-0.12.4.tgz" - "version" "0.12.4" - dependencies: - "inherits" "^2.0.3" - "is-arguments" "^1.0.4" - "is-generator-function" "^1.0.7" - "is-typed-array" "^1.1.3" - "safe-buffer" "^5.1.2" - "which-typed-array" "^1.1.2" - -"util@0.10.3": - "integrity" "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==" - "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz" - "version" "0.10.3" - dependencies: - "inherits" "2.0.1" - -"uuid@^3.0.0", "uuid@^3.3.2": - "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - "version" "3.4.0" - -"uuid@^8.0.0": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"uuid@^8.3.0": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"uuid@^8.3.2": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"uuid@3.3.2": - "version" "3.3.2" - -"v8-compile-cache-lib@^3.0.0": - "integrity" "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - "resolved" "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - "version" "3.0.1" - -"v8-compile-cache@^2.0.3": - "integrity" "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - "version" "2.3.0" - -"v8-to-istanbul@^8.1.0": - "integrity" "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==" - "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - "convert-source-map" "^1.6.0" - "source-map" "^0.7.3" - -"validate-npm-package-license@^3.0.1", "validate-npm-package-license@^3.0.4": - "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" - "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "spdx-correct" "^3.0.0" - "spdx-expression-parse" "^3.0.0" - -"validate-npm-package-name@^3.0.0": - "integrity" "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==" - "resolved" "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "builtins" "^1.0.3" - -"verror@1.10.0": - "integrity" "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==" - "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - "version" "1.10.0" - dependencies: - "assert-plus" "^1.0.0" - "core-util-is" "1.0.2" - "extsprintf" "^1.2.0" - -"vinyl-file@^3.0.0": - "integrity" "sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==" - "resolved" "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "graceful-fs" "^4.1.2" - "pify" "^2.3.0" - "strip-bom-buf" "^1.0.0" - "strip-bom-stream" "^2.0.0" - "vinyl" "^2.0.1" - -"vinyl@^2.0.1": - "integrity" "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==" - "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "clone" "^2.1.1" - "clone-buffer" "^1.0.0" - "clone-stats" "^1.0.0" - "cloneable-readable" "^1.0.0" - "remove-trailing-separator" "^1.0.1" - "replace-ext" "^1.0.0" - -"vm-browserify@^1.0.1": - "integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - "resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" - "version" "1.1.2" - -"w3c-hr-time@^1.0.2": - "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" - "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "browser-process-hrtime" "^1.0.0" - -"w3c-xmlserializer@^2.0.0": - "integrity" "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==" - "resolved" "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "xml-name-validator" "^3.0.0" - -"walk-up-path@^1.0.0": - "integrity" "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==" - "resolved" "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz" - "version" "1.0.0" - -"walker@^1.0.7": - "integrity" "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==" - "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "makeerror" "1.0.12" - -"watchpack-chokidar2@^2.0.1": - "integrity" "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==" - "resolved" "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "chokidar" "^2.1.8" - -"watchpack@^1.7.4": - "integrity" "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz" - "version" "1.7.5" - dependencies: - "graceful-fs" "^4.1.2" - "neo-async" "^2.5.0" - optionalDependencies: - "chokidar" "^3.4.1" - "watchpack-chokidar2" "^2.0.1" - -"watchpack@^2.3.1": - "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - "version" "2.4.0" - dependencies: - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.1.2" - -"wcwidth@^1.0.0", "wcwidth@^1.0.1": - "integrity" "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" - "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "defaults" "^1.0.3" - -"webdriver@7.19.7": - "version" "7.19.7" - dependencies: - "@types/node" "^17.0.4" - "@wdio/config" "7.19.5" - "@wdio/logger" "7.19.0" - "@wdio/protocols" "7.19.0" - "@wdio/types" "7.19.5" - "@wdio/utils" "7.19.7" - "got" "^11.0.2" - "ky" "^0.30.0" - "lodash.merge" "^4.6.1" - -"webdriverio@7.19.7": - "version" "7.19.7" - dependencies: - "@types/aria-query" "^5.0.0" - "@types/node" "^17.0.4" - "@wdio/config" "7.19.5" - "@wdio/logger" "7.19.0" - "@wdio/protocols" "7.19.0" - "@wdio/repl" "7.19.7" - "@wdio/types" "7.19.5" - "@wdio/utils" "7.19.7" - "archiver" "^5.0.0" - "aria-query" "^5.0.0" - "css-shorthand-properties" "^1.1.1" - "css-value" "^0.0.1" - "devtools" "7.19.7" - "devtools-protocol" "^0.0.998712" - "fs-extra" "^10.0.0" - "grapheme-splitter" "^1.0.2" - "lodash.clonedeep" "^4.5.0" - "lodash.isobject" "^3.0.2" - "lodash.isplainobject" "^4.0.6" - "lodash.zip" "^4.2.0" - "minimatch" "^5.0.0" - "puppeteer-core" "^13.1.3" - "query-selector-shadow-dom" "^1.0.0" - "resq" "^1.9.1" - "rgb2hex" "0.2.5" - "serialize-error" "^8.0.0" - "webdriver" "7.19.7" - -"webidl-conversions@^3.0.0": - "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - "version" "3.0.1" - -"webidl-conversions@^5.0.0": - "integrity" "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" - "version" "5.0.0" - -"webidl-conversions@^6.1.0": - "integrity" "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" - "version" "6.1.0" - -"webpack-cli@^4.10.0", "webpack-cli@4.x.x": - "integrity" "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==" - "resolved" "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz" - "version" "4.10.0" - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.2.0" - "@webpack-cli/info" "^1.5.0" - "@webpack-cli/serve" "^1.7.0" - "colorette" "^2.0.14" - "commander" "^7.0.0" - "cross-spawn" "^7.0.3" - "fastest-levenshtein" "^1.0.12" - "import-local" "^3.0.2" - "interpret" "^2.2.0" - "rechoir" "^0.7.0" - "webpack-merge" "^5.7.3" - -"webpack-merge@^5.7.3": - "integrity" "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==" - "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" - "version" "5.8.0" - dependencies: - "clone-deep" "^4.0.1" - "wildcard" "^2.0.0" - -"webpack-node-externals@^3.0.0": - "integrity" "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==" - "resolved" "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz" - "version" "3.0.0" - -"webpack-sources@^1.4.0", "webpack-sources@^1.4.1": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack-sources@^3.2.3": - "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - "version" "3.2.3" - -"webpack@^4.0", "webpack@^4.0.0", "webpack@>=2": - "integrity" "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz" - "version" "4.46.0" - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "acorn" "^6.4.1" - "ajv" "^6.10.2" - "ajv-keywords" "^3.4.1" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^4.5.0" - "eslint-scope" "^4.0.3" - "json-parse-better-errors" "^1.0.2" - "loader-runner" "^2.4.0" - "loader-utils" "^1.2.3" - "memory-fs" "^0.4.1" - "micromatch" "^3.1.10" - "mkdirp" "^0.5.3" - "neo-async" "^2.6.1" - "node-libs-browser" "^2.2.1" - "schema-utils" "^1.0.0" - "tapable" "^1.1.3" - "terser-webpack-plugin" "^1.4.3" - "watchpack" "^1.7.4" - "webpack-sources" "^1.4.1" - -"webpack@^5.1.0", "webpack@^5.73.0", "webpack@4.x.x || 5.x.x": - "integrity" "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz" - "version" "5.73.0" - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "acorn" "^8.4.1" - "acorn-import-assertions" "^1.7.6" - "browserslist" "^4.14.5" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^5.9.3" - "es-module-lexer" "^0.9.0" - "eslint-scope" "5.1.1" - "events" "^3.2.0" - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.2.9" - "json-parse-even-better-errors" "^2.3.1" - "loader-runner" "^4.2.0" - "mime-types" "^2.1.27" - "neo-async" "^2.6.2" - "schema-utils" "^3.1.0" - "tapable" "^2.1.1" - "terser-webpack-plugin" "^5.1.3" - "watchpack" "^2.3.1" - "webpack-sources" "^3.2.3" - -"whatwg-encoding@^1.0.5": - "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" - "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "iconv-lite" "0.4.24" - -"whatwg-mimetype@^2.3.0": - "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - "version" "2.3.0" - -"whatwg-url@^5.0.0": - "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "tr46" "~0.0.3" - "webidl-conversions" "^3.0.0" - -"whatwg-url@^8.0.0", "whatwg-url@^8.4.0", "whatwg-url@^8.5.0": - "integrity" "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" - "version" "8.7.0" - dependencies: - "lodash" "^4.7.0" - "tr46" "^2.1.0" - "webidl-conversions" "^6.1.0" - -"which-boxed-primitive@^1.0.2": - "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" - "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - "version" "1.0.2" - 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" - -"which-module@^2.0.0": - "integrity" "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - "version" "2.0.0" - -"which-pm@2.0.0": - "integrity" "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==" - "resolved" "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "load-yaml-file" "^0.2.0" - "path-exists" "^4.0.0" - -"which-typed-array@^1.1.2": - "integrity" "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==" - "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz" - "version" "1.1.8" - dependencies: - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.2" - "es-abstract" "^1.20.0" - "for-each" "^0.3.3" - "has-tostringtag" "^1.0.0" - "is-typed-array" "^1.1.9" - -"which@^1.2.9": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^1.3.0": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^1.3.1": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^2.0.1", "which@^2.0.2", "which@2.0.2": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"wide-align@^1.1.0", "wide-align@^1.1.2": - "integrity" "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==" - "resolved" "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "string-width" "^1.0.2 || 2 || 3 || 4" - -"widest-line@^3.1.0": - "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==" - "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "string-width" "^4.0.0" - -"wildcard@^2.0.0": - "integrity" "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" - "version" "2.0.0" - -"word-wrap@^1.2.3", "word-wrap@~1.2.3": - "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - "version" "1.2.3" - -"wordwrap@^1.0.0": - "integrity" "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" - "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - "version" "1.0.0" - -"wordwrapjs@^4.0.0": - "integrity" "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==" - "resolved" "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "reduce-flatten" "^2.0.0" - "typical" "^5.2.0" - -"worker-farm@^1.7.0": - "integrity" "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==" - "resolved" "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "errno" "~0.1.7" - -"workerpool@6.2.0": - "integrity" "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" - "resolved" "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz" - "version" "6.2.0" - -"workerpool@6.2.1": - "integrity" "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" - "resolved" "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz" - "version" "6.2.1" - -"wrap-ansi@^2.0.0": - "integrity" "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "string-width" "^1.0.1" - "strip-ansi" "^3.0.1" - -"wrap-ansi@^5.1.0": - "integrity" "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "ansi-styles" "^3.2.0" - "string-width" "^3.0.0" - "strip-ansi" "^5.0.0" - -"wrap-ansi@^6.2.0": - "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^2.4.2": - "integrity" "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" - "version" "2.4.3" - dependencies: - "graceful-fs" "^4.1.11" - "imurmurhash" "^0.1.4" - "signal-exit" "^3.0.2" - -"write-file-atomic@^3.0.0", "write-file-atomic@^3.0.3": - "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "imurmurhash" "^0.1.4" - "is-typedarray" "^1.0.0" - "signal-exit" "^3.0.2" - "typedarray-to-buffer" "^3.1.5" - -"write-file-atomic@^4.0.0": - "integrity" "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "imurmurhash" "^0.1.4" - "signal-exit" "^3.0.7" - -"write-json-file@^3.2.0": - "integrity" "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==" - "resolved" "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "detect-indent" "^5.0.0" - "graceful-fs" "^4.1.15" - "make-dir" "^2.1.0" - "pify" "^4.0.1" - "sort-keys" "^2.0.0" - "write-file-atomic" "^2.4.2" - -"write-json-file@^4.1.1", "write-json-file@^4.3.0": - "integrity" "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==" - "resolved" "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "detect-indent" "^6.0.0" - "graceful-fs" "^4.1.15" - "is-plain-obj" "^2.0.0" - "make-dir" "^3.0.0" - "sort-keys" "^4.0.0" - "write-file-atomic" "^3.0.0" - -"write-pkg@^4.0.0": - "integrity" "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==" - "resolved" "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "sort-keys" "^2.0.0" - "type-fest" "^0.4.1" - "write-json-file" "^3.2.0" - -"write@1.0.3": - "integrity" "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==" - "resolved" "https://registry.npmjs.org/write/-/write-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "mkdirp" "^0.5.1" - -"ws@^7.4.6": - "version" "7.5.7" - -"ws@8.5.0": - "integrity" "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==" - "resolved" "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz" - "version" "8.5.0" - -"xdg-basedir@^4.0.0": - "version" "4.0.0" - -"xml-name-validator@^3.0.0": - "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" - "version" "3.0.0" - -"xml2js@0.4.19": - "integrity" "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==" - "resolved" "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz" - "version" "0.4.19" - dependencies: - "sax" ">=0.6.0" - "xmlbuilder" "~9.0.1" - -"xmlbuilder@~9.0.1": - "integrity" "sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ==" - "resolved" "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz" - "version" "9.0.7" - -"xmlchars@^2.2.0": - "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - "version" "2.2.0" - -"xmlcreate@^1.0.1": - "integrity" "sha512-Mbe56Dvj00onbnSo9J0qj/XlY5bfN9KidsOnpd5tRCsR3ekB3hyyNU9fGrTdqNT5ZNvv4BsA2TcQlignsZyVcw==" - "resolved" "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz" - "version" "1.0.2" - -"xtend@^4.0.0", "xtend@~4.0.1": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^4.0.0": - "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - "version" "4.0.3" - -"y18n@^5.0.5": - "integrity" "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - "version" "5.0.8" - -"yallist@^2.1.2": - "integrity" "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" - "version" "2.1.2" - -"yallist@^3.0.0", "yallist@^3.1.1": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^3.0.2": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yaml@^1.10.0", "yaml@^1.10.2": - "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - "version" "1.10.2" - -"yargs-parser@^13.0.0", "yargs-parser@^13.1.2": - "integrity" "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" - "version" "13.1.2" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs-parser@^20.2.2", "yargs-parser@^20.2.3", "yargs-parser@20.2.4", "yargs-parser@20.x": - "integrity" "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" - "version" "20.2.4" - -"yargs-parser@^21.0.0": - "integrity" "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" - "version" "21.0.1" - -"yargs-unparser@2.0.0": - "integrity" "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==" - "resolved" "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "camelcase" "^6.0.0" - "decamelize" "^4.0.0" - "flat" "^5.0.2" - "is-plain-obj" "^2.1.0" - -"yargs@^13.2.2": - "integrity" "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" - "version" "13.3.2" - dependencies: - "cliui" "^5.0.0" - "find-up" "^3.0.0" - "get-caller-file" "^2.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^2.0.0" - "set-blocking" "^2.0.0" - "string-width" "^3.0.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^13.1.2" - -"yargs@^16.2.0", "yargs@16.2.0": - "integrity" "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - "version" "16.2.0" - 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" - -"yargs@^17.0.0": - "version" "17.5.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.3" - "y18n" "^5.0.5" - "yargs-parser" "^21.0.0" - -"yargs@^17.2.1": - "version" "17.5.0" - dependencies: - "cliui" "^7.0.2" - "escalade" "^3.1.1" - "get-caller-file" "^2.0.5" - "require-directory" "^2.1.1" - "string-width" "^4.2.3" - "y18n" "^5.0.5" - "yargs-parser" "^21.0.0" - -"yarn-install@^1.0.0": - "integrity" "sha512-VO1u181msinhPcGvQTVMnHVOae8zjX/NSksR17e6eXHRveDvHCF5mGjh9hkN8mzyfnCqcBe42LdTs7bScuTaeg==" - "resolved" "https://registry.npmjs.org/yarn-install/-/yarn-install-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "cac" "^3.0.3" - "chalk" "^1.1.3" - "cross-spawn" "^4.0.2" - -"yarn@^1.22.17": - "version" "1.22.18" - -"yauzl@^2.10.0": - "integrity" "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==" - "resolved" "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" - "version" "2.10.0" - dependencies: - "buffer-crc32" "~0.2.3" - "fd-slicer" "~1.1.0" - -"yeoman-environment@^3.2.0", "yeoman-environment@^3.9.1": - "integrity" "sha512-IdRnbQt/DSOSnao0oD9c+or1X2UrL+fx9eC0O7Lq/MGZV68nhv9k77MqG+hEAySPSlyCpocVlhfQwV62hczk5Q==" - "resolved" "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.9.1.tgz" - "version" "3.9.1" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0, tslib@^2.3.1, tslib@^2.5.0: + version "2.6.2" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tuf-js@^1.1.7: + version "1.1.7" + resolved "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz" + integrity sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg== + dependencies: + "@tufjs/models" "1.0.4" + debug "^4.3.4" + make-fetch-happen "^11.1.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8: + 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== + +type-fest@^0.20.2: + 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== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.0, type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + +unique-filename@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz" + integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== + dependencies: + unique-slug "^4.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + +unique-slug@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz" + integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== + dependencies: + imurmurhash "^0.1.4" + +universal-user-agent@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz" + integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url@0.10.3: + version "0.10.3" + resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz" + integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.4: + version "0.12.5" + resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +uuid@8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz" + integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-compile-cache@^2.0.3: + version "2.4.0" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz" + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== + +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" + integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== + dependencies: + builtins "^1.0.3" + +validate-npm-package-name@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz" + integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== + dependencies: + builtins "^5.0.0" + +vinyl-file@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz" + integrity sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg== + dependencies: + graceful-fs "^4.1.2" + pify "^2.3.0" + strip-bom-buf "^1.0.0" + strip-bom-stream "^2.0.0" + vinyl "^2.0.1" + +vinyl@^2.0.1: + version "2.2.1" + resolved "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vue@^3.3.0: + version "3.4.31" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.31.tgz#83a3c4dab8302b0e974b0d4b92a2f6a6378ae797" + integrity sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ== + dependencies: + "@vue/compiler-dom" "3.4.31" + "@vue/compiler-sfc" "3.4.31" + "@vue/runtime-dom" "3.4.31" + "@vue/server-renderer" "3.4.31" + "@vue/shared" "3.4.31" + +vuetify@^3.1.12: + version "3.5.1" + resolved "https://registry.npmjs.org/vuetify/-/vuetify-3.5.1.tgz" + integrity sha512-fkhU4UFnX/lBARXg+n9mBCDPTaEDHoYGx9SZ5A/1LlzM7LohoqldmrNgza4WgpPTLIWqr6NvYp2NvT2IrcTfhg== + +walk-up-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz" + integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + 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" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-pm@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz" + integrity sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== + dependencies: + load-yaml-file "^0.2.0" + path-exists "^4.0.0" + +which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2: + version "1.1.13" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@2.0.2, which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/which/-/which-3.0.1.tgz" + integrity sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.2, wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +workerpool@6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz" + integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +write-file-atomic@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +xml2js@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz" + integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@20.2.4, yargs-parser@^20.2.2: + version "20.2.4" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + 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" + +yargs@^15.0.2: + version "15.4.1" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.2.1, yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yeoman-environment@^3.15.1: + version "3.19.3" + resolved "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.19.3.tgz" + integrity sha512-/+ODrTUHtlDPRH9qIC0JREH8+7nsRcjDl3Bxn2Xo/rvAaVvixH5275jHwg0C85g4QsF4P6M2ojfScPPAl+pLAg== dependencies: "@npmcli/arborist" "^4.0.4" - "are-we-there-yet" "^2.0.0" - "arrify" "^2.0.1" - "binaryextensions" "^4.15.0" - "chalk" "^4.1.0" - "cli-table" "^0.3.1" - "commander" "7.1.0" - "dateformat" "^4.5.0" - "debug" "^4.1.1" - "diff" "^5.0.0" - "error" "^10.4.0" - "escape-string-regexp" "^4.0.0" - "execa" "^5.0.0" - "find-up" "^5.0.0" - "globby" "^11.0.1" - "grouped-queue" "^2.0.0" - "inquirer" "^8.0.0" - "is-scoped" "^2.1.0" - "lodash" "^4.17.10" - "log-symbols" "^4.0.0" - "mem-fs" "^1.2.0 || ^2.0.0" - "mem-fs-editor" "^8.1.2 || ^9.0.0" - "minimatch" "^3.0.4" - "npmlog" "^5.0.1" - "p-queue" "^6.6.2" - "p-transform" "^1.3.0" - "pacote" "^12.0.2" - "preferred-pm" "^3.0.3" - "pretty-bytes" "^5.3.0" - "semver" "^7.1.3" - "slash" "^3.0.0" - "strip-ansi" "^6.0.0" - "text-table" "^0.2.0" - "textextensions" "^5.12.0" - "untildify" "^4.0.0" - -"yeoman-generator@^5.6.1": - "integrity" "sha512-XllgFvmDEwoPMq2rKtL4/N52WlINJW6a3I3XtlCrMb3/dqO5dW0nPNgR0L3IIUIdf9y1EHb1ZFMs2Qp3ZEEFxg==" - "resolved" "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.6.1.tgz" - "version" "5.6.1" - dependencies: - "chalk" "^4.1.0" - "dargs" "^7.0.0" - "debug" "^4.1.1" - "execa" "^4.1.0" - "github-username" "^6.0.0" - "lodash" "^4.17.11" - "minimist" "^1.2.5" - "read-pkg-up" "^7.0.1" - "run-async" "^2.0.0" - "semver" "^7.2.1" - "shelljs" "^0.8.5" - "sort-keys" "^4.2.0" - "text-table" "^0.2.0" - -"yn@3.1.1": - "integrity" "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - "resolved" "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - "version" "3.1.1" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" - -"yosay@^2.0.2": - "integrity" "sha512-avX6nz2esp7IMXGag4gu6OyQBsMh/SEn+ZybGu3yKPlOTE6z9qJrzG/0X5vCq/e0rPFy0CUYCze0G5hL310ibA==" - "resolved" "https://registry.npmjs.org/yosay/-/yosay-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "ansi-regex" "^2.0.0" - "ansi-styles" "^3.0.0" - "chalk" "^1.0.0" - "cli-boxes" "^1.0.0" - "pad-component" "0.0.1" - "string-width" "^2.0.0" - "strip-ansi" "^3.0.0" - "taketalk" "^1.0.0" - "wrap-ansi" "^2.0.0" - -"zip-stream@^4.1.0": - "integrity" "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==" - "resolved" "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "archiver-utils" "^2.1.0" - "compress-commons" "^4.1.0" - "readable-stream" "^3.6.0" + are-we-there-yet "^2.0.0" + arrify "^2.0.1" + binaryextensions "^4.15.0" + chalk "^4.1.0" + cli-table "^0.3.1" + commander "7.1.0" + dateformat "^4.5.0" + debug "^4.1.1" + diff "^5.0.0" + error "^10.4.0" + escape-string-regexp "^4.0.0" + execa "^5.0.0" + find-up "^5.0.0" + globby "^11.0.1" + grouped-queue "^2.0.0" + inquirer "^8.0.0" + is-scoped "^2.1.0" + isbinaryfile "^4.0.10" + lodash "^4.17.10" + log-symbols "^4.0.0" + mem-fs "^1.2.0 || ^2.0.0" + mem-fs-editor "^8.1.2 || ^9.0.0" + minimatch "^3.0.4" + npmlog "^5.0.1" + p-queue "^6.6.2" + p-transform "^1.3.0" + pacote "^12.0.2" + preferred-pm "^3.0.3" + pretty-bytes "^5.3.0" + readable-stream "^4.3.0" + semver "^7.1.3" + slash "^3.0.0" + strip-ansi "^6.0.0" + text-table "^0.2.0" + textextensions "^5.12.0" + untildify "^4.0.0" + +yeoman-generator@^5.8.0: + version "5.10.0" + resolved "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.10.0.tgz" + integrity sha512-iDUKykV7L4nDNzeYSedRmSeJ5eMYFucnKDi6KN1WNASXErgPepKqsQw55TgXPHnmpcyOh2Dd/LAZkyc+f0qaAw== + dependencies: + chalk "^4.1.0" + dargs "^7.0.0" + debug "^4.1.1" + execa "^5.1.1" + github-username "^6.0.0" + lodash "^4.17.11" + mem-fs-editor "^9.0.0" + minimist "^1.2.5" + pacote "^15.2.0" + read-pkg-up "^7.0.1" + run-async "^2.0.0" + semver "^7.2.1" + shelljs "^0.8.5" + sort-keys "^4.2.0" + text-table "^0.2.0" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==