From 95fc0657f0376be57387c279460b977b9434fea1 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 13:42:17 -0400 Subject: [PATCH 01/18] feat: add vale --- .github/workflows/docs-lint.yml | 29 + .vale.ini | 26 + .vale/README.md | 157 +++ .vale/styles/SmartWallets/Capitalization.yml | 27 + .vale/styles/SmartWallets/CodeFormatting.yml | 21 + .vale/styles/SmartWallets/DirectCommands.yml | 22 + .vale/styles/SmartWallets/PassiveVoice.yml | 24 + .vale/styles/SmartWallets/Qualifiers.yml | 20 + .vale/styles/SmartWallets/Spelling.yml | 10 + .vale/styles/SmartWallets/Terminology.yml | 52 + .vale/styles/SmartWallets/Voice.yml | 20 + .vale/styles/SmartWallets/vocab.txt | 81 ++ docs-site | 2 +- package.json | 3 + yarn.lock | 987 ++++++++++++++++++- 15 files changed, 1467 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/docs-lint.yml create mode 100644 .vale.ini create mode 100644 .vale/README.md create mode 100644 .vale/styles/SmartWallets/Capitalization.yml create mode 100644 .vale/styles/SmartWallets/CodeFormatting.yml create mode 100644 .vale/styles/SmartWallets/DirectCommands.yml create mode 100644 .vale/styles/SmartWallets/PassiveVoice.yml create mode 100644 .vale/styles/SmartWallets/Qualifiers.yml create mode 100644 .vale/styles/SmartWallets/Spelling.yml create mode 100644 .vale/styles/SmartWallets/Terminology.yml create mode 100644 .vale/styles/SmartWallets/Voice.yml create mode 100644 .vale/styles/SmartWallets/vocab.txt diff --git a/.github/workflows/docs-lint.yml b/.github/workflows/docs-lint.yml new file mode 100644 index 0000000000..67cc770c52 --- /dev/null +++ b/.github/workflows/docs-lint.yml @@ -0,0 +1,29 @@ +name: Documentation Lint + +on: + pull_request: + paths: + - 'docs/**/*.mdx' + - '.vale.ini' + - '.vale/**' + +jobs: + vale: + runs-on: ubuntu-latest + name: Vale Documentation Linting + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Vale Linting + uses: errata-ai/vale-action@reviewdog + with: + # Run Vale on all documentation files + files: docs + # Use Vale version that supports our configuration + version: 3.12.0 + # Only report errors, not suggestions + level: error + env: + # Required for posting PR comments + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.vale.ini b/.vale.ini new file mode 100644 index 0000000000..4c28630c3f --- /dev/null +++ b/.vale.ini @@ -0,0 +1,26 @@ +# Vale configuration for Alchemy Smart Wallets documentation +# Based on CONTRIBUTING.md guidelines + +StylesPath = .vale/styles + +# Minimum alert level (suggestion, warning, error) +MinAlertLevel = suggestion + +# Ignore certain scopes in Markdown/MDX (global settings) +SkippedScopes = script, style, pre, code, tt, img, url, a, body.id +IgnoredScopes = script, style, pre, code, tt, img, url, a, body.id + +# File patterns to include/exclude - MDX files only +[*.mdx] +# Base Vale styles to extend +BasedOnStyles = Vale, SmartWallets +# Disable built-in spelling in favor of custom rule +Vale.Spelling = NO +# Comment delimiters for ignoring sections +# and +CommentDelimiters = + +# Specific settings for docs directory - MDX only +[docs/**/*.mdx] +BasedOnStyles = Vale, SmartWallets +CommentDelimiters = diff --git a/.vale/README.md b/.vale/README.md new file mode 100644 index 0000000000..d9ebbe5ce5 --- /dev/null +++ b/.vale/README.md @@ -0,0 +1,157 @@ +# Vale Configuration for Smart Wallets Documentation + +This directory contains Vale configuration and custom style rules for linting Alchemy Smart Wallets documentation according to the guidelines in `/docs/CONTRIBUTING.md`. + +## Setup + +### Prerequisites + +1. **Install Vale**: + + ```bash + # macOS with Homebrew + brew install vale + + # Other platforms: https://vale.sh/docs/vale-cli/installation/ + ``` + +2. **Verify installation**: + ```bash + vale --version + ``` + +## Usage + +### Quick Start + +```bash +# From project root, run Vale on specific MDX files +vale docs/pages/some-page.mdx + +# Run on all MDX files in docs directory +vale docs/**/*.mdx + +# Use yarn script +yarn lint:docs +``` + +### Configuration Files + +- **`.vale.ini`** - Main Vale configuration file +- **`styles/SmartWallets/`** - Custom style rules directory + +### Custom Style Rules + +The SmartWallets style includes these rules based on `CONTRIBUTING.md`: + +#### 1. **Terminology.yml** (Error Level) + +- Enforces approved terms from CONTRIBUTING.md +- Replaces prohibited terms with approved alternatives +- Examples: + - ❌ "Account Abstraction" → ✅ "smart account functionality" + - ❌ "user operations" → ✅ "transactions" + - ❌ "bundler" → ✅ "transaction processing" + +#### 2. **Voice.yml** (Error Level) + +- Enforces second-person voice ("you" instead of "we") +- Detects first-person usage patterns + +#### 3. **PassiveVoice.yml** (Warning Level) + +- Detects passive voice constructions +- Encourages active voice per style guide + +#### 4. **DirectCommands.yml** (Warning Level) + +- Encourages direct commands over indirect suggestions +- ❌ "You should install..." → ✅ "Install..." + +#### 5. **Qualifiers.yml** (Suggestion Level) + +- Detects unnecessary qualifiers that weaken tone +- Examples: "perhaps", "might want to", "you may wish to" + +#### 6. **CodeFormatting.yml** (Suggestion Level) + +- Ensures technical terms are wrapped in backticks +- Examples: `aa-sdk`, `getSigner`, `Provider` + +#### 7. **Capitalization.yml** (Error Level) + +- Enforces sentence case for headings only +- Preserves proper nouns and acronyms + +### Ignoring Vale Rules + +To temporarily disable Vale checking in documentation: + +```markdown + + +This content will be ignored by Vale. +You can use prohibited terms here for technical accuracy. + + +``` + +To ignore specific rules: + +```markdown + + +This allows using Account Abstraction terminology when needed. + + +``` + +## MDX Support + +**Current Status**: Vale is configured to lint MDX files only. If you encounter issues with MDX processing, you may need to install additional dependencies: + +```bash +# If MDX processing fails, try installing mdx2vast +npm install -g mdx2vast +``` + +**Note**: Vale will attempt to process MDX files directly. Most rules should work without additional setup. + +## Integration + +### VS Code Integration + +Install the [Vale VS Code extension](https://marketplace.visualstudio.com/items?itemName=errata-ai.vale-server) for real-time linting. + +## Customization + +### Adding New Rules + +1. Create a new `.yml` file in `styles/SmartWallets/` +2. Follow Vale's rule format: https://vale.sh/docs/topics/styles/ +3. Test the rule: `vale --config=.vale.ini docs/test-file.md` + +### Modifying Existing Rules + +Edit the relevant `.yml` file in `styles/SmartWallets/` and test changes. + +### Vocabulary + +Add approved terms to `styles/SmartWallets/vocab.txt` to prevent spelling errors. + + +### Testing Changes + +```bash +# Test a specific rule +vale --config=.vale.ini --filter='*.Terminology' docs/README.md + +# Test with different alert levels +vale --minAlertLevel=error docs/README.md +``` + +## Resources + +- [Vale Documentation](https://vale.sh/docs/) +- [Smart Wallets Contributing Guidelines](/docs/CONTRIBUTING.md) +- [Google Developer Documentation Style Guide](https://developers.google.com/style) diff --git a/.vale/styles/SmartWallets/Capitalization.yml b/.vale/styles/SmartWallets/Capitalization.yml new file mode 100644 index 0000000000..23e89dfa27 --- /dev/null +++ b/.vale/styles/SmartWallets/Capitalization.yml @@ -0,0 +1,27 @@ +# Capitalization rules for headings only +# Enforces proper capitalization per CONTRIBUTING.md guidelines + +extends: capitalization +message: "Use sentence case for headings: '%s'" +level: error +scope: heading + +# Match patterns and their required capitalization +match: $title +style: sentence +exceptions: + - Smart Wallets + - Gas Manager API + - Bundler API + - API + - SDK + - JSON + - HTTP + - HTTPS + - URL + - ID + - UI + - UX + - OAuth + - JWT + - OIDC diff --git a/.vale/styles/SmartWallets/CodeFormatting.yml b/.vale/styles/SmartWallets/CodeFormatting.yml new file mode 100644 index 0000000000..2c473a6eae --- /dev/null +++ b/.vale/styles/SmartWallets/CodeFormatting.yml @@ -0,0 +1,21 @@ +# Code formatting rule +# Ensures technical terms and function names are properly formatted with backticks + +extends: existence +message: "Wrap '%s' in backticks for proper code formatting" +level: suggestion +ignorecase: false + +# Technical terms that should be in backticks when not already formatted +tokens: + - "(? transactions + '(?i)user\s+operations?': "transactions" + '(?i)user\s+ops?': "transactions" + "(?i)UserOps?": "transactions" + + # Bundler -> sending transactions + "(?i)bundler": "transaction processing" + + # Smart contract account -> wallet + '(?i)smart\s+contract\s+accounts?': "wallets" + + # Account Kit -> Smart Wallets + '(?i)Account\s+Kit': "Smart Wallets" + + # Gas manager -> specific replacements + '(?i)gas\s+manager(?!\s+API)': "sponsor gas" + + # Paymaster -> context-specific (except paymaster contract) + '(?i)paymaster(?!\s+contract)': "gas sponsorship" + + # Signer -> authentication/owner + '(?i)Signer(?!\.|\s*\()': "authentication" + + # Account versions -> smart account + '(?i)modular\s+account\s+v2': "smart account" + '(?i)light\s+account\s+v1': "smart account" + + # Spacing corrections + "(?i)gas-less": "gasless" + "(?i)on-chain": "onchain" + + # Brand references - remove "Alchemy" and "our" + '(?i)Alchemy\s+Smart\s+Wallets': "Smart Wallets" + '(?i)our\s+smart\s+accounts?': "smart accounts" + '(?i)our\s+wallets?': "wallets" diff --git a/.vale/styles/SmartWallets/Voice.yml b/.vale/styles/SmartWallets/Voice.yml new file mode 100644 index 0000000000..36ef5ad1f5 --- /dev/null +++ b/.vale/styles/SmartWallets/Voice.yml @@ -0,0 +1,20 @@ +# Voice and tone rules based on CONTRIBUTING.md +# Enforces second-person voice and active voice requirements + +extends: existence +message: "Use second-person voice ('you') instead of first-person" +level: error +ignorecase: true + +# Detect first-person usage that should be second-person +tokens: + - '\bwe\s+recommend\b' + - '\bour\s+approach\b' + - '\bwe\s+suggest\b' + - '\bwe\s+provide\b' + - '\bwe\s+offer\b' + - '\bwe\s+support\b' + - '\bI\s+recommend\b' + - '\bone\s+should\b' + - '\bone\s+can\b' + - '\bone\s+needs\s+to\b' diff --git a/.vale/styles/SmartWallets/vocab.txt b/.vale/styles/SmartWallets/vocab.txt new file mode 100644 index 0000000000..12c3400add --- /dev/null +++ b/.vale/styles/SmartWallets/vocab.txt @@ -0,0 +1,81 @@ +# Approved vocabulary for Smart Wallets documentation +# Based on CONTRIBUTING.md approved terms + +Smart Wallets +aa-sdk +gasless +onchain +API +SDK +JSON +HTTP +HTTPS +URL +ID +UI +UX +TypeScript +JavaScript +React +Node.js +npm +yarn +pnpm +GitHub +OAuth +JWT +ERC-20 +ERC-721 +ERC-1155 +Ethereum +Polygon +Arbitrum +Optimism +Base +repo +monorepo +dev +config +Vocs +Fern +JWTs +JWT +JWKs +JWKS +OIDC +OpenID +APIs +API +onchain +offchain +Onchain +Offchain +mainnet +testnet +testnets +Solana +viem +Viem +config +configs +middleware +middlewares +param +params +impl +dapp +OAuth +http +https +userOp +UOs +Allowlist +explainers +onboarding +Ethers +feeOptions +multipliaction +intialization +sponsorhip +viem's +ie diff --git a/docs-site b/docs-site index 25e5940135..f8c1624095 160000 --- a/docs-site +++ b/docs-site @@ -1 +1 @@ -Subproject commit 25e594013500d2ca8a40e2c32b8282299e42593b +Subproject commit f8c16240955544b293913bf1453ef66c300cfb42 diff --git a/package.json b/package.json index 17f88915a0..b472e26112 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "test:typecheck": "TYPECHECK=true vitest --typecheck --typecheck.only run", "lint:write": "eslint . --fix && yarn fern:gen && prettier --loglevel warn --write --ignore-unknown .", "lint:check": "eslint . && prettier --check .", + "lint:docs": "vale docs/**/*.mdx", "prepare": "husky install && yarn turbo prepare", "docs:dev": "./docs/scripts/docs-dev.sh", "version": "yarn build:libs" @@ -71,6 +72,8 @@ "jsdom": "^25.0.1", "lerna": "^8.0.2", "lint-staged": "^13.2.2", + "markdownlint": "^0.38.0", + "mdx2vast": "^0.3.0", "node-fetch": "^3.3.1", "patch-package": "^8.0.0", "postinstall-postinstall": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index 2b94698763..b081c16768 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1227,7 +1227,20 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3", "@babel/traverse@^7.18.9", "@babel/traverse@^7.20.0", "@babel/traverse@^7.25.3", "@babel/traverse@^7.27.1": +"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291" + integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.1" + "@babel/parser" "^7.27.1" + "@babel/template" "^7.27.1" + "@babel/types" "^7.27.1" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/traverse@^7.18.9", "@babel/traverse@^7.20.0", "@babel/traverse@^7.25.3", "@babel/traverse@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291" integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== @@ -3398,6 +3411,29 @@ dependencies: "@lukeed/csprng" "^1.1.0" +"@mdx-js/mdx@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.3.0.tgz#d65d8c3c28f3f46bb0e7cb3bf7613b39980671a9" + integrity sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/mdx" "^2.0.0" + estree-util-build-jsx "^2.0.0" + estree-util-is-identifier-name "^2.0.0" + estree-util-to-js "^1.1.0" + estree-walker "^3.0.0" + hast-util-to-estree "^2.0.0" + markdown-extensions "^1.0.0" + periscopic "^3.0.0" + remark-mdx "^2.0.0" + remark-parse "^10.0.0" + remark-rehype "^10.0.0" + unified "^10.0.0" + unist-util-position-from-estree "^1.0.0" + unist-util-stringify-position "^3.0.0" + unist-util-visit "^4.0.0" + vfile "^5.0.0" + "@mdx-js/react@^3.0.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.0.tgz#c4522e335b3897b9a845db1dbdd2f966ae8fb0ed" @@ -8386,6 +8422,13 @@ dependencies: tslib "^2.4.0" +"@types/acorn@^4.0.0": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" + integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== + dependencies: + "@types/estree" "*" + "@types/aria-query@^5.0.1": version "5.0.4" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" @@ -8645,6 +8688,18 @@ dependencies: "@types/node" "*" +"@types/katex@^0.16.0": + version "0.16.7" + resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.7.tgz#03ab680ab4fa4fbc6cb46ecf987ecad5d8019868" + integrity sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ== + +"@types/mdast@^3.0.0": + version "3.0.15" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== + dependencies: + "@types/unist" "^2" + "@types/mdast@^4.0.0": version "4.0.4" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" @@ -9335,7 +9390,7 @@ resolved "https://registry.yarnpkg.com/@uiw/react-drag-event-interactive/-/react-drag-event-interactive-2.5.5.tgz#b04383a5877e84c985b8bbad8d1a88dc4b3bfa96" integrity sha512-RO31lRPh0pDFM++dTT42K5zrJsYb5kGy502Ou5aTIP/XJg05+Xy5QpF4o4EPsuzNJ1GOpPYg+V5FsvafQ+LONQ== -"@ungap/structured-clone@^1.2.0": +"@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== @@ -10827,6 +10882,11 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +astring@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef" + integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== + async-function@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" @@ -12238,6 +12298,11 @@ comma-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + command-exists@^1.2.8: version "1.2.9" resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" @@ -12248,6 +12313,11 @@ commander@11.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-11.0.0.tgz#43e19c25dbedc8256203538e8d7e9346877a6f67" integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== +commander@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + commander@^12.0.0, commander@^12.1.0: version "12.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" @@ -12278,6 +12348,11 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + commander@^9.4.1: version "9.5.0" resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" @@ -14218,11 +14293,49 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-util-attach-comments@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz#ee44f4ff6890ee7dfb3237ac7810154c94c63f84" + integrity sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w== + dependencies: + "@types/estree" "^1.0.0" + +estree-util-build-jsx@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz#32f8a239fb40dc3f3dca75bb5dcf77a831e4e47b" + integrity sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg== + dependencies: + "@types/estree-jsx" "^1.0.0" + estree-util-is-identifier-name "^2.0.0" + estree-walker "^3.0.0" + +estree-util-is-identifier-name@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz#fb70a432dcb19045e77b05c8e732f1364b4b49b2" + integrity sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ== + estree-util-is-identifier-name@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== +estree-util-to-js@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz#0f80d42443e3b13bd32f7012fffa6f93603f4a36" + integrity sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA== + dependencies: + "@types/estree-jsx" "^1.0.0" + astring "^1.8.0" + source-map "^0.7.0" + +estree-util-visit@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.2.1.tgz#8bc2bc09f25b00827294703835aabee1cc9ec69d" + integrity sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/unist" "^2.0.0" + estree-util-visit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb" @@ -14236,7 +14349,7 @@ estree-walker@^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== -estree-walker@^3.0.3: +estree-walker@^3.0.0, estree-walker@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== @@ -15162,6 +15275,11 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== +fs@^0.0.1-security: + version "0.0.1-security" + resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" + integrity sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w== + fsevents@2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" @@ -15273,6 +15391,11 @@ get-size@^3.0.0: resolved "https://registry.yarnpkg.com/get-size/-/get-size-3.0.0.tgz#00e39a8042a3de237b2fcf288eaf55d3f472417c" integrity sha512-Y8aiXLq4leR7807UY0yuKEwif5s3kbVp1nTv+i4jBeoUzByTLKkLWu/HorS6/pB+7gsB0o7OTogC8AoOOeT0Hw== +get-stdin@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" + integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== + get-stream@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" @@ -15646,6 +15769,63 @@ hast-util-parse-selector@^2.0.0: resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== +hast-util-parse-selector@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" + integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-to-estree@^2.0.0: + version "2.3.3" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz#da60142ffe19a6296923ec222aba73339c8bf470" + integrity sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ== + dependencies: + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^2.0.0" + "@types/unist" "^2.0.0" + comma-separated-tokens "^2.0.0" + estree-util-attach-comments "^2.0.0" + estree-util-is-identifier-name "^2.0.0" + hast-util-whitespace "^2.0.0" + mdast-util-mdx-expression "^1.0.0" + mdast-util-mdxjs-esm "^1.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + style-to-object "^0.4.1" + unist-util-position "^4.0.0" + zwitch "^2.0.0" + +hast-util-to-html@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz#ccc673a55bb8e85775b08ac28380f72d47167005" + integrity sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + comma-separated-tokens "^2.0.0" + hast-util-whitespace "^3.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + stringify-entities "^4.0.0" + zwitch "^2.0.4" + +hast-util-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" + integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" + hastscript@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" @@ -15657,6 +15837,17 @@ hastscript@^6.0.0: property-information "^5.0.0" space-separated-tokens "^1.0.0" +hastscript@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff" + integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^4.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + headers-polyfill@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-4.0.3.tgz#922a0155de30ecc1f785bcf04be77844ca95ad07" @@ -15760,6 +15951,11 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +html-void-elements@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" + integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== + http-cache-semantics@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" @@ -15993,6 +16189,11 @@ init-package-json@6.0.3: validate-npm-package-license "^3.0.4" validate-npm-package-name "^5.0.0" +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + inquirer@^8.2.4: version "8.2.6" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" @@ -16165,6 +16366,11 @@ is-boolean-object@^1.2.1: call-bound "^1.0.3" has-tostringtag "^1.0.2" +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -16416,6 +16622,13 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== +is-reference@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.3.tgz#9ef7bf9029c70a67b2152da4adf57c23d718910f" + integrity sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw== + dependencies: + "@types/estree" "^1.0.6" + is-regex@^1.1.4, is-regex@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" @@ -17474,6 +17687,13 @@ jwt-decode@^4.0.0: resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== +katex@^0.16.0: + version "0.16.22" + resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.22.tgz#d2b3d66464b1e6d69e6463b28a86ced5a02c5ccd" + integrity sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg== + dependencies: + commander "^8.3.0" + keccak@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" @@ -18207,6 +18427,25 @@ map-or-similar@^1.5.0: resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== +markdown-extensions@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" + integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q== + +markdownlint@^0.38.0: + version "0.38.0" + resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.38.0.tgz#862ca9d08f3a28f4149bd388ac369bb95865534e" + integrity sha512-xaSxkaU7wY/0852zGApM8LdlIfGCW8ETZ0Rr62IQtAnUMlMuifsg09vWJcNYeL4f0anvr8Vo4ZQar8jGpV0btQ== + dependencies: + micromark "4.0.2" + micromark-core-commonmark "2.0.3" + micromark-extension-directive "4.0.0" + micromark-extension-gfm-autolink-literal "2.1.0" + micromark-extension-gfm-footnote "2.1.0" + micromark-extension-gfm-table "2.1.1" + micromark-extension-math "3.1.0" + micromark-util-types "2.0.2" + marky@^1.2.2: version "1.3.0" resolved "https://registry.yarnpkg.com/marky/-/marky-1.3.0.tgz#422b63b0baf65022f02eda61a238eccdbbc14997" @@ -18242,6 +18481,33 @@ md5@^2.2.1: crypt "0.0.2" is-buffer "~1.1.6" +mdast-util-definitions@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" + integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + unist-util-visit "^4.0.0" + +mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.1.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" + integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + decode-named-character-reference "^1.0.0" + mdast-util-to-string "^3.1.0" + micromark "^3.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-decode-string "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + unist-util-stringify-position "^3.0.0" + uvu "^0.5.0" + mdast-util-from-markdown@^2.0.0, mdast-util-from-markdown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a" @@ -18260,6 +18526,30 @@ mdast-util-from-markdown@^2.0.0, mdast-util-from-markdown@^2.0.2: micromark-util-types "^2.0.0" unist-util-stringify-position "^4.0.0" +mdast-util-math@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-math/-/mdast-util-math-3.0.0.tgz#8d79dd3baf8ab8ac781f62b8853768190b9a00b0" + integrity sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + longest-streak "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.1.0" + unist-util-remove-position "^5.0.0" + +mdast-util-mdx-expression@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz#d027789e67524d541d6de543f36d51ae2586f220" + integrity sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + mdast-util-to-markdown "^1.0.0" + mdast-util-mdx-expression@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096" @@ -18272,6 +18562,24 @@ mdast-util-mdx-expression@^2.0.0: mdast-util-from-markdown "^2.0.0" mdast-util-to-markdown "^2.0.0" +mdast-util-mdx-jsx@^2.0.0: + version "2.1.4" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz#7c1f07f10751a78963cfabee38017cbc8b7786d1" + integrity sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + ccount "^2.0.0" + mdast-util-from-markdown "^1.1.0" + mdast-util-to-markdown "^1.3.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-remove-position "^4.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + mdast-util-mdx-jsx@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d" @@ -18290,6 +18598,17 @@ mdast-util-mdx-jsx@^3.0.0: unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" +mdast-util-mdx@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz#49b6e70819b99bb615d7223c088d295e53bb810f" + integrity sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw== + dependencies: + mdast-util-from-markdown "^1.0.0" + mdast-util-mdx-expression "^1.0.0" + mdast-util-mdx-jsx "^2.0.0" + mdast-util-mdxjs-esm "^1.0.0" + mdast-util-to-markdown "^1.0.0" + mdast-util-mdx@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" @@ -18301,6 +18620,17 @@ mdast-util-mdx@^3.0.0: mdast-util-mdxjs-esm "^2.0.0" mdast-util-to-markdown "^2.0.0" +mdast-util-mdxjs-esm@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz#645d02cd607a227b49721d146fd81796b2e2d15b" + integrity sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + mdast-util-to-markdown "^1.0.0" + mdast-util-mdxjs-esm@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" @@ -18313,6 +18643,14 @@ mdast-util-mdxjs-esm@^2.0.0: mdast-util-from-markdown "^2.0.0" mdast-util-to-markdown "^2.0.0" +mdast-util-phrasing@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463" + integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== + dependencies: + "@types/mdast" "^3.0.0" + unist-util-is "^5.0.0" + mdast-util-phrasing@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3" @@ -18321,7 +18659,50 @@ mdast-util-phrasing@^4.0.0: "@types/mdast" "^4.0.0" unist-util-is "^6.0.0" -mdast-util-to-markdown@^2.0.0: +mdast-util-to-hast@^12.1.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" + integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-definitions "^5.0.0" + micromark-util-sanitize-uri "^1.1.0" + trim-lines "^3.0.0" + unist-util-generated "^2.0.0" + unist-util-position "^4.0.0" + unist-util-visit "^4.0.0" + +mdast-util-to-hast@^13.0.0, mdast-util-to-hast@^13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4" + integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6" + integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^3.0.0" + mdast-util-to-string "^3.0.0" + micromark-util-decode-string "^1.0.0" + unist-util-visit "^4.0.0" + zwitch "^2.0.0" + +mdast-util-to-markdown@^2.0.0, mdast-util-to-markdown@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b" integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== @@ -18336,6 +18717,13 @@ mdast-util-to-markdown@^2.0.0: unist-util-visit "^5.0.0" zwitch "^2.0.0" +mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" + integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" @@ -18343,6 +18731,25 @@ mdast-util-to-string@^4.0.0: dependencies: "@types/mdast" "^4.0.0" +mdx2vast@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/mdx2vast/-/mdx2vast-0.3.0.tgz#8f8bca691106e71dc3fe35d085859d54fb09582a" + integrity sha512-xRfRHp6h7bho6esXxKzPA5r3mSmjrKFGyaEBeYwqtK/eSdEYAeAqsG7BJJaxLb/EoIbvgM9VUIdPN4vOyTtf5g== + dependencies: + "@mdx-js/mdx" "^2.3.0" + commander "^11.0.0" + fs "^0.0.1-security" + get-stdin "^9.0.0" + hast-util-to-html "^9.0.5" + hastscript "^9.0.1" + mdast-util-from-markdown "^2.0.2" + mdast-util-math "^3.0.0" + mdast-util-mdx "^3.0.0" + mdast-util-to-hast "^13.2.0" + micromark-extension-math "^3.1.0" + micromark-extension-mdxjs "^3.0.0" + path "^0.12.7" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -18817,7 +19224,7 @@ micro-ftch@^0.3.1: resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== -micromark-core-commonmark@^2.0.0: +micromark-core-commonmark@2.0.3, micromark-core-commonmark@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== @@ -18839,6 +19246,103 @@ micromark-core-commonmark@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" + integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-factory-destination "^1.0.0" + micromark-factory-label "^1.0.0" + micromark-factory-space "^1.0.0" + micromark-factory-title "^1.0.0" + micromark-factory-whitespace "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-chunked "^1.0.0" + micromark-util-classify-character "^1.0.0" + micromark-util-html-tag-name "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-subtokenize "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.1" + uvu "^0.5.0" + +micromark-extension-directive@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz#af389e33fe0654c15f8466b73a0f5af598d00368" + integrity sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + parse-entities "^4.0.0" + +micromark-extension-gfm-autolink-literal@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" + integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-footnote@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" + integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== + dependencies: + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-table@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz#fac70bcbf51fe65f5f44033118d39be8a9b5940b" + integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-math@3.1.0, micromark-extension-math@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz#c42ee3b1dd5a9a03584e83dd8f08e3de510212c1" + integrity sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg== + dependencies: + "@types/katex" "^0.16.0" + devlop "^1.0.0" + katex "^0.16.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-expression@^1.0.0: + version "1.0.8" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz#5bc1f5fd90388e8293b3ef4f7c6f06c24aff6314" + integrity sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw== + dependencies: + "@types/estree" "^1.0.0" + micromark-factory-mdx-expression "^1.0.0" + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-events-to-acorn "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + micromark-extension-mdx-expression@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz#43d058d999532fb3041195a3c3c05c46fa84543b" @@ -18853,6 +19357,22 @@ micromark-extension-mdx-expression@^3.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-extension-mdx-jsx@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz#e72d24b7754a30d20fb797ece11e2c4e2cae9e82" + integrity sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA== + dependencies: + "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" + estree-util-is-identifier-name "^2.0.0" + micromark-factory-mdx-expression "^1.0.0" + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + vfile-message "^3.0.0" + micromark-extension-mdx-jsx@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz#ffc98bdb649798902fa9fc5689f67f9c1c902044" @@ -18869,6 +19389,13 @@ micromark-extension-mdx-jsx@^3.0.0: micromark-util-types "^2.0.0" vfile-message "^4.0.0" +micromark-extension-mdx-md@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz#595d4b2f692b134080dca92c12272ab5b74c6d1a" + integrity sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA== + dependencies: + micromark-util-types "^1.0.0" + micromark-extension-mdx-md@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d" @@ -18876,6 +19403,21 @@ micromark-extension-mdx-md@^2.0.0: dependencies: micromark-util-types "^2.0.0" +micromark-extension-mdxjs-esm@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz#e4f8be9c14c324a80833d8d3a227419e2b25dec1" + integrity sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w== + dependencies: + "@types/estree" "^1.0.0" + micromark-core-commonmark "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-events-to-acorn "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + unist-util-position-from-estree "^1.1.0" + uvu "^0.5.0" + vfile-message "^3.0.0" + micromark-extension-mdxjs-esm@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a" @@ -18891,6 +19433,20 @@ micromark-extension-mdxjs-esm@^3.0.0: unist-util-position-from-estree "^2.0.0" vfile-message "^4.0.0" +micromark-extension-mdxjs@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz#f78d4671678d16395efeda85170c520ee795ded8" + integrity sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q== + dependencies: + acorn "^8.0.0" + acorn-jsx "^5.0.0" + micromark-extension-mdx-expression "^1.0.0" + micromark-extension-mdx-jsx "^1.0.0" + micromark-extension-mdx-md "^1.0.0" + micromark-extension-mdxjs-esm "^1.0.0" + micromark-util-combine-extensions "^1.0.0" + micromark-util-types "^1.0.0" + micromark-extension-mdxjs@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18" @@ -18905,6 +19461,15 @@ micromark-extension-mdxjs@^3.0.0: micromark-util-combine-extensions "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-destination@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" + integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-factory-destination@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" @@ -18914,6 +19479,16 @@ micromark-factory-destination@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-label@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" + integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + micromark-factory-label@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" @@ -18924,6 +19499,20 @@ micromark-factory-label@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-mdx-expression@^1.0.0: + version "1.0.9" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz#57ba4571b69a867a1530f34741011c71c73a4976" + integrity sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA== + dependencies: + "@types/estree" "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-events-to-acorn "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + unist-util-position-from-estree "^1.0.0" + uvu "^0.5.0" + vfile-message "^3.0.0" + micromark-factory-mdx-expression@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz#bb09988610589c07d1c1e4425285895041b3dfa9" @@ -18939,6 +19528,14 @@ micromark-factory-mdx-expression@^2.0.0: unist-util-position-from-estree "^2.0.0" vfile-message "^4.0.0" +micromark-factory-space@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" + integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-types "^1.0.0" + micromark-factory-space@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc" @@ -18947,6 +19544,16 @@ micromark-factory-space@^2.0.0: micromark-util-character "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-title@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" + integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-factory-title@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" @@ -18957,6 +19564,16 @@ micromark-factory-title@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-factory-whitespace@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" + integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-factory-whitespace@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" @@ -18967,6 +19584,14 @@ micromark-factory-whitespace@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-util-character@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" + integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-util-character@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" @@ -18975,6 +19600,13 @@ micromark-util-character@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-util-chunked@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" + integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-chunked@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" @@ -18982,6 +19614,15 @@ micromark-util-chunked@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" +micromark-util-classify-character@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" + integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + micromark-util-classify-character@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" @@ -18991,6 +19632,14 @@ micromark-util-classify-character@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-util-combine-extensions@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" + integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-types "^1.0.0" + micromark-util-combine-extensions@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" @@ -18999,6 +19648,13 @@ micromark-util-combine-extensions@^2.0.0: micromark-util-chunked "^2.0.0" micromark-util-types "^2.0.0" +micromark-util-decode-numeric-character-reference@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" + integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-decode-numeric-character-reference@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" @@ -19006,6 +19662,16 @@ micromark-util-decode-numeric-character-reference@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" +micromark-util-decode-string@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" + integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-decode-string@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2" @@ -19016,11 +19682,30 @@ micromark-util-decode-string@^2.0.0: micromark-util-decode-numeric-character-reference "^2.0.0" micromark-util-symbol "^2.0.0" +micromark-util-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" + integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== + micromark-util-encode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== +micromark-util-events-to-acorn@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz#a4ab157f57a380e646670e49ddee97a72b58b557" + integrity sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w== + dependencies: + "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" + "@types/unist" "^2.0.0" + estree-util-visit "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + vfile-message "^3.0.0" + micromark-util-events-to-acorn@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz#e7a8a6b55a47e5a06c720d5a1c4abae8c37c98f3" @@ -19034,11 +19719,23 @@ micromark-util-events-to-acorn@^2.0.0: micromark-util-types "^2.0.0" vfile-message "^4.0.0" +micromark-util-html-tag-name@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" + integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== + micromark-util-html-tag-name@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== +micromark-util-normalize-identifier@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" + integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-normalize-identifier@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" @@ -19046,6 +19743,13 @@ micromark-util-normalize-identifier@^2.0.0: dependencies: micromark-util-symbol "^2.0.0" +micromark-util-resolve-all@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" + integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== + dependencies: + micromark-util-types "^1.0.0" + micromark-util-resolve-all@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" @@ -19053,6 +19757,15 @@ micromark-util-resolve-all@^2.0.0: dependencies: micromark-util-types "^2.0.0" +micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" + integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-sanitize-uri@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" @@ -19062,6 +19775,16 @@ micromark-util-sanitize-uri@^2.0.0: micromark-util-encode "^2.0.0" micromark-util-symbol "^2.0.0" +micromark-util-subtokenize@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" + integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + uvu "^0.5.0" + micromark-util-subtokenize@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" @@ -19072,17 +19795,27 @@ micromark-util-subtokenize@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark-util-symbol@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" + integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== + micromark-util-symbol@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== -micromark-util-types@^2.0.0: +micromark-util-types@2.0.2, micromark-util-types@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== -micromark@^4.0.0: +micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" + integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== + +micromark@4.0.2, micromark@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== @@ -19105,6 +19838,29 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" +micromark@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" + integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + micromark-core-commonmark "^1.0.1" + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-chunked "^1.0.0" + micromark-util-combine-extensions "^1.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-sanitize-uri "^1.0.0" + micromark-util-subtokenize "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.1" + uvu "^0.5.0" + micromatch@4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -20636,6 +21392,14 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +path@^0.12.7: + version "0.12.7" + resolved "https://registry.yarnpkg.com/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" + integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== + dependencies: + process "^0.11.1" + util "^0.10.3" + pathe@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" @@ -20658,6 +21422,15 @@ pbkdf2@^3.1.2, pbkdf2@^3.1.3: sha.js "^2.4.11" to-buffer "^1.2.0" +periscopic@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" + integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^3.0.0" + is-reference "^3.0.0" + picocolors@^1.0.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" @@ -21020,7 +21793,7 @@ process-warning@^1.0.0: resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== -process@^0.11.0, process@^0.11.10: +process@^0.11.0, process@^0.11.1, process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== @@ -21115,6 +21888,16 @@ property-information@^5.0.0: dependencies: xtend "^4.0.0" +property-information@^6.0.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== + +property-information@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" + integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== + protobufjs@7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a" @@ -22033,6 +22816,14 @@ regjsparser@^0.12.0: dependencies: jsesc "~3.0.2" +remark-mdx@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.3.0.tgz#efe678025a8c2726681bde8bf111af4a93943db4" + integrity sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g== + dependencies: + mdast-util-mdx "^2.0.0" + micromark-extension-mdxjs "^1.0.0" + remark-mdx@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.1.0.tgz#f979be729ecb35318fa48e2135c1169607a78343" @@ -22041,6 +22832,15 @@ remark-mdx@^3.1.0: mdast-util-mdx "^3.0.0" micromark-extension-mdxjs "^3.0.0" +remark-parse@^10.0.0: + version "10.0.2" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" + integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + unified "^10.0.0" + remark-parse@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" @@ -22051,6 +22851,16 @@ remark-parse@^11.0.0: micromark-util-types "^2.0.0" unified "^11.0.0" +remark-rehype@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" + integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== + dependencies: + "@types/hast" "^2.0.0" + "@types/mdast" "^3.0.0" + mdast-util-to-hast "^12.1.0" + unified "^10.0.0" + remark-stringify@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3" @@ -22953,6 +23763,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.0: + version "0.7.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.6.tgz#a3658ab87e5b6429c8a1f3ba0083d4c61ca3ef02" + integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ== + source-map@^0.7.3, source-map@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" @@ -22963,6 +23778,11 @@ space-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + spdx-correct@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" @@ -23181,7 +24001,16 @@ string-natural-compare@^3.0.1: resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + 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.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -23307,7 +24136,7 @@ stringify-entities@^4.0.0: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -23321,6 +24150,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -23406,6 +24242,13 @@ sturdy-websocket@^0.2.1: resolved "https://registry.yarnpkg.com/sturdy-websocket/-/sturdy-websocket-0.2.1.tgz#20a58fd53372ef96eaa08f3c61c91a10b07c7c05" integrity sha512-NnzSOEKyv4I83qbuKw9ROtJrrT6Z/Xt7I0HiP/e6H6GnpeTDvzwGIGeJ8slai+VwODSHQDooW2CAilJwT9SpRg== +style-to-object@^0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" + integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== + dependencies: + inline-style-parser "0.1.1" + styled-jsx@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" @@ -23874,6 +24717,11 @@ treeverse@^3.0.0: resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8" integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ== +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -24369,6 +25217,19 @@ unified-engine@^11.2.2: vfile-statistics "^3.0.0" yaml "^2.0.0" +unified@^10.0.0: + version "10.1.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== + dependencies: + "@types/unist" "^2.0.0" + bail "^2.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^5.0.0" + unified@^11.0.0, unified@^11.0.5: version "11.0.5" resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" @@ -24403,6 +25264,11 @@ unique-string@^2.0.0, unique-string@~2.0.0: dependencies: crypto-random-string "^2.0.0" +unist-util-generated@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" + integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== + unist-util-inspect@^8.0.0: version "8.1.0" resolved "https://registry.yarnpkg.com/unist-util-inspect/-/unist-util-inspect-8.1.0.tgz#ff2729b543c483041b3c29cbe04c5460a406ee25" @@ -24410,6 +25276,13 @@ unist-util-inspect@^8.0.0: dependencies: "@types/unist" "^3.0.0" +unist-util-is@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" + integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" @@ -24417,6 +25290,13 @@ unist-util-is@^6.0.0: dependencies: "@types/unist" "^3.0.0" +unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz#8ac2480027229de76512079e377afbcabcfcce22" + integrity sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww== + dependencies: + "@types/unist" "^2.0.0" + unist-util-position-from-estree@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200" @@ -24424,6 +25304,43 @@ unist-util-position-from-estree@^2.0.0: dependencies: "@types/unist" "^3.0.0" +unist-util-position@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" + integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-remove-position@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz#a89be6ea72e23b1a402350832b02a91f6a9afe51" + integrity sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ== + dependencies: + "@types/unist" "^2.0.0" + unist-util-visit "^4.0.0" + +unist-util-remove-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163" + integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== + dependencies: + "@types/unist" "^3.0.0" + unist-util-visit "^5.0.0" + +unist-util-stringify-position@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" + integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" @@ -24431,6 +25348,14 @@ unist-util-stringify-position@^4.0.0: dependencies: "@types/unist" "^3.0.0" +unist-util-visit-parents@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" + integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" @@ -24439,6 +25364,15 @@ unist-util-visit-parents@^6.0.0: "@types/unist" "^3.0.0" unist-util-is "^6.0.0" +unist-util-visit@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" + integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.1.1" + unist-util-visit@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" @@ -24678,7 +25612,7 @@ uuidv4@^6.2.13: "@types/uuid" "8.3.4" uuid "8.3.2" -uvu@^0.5.6: +uvu@^0.5.0, uvu@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== @@ -24744,6 +25678,14 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== +vfile-message@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" + integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" @@ -24782,6 +25724,16 @@ vfile-statistics@^3.0.0: vfile "^6.0.0" vfile-message "^4.0.0" +vfile@^5.0.0: + version "5.3.7" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" + integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + vfile@^6.0.0, vfile@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" @@ -25139,7 +26091,7 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -25157,6 +26109,15 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + 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.0.1, wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" @@ -25466,7 +26427,7 @@ zustand@4.4.1, zustand@^5.0.0-rc.2, zustand@^5.0.1: resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.5.tgz#3e236f6a953142d975336d179bc735d97db17e84" integrity sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg== -zwitch@^2.0.0: +zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== From 060a4768d7f9dbbc5582f245cbf8ce48e8872d4f Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 13:57:10 -0400 Subject: [PATCH 02/18] fix: update spell check rule --- .vale.ini | 7 +- .vale/README.md | 4 +- .../vocabularies/SmartWallets/accept.txt | 124 +++++++++++++++++ .../vocabularies/SmartWallets/reject.txt | 48 +++++++ .vale/styles/SmartWallets/Spelling.yml | 10 -- .vale/styles/SmartWallets/vocab.txt | 81 ------------ .../vocabularies/SmartWallets/accept.txt | 125 ++++++++++++++++++ docs/pages/migration-guide.mdx | 6 +- 8 files changed, 307 insertions(+), 98 deletions(-) create mode 100644 .vale/config/vocabularies/SmartWallets/accept.txt create mode 100644 .vale/config/vocabularies/SmartWallets/reject.txt delete mode 100644 .vale/styles/SmartWallets/Spelling.yml delete mode 100644 .vale/styles/SmartWallets/vocab.txt create mode 100644 .vale/styles/config/vocabularies/SmartWallets/accept.txt diff --git a/.vale.ini b/.vale.ini index 4c28630c3f..dda0aa6f0f 100644 --- a/.vale.ini +++ b/.vale.ini @@ -3,6 +3,9 @@ StylesPath = .vale/styles +# Custom vocabulary for technical terms +Vocab = SmartWallets + # Minimum alert level (suggestion, warning, error) MinAlertLevel = suggestion @@ -12,10 +15,8 @@ IgnoredScopes = script, style, pre, code, tt, img, url, a, body.id # File patterns to include/exclude - MDX files only [*.mdx] -# Base Vale styles to extend +# Base Vale styles to extend (Vale required for vocabulary system) BasedOnStyles = Vale, SmartWallets -# Disable built-in spelling in favor of custom rule -Vale.Spelling = NO # Comment delimiters for ignoring sections # and CommentDelimiters = diff --git a/.vale/README.md b/.vale/README.md index d9ebbe5ce5..c4426e744a 100644 --- a/.vale/README.md +++ b/.vale/README.md @@ -39,6 +39,9 @@ yarn lint:docs - **`.vale.ini`** - Main Vale configuration file - **`styles/SmartWallets/`** - Custom style rules directory +- **`styles/config/vocabularies/SmartWallets/`** - Vocabulary system + - `accept.txt` - Technical terms that are accepted (enforces exact casing) + - `reject.txt` - Prohibited terms that should be avoided ### Custom Style Rules @@ -139,7 +142,6 @@ Edit the relevant `.yml` file in `styles/SmartWallets/` and test changes. Add approved terms to `styles/SmartWallets/vocab.txt` to prevent spelling errors. - ### Testing Changes ```bash diff --git a/.vale/config/vocabularies/SmartWallets/accept.txt b/.vale/config/vocabularies/SmartWallets/accept.txt new file mode 100644 index 0000000000..305a74811a --- /dev/null +++ b/.vale/config/vocabularies/SmartWallets/accept.txt @@ -0,0 +1,124 @@ +# Smart Wallets Technical Vocabulary +# These terms are accepted and will enforce exact casing + +# Core product terms +Smart Wallets +aa-sdk + +# Blockchain and crypto terms +gasless +onchain +offchain +Onchain +Offchain +mainnet +mainnets +testnet +testnets +devnet +devnets +blockchain +blockchains +EOA +EOAs +nonce +nonces + +# APIs and technical terms +APIs +API +SDKs +SDK +CLIs +CLI +JSON +JSONs +YAML +YAMLs +HTTP +HTTPS +URL +URLs +OAuth +JWT +JWTs +JWKS +OIDC +OpenID + +# Development terms +config +configs +param +params +impl +middleware +middlewares +async +await +webhook +webhooks +endpoint +endpoints +regex +RegEx +env +envs +localhost + +# Web3 specific terms +viem +Viem +viems +viem's +Ethereum +Solana +Polygon +Arbitrum +Optimism +Base +userOp +UOs +dapp +dApps +dApp +DApp +DApps + +# Development tools +TypeScript +JavaScript +ReactJS +NextJS +NodeJS +React +Node.js +npm +yarn +pnpm +bun +Ethers + +# Documentation terms +repo +repos +monorepo +dev +Vocs +Fern +explainers +onboarding +allowlist +allowlists +Allowlist +frontend +frontends +backend +backends + +# Common abbreviations +ie +feeOptions +initialization +sponsorship +multiplication diff --git a/.vale/config/vocabularies/SmartWallets/reject.txt b/.vale/config/vocabularies/SmartWallets/reject.txt new file mode 100644 index 0000000000..19dd3fa3e3 --- /dev/null +++ b/.vale/config/vocabularies/SmartWallets/reject.txt @@ -0,0 +1,48 @@ +# Prohibited terms from CONTRIBUTING.md +# These terms will be flagged as errors + +# Account Abstraction terms - avoid entirely +Account\s+Abstraction +\bAA\b(?!\s*-\s*SDK) +ERC-4337 + +# User operations -> should use "transactions" +user\s+operations? +user\s+ops? +UserOps? + +# Bundler -> should use "transaction processing" +bundler + +# Smart contract account -> should use "wallet" +smart\s+contract\s+accounts? + +# Account Kit -> should use "Smart Wallets" +Account\s+Kit + +# Gas manager -> context-specific replacements +gas\s+manager(?!\s+API) + +# Paymaster -> context-specific (except paymaster contract) +paymaster(?!\s+contract) + +# Signer -> should use "authentication" or "owner" +Signer(?!\.|\s*\() + +# Account versions -> should use "smart account" +modular\s+account\s+v2 +light\s+account\s+v1 + +# Spacing corrections +gas-less +on-chain + +# Brand references - remove "Alchemy" and "our" +Alchemy\s+Smart\s+Wallets +our\s+smart\s+accounts? +our\s+wallets? + +# Common misspellings +multipliaction +intialization +sponsorhip diff --git a/.vale/styles/SmartWallets/Spelling.yml b/.vale/styles/SmartWallets/Spelling.yml deleted file mode 100644 index bb7bb85371..0000000000 --- a/.vale/styles/SmartWallets/Spelling.yml +++ /dev/null @@ -1,10 +0,0 @@ -# Custom spelling rule that uses our vocabulary -# Allows technical terms specific to Smart Wallets documentation - -extends: spelling -message: "Did you really mean '%s'?" -level: error - -# Use custom vocabulary file -ignore: - - vocab.txt diff --git a/.vale/styles/SmartWallets/vocab.txt b/.vale/styles/SmartWallets/vocab.txt deleted file mode 100644 index 12c3400add..0000000000 --- a/.vale/styles/SmartWallets/vocab.txt +++ /dev/null @@ -1,81 +0,0 @@ -# Approved vocabulary for Smart Wallets documentation -# Based on CONTRIBUTING.md approved terms - -Smart Wallets -aa-sdk -gasless -onchain -API -SDK -JSON -HTTP -HTTPS -URL -ID -UI -UX -TypeScript -JavaScript -React -Node.js -npm -yarn -pnpm -GitHub -OAuth -JWT -ERC-20 -ERC-721 -ERC-1155 -Ethereum -Polygon -Arbitrum -Optimism -Base -repo -monorepo -dev -config -Vocs -Fern -JWTs -JWT -JWKs -JWKS -OIDC -OpenID -APIs -API -onchain -offchain -Onchain -Offchain -mainnet -testnet -testnets -Solana -viem -Viem -config -configs -middleware -middlewares -param -params -impl -dapp -OAuth -http -https -userOp -UOs -Allowlist -explainers -onboarding -Ethers -feeOptions -multipliaction -intialization -sponsorhip -viem's -ie diff --git a/.vale/styles/config/vocabularies/SmartWallets/accept.txt b/.vale/styles/config/vocabularies/SmartWallets/accept.txt new file mode 100644 index 0000000000..3911e40fa4 --- /dev/null +++ b/.vale/styles/config/vocabularies/SmartWallets/accept.txt @@ -0,0 +1,125 @@ +# Smart Wallets Technical Vocabulary +# These terms are accepted and will enforce exact casing + +# Core product terms +Smart Wallets +(?i)smart\s+wallets +aa-sdk + +# Blockchain and crypto terms +gasless +(?i)onchain +(?i)offchain +Onchain +Offchain +mainnet +mainnets +testnet +testnets +devnet +devnets +blockchain +blockchains +EOA +EOAs +nonce +nonces + +# APIs and technical terms +APIs +API +SDKs +SDK +CLIs +CLI +JSON +JSONs +YAML +YAMLs +(?i)http +(?i)https +URL +URLs +OAuth +JWT +JWTs +JWKS +OIDC +OpenID + +# Development terms +(?i)config +(?i)configs +(?i)param +(?i)params +(?i)impl +(?i)middleware +(?i)middlewares +(?i)async +(?i)await +(?i)webhook +(?i)webhooks +(?i)endpoint +(?i)endpoints +regex +RegEx +env +envs +localhost + +# Web3 specific terms +(?i)viem +Viem +(?i)viems +(?i)viem's +Ethereum +Solana +Polygon +Arbitrum +Optimism +Base +userOp +UOs +dapp +dApps +dApp +DApp +DApps + +# Development tools +TypeScript +JavaScript +ReactJS +NextJS +NodeJS +React +Node.js +npm +yarn +pnpm +bun +Ethers + +# Documentation terms +repo +repos +monorepo +dev +Vocs +Fern +explainers +onboarding +allowlist +allowlists +Allowlist +frontend +frontends +backend +backends + +# Common abbreviations +(?i)ie +(?i)feeOptions +(?i)initialization +(?i)sponsorship +(?i)multiplication diff --git a/docs/pages/migration-guide.mdx b/docs/pages/migration-guide.mdx index 6579e53f13..1926f98c03 100644 --- a/docs/pages/migration-guide.mdx +++ b/docs/pages/migration-guide.mdx @@ -115,7 +115,7 @@ The `signMessageWith6492` and `signTypedDataWith6492` methods have been removed ### Client: `checkGasSponsorshipEligibility` return type updated -The `checkGasSponsorshipEligibility` methods now returns an object that includes the eligibility status of a User Operation as well as the `UserOperationStruct` that the eligibility is for. This now ensures that checking for sponsorhip doesn't cause you to use up your +The `checkGasSponsorshipEligibility` methods now returns an object that includes the eligibility status of a User Operation as well as the `UserOperationStruct` that the eligibility is for. This now ensures that checking for sponsorship doesn't cause you to use up your gas sponsorship limits. If your User Operation is eligible, then you can sign the UO with `client.signUserOperation` and send it with `client.sendRawUserOperation`. ```ts @@ -315,7 +315,7 @@ type toSmartContractAccount = < `chain` and `transport` have been added to the constructor and `rpcClient` has been removed. -### Account: SimpleAccount and LightAccount intialization params +### Account: SimpleAccount and LightAccount initialization params `index` is now called `salt` @@ -351,7 +351,7 @@ The `AccountSigner` now takes in a `SmartContractAccount` as a param in its cons The `Percent` type and `PercentSchema` have been removed in favor of the `Multiplier` type and `MultiplierSchema`. -Going forward when using the feeOptions, you can specify the `Multiplier` type instead of a `Percent`. The `Multiplier` type is a number that represents direct multipliaction of the estimation. For example, `0.1` is 10% of the estimated value and `1` is 100% of the estimated value. +Going forward when using the feeOptions, you can specify the `Multiplier` type instead of a `Percent`. The `Multiplier` type is a number that represents direct multiplication of the estimation. For example, `0.1` is 10% of the estimated value and `1` is 100% of the estimated value. ```ts createModularAccountAlchemyClient({ From 239f4dde57369568042dfdc85ba6ca38b77e1abe Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 14:17:49 -0400 Subject: [PATCH 03/18] fix: address capitalization rule --- .vale/styles/SmartWallets/Capitalization.yml | 22 +++----------------- docs/pages/guide-template.mdx | 4 ++-- docs/pages/index.mdx | 4 ++-- docs/pages/migration-guide.mdx | 14 ++++++------- 4 files changed, 14 insertions(+), 30 deletions(-) diff --git a/.vale/styles/SmartWallets/Capitalization.yml b/.vale/styles/SmartWallets/Capitalization.yml index 23e89dfa27..b66216d039 100644 --- a/.vale/styles/SmartWallets/Capitalization.yml +++ b/.vale/styles/SmartWallets/Capitalization.yml @@ -2,26 +2,10 @@ # Enforces proper capitalization per CONTRIBUTING.md guidelines extends: capitalization -message: "Use sentence case for headings: '%s'" -level: error +message: "Use title case for headings: '%s'" +level: suggestion scope: heading # Match patterns and their required capitalization match: $title -style: sentence -exceptions: - - Smart Wallets - - Gas Manager API - - Bundler API - - API - - SDK - - JSON - - HTTP - - HTTPS - - URL - - ID - - UI - - UX - - OAuth - - JWT - - OIDC +style: title diff --git a/docs/pages/guide-template.mdx b/docs/pages/guide-template.mdx index 836ea276e9..fd5a2794af 100644 --- a/docs/pages/guide-template.mdx +++ b/docs/pages/guide-template.mdx @@ -10,7 +10,7 @@ slug: wallets/... - Remember to focus on developer outcomes, not implementation details - If more in-depth explanation is needed - that info should be in an explainer doc and linked to or advanced section -## How it works +## How It Works 1-2 paragraphs describing the how it works @@ -61,7 +61,7 @@ Example: [Details about advanced options / implementations / explainers] -## Next steps +## Next Steps - Build more: [Next logical How-to Guide or step] - e.g. now that you’ve logged users in with email, send a transaction. diff --git a/docs/pages/index.mdx b/docs/pages/index.mdx index 8624544108..f2a934301c 100644 --- a/docs/pages/index.mdx +++ b/docs/pages/index.mdx @@ -40,7 +40,7 @@ hide-toc: true -## Everything you need for onchain applications +## Everything You Need for Onchain Applications -## Common starting places +## Common Starting Places diff --git a/docs/pages/migration-guide.mdx b/docs/pages/migration-guide.mdx index 1926f98c03..96ed2f61db 100644 --- a/docs/pages/migration-guide.mdx +++ b/docs/pages/migration-guide.mdx @@ -7,7 +7,7 @@ slug: wallets/migration-guide Below are the steps to migrate your project from older versions of the `aa-sdk` and `account-kit` to the latest version. -## Migrating to version v4.x.x +## Migrating to Version V4.X.X ### Packages @@ -19,7 +19,7 @@ All of the v3 packages have been renamed or removed. The new packages are as fol - `@alchemy/aa-accounts` -> `@account-kit/smart-contracts` - `@alchemy/aa-signers` -> removed -### AA signers +### AA Signers The `@alchemy/aa-signers` package has been deprecated. The signers in that package are still compatible with v4, but they will not be receiving future support and the interfaces are not guaranteed to work with future versions of the SDK. If you want to integrate a 3rd party signer, it's still very easy if the signer exposes an EIP-1193 interface. See [this guide](/wallets/third-party/signers). @@ -75,7 +75,7 @@ The Alchemy `Chain` definitions have been moved from `@aa-sdk/core` to `@account This method on the `AccountSigner` has been renamed. -### Accounts: Default LightAccount version is now v2.0.0 +### Accounts: Default LightAccount Version Is Now v2.0.0 If you were creating LightAccounts for users without explicitly specifying the version (ie. in `createLightAccount` or `useAccount` or `useSmartAccountClient`), you should manually specify the previous default of `v1.1.0`. @@ -92,11 +92,11 @@ Due to a clash in the typing of viem's `Account` type, the `getNonce` method has The version of viem has been updated to `2.20.0` and been added as a peer dependency. If you have viem listed as a dependency, make sure it is updated to `2.20.0`. -### Dropped CJS support +### Dropped CJS Support Due to our dependency on `wagmi` in the `core` and `react` packages, those packages no longer support `cjs` builds. To keep things consistent across all of our packages, we've dropped CJS support in all the packages in this repo. See [this](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) guide on how to migrate from CJS to ESM. -## Migrating to version 3.x.x +## Migrating to Version 3.X.X This version update brings a lot of breaking changes. As we began to support Modular Accounts and their interfaces, we realized that the previous version of the SDK was not as flexible as it could have been to handle the modularity of the new account interfaces. To address this, version 3.x.x of the SDK switches to an approach more idiomatic to `viem`. @@ -160,7 +160,7 @@ const client = createSmartAccountClient({ // [!code ++] }); ``` -### Client: signature changes on methods +### Client: Signature Changes on Methods To support the various ways of connecting to a smart account, the signatures of the methods on `SmartAccountClient` have changed. Almost all methods now have an optional param for `account` and have been converted into single argument functions that take an object with the their properties instead. @@ -334,7 +334,7 @@ The `signTypedData` method found on `SmartAccountSigner` has been updated to mat ) => Promise; ``` -### Ethers: Removed methods +### Ethers: Removed Methods The `with*` methods have been removed from the Provider and Signer classes. The `connect` methods has been removed in favor of immutable properties on the Provider and Signer classes. See updated AccountSigner constructor below. From 97a1a88842615d891078ed9dfb81862e24a72972 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 14:35:20 -0400 Subject: [PATCH 04/18] fix: remove repetition rule --- .vale.ini | 2 ++ .vale/styles/SmartWallets/CodeFormatting.yml | 5 ----- docs/shared/get-api-key.mdx | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.vale.ini b/.vale.ini index dda0aa6f0f..6a2674c63c 100644 --- a/.vale.ini +++ b/.vale.ini @@ -17,6 +17,7 @@ IgnoredScopes = script, style, pre, code, tt, img, url, a, body.id [*.mdx] # Base Vale styles to extend (Vale required for vocabulary system) BasedOnStyles = Vale, SmartWallets +Vale.Repetition = NO # Comment delimiters for ignoring sections # and CommentDelimiters = @@ -24,4 +25,5 @@ CommentDelimiters = # Specific settings for docs directory - MDX only [docs/**/*.mdx] BasedOnStyles = Vale, SmartWallets +Vale.Repetition = NO CommentDelimiters = diff --git a/.vale/styles/SmartWallets/CodeFormatting.yml b/.vale/styles/SmartWallets/CodeFormatting.yml index 2c473a6eae..6d8a6d5d7d 100644 --- a/.vale/styles/SmartWallets/CodeFormatting.yml +++ b/.vale/styles/SmartWallets/CodeFormatting.yml @@ -12,10 +12,5 @@ tokens: - "(? Date: Fri, 5 Sep 2025 14:40:10 -0400 Subject: [PATCH 05/18] fix: fix terminology errors --- .vale/styles/SmartWallets/Terminology.yml | 6 ------ docs/pages/features.mdx | 2 +- docs/pages/migration-guide.mdx | 12 ++++++------ docs/shared/create-gas-policy.mdx | 4 ++-- docs/shared/get-api-key.mdx | 2 +- docs/shared/sponsor-gas-erc20-create-policy.mdx | 4 ++-- 6 files changed, 12 insertions(+), 18 deletions(-) diff --git a/.vale/styles/SmartWallets/Terminology.yml b/.vale/styles/SmartWallets/Terminology.yml index b07cebe5ee..1d7e0a3924 100644 --- a/.vale/styles/SmartWallets/Terminology.yml +++ b/.vale/styles/SmartWallets/Terminology.yml @@ -29,15 +29,9 @@ swap: # Account Kit -> Smart Wallets '(?i)Account\s+Kit': "Smart Wallets" - # Gas manager -> specific replacements - '(?i)gas\s+manager(?!\s+API)': "sponsor gas" - # Paymaster -> context-specific (except paymaster contract) '(?i)paymaster(?!\s+contract)': "gas sponsorship" - # Signer -> authentication/owner - '(?i)Signer(?!\.|\s*\()': "authentication" - # Account versions -> smart account '(?i)modular\s+account\s+v2': "smart account" '(?i)light\s+account\s+v1': "smart account" diff --git a/docs/pages/features.mdx b/docs/pages/features.mdx index 944541cf06..f2b0ba0a9a 100644 --- a/docs/pages/features.mdx +++ b/docs/pages/features.mdx @@ -30,7 +30,7 @@ Don’t see a feature you’re looking for? [Get in touch with us](mailto:smart- | **Passkeys** | Onchain and offchain passkey authentication | | **Prices API** | Fetch current and historical token prices | | **Webhooks** | Onchain event notifications | -| **Modular Plugins** | ERC-6900 modular smart contract accounts for advanced functionality. | +| **Modular Plugins** | ERC-6900 modular wallets for advanced functionality. | | **Alchemy Bridge** | A secure and efficient cross-chain bridge | | **Multi-signature** | Multiple signature requirements for transactions | | **Ethereum** | Ethereum mainnet and testnets | diff --git a/docs/pages/migration-guide.mdx b/docs/pages/migration-guide.mdx index 96ed2f61db..68da9911ba 100644 --- a/docs/pages/migration-guide.mdx +++ b/docs/pages/migration-guide.mdx @@ -19,7 +19,7 @@ All of the v3 packages have been renamed or removed. The new packages are as fol - `@alchemy/aa-accounts` -> `@account-kit/smart-contracts` - `@alchemy/aa-signers` -> removed -### AA Signers +### Smart Account Signers The `@alchemy/aa-signers` package has been deprecated. The signers in that package are still compatible with v4, but they will not be receiving future support and the interfaces are not guaranteed to work with future versions of the SDK. If you want to integrate a 3rd party signer, it's still very easy if the signer exposes an EIP-1193 interface. See [this guide](/wallets/third-party/signers). @@ -40,7 +40,7 @@ For Smart Account Clients, the `create*AlchemyClient` methods have been updated The `alchemyFeeEstimator` and `alchemyUserOperationSimulator` middleware methods now no longer take in a `ClientWithAlchemyMethods` (returned by `createAlchemyPublicRpcClient`) and instead take in an `AlchemyTransport` as well. -The `AlchemyTransport` is a type of `viem` transport that makes it easier to configure your communication with Alchemy RPC. It supports splitting traffic between Alchemy's AA infra and other Node providers (if needed). The `AlchemyTransport` has been added to `@account-kit/infra` and is exported as `alchemy`. +The `AlchemyTransport` is a type of `viem` transport that makes it easier to configure your communication with Alchemy RPC. It supports splitting traffic between Alchemy's smart account infra and other Node providers (if needed). The `AlchemyTransport` has been added to `@account-kit/infra` and is exported as `alchemy`. Creating a config with `@account-kit/core` or `@account-kit/react` has been updated to accept an `AlchemyTransport` and the parameters of `createConfig` have been simplified as a result. You will now need to replace your `rpcUrl` or `apiKey` params with `transport: alchemy({...})`. @@ -48,7 +48,7 @@ For more detailed examples, see the relevant Quickstart guides, depending on whi ### Hooks: `useSendTransaction` and `useSendTransactions` removed -These methods have been removed since `useSendUserOperation` can be used to send transactions and user operations. If you were using `useSendTransaction` or `useSendTransactions`, you can replace them with +These methods have been removed since `useSendUserOperation` can be used to send transactions and transactions. If you were using `useSendTransaction` or `useSendTransactions`, you can replace them with `useSendUserOperation` and pass in `waitForTxn: true` so that all `sendUserOperation` calls will wait for the transaction to be mined. ### Utils: `verifyEIP6492Signature` removed @@ -115,8 +115,8 @@ The `signMessageWith6492` and `signTypedDataWith6492` methods have been removed ### Client: `checkGasSponsorshipEligibility` return type updated -The `checkGasSponsorshipEligibility` methods now returns an object that includes the eligibility status of a User Operation as well as the `UserOperationStruct` that the eligibility is for. This now ensures that checking for sponsorship doesn't cause you to use up your -gas sponsorship limits. If your User Operation is eligible, then you can sign the UO with `client.signUserOperation` and send it with `client.sendRawUserOperation`. +The `checkGasSponsorshipEligibility` methods now returns an object that includes the eligibility status of a transaction as well as the `UserOperationStruct` that the eligibility is for. This now ensures that checking for sponsorship doesn't cause you to use up your +gas sponsorship limits. If your transaction is eligible, then you can sign the UO with `client.signUserOperation` and send it with `client.sendRawUserOperation`. ```ts import { SmartAccountProvider } from "@aa-sdk/core"; // [!code --] @@ -286,7 +286,7 @@ const { hash } = await smartAccountClient.sendUserOperation({ ### Account: Custom Accounts -In prior versions, using your own smart contract account implementations required that you extend `BaseSmartContractAccount`. In version 3.x.x, you can use the `toSmartContractAccount` method which will allow you to use any account with `SmartAccountClient`. `toSmartContractAccount` has the form of: +In prior versions, using your own wallet implementations required that you extend `BaseSmartContractAccount`. In version 3.x.x, you can use the `toSmartContractAccount` method which will allow you to use any account with `SmartAccountClient`. `toSmartContractAccount` has the form of: ```ts type toSmartContractAccount = < diff --git a/docs/shared/create-gas-policy.mdx b/docs/shared/create-gas-policy.mdx index a11e78c284..c87883dfb7 100644 --- a/docs/shared/create-gas-policy.mdx +++ b/docs/shared/create-gas-policy.mdx @@ -1,9 +1,9 @@ A gas manager policy is a set of rules that define which UOs are eligible for gas sponsorship. You can control which operations are eligible for sponsorship by defining rules: -- **Spending rules**: limit the amount of money or the number of user ops that can be sponsored by this policy +- **Spending rules**: limit the amount of money or the number of transactions that can be sponsored by this policy - **Allowlist**: restrict wallet addresses that are eligible for sponsorship. The policy will only sponsor gas for UOs that were sent by addresses on this list. - **Blocklist**: ban certain addresses from receiving sponsorship under this policy -- **Policy duration**: define the duration of your policy and the sponsorship expiry period. This is the period for which the Gas Manager signature (paymaster data) will remain valid once it is generated. +- **Policy duration**: define the duration of your policy and the sponsorship expiry period. This is the period for which the sponsor gas signature (gas sponsorship data) will remain valid once it is generated. To learn more about policy configuration, refer to the guide on [setting up a gas manager policy](https://docs.alchemy.com/docs/setup-a-gas-manager-policy/?a=ak-docs). diff --git a/docs/shared/get-api-key.mdx b/docs/shared/get-api-key.mdx index 2330d85c0b..e74ec49741 100644 --- a/docs/shared/get-api-key.mdx +++ b/docs/shared/get-api-key.mdx @@ -38,7 +38,7 @@ you want to support. - For testing, add [http://localhost:3000](http://localhost:3000/) as a **whitelisted origin** - - Add the link that your Dapp will be running on to the **whitelisted origin** list + - Add the link that your DApp will be running on to the **whitelisted origin** list - Optionally enter your own OAuth credentials or use our defaults Date: Fri, 5 Sep 2025 14:45:00 -0400 Subject: [PATCH 06/18] fix: fixes --- .../vocabularies/SmartWallets/accept.txt | 124 ------------------ .../vocabularies/SmartWallets/reject.txt | 48 ------- docs/pages/migration-guide.mdx | 2 +- 3 files changed, 1 insertion(+), 173 deletions(-) delete mode 100644 .vale/config/vocabularies/SmartWallets/accept.txt delete mode 100644 .vale/config/vocabularies/SmartWallets/reject.txt diff --git a/.vale/config/vocabularies/SmartWallets/accept.txt b/.vale/config/vocabularies/SmartWallets/accept.txt deleted file mode 100644 index 305a74811a..0000000000 --- a/.vale/config/vocabularies/SmartWallets/accept.txt +++ /dev/null @@ -1,124 +0,0 @@ -# Smart Wallets Technical Vocabulary -# These terms are accepted and will enforce exact casing - -# Core product terms -Smart Wallets -aa-sdk - -# Blockchain and crypto terms -gasless -onchain -offchain -Onchain -Offchain -mainnet -mainnets -testnet -testnets -devnet -devnets -blockchain -blockchains -EOA -EOAs -nonce -nonces - -# APIs and technical terms -APIs -API -SDKs -SDK -CLIs -CLI -JSON -JSONs -YAML -YAMLs -HTTP -HTTPS -URL -URLs -OAuth -JWT -JWTs -JWKS -OIDC -OpenID - -# Development terms -config -configs -param -params -impl -middleware -middlewares -async -await -webhook -webhooks -endpoint -endpoints -regex -RegEx -env -envs -localhost - -# Web3 specific terms -viem -Viem -viems -viem's -Ethereum -Solana -Polygon -Arbitrum -Optimism -Base -userOp -UOs -dapp -dApps -dApp -DApp -DApps - -# Development tools -TypeScript -JavaScript -ReactJS -NextJS -NodeJS -React -Node.js -npm -yarn -pnpm -bun -Ethers - -# Documentation terms -repo -repos -monorepo -dev -Vocs -Fern -explainers -onboarding -allowlist -allowlists -Allowlist -frontend -frontends -backend -backends - -# Common abbreviations -ie -feeOptions -initialization -sponsorship -multiplication diff --git a/.vale/config/vocabularies/SmartWallets/reject.txt b/.vale/config/vocabularies/SmartWallets/reject.txt deleted file mode 100644 index 19dd3fa3e3..0000000000 --- a/.vale/config/vocabularies/SmartWallets/reject.txt +++ /dev/null @@ -1,48 +0,0 @@ -# Prohibited terms from CONTRIBUTING.md -# These terms will be flagged as errors - -# Account Abstraction terms - avoid entirely -Account\s+Abstraction -\bAA\b(?!\s*-\s*SDK) -ERC-4337 - -# User operations -> should use "transactions" -user\s+operations? -user\s+ops? -UserOps? - -# Bundler -> should use "transaction processing" -bundler - -# Smart contract account -> should use "wallet" -smart\s+contract\s+accounts? - -# Account Kit -> should use "Smart Wallets" -Account\s+Kit - -# Gas manager -> context-specific replacements -gas\s+manager(?!\s+API) - -# Paymaster -> context-specific (except paymaster contract) -paymaster(?!\s+contract) - -# Signer -> should use "authentication" or "owner" -Signer(?!\.|\s*\() - -# Account versions -> should use "smart account" -modular\s+account\s+v2 -light\s+account\s+v1 - -# Spacing corrections -gas-less -on-chain - -# Brand references - remove "Alchemy" and "our" -Alchemy\s+Smart\s+Wallets -our\s+smart\s+accounts? -our\s+wallets? - -# Common misspellings -multipliaction -intialization -sponsorhip diff --git a/docs/pages/migration-guide.mdx b/docs/pages/migration-guide.mdx index 68da9911ba..45020153c1 100644 --- a/docs/pages/migration-guide.mdx +++ b/docs/pages/migration-guide.mdx @@ -48,7 +48,7 @@ For more detailed examples, see the relevant Quickstart guides, depending on whi ### Hooks: `useSendTransaction` and `useSendTransactions` removed -These methods have been removed since `useSendUserOperation` can be used to send transactions and transactions. If you were using `useSendTransaction` or `useSendTransactions`, you can replace them with +These methods have been removed since `useSendUserOperation` can be used to send transactions. If you were using `useSendTransaction` or `useSendTransactions`, you can replace them with `useSendUserOperation` and pass in `waitForTxn: true` so that all `sendUserOperation` calls will wait for the transaction to be mined. ### Utils: `verifyEIP6492Signature` removed From f68616327e4947c1bc6bccf325abf5bed533ff07 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 14:52:27 -0400 Subject: [PATCH 07/18] fix: test docs lint action --- .github/workflows/docs-lint.yml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docs-lint.yml b/.github/workflows/docs-lint.yml index 67cc770c52..602cb93ae9 100644 --- a/.github/workflows/docs-lint.yml +++ b/.github/workflows/docs-lint.yml @@ -15,15 +15,12 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Vale Linting - uses: errata-ai/vale-action@reviewdog + - name: Install Vale + uses: jaxxstorm/action-install-gh-release@v1.12.0 with: - # Run Vale on all documentation files - files: docs - # Use Vale version that supports our configuration - version: 3.12.0 - # Only report errors, not suggestions - level: error - env: - # Required for posting PR comments - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + repo: errata-ai/vale + tag: v3.12.0 + cache: enable + + - name: Run Vale + run: vale docs/**/*.mdx From 3027f8a2a9709b2e25de5bf7e7a54fbbf137f110 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 15:00:13 -0400 Subject: [PATCH 08/18] fix: test --- .github/workflows/docs-lint.yml | 26 ----------------------- .github/workflows/on-pull-request.yml | 30 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 26 deletions(-) delete mode 100644 .github/workflows/docs-lint.yml diff --git a/.github/workflows/docs-lint.yml b/.github/workflows/docs-lint.yml deleted file mode 100644 index 602cb93ae9..0000000000 --- a/.github/workflows/docs-lint.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Documentation Lint - -on: - pull_request: - paths: - - 'docs/**/*.mdx' - - '.vale.ini' - - '.vale/**' - -jobs: - vale: - runs-on: ubuntu-latest - name: Vale Documentation Linting - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install Vale - uses: jaxxstorm/action-install-gh-release@v1.12.0 - with: - repo: errata-ai/vale - tag: v3.12.0 - cache: enable - - - name: Run Vale - run: vale docs/**/*.mdx diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 6654e29508..56690a335f 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -21,6 +21,36 @@ jobs: env: TITLE: ${{ github.event.pull_request.title }} run: echo "$TITLE" | yarn commitlint + + lint_docs: + name: Lint Documentation + runs-on: ubuntu-latest + steps: + - name: "Checkout files" + uses: actions/checkout@v3 + with: + token: ${{ secrets.ALCHEMY_BOT_PAT }} + fetch-depth: "0" + submodules: "recursive" + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '22' + cache: yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Install Vale + run: | + wget -O vale.tar.gz https://github.com/errata-ai/vale/releases/latest/download/vale_Linux_64-bit.tar.gz + tar -xzf vale.tar.gz + sudo mv vale /usr/local/bin/ + vale --version + + - name: Run documentation linting + run: yarn lint:docs lint: name: Lint From 0c68637342ea4095b44a68652539147a4add02a1 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 15:06:44 -0400 Subject: [PATCH 09/18] fix: test --- .github/workflows/on-pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 56690a335f..d501fbde83 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -44,7 +44,7 @@ jobs: - name: Install Vale run: | - wget -O vale.tar.gz https://github.com/errata-ai/vale/releases/latest/download/vale_Linux_64-bit.tar.gz + wget -O vale.tar.gz https://github.com/errata-ai/vale/releases/download/v3.12.0/vale_3.12.0_Linux_64-bit.tar.gz tar -xzf vale.tar.gz sudo mv vale /usr/local/bin/ vale --version From ef265ae78477f230ab99a90cd93c567ca9694e25 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 15:14:54 -0400 Subject: [PATCH 10/18] fix: docs lint --- docs/shared/sponsor-gas-erc20-create-policy.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/shared/sponsor-gas-erc20-create-policy.mdx b/docs/shared/sponsor-gas-erc20-create-policy.mdx index 793f14ec00..98567a78a8 100644 --- a/docs/shared/sponsor-gas-erc20-create-policy.mdx +++ b/docs/shared/sponsor-gas-erc20-create-policy.mdx @@ -3,8 +3,8 @@ To enable your users to pay gas using an ERC-20 token, create a "Pay gas with an - Receiving address: **you must specify** an address you own where the users' ERC20 tokens will be sent to as they pay for gas. The token transfer to this address is orchestrated by the gas sponsorship contract and happens automatically at transaction time. - Tokens: **you must select** which tokens users should be able to pay gas with. Learn more [here](https://www.alchemy.com/docs/reference/gas-manager-faqs). - ERC-20 transfer mode: choose when the user's token payment occurs. - - [Recommended] After: No upfront allowance is required. The user signs an approval inside the same user operation batch, and the paymaster pulls the token after the operation has executed. If that post-execution transfer fails, the entire user operation is reverted and you still pay the gas fee. - - Before: You (the developer) must ensure the paymaster already has sufficient allowance—either through a prior `approve()` transaction or a permit signature—_before_ the UserOperation is submitted. If the required allowance isn't in place when the user operation is submitted, it will be rejected upfront. + - [Recommended] After: No upfront allowance is required. The user signs an approval inside the same transactions batch, and the gas sponsorship pulls the token after the operation has executed. If that post-execution transfer fails, the entire transactions is reverted and you still pay the gas fee. + - Before: You (the developer) must ensure the gas sponsorship already has sufficient allowance—either through a prior `approve()` transaction or a permit signature—_before_ the UserOperation is submitted. If the required allowance isn't in place when the transactions is submitted, it will be rejected upfront. - Sponsorship expiry period: this is the period for which the Gas Manager signature and ERC-20 exchange rate will remain valid once generated. Date: Fri, 5 Sep 2025 15:26:21 -0400 Subject: [PATCH 11/18] fix: only run on docs changes --- .github/workflows/on-pull-request.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index d501fbde83..b63d9acfb5 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -3,6 +3,21 @@ on: pull_request: jobs: + changes: + name: Detect Changes + runs-on: ubuntu-latest + outputs: + docs: ${{ steps.filter.outputs.docs }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + docs: + - 'docs/**/*.mdx' + enforce_title: name: Enforce PR Title Format runs-on: ubuntu-latest @@ -25,6 +40,8 @@ jobs: lint_docs: name: Lint Documentation runs-on: ubuntu-latest + needs: changes + if: ${{ needs.changes.outputs.docs == 'true' }} steps: - name: "Checkout files" uses: actions/checkout@v3 From 7b5e2ed2a01fa5841cd81c6705613375743edd46 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 16:26:18 -0400 Subject: [PATCH 12/18] feat: add lychee --- .gitignore | 4 +++- lychee.toml | 13 +++++++++++++ package.json | 2 ++ yarn.lock | 5 +++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 lychee.toml diff --git a/.gitignore b/.gitignore index 0c8c9919a1..ab4dfb1f37 100644 --- a/.gitignore +++ b/.gitignore @@ -129,4 +129,6 @@ Pods vendor -.claude/settings.local.json \ No newline at end of file +.claude/settings.local.json + +.lycheecache \ No newline at end of file diff --git a/lychee.toml b/lychee.toml new file mode 100644 index 0000000000..dc15565b89 --- /dev/null +++ b/lychee.toml @@ -0,0 +1,13 @@ + +# Base URL or website root directory to check relative URLs. +base_url = "https://www.alchemy.com" + +# Enable link caching. This can be helpful to avoid checking the same links on +# multiple runs. +cache = true + +# Comma-separated list of accepted status codes for valid links. +accept = [401] + +# Exclude links that end with .mdx or .png +exclude = [".*\\.mdx$", ".*\\.png$"] \ No newline at end of file diff --git a/package.json b/package.json index b472e26112..c3c241962b 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "lint:docs": "vale docs/**/*.mdx", "prepare": "husky install && yarn turbo prepare", "docs:dev": "./docs/scripts/docs-dev.sh", + "docs:broken-links": "lychee docs", "version": "yarn build:libs" }, "devDependencies": { @@ -67,6 +68,7 @@ "eslint-plugin-import": "^2.27.5", "eslint-plugin-jsdoc": "^48.2.3", "eslint-plugin-mdx": "^3.1.5", + "fern-api": "^0.70.4", "husky": "^8.0.0", "is-ci": "^3.0.1", "jsdom": "^25.0.1", diff --git a/yarn.lock b/yarn.lock index b081c16768..4675e250dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14916,6 +14916,11 @@ feaxios@^0.0.23: dependencies: is-retry-allowed "^3.0.0" +fern-api@^0.70.4: + version "0.70.4" + resolved "https://registry.yarnpkg.com/fern-api/-/fern-api-0.70.4.tgz#d7fcc080c8bb40553927e7dbbaa5fb1d0b42aa2d" + integrity sha512-uM1EyvJIxb/XoYis16oorHKOnTd/mwjmVe3273Qv0uKrJFP3ElR/zvlwk94JLTJbiXa3sPbnzpcLl0ItAAVkrA== + fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" From e239bd032a3900dd00659b91b72e4b4958df65ab Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 16:31:34 -0400 Subject: [PATCH 13/18] feat: add to ci --- .github/workflows/on-pull-request.yml | 32 +++++++++++++++++++++++++++ package.json | 1 - yarn.lock | 5 ----- 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index b63d9acfb5..99abd3d737 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -68,6 +68,38 @@ jobs: - name: Run documentation linting run: yarn lint:docs + + check_broken_links: + name: Check Broken Links + runs-on: ubuntu-latest + needs: changes + if: ${{ needs.changes.outputs.docs == 'true' }} + steps: + - name: "Checkout files" + uses: actions/checkout@v3 + with: + token: ${{ secrets.ALCHEMY_BOT_PAT }} + fetch-depth: "0" + submodules: "recursive" + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '22' + cache: yarn + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Install Lychee + run: | + wget -O lychee.tar.gz https://github.com/lycheeverse/lychee/releases/download/lychee-v0.20.1/lychee-x86_64-unknown-linux-gnu.tar.gz + tar -xzf lychee.tar.gz + sudo mv lychee /usr/local/bin/ + lychee --version + + - name: Check for broken links + run: yarn docs:broken-links lint: name: Lint diff --git a/package.json b/package.json index c3c241962b..13a5e09f87 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,6 @@ "eslint-plugin-import": "^2.27.5", "eslint-plugin-jsdoc": "^48.2.3", "eslint-plugin-mdx": "^3.1.5", - "fern-api": "^0.70.4", "husky": "^8.0.0", "is-ci": "^3.0.1", "jsdom": "^25.0.1", diff --git a/yarn.lock b/yarn.lock index 4675e250dc..b081c16768 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14916,11 +14916,6 @@ feaxios@^0.0.23: dependencies: is-retry-allowed "^3.0.0" -fern-api@^0.70.4: - version "0.70.4" - resolved "https://registry.yarnpkg.com/fern-api/-/fern-api-0.70.4.tgz#d7fcc080c8bb40553927e7dbbaa5fb1d0b42aa2d" - integrity sha512-uM1EyvJIxb/XoYis16oorHKOnTd/mwjmVe3273Qv0uKrJFP3ElR/zvlwk94JLTJbiXa3sPbnzpcLl0ItAAVkrA== - fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" From 414222a36089bffc51aef9cb9331056e8cbf6515 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 16:35:14 -0400 Subject: [PATCH 14/18] fix: comment --- .github/workflows/on-pull-request.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 99abd3d737..cab162d1f4 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -73,7 +73,8 @@ jobs: name: Check Broken Links runs-on: ubuntu-latest needs: changes - if: ${{ needs.changes.outputs.docs == 'true' }} + # Uncomment after fixing all broken links + # if: ${{ needs.changes.outputs.docs == 'true' }} steps: - name: "Checkout files" uses: actions/checkout@v3 From 6785c058af38bdd52449b62b1df8513d14027c4c Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 16:49:27 -0400 Subject: [PATCH 15/18] fix: remove accept list --- lychee.toml | 7 ------- package.json | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/lychee.toml b/lychee.toml index dc15565b89..bc9f5da0d5 100644 --- a/lychee.toml +++ b/lychee.toml @@ -2,12 +2,5 @@ # Base URL or website root directory to check relative URLs. base_url = "https://www.alchemy.com" -# Enable link caching. This can be helpful to avoid checking the same links on -# multiple runs. -cache = true - -# Comma-separated list of accepted status codes for valid links. -accept = [401] - # Exclude links that end with .mdx or .png exclude = [".*\\.mdx$", ".*\\.png$"] \ No newline at end of file diff --git a/package.json b/package.json index 13a5e09f87..fce1bab01f 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "lint:docs": "vale docs/**/*.mdx", "prepare": "husky install && yarn turbo prepare", "docs:dev": "./docs/scripts/docs-dev.sh", - "docs:broken-links": "lychee docs", + "docs:broken-links": "lychee docs --root-dir /docs", "version": "yarn build:libs" }, "devDependencies": { From cb0df0e5b2d2fef8d4b6659090bb88591acd4ff5 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 17:01:30 -0400 Subject: [PATCH 16/18] fix: dont block CI --- .github/workflows/on-pull-request.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index cab162d1f4..7e5c2ed9aa 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -72,9 +72,8 @@ jobs: check_broken_links: name: Check Broken Links runs-on: ubuntu-latest - needs: changes - # Uncomment after fixing all broken links - # if: ${{ needs.changes.outputs.docs == 'true' }} + # TODO: Remove this after fixing all broken links + continue-on-error: true steps: - name: "Checkout files" uses: actions/checkout@v3 From 5b42da013599891eb6f1b489bb7b4f8877b0f54b Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Fri, 5 Sep 2025 17:08:19 -0400 Subject: [PATCH 17/18] fix: update --- .github/workflows/on-pull-request.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 7e5c2ed9aa..99abd3d737 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -72,8 +72,8 @@ jobs: check_broken_links: name: Check Broken Links runs-on: ubuntu-latest - # TODO: Remove this after fixing all broken links - continue-on-error: true + needs: changes + if: ${{ needs.changes.outputs.docs == 'true' }} steps: - name: "Checkout files" uses: actions/checkout@v3 From d9cd9d4335ac6aea604f3095653252f5c78c1173 Mon Sep 17 00:00:00 2001 From: Richard Dang Date: Thu, 11 Sep 2025 13:41:08 -0400 Subject: [PATCH 18/18] fix: continue on error --- .github/workflows/on-pull-request.yml | 2 ++ docs-site | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/on-pull-request.yml b/.github/workflows/on-pull-request.yml index 99abd3d737..4e4ec1b951 100644 --- a/.github/workflows/on-pull-request.yml +++ b/.github/workflows/on-pull-request.yml @@ -74,6 +74,8 @@ jobs: runs-on: ubuntu-latest needs: changes if: ${{ needs.changes.outputs.docs == 'true' }} + # TODO: Remove this after fixing all broken links + continue-on-error: true steps: - name: "Checkout files" uses: actions/checkout@v3 diff --git a/docs-site b/docs-site index f8c1624095..768e161faa 160000 --- a/docs-site +++ b/docs-site @@ -1 +1 @@ -Subproject commit f8c16240955544b293913bf1453ef66c300cfb42 +Subproject commit 768e161faa99c0ac930c270885e14260b2f2ecb0