diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 306d0c2450..0000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "ignorePatterns": ["node_modules/", "dist/"], - "env": { - "browser": true, - "es2021": true - }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:solid/typescript" - ], - "overrides": [ - { - "env": { - "node": true - }, - "files": [".eslintrc.{js,cjs}"], - "parserOptions": { - "sourceType": "script" - } - } - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "plugins": ["@typescript-eslint", "solid"], - "rules": { - "quotes": ["error", "double"], - "semi": "warn", - "@typescript-eslint/no-unused-vars": [ - "error", - { - "args": "all", - "argsIgnorePattern": "^_", - "caughtErrors": "all", - "caughtErrorsIgnorePattern": "^_", - "destructuredArrayIgnorePattern": "^_", - "varsIgnorePattern": "^_", - "ignoreRestSiblings": true - } - ] - } -} diff --git a/.github/ISSUE_TEMPLATE/BUGS.yml b/.github/ISSUE_TEMPLATE/BUGS.yml index 64dab21b75..18358ff125 100644 --- a/.github/ISSUE_TEMPLATE/BUGS.yml +++ b/.github/ISSUE_TEMPLATE/BUGS.yml @@ -1,13 +1,10 @@ name: "Bug Report 🪲" description: Report an issue or possible bug with the functionality of the Solid docs website. (Not related to the content of the site.) title: "[Bug]: " -labels: [ - "bug", - "pending review" -] -assignees: -- danieljcafonso -- atilafassina +labels: ["bug", "pending review"] +assignees: + - danieljcafonso + - atilafassina body: - type: textarea @@ -25,13 +22,13 @@ body: description: Please indicate on which page(s) the issue occurs. placeholder: https://docs.solidjs.com/concepts/intro-to-reactivity validations: - required: true + required: true - type: textarea id: expected attributes: label: "🤔 Expected Behavior" description: Please describe what the expected behavior should be. - placeholder: When on this page, I expected . . . + placeholder: When on this page, I expected . . . validations: required: true - type: textarea @@ -39,7 +36,7 @@ body: attributes: label: "👀 Current Behavior" description: Please describe what the current behavior is. - placeholder: But instead, on this page I'm noticing . . . + placeholder: But instead, on this page I'm noticing . . . validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/CONTENT.yml b/.github/ISSUE_TEMPLATE/CONTENT.yml index 477a961eee..1b1ebe748d 100644 --- a/.github/ISSUE_TEMPLATE/CONTENT.yml +++ b/.github/ISSUE_TEMPLATE/CONTENT.yml @@ -1,11 +1,9 @@ name: "Content Report 📄" title: "[Content]:" description: Report an issue with existing content. -labels: [ - "improve documentation", "pending review" -] -assignees: -- ladybluenotes +labels: ["improve documentation", "pending review"] +assignees: + - ladybluenotes body: - type: markdown attributes: @@ -25,7 +23,7 @@ body: description: Please provide the URL of the page(s) affected. placeholder: https://docs.solidjs.com/concepts/intro-to-reactivity validations: - required: true + required: true - type: textarea id: generalDesc attributes: @@ -33,11 +31,11 @@ body: description: Let us know what's wrong! placeholder: "..." validations: - required: true + required: true - type: textarea id: incorrectContent attributes: label: "🖥️ Reproduction in StackBlitz (if reporting incorrect content or code samples)" description: If you are reporting incorrect content or code samples, you can also attach a reproduction in stackblitz. validations: - required: false + required: false diff --git a/.github/ISSUE_TEMPLATE/OTHER.yml b/.github/ISSUE_TEMPLATE/OTHER.yml index 50ef31571e..27d160454c 100644 --- a/.github/ISSUE_TEMPLATE/OTHER.yml +++ b/.github/ISSUE_TEMPLATE/OTHER.yml @@ -1,9 +1,7 @@ name: "Other Report 🌐" title: "[Other]:" description: Report something else we should know about the docs site! -labels: [ -"pending review" -] +labels: ["pending review"] body: - type: textarea id: issue @@ -12,4 +10,4 @@ body: description: Please describe the problem with the documentation in detail. placeholder: "..." validations: - required: true + required: true diff --git a/.github/ISSUE_TEMPLATE/REQUEST.yml b/.github/ISSUE_TEMPLATE/REQUEST.yml index 55479fe1e9..f1aef4ba5a 100644 --- a/.github/ISSUE_TEMPLATE/REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/REQUEST.yml @@ -1,11 +1,9 @@ name: "Request 💡" title: "[Request]:" description: Share an idea. -labels: [ - "request", "pending review" -] +labels: ["request", "pending review"] assignees: -- ladybluenotes + - ladybluenotes body: - type: markdown attributes: @@ -14,7 +12,7 @@ body: id: request-topic attributes: label: "What is this request related to?" - options: + options: - Request - Styling - Feature @@ -27,7 +25,7 @@ body: description: Please provide the URL of the page(s) or section this idea is related to. placeholder: https://docs.solidjs.com/concepts/intro-to-reactivity validations: - required: false + required: false - type: textarea id: generalDesc attributes: @@ -35,7 +33,7 @@ body: description: Please provide a general description or bullet points about what you would like to see added. placeholder: "..." validations: - required: true + required: true - type: textarea id: example attributes: @@ -43,4 +41,4 @@ body: description: If you would like to suggest code samples please attach a working reproduction. placeholder: "..." validations: - required: false + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index b105304437..06c2280099 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,4 +2,4 @@ blank_issues_enabled: true contact_links: - name: Support & Community 💁 url: https://discord.com/invite/solidjs - about: 'This issue tracker is not for support questions. Our Discord server hosts the community of Solid users. Come join us to discuss Solid or find assistance!' + about: "This issue tracker is not for support questions. Our Discord server hosts the community of Solid users. Come join us to discuss Solid or find assistance!" diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1a6d7de3ac..b9f88f0cc9 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,6 +4,7 @@ - [ ] This PR references an issue (except for typos, broken links, or other minor problems) ### Description(required) + ### Related issues & labels diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml new file mode 100644 index 0000000000..d5f890a025 --- /dev/null +++ b/.github/actions/install/action.yml @@ -0,0 +1,21 @@ +name: Install Tools & Dependencies +description: Installs pnpm, Node.js & package dependencies + +runs: + using: composite + steps: + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 9 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + + - name: Install dependencies + run: pnpm install + shell: bash diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml new file mode 100644 index 0000000000..d5f890a025 --- /dev/null +++ b/.github/workflows/format.yml @@ -0,0 +1,21 @@ +name: Install Tools & Dependencies +description: Installs pnpm, Node.js & package dependencies + +runs: + using: composite + steps: + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 9 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + + - name: Install dependencies + run: pnpm install + shell: bash diff --git a/.github/workflows/static_checks.yml b/.github/workflows/static_checks.yml index ebf813ff78..bbb9fda720 100644 --- a/.github/workflows/static_checks.yml +++ b/.github/workflows/static_checks.yml @@ -2,70 +2,37 @@ name: 🔍 Lint / Type Checks on: push: - branches: [main] + branches: + - main + pull_request: - branches: [main] + branches: + - main jobs: - setup: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - with: - version: 9 - - uses: actions/setup-node@v4 - with: - node-version: "20" - cache: "pnpm" - - run: pnpm i - - uses: actions/cache/save@v4 - with: - path: | - node_modules - ~/.pnpm-store - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - typecheck: - needs: setup runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - with: - version: 9 - - uses: actions/setup-node@v4 - with: - node-version: "20" - cache: "pnpm" - - uses: actions/cache/restore@v4 - with: - path: | - node_modules - ~/.pnpm-store - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Check out code + uses: actions/checkout@v4 + + - name: Install tools & dependencies + uses: ./.github/actions/install + - name: Generate virtual modules run: pnpm sync + - name: TypeScript check run: pnpm check:types lint: - needs: setup runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - with: - version: 9 - - uses: actions/setup-node@v4 - with: - node-version: "20" - cache: "pnpm" - - uses: actions/cache/restore@v4 - with: - path: | - node_modules - ~/.pnpm-store - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Check out code + uses: actions/checkout@v4 + + - name: Install tools & dependencies + uses: ./.github/actions/install + - name: ESLint check run: pnpm check:lint diff --git a/.prettierrc b/.prettierrc index 42db1e7bc2..6a5c957392 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,4 @@ { - "trailingComma": "es5", "tabWidth": 2, "semi": true, "singleQuote": false, diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 26b11b8c7d..3eafd70c76 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,11 +2,9 @@ Thank you for helping us make this project great and being a part of the Solid community! -We welcome contributions from anyone, regardless of your skill level. -We are happy to help with guidance on PRs, technical writing, and turning features into realities. +We welcome contributions from anyone, regardless of your skill level. We are happy to help with guidance on PRs, technical writing, and turning features into realities. -> **New to contributing?** -> Take a look at [this GitHub guide](https://docs.github.com/en/get-started/start-your-journey/hello-world) to learn how to use Git and GitHub to contribute to open-source. +> **New to contributing?** Take a look at [this GitHub guide](https://docs.github.com/en/get-started/start-your-journey/hello-world) to learn how to use Git and GitHub to contribute to open-source. If you're new to Solid, we ask that you check out our [Writing Guide](https://github.com/solidjs/solid-docs-next/blob/main/WRITING.md). @@ -14,15 +12,11 @@ If you're new to Solid, we ask that you check out our [Writing Guide](https:/ There are many ways to contribute to the Solid's documentation! -The Solid Docs website is built on Solid! -Maintaining it requires not only written content and Solid code maintenance, but it also needs to address accessibility (a11y), CSS, UI, and UX concerns. -We also aim to make our documentation available in several languages, so we need help translating the entire site. +The Solid Docs website is built on Solid! Maintaining it requires not only written content and Solid code maintenance, but it also needs to address accessibility (a11y), CSS, UI, and UX concerns. We also aim to make our documentation available in several languages, so we need help translating the entire site. You can help out by leaving review comments on [PRs](https://github.com/solidjs/solid-docs-next/pulls) and adding ideas in existing GitHub [issues ](https://github.com/solidjs/solid-docs-next/issues) and [discussions](https://github.com/solidjs/solid-docs-next/discussions). -Every PR, especially translation PRs, will need reviewers. -Reviewing PRs and leaving comments, suggestions, or even saying "Looks good!" can be a great way to get started on contributing alongside our Docs team. -It's also a great way to learn more about Solid! +Every PR, especially translation PRs, will need reviewers. Reviewing PRs and leaving comments, suggestions, or even saying "Looks good!" can be a great way to get started on contributing alongside our Docs team. It's also a great way to learn more about Solid! We encourage you to: @@ -71,8 +65,7 @@ We use labels as a way to organize and categorize our issues. Here are some comm ## Start a discussion -Discussions are a place within this repository where we can have open-ended conversations. -It's the perfect place for Q&A, sharing ideas, community engagement, and connecting with other members. +Discussions are a place within this repository where we can have open-ended conversations. It's the perfect place for Q&A, sharing ideas, community engagement, and connecting with other members. Feel free to start a [new discussion](https://github.com/solidjs/solid-docs-next/discussions) on any topic related to our docs! @@ -87,16 +80,14 @@ Feel free to start a [new discussion](https://github.com/solidjs/solid-docs-n > If you've never submitted a pull request on GitHub before, check out [this overview on how to open a PR](https://opensource.guide/how-to-contribute/#opening-a-pull-request). -PRs are the heart of collaboration on GitHub. -When you open a pull request, you are putting forward your suggested changes, inviting us to review it, and requesting for these changes to be merged into our main branch. +PRs are the heart of collaboration on GitHub. When you open a pull request, you are putting forward your suggested changes, inviting us to review it, and requesting for these changes to be merged into our main branch. Here's how to effectively contribute via a PR: - **Understand the Scope**: Before creating a PR, ensure it addresses an existing issue. Remember to link your PR to the issue it solves for easy tracking and understanding. - **Singular Focus**: Each PR should address a single issue or enhancement. Want to propose a larger change? Reach out to us on [Discord](https://discord.com/invite/solidjs) and let's discuss the best way forward! - **Drafts for Early Feedback**: If you're seeking early feedback but aren't quite finished with your changes, consider creating a draft PR. Simply prefix your PR title with `**[Draft]**`. This way, you can get input on your work-in-progress. -- **Quality over Quantity**: Strive for the quality of your contribution rather than the quantity. A well-thought-out, cleanly coded, and thoroughly tested PR is much more valuable than a hastily done large one. - Contributing via PRs not only enhances the project, but also allows you to be a part of the active community, sharing ideas, learning, and growing with the project. +- **Quality over Quantity**: Strive for the quality of your contribution rather than the quantity. A well-thought-out, cleanly coded, and thoroughly tested PR is much more valuable than a hastily done large one. Contributing via PRs not only enhances the project, but also allows you to be a part of the active community, sharing ideas, learning, and growing with the project. > Existing PRs and Issues need reviewing, triaging, and feedback, too! You can make valuable contributions by commenting, suggesting, testing, researching, brainstorming and generally helping in all areas! @@ -104,8 +95,7 @@ Here's how to effectively contribute via a PR: > Need help making a PR? [Join us on Discord](https://discord.com/invite/solidjs), we'll be more than happy to help you out! -Contributions to the documentation site are made by editing the docs repository. -You can do this directly on GitHub.com or by creating a copy of the repository locally, making your changes there, and contributing back to our repository. +Contributions to the documentation site are made by editing the docs repository. You can do this directly on GitHub.com or by creating a copy of the repository locally, making your changes there, and contributing back to our repository. #### Examples of helpful PRs @@ -115,11 +105,9 @@ You can do this directly on GitHub.com or by creating a copy of the repository l ### Edit this page via GitHub -Every page on [docs.solidjs.com](https://docs.solidjs.com/) has an **Edit this page** link at the bottom. -You can click on that button to edit the source code for that page in **GitHub**. +Every page on [docs.solidjs.com](https://docs.solidjs.com/) has an **Edit this page** link at the bottom. You can click on that button to edit the source code for that page in **GitHub**. -After you make your changes, click **Commit changes**. -This will automatically create a [fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) of the docs in your GitHub account with the changes. +After you make your changes, click **Commit changes**. This will automatically create a [fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) of the docs in your GitHub account with the changes. Once you have committed your edits within your fork, follow the prompts to create a **pull request** and submit your changes for review. @@ -133,13 +121,13 @@ Though it is not a hard requirement, we'd deeply appreciate if you could recomme 1. Create a dictionary file in `src/i18n/dictionaries/{locale}/ui.ts`. The name should follow our locale convention. - - language (ISO 639-1 - set 1): https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes - - country code(optional) (ISO 3166-1 alpha-2): https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 - - E.g.: Canadian French would be: `fr-ca` +- language (ISO 639-1 - set 1): https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes +- country code(optional) (ISO 3166-1 alpha-2): https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 +- E.g.: Canadian French would be: `fr-ca` 2. Add the `import` and language information to the objects in the barrel file: `./src/i18n/dictionaries/index.ts`. So it will be identified by the routing system, and an entry its added to the language dropdown. 3. Add the language to the `array` in `./scripts/collections/index.mjs` so internal files are created. -4. Add the important UI translations to `./src/i18n/dictionaries/{locale}/ui.ts` +4. Add the important UI translations to `./src/i18n/dictionaries/{locale}/ui.ts` 5. Add at least the index page `./src/routes/{locale}/index.mdx`, so others and yourself could see things in action. #### Adding translations to a supported language @@ -153,13 +141,11 @@ To translate a new entry to an existing language, go to `src/routes/{locale}` an Once you have made your changes using your preferred method, you're ready to create a 'pull request'. -This will let the Solid docs team know you have some changes you would like to propose. -At this point, we can give you feedback and possibly request changes. +This will let the Solid docs team know you have some changes you would like to propose. At this point, we can give you feedback and possibly request changes. [Read more about making a pull request in GitHub's docs.](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project#making-a-pull-request) -Please include a clear title. -The description will have some pre-filled questions that we would like you to answer. +Please include a clear title. The description will have some pre-filled questions that we would like you to answer. Every pull request generates a preview of the site, including your proposed changes, using **Netlify** for anyone to see. @@ -171,11 +157,9 @@ The docs site will be automatically updated whenever pull requests are merged. ### Forks -On GitHub, you will need a 'fork' of this repository to work on. -This is your own copy of the code base where you can make changes. You can read more about forks in [GitHub's documentation](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). +On GitHub, you will need a 'fork' of this repository to work on. This is your own copy of the code base where you can make changes. You can read more about forks in [GitHub's documentation](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). -Not sure how to get started with GitHub, forks, pull requests, or want a refresher? -You can watch this video series: [How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github). +Not sure how to get started with GitHub, forks, pull requests, or want a refresher? You can watch this video series: [How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github). #### Creating a fork @@ -183,9 +167,7 @@ To create your copy, click the `Fork` button at the top right of any page in thi #### Maintaining a fork -When you first create your fork, it will be an exact copy of this repository. -Over time, our docs will change as they are updated, but your fork won’t automatically stay up-to-date. -Here are some ways to keep your fork in sync with this repo: +When you first create your fork, it will be an exact copy of this repository. Over time, our docs will change as they are updated, but your fork won’t automatically stay up-to-date. Here are some ways to keep your fork in sync with this repo: ##### Update through GitHub UI diff --git a/README.md b/README.md index 3c48337e62..539d543a0c 100644 --- a/README.md +++ b/README.md @@ -2,75 +2,49 @@ Welcome to Solid's documentation! -This is the repo for [docs.solidjs.com](https://docs.solidjs.com/). This repo -contains all the source code that we use to build our docs. +This is the repo for [docs.solidjs.com](https://docs.solidjs.com/). This repo contains all the source code that we use to build our docs. -[](https://gitpod.io/#https://github.com/solidjs/solid-docs-next) -[](https://codesandbox.io/p/github/solidjs/solid-docs-next/) -[](https://stackblitz.com/github/solidjs/solid-docs-next) +[](https://gitpod.io/#https://github.com/solidjs/solid-docs-next) [](https://codesandbox.io/p/github/solidjs/solid-docs-next/) [](https://stackblitz.com/github/solidjs/solid-docs-next) ## What is Solid? -Solid is a JavaScript framework used for building high-performance -user-interfaces. Using a reactive approach and component-based architecture, we -want to empower developers in creating efficient and scalable web applications. +Solid is a JavaScript framework used for building high-performance user-interfaces. Using a reactive approach and component-based architecture, we want to empower developers in creating efficient and scalable web applications. ## Thank you for being here! -You can help make our docs better for the community! Your feedback is welcomed. -In addition, any editing, translating, designing, and developing skills are -welcomed. We are grateful to welcome you into our community! +You can help make our docs better for the community! Your feedback is welcomed. In addition, any editing, translating, designing, and developing skills are welcomed. We are grateful to welcome you into our community! -If you want to see how you can contribute, check out our -[How You Can Help](#how-you-can-help) section. +If you want to see how you can contribute, check out our [How You Can Help](#how-you-can-help) section. ## Chat with us -You can learn more about Solid, get support, and meet other devs and -contributors in our [Discord community](https://discord.com/invite/solidjs). +You can learn more about Solid, get support, and meet other devs and contributors in our [Discord community](https://discord.com/invite/solidjs). ## Raise an issue -Have you noticed something is missing, confusing, or is wrong in our -documentation? +Have you noticed something is missing, confusing, or is wrong in our documentation? -Check to see if it has -[already been mentioned ](https://github.com/solidjs/solid-docs-next/issues) -and, if not, -[create an issue](https://github.com/solidjs/solid-docs-next/issues/new/choose) -to bring it to our attention! +Check to see if it has [already been mentioned ](https://github.com/solidjs/solid-docs-next/issues) and, if not, [create an issue](https://github.com/solidjs/solid-docs-next/issues/new/choose) to bring it to our attention! ## Share an idea -Do you think something could be better? Have an idea you feel could make the -docs better? +Do you think something could be better? Have an idea you feel could make the docs better? -Discussion threads are where you can offer feedback on things that might not be -problems that need addressing, but are ideas to be explored. +Discussion threads are where you can offer feedback on things that might not be problems that need addressing, but are ideas to be explored. -Join us in the -[Discussions section](https://github.com/solidjs/solid-docs-next/discussions/280) -where we can brainstorm these ideas, ask questions, and share goals! +Join us in the [Discussions section](https://github.com/solidjs/solid-docs-next/discussions/280) where we can brainstorm these ideas, ask questions, and share goals! ## Suggest a fix or contribute Have you found a typo, broken link, or another item with an obvious quick fix? -If you can see what the problem is, and you know how to fix it, you can make a -PR (pull request) with the change and contribute to the docs repo yourself. +If you can see what the problem is, and you know how to fix it, you can make a PR (pull request) with the change and contribute to the docs repo yourself. -If you're looking to make a larger contribution, please see our -[CONTRIBUTING.md](https://github.com/solidjs/solid-docs-next/blob/main/CONTRIBUTING.md) -first! +If you're looking to make a larger contribution, please see our [CONTRIBUTING.md](https://github.com/solidjs/solid-docs-next/blob/main/CONTRIBUTING.md) first! ## Running the Site Locally -At the moment, we recommend running the site locally through either -[CodeSandbox](https://codesandbox.io/p/github/solidjs/solid-docs-next/), -[Gitpod](https://gitpod.io/#https://github.com/solidjs/solid-docs-next), or -[StackBlitz](https://stackblitz.com/github/solidjs/solid-docs-next). These are -the quickest and easiest way to browse and edit the project files and run the -site locally. +At the moment, we recommend running the site locally through either [CodeSandbox](https://codesandbox.io/p/github/solidjs/solid-docs-next/), [Gitpod](https://gitpod.io/#https://github.com/solidjs/solid-docs-next), or [StackBlitz](https://stackblitz.com/github/solidjs/solid-docs-next). These are the quickest and easiest way to browse and edit the project files and run the site locally. The app uses [pnpm](https://pnpm.io) as the package manager and it runs on Node.js `v18+`. @@ -90,7 +64,6 @@ This will start your the app at [localhost:3000](http://localhost:3000) or the n ### Collections and virtual modules -The builds an [Astro](https://docs.astro.build/en/guides/content-collections/) inspired collection navigation, it will bring all routes and generate a couple of files at `/.solid`. -These files are exposed to your app via [Vite virtual modules](https://vitejs.dev/guide/api-plugin#virtual-modules-convention). This task is perform via our `sync` script (`pnpm sync`), ran before every build. +The builds an [Astro](https://docs.astro.build/en/guides/content-collections/) inspired collection navigation, it will bring all routes and generate a couple of files at `/.solid`. These files are exposed to your app via [Vite virtual modules](https://vitejs.dev/guide/api-plugin#virtual-modules-convention). This task is perform via our `sync` script (`pnpm sync`), ran before every build. If changes are made to the navigation (new entry, or repositioning entry), it is necessary to restart the server for changes to take effect. diff --git a/WRITING.md b/WRITING.md index e31df890b4..da91c42486 100644 --- a/WRITING.md +++ b/WRITING.md @@ -2,27 +2,19 @@ ## Introduction -Thank you for your interest in writing for Solid. -This writing guide is in-progress, so please be sure to check it often as we adjust things. -We welcome suggestions and feedback. +Thank you for your interest in writing for Solid. This writing guide is in-progress, so please be sure to check it often as we adjust things. We welcome suggestions and feedback. -Bear in mind that the following is a general guideline, but we will use it as a framework to edit any incoming contributions. -This is to ensure that Solid's documents remain consistent in tone, voice, structure, and conventions. +Bear in mind that the following is a general guideline, but we will use it as a framework to edit any incoming contributions. This is to ensure that Solid's documents remain consistent in tone, voice, structure, and conventions. ## Visual style -Solid wants to maintain a consistent brand across all of its documentation. -We want to present a consistent and professional face to our users and partners. -As such, we have several guidelines that will dictate how your contributions will look once published. -While it would be great if you followed these exactly — and our contributing editors would sure love you for it — we know that you'd probably prefer to focus on getting great Solid content ready to go. +Solid wants to maintain a consistent brand across all of its documentation. We want to present a consistent and professional face to our users and partners. As such, we have several guidelines that will dictate how your contributions will look once published. While it would be great if you followed these exactly — and our contributing editors would sure love you for it — we know that you'd probably prefer to focus on getting great Solid content ready to go. -So please try to follow this visual framework as best as you can to make the process as smooth as possible. -Of course, trends in documentation styling change over time, so we're fully aware that these guidelines will likely shift as we consider adopting new best practices. +So please try to follow this visual framework as best as you can to make the process as smooth as possible. Of course, trends in documentation styling change over time, so we're fully aware that these guidelines will likely shift as we consider adopting new best practices. ### Layout -The bulk of your contributions will be the body copy. -But beyond just your written content, there are several other things to consider while working on your document. +The bulk of your contributions will be the body copy. But beyond just your written content, there are several other things to consider while working on your document. #### Tables @@ -55,10 +47,7 @@ See below for an example of what this would look like in raw Markdown. #### Asides -Asides serve as callout boxes in Solid's documentation. -They represent a section of the document that is related to the content surrounding the aside, but not directly relevant to the page. -They work well with explaining how Solid differs from other popular frameworks, referring to other points in the documentation, or serving as a tangential note. -We ask that you use them sparingly. +Asides serve as callout boxes in Solid's documentation. They represent a section of the document that is related to the content surrounding the aside, but not directly relevant to the page. They work well with explaining how Solid differs from other popular frameworks, referring to other points in the documentation, or serving as a tangential note. We ask that you use them sparingly. 1. To use an aside, you must first import the correct component. 2. Use the following command in your terminal. (Remember to be in the cloned Solid repo directory.) @@ -73,8 +62,7 @@ We ask that you use them sparingly. ### Code examples -Solid's documentation contains example code, like you've seen here in this guide. -Markdown lets you create inline code and code blocks. +Solid's documentation contains example code, like you've seen here in this guide. Markdown lets you create inline code and code blocks. If you want to call out a single command or a file path, surround the text with single back ticks: `. @@ -84,8 +72,7 @@ Here's an example in raw Markdown: `npm` ``` -If, however, you need more than that, then a code block is more appropriate. -Start with three back ticks, ```, write your code, then close the block with three more back ticks. +If, however, you need more than that, then a code block is more appropriate. Start with three back ticks, ```, write your code, then close the block with three more back ticks. Here's an example in raw Markdown: @@ -94,21 +81,15 @@ Here's an example in raw Markdown: npm install ```` -Code examples are vital to providing users with quick tips on how to use Solid. -Knowing when to use inline code versus code blocks can further the understanding of the readers and users alike. +Code examples are vital to providing users with quick tips on how to use Solid. Knowing when to use inline code versus code blocks can further the understanding of the readers and users alike. ### Images -Good documentation takes advantage of images, such as screenshots and graphics, to expand upon the written content. -Images should not introduce or explain something new. -They are used in addition to the writing, such as increasing a reader's understanding, communicating ideas, emphasizing points, or providing a comparison. +Good documentation takes advantage of images, such as screenshots and graphics, to expand upon the written content. Images should not introduce or explain something new. They are used in addition to the writing, such as increasing a reader's understanding, communicating ideas, emphasizing points, or providing a comparison. -To maintain some consistency, we would prefer that you stick to the PNG format so that the images scale well at all screen sizes and resolutions. -Please avoid using GIFs if at all possible because they interfere with accessibility. +To maintain some consistency, we would prefer that you stick to the PNG format so that the images scale well at all screen sizes and resolutions. Please avoid using GIFs if at all possible because they interfere with accessibility. -Finally, we strongly request that you use alt text with your images. -This is very important for our accessibility initiatives. -If you are adding an image to a page, you can do that using HTML syntax. +Finally, we strongly request that you use alt text with your images. This is very important for our accessibility initiatives. If you are adding an image to a page, you can do that using HTML syntax. Here's an example of how to do that: @@ -120,14 +101,11 @@ Here's an example of how to do that: Now that we've laid out how we'd like your contribution to look, we'd like to take a moment to discuss how we'd like to see it organized. -Please note that, for editing purposes, **each sentence gets its own line**. -Paragraphs should have two lines between them. +Please note that, for editing purposes, **each sentence gets its own line**. Paragraphs should have two lines between them. ### Headings -Headings act as the primary means of document organization. -Solid uses Markdown, which means headings are defined by hashes `#` followed by a space. -For each additional hash, you go down one heading level. +Headings act as the primary means of document organization. Solid uses Markdown, which means headings are defined by hashes `#` followed by a space. For each additional hash, you go down one heading level. Here's an example of a Heading 1 (H1) and a Heading 2 (H2) in raw Markdown. @@ -137,9 +115,7 @@ Here's an example of a Heading 1 (H1) and a Heading 2 (H2) in raw Markdown. ## Introduction ``` -We primarily use Headings 1 through 3. -However, headings can go up to 6. -Note we rarely use Headings 5 and 6. +We primarily use Headings 1 through 3. However, headings can go up to 6. Note we rarely use Headings 5 and 6. Below is a quick breakdown on the different headings. @@ -153,35 +129,24 @@ H5/H6: Advanced concepts ### Lists -You will come across two types of lists in your contributions, ordered and unordered. -Here's a breakdown on when to use each one. +You will come across two types of lists in your contributions, ordered and unordered. Here's a breakdown on when to use each one. -Ordered: This is for step-based, how-to content. -You need an ordered list when the order or hierarchy is important. +Ordered: This is for step-based, how-to content. You need an ordered list when the order or hierarchy is important. -Unordered: Unordered lists help break up content with non-hierarchical items. -You will likely use them when writing exceptions and emphasizing important ideas. +Unordered: Unordered lists help break up content with non-hierarchical items. You will likely use them when writing exceptions and emphasizing important ideas. -In addition to these two types, you might need to use a nested list. -This is for when a listed item has a sub-part to it that is relevant to its content. +In addition to these two types, you might need to use a nested list. This is for when a listed item has a sub-part to it that is relevant to its content. -Finally, you may come across a point where you need to make a note on a listed item. -This would be an area where a nested point would not be appropriate. -These notes might link out to another part of the documentation or a piece of reference material; or, they may also inform the reader about a warning or a gotcha. -(Gotchas are unexpected and/or unreasonable outcomes that the reader should know about. An example is a command that is similar to the one you listed, but using it would cause some kind of issue.) +Finally, you may come across a point where you need to make a note on a listed item. This would be an area where a nested point would not be appropriate. These notes might link out to another part of the documentation or a piece of reference material; or, they may also inform the reader about a warning or a gotcha. (Gotchas are unexpected and/or unreasonable outcomes that the reader should know about. An example is a command that is similar to the one you listed, but using it would cause some kind of issue.) ### Page linking -We would prefer you to keep page linking in mind while you're working on your contribution. -The following two points are what you should pay attention to: +We would prefer you to keep page linking in mind while you're working on your contribution. The following two points are what you should pay attention to: -1. Interlink when you refer to a topic that has its own page. - This makes it possible for the user to easily seek additional information. -2. Be descriptive with the linked text. - Do not use "click here" or any variation therein, as this is not a best practice for accessibility. +1. Interlink when you refer to a topic that has its own page. This makes it possible for the user to easily seek additional information. +2. Be descriptive with the linked text. Do not use "click here" or any variation therein, as this is not a best practice for accessibility. -Links are written in Markdown. -Here's an example of what that looks like: +Links are written in Markdown. Here's an example of what that looks like: ``` Do: Check the [Solid homepage](https://www.solidjs.com) @@ -190,29 +155,17 @@ Don't: Click [here](https://www.solidjs.com) to go to the Solid homepage. ## Voice and tone -So far, we've dealt with how your contributions should look and function. -As important as all of that is, the core part of your documents is the writing itself, so we want to discuss how we would like our documentation to read. +So far, we've dealt with how your contributions should look and function. As important as all of that is, the core part of your documents is the writing itself, so we want to discuss how we would like our documentation to read. ### Approachable -Modern documentation has shifted toward a less formal tone to great effect. -Like modern documents, Solid aims to provide a friendly and approachable tone. -Of course, your contributions should still maintain a technical focus to provide the reader with the information that they're looking for. -We encourage you to pay attention to how [Google](https://developers.google.com/style/tone) defines a friendly tone. +Modern documentation has shifted toward a less formal tone to great effect. Like modern documents, Solid aims to provide a friendly and approachable tone. Of course, your contributions should still maintain a technical focus to provide the reader with the information that they're looking for. We encourage you to pay attention to how [Google](https://developers.google.com/style/tone) defines a friendly tone. > In your documents, aim for a voice and tone that's conversational, friendly, and respectful without being overly colloquial or frivolous; a voice that's casual and natural and approachable, not pedantic or pushy. Try to sound like a knowledgeable friend who understands what the developer wants to do. -The old way of writing documentation — the dry, formal, and very rigid method — created a divide between the reader and writer. -We don't want that here. -We want our users to enjoy reading Solid's docs so that they retain the information they came here for. -This requires writing engaging content that is also approachable for most skill levels. +The old way of writing documentation — the dry, formal, and very rigid method — created a divide between the reader and writer. We don't want that here. We want our users to enjoy reading Solid's docs so that they retain the information they came here for. This requires writing engaging content that is also approachable for most skill levels. -The tricky part for you is determining that baseline skill level. -Solid caters to a more technically advanced audience, the members of which are more likely to know what you might consider to be basic knowledge. -However, in the introductory documentation especially, we should be offering written work that is approachable even to beginners. -We'll discuss more what that looks like later, but just remember these two questions when considering your contribution's approachability. -Who is the document for? -What would I be looking for if I was coming to this document for the first time? +The tricky part for you is determining that baseline skill level. Solid caters to a more technically advanced audience, the members of which are more likely to know what you might consider to be basic knowledge. However, in the introductory documentation especially, we should be offering written work that is approachable even to beginners. We'll discuss more what that looks like later, but just remember these two questions when considering your contribution's approachability. Who is the document for? What would I be looking for if I was coming to this document for the first time? Please keep in mind, do not write like you are present with the user. @@ -230,68 +183,39 @@ When writing steps in a how-to section, please start sentences with a verb. ### Accessible -Accessibility has taken a front seat in most aspects of technology in recent years, including documentation. -Solid should be accessible to anyone who wishes to use it, meaning that your writing has to meet some basic standards. +Accessibility has taken a front seat in most aspects of technology in recent years, including documentation. Solid should be accessible to anyone who wishes to use it, meaning that your writing has to meet some basic standards. -Some accessibility comes down to visual style, as we discussed. -However, it goes hand-in-hand with inclusiveness (which we'll get to next), so there is some overlap between the two. -For now, we ask that you understand that Solid wants to ensure that everyone can read our documentation. -What does that look like? +Some accessibility comes down to visual style, as we discussed. However, it goes hand-in-hand with inclusiveness (which we'll get to next), so there is some overlap between the two. For now, we ask that you understand that Solid wants to ensure that everyone can read our documentation. What does that look like? -The first step towards accessibility is using proper English grammar. -This is especially helpful for those users who utilize screen readers. -Another way you can help the users of assistive technology is by keeping your paragraphs reasonably short. -A good rule of thumb is no more than four sentences, or four to five lines of text. +The first step towards accessibility is using proper English grammar. This is especially helpful for those users who utilize screen readers. Another way you can help the users of assistive technology is by keeping your paragraphs reasonably short. A good rule of thumb is no more than four sentences, or four to five lines of text. -Shorter paragraphs help readers of all abilities, since walls of text can discourage in-depth reading and understanding. -You can once again practice empathy here. -What would you like to read? +Shorter paragraphs help readers of all abilities, since walls of text can discourage in-depth reading and understanding. You can once again practice empathy here. What would you like to read? -As discussed in the Organization section, ensuring a strong layout is key to accessible documentation. -We encourage you to remember that your contributions should be organized logically. -Headings that give a strong indicator of the section's topic, as well as descriptive hyperlinks, go a very long way in helping our readers navigate our docs. +As discussed in the Organization section, ensuring a strong layout is key to accessible documentation. We encourage you to remember that your contributions should be organized logically. Headings that give a strong indicator of the section's topic, as well as descriptive hyperlinks, go a very long way in helping our readers navigate our docs. ### Inclusive -Great documentation strives to be as inclusive for as many people as possible. -That includes those from different backgrounds, such as varying countries and languages. -As Solid grows, so will its audience, and therefore we should work hard to ensure that everyone feels included while reading our docs. +Great documentation strives to be as inclusive for as many people as possible. That includes those from different backgrounds, such as varying countries and languages. As Solid grows, so will its audience, and therefore we should work hard to ensure that everyone feels included while reading our docs. What does inclusive language look like? -First, we want to focus on using plain, simple English. -That means avoiding the use of jargon wherever possible. -(We know that in more advanced documents, this becomes nearly impossible.) +First, we want to focus on using plain, simple English. That means avoiding the use of jargon wherever possible. (We know that in more advanced documents, this becomes nearly impossible.) -In cases where jargon is necessary, be sure the document contains at least one brief description upon the first mention. -For example, if you want to use an acronym, spell it out first with the acronym in parentheses after. -From then on, you can use the acronym in that document. +In cases where jargon is necessary, be sure the document contains at least one brief description upon the first mention. For example, if you want to use an acronym, spell it out first with the acronym in parentheses after. From then on, you can use the acronym in that document. -Plain and simple English also means avoiding contractions, as these are not always easily understood by those for whom English is not the first language. -We should also avoid using expressions or figures of speech wherever possible; remember, not everyone will understand what they mean. +Plain and simple English also means avoiding contractions, as these are not always easily understood by those for whom English is not the first language. We should also avoid using expressions or figures of speech wherever possible; remember, not everyone will understand what they mean. -Secondly, inclusive language means remaining as gender-neutral as possible. -Instead of defaulting to one gender, use a gender-neutral word instead. -As mentioned previously, we want to use friendly, second-person language to help connect our readers with our documentation. -Doing so makes it fairly simple to avoid gendered words. -Use your own common sense to determine which word to use, but if you slip up, an editor should catch it. +Secondly, inclusive language means remaining as gender-neutral as possible. Instead of defaulting to one gender, use a gender-neutral word instead. As mentioned previously, we want to use friendly, second-person language to help connect our readers with our documentation. Doing so makes it fairly simple to avoid gendered words. Use your own common sense to determine which word to use, but if you slip up, an editor should catch it. -Writing inclusively also entails avoiding ableist language. -That usually comes about in certain turns of phrase. -Alternatives to ableist words will go a long way to ensuring our documentation meets the needs of more people. +Writing inclusively also entails avoiding ableist language. That usually comes about in certain turns of phrase. Alternatives to ableist words will go a long way to ensuring our documentation meets the needs of more people. -Similarly, we should not use divisive terms to get our point across. -That means steering clear of socially- and racially-charged language for concepts, such as "blacklist" or "first-class." +Similarly, we should not use divisive terms to get our point across. That means steering clear of socially- and racially-charged language for concepts, such as "blacklist" or "first-class." We have chosen to use American English in our documentation, so please remember that especially with spelling. -Despite us aiming for an informal tone, that does not mean that we want to get too lax in our language. -We should try to avoid too many references to a specific culture (e.g. American). -Solid has a large North American audience, but our readers are not exclusive to that region. -Please keep this in mind before you use a certain term or phrase. +Despite us aiming for an informal tone, that does not mean that we want to get too lax in our language. We should try to avoid too many references to a specific culture (e.g. American). Solid has a large North American audience, but our readers are not exclusive to that region. Please keep this in mind before you use a certain term or phrase. -When it comes to the topic of inclusion and inclusive language, empathy is critical. -Once again, ask yourself throughout your writing process: Who is this document for? +When it comes to the topic of inclusion and inclusive language, empathy is critical. Once again, ask yourself throughout your writing process: Who is this document for? For more on what inclusive language looks like, [Google once again has a great breakdown](https://developers.google.com/style/inclusive-documentation). diff --git a/app.config.ts b/app.config.ts index 677f830441..e3ac7aad11 100644 --- a/app.config.ts +++ b/app.config.ts @@ -1,4 +1,5 @@ import { defineConfig } from "@solidjs/start/config"; +import eslint from "vite-plugin-eslint"; import { createWithSolidBase, defineTheme } from "@kobalte/solidbase/config"; @@ -58,7 +59,7 @@ export default defineConfig( }, }, vite: { - plugins: [docsData(), heroCodeSnippet()], + plugins: [docsData(), heroCodeSnippet(), eslint()], }, }, { @@ -68,7 +69,7 @@ export default defineConfig( editPath: "https://github.com/solidjs/solid-docs/edit/main/:path", markdown: { expressiveCode: { - themes: ["min-light", "material-theme-ocean"], + themes: ["github-light-default", "material-theme-ocean"], themeCssSelector: (theme) => `[data-theme="${theme.type}"]`, frames: false, styleOverrides: { diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000000..43e76e0381 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,85 @@ +import typescriptEslint from "@typescript-eslint/eslint-plugin"; +import globals from "globals"; +import tsParser from "@typescript-eslint/parser"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import js from "@eslint/js"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}); + +export default [ + { + ignores: ["**/node_modules/", "**/dist/"], + }, + ...compat.extends( + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:solid/typescript", + "plugin:mdx/recommended", + ), + { + plugins: { + "@typescript-eslint": typescriptEslint, + }, + + languageOptions: { + globals: { + ...globals.browser, + }, + + parser: tsParser, + ecmaVersion: "latest", + sourceType: "script", + }, + rules: { + "@typescript-eslint/no-unused-vars": [ + "error", + { + args: "all", + argsIgnorePattern: "^_", + caughtErrors: "all", + caughtErrorsIgnorePattern: "^_", + destructuredArrayIgnorePattern: "^_", + varsIgnorePattern: "^_", + ignoreRestSiblings: true, + }, + ], + }, + }, + { + files: ["**/*.mdx"], + extends: ["plugin:mdx/recommended"], + settings: { + "mdx/code-blocks": true, + }, + extensions: ["mdx"], + overrides: [ + { + files: ["*.mdx"], + extends: ["plugin:mdx/overrides"], + }, + { + files: "**/*.mdx", + extends: "plugin:mdx/code-blocks", + }, + ], + }, + { + files: ["**/.eslintrc.{js,cjs}"], + languageOptions: { + globals: { + ...globals.node, + }, + + ecmaVersion: 5, + sourceType: "commonjs", + }, + }, +]; diff --git a/lunaria.config.json b/lunaria.config.json deleted file mode 100644 index 63fd45cd1f..0000000000 --- a/lunaria.config.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "$schema": "./node_modules/@lunariajs/core/config.schema.json", - "repository": { - "name": "solidjs/solid-docs-next", - "branch": "main", - "hosting": "github" - }, - "defaultLocale": { - "label": "English", - "lang": "en" - }, - "files": [ - { - "type": "universal", - "location": "src/routes/**/*.{mdx,md}", - "pattern": "src/routes/@lang/@path" - }, - { - "location": "src/i18n/dictionaries/**/ui.ts", - "pattern": "src/i18n/dictionaries/@lang/@path", - "type": "dictionary" - } - ], - "locales": [ - { - "label": "Português do Brasil", - "lang": "pt-br" - } - ], - "outDir": "./public/i18n-status", - "dashboard": { - "site": "https://docs.solidjs.com/i18n-status", - "title": "Solid Docs Translation Status", - "description": "Translation progress tracker for the Solid Docs site", - "basesToHide": ["src/routes/", "src/i18n/dictionaries/"], - "favicon": { - "external": [ - { - "link": "https://docs.solidjs.com/favicon.ico", - "type": "image/x-icon" - }, - { - "link": "https://docs.solidjs.com/favicon.svg", - "type": "image/svg+xml" - } - ] - }, - "customCss": ["./lunaria/styles.css"], - "ui": { - "statusByLocale.heading": "Translation progress by locale", - "statusByLocale.incompleteLocalizationLink": "incomplete translation", - "statusByLocale.outdatedLocalizationLink": "outdated translation", - "statusByLocale.completeLocalization": "This translation is complete, amazing job! 🎉", - "statusByFile.heading": "Translation status by file" - } - } -} diff --git a/lunaria/styles.css b/lunaria/styles.css deleted file mode 100644 index cd92464a82..0000000000 --- a/lunaria/styles.css +++ /dev/null @@ -1,4 +0,0 @@ -:root { - --tw-bg-opacity: 1; - background-color: rgb(15 23 42 / var(--tw-bg-opacity)); -} diff --git a/package.json b/package.json index 1750c792b5..1563895ab4 100644 --- a/package.json +++ b/package.json @@ -8,20 +8,20 @@ "sync": "node scripts/collections/index.mjs", "sync:orama": "pnpm build && node scripts/sync-orama.mjs", "dev": "pnpm sync && vinxi dev", - "build": "pnpm sync && pnpm build:sitemap && pnpm build:lunaria && NODE_OPTIONS=\"--max-old-space-size=8192\" vinxi build", + "build": "pnpm sync && pnpm build:sitemap && vinxi build", "build:sitemap": "node scripts/generateSitemap.js", "start": "vinxi start", "e2e": "npx playwright test", - "build:lunaria": "lunaria build", - "preview:lunaria": "lunaria preview", - "check:lint": "eslint .", - "check:types": "tsc --noEmit" + "check:lint": "pnpm dlx eslint", + "check:types": "tsc --noEmit", + "check:format": "prettier . --check", + "format": "prettier . --write" }, "dependencies": { "@kobalte/core": "^0.13.9", - "@kobalte/solidbase": "^0.0.16", + "@kobalte/solidbase": "^0.0.23", "@lunariajs/core": "^0.0.31", - "@oramacloud/client": "^1.3.15", + "@oramacloud/client": "^1.3.16", "@solid-primitives/event-listener": "^2.3.3", "@solid-primitives/marker": "^0.1.0", "@solid-primitives/media": "^2.2.9", @@ -30,10 +30,12 @@ "@solidjs/start": "^1.1.1", "@vinxi/plugin-mdx": "^3.7.2", "dotenv": "^16.4.5", + "eslint-mdx": "^3.2.0", + "eslint-plugin-mdx": "^3.2.0", "glob": "^10.4.5", "gray-matter": "^4.0.3", - "postcss": "^8.4.47", - "shiki": "^1.17.6", + "postcss": "^8.5.3", + "shiki": "^1.22.0", "sitemap": "^7.1.2", "solid-heroicons": "^3.2.4", "solid-js": "^1.9.5", @@ -43,22 +45,26 @@ "zod": "^3.23.8" }, "devDependencies": { + "@eslint/eslintrc": "^3.3.0", + "@eslint/js": "^9.22.0", "@kobalte/tailwindcss": "^0.9.0", "@orama/crawly": "^0.0.4", "@tailwindcss/typography": "^0.5.15", "@types/node": "^22.9.0", - "@typescript-eslint/eslint-plugin": "^8.7.0", - "@typescript-eslint/parser": "^8.7.0", + "@typescript-eslint/eslint-plugin": "^8.26.0", + "@typescript-eslint/parser": "^8.26.0", "autoprefixer": "^10.4.20", - "eslint": "^8.57.1", - "eslint-plugin-solid": "^0.13.2", + "eslint": "^9.22.0", + "eslint-plugin-solid": "^0.14.5", + "globals": "^16.0.0", "prettier": "3.2.5", - "tailwindcss": "^3.4.11", - "typescript": "^5.6.2", - "vite": "^6.1.1" + "tailwindcss": "^3.4.14", + "typescript": "^5.8.2", + "vite": "^6.2.1", + "vite-plugin-eslint": "^1.8.1" }, "engines": { "node": ">=18", - "packageManager": "pnpm@8" + "pnpm": ">=9" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7b344734b..dc54f086c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,14 +12,14 @@ importers: specifier: ^0.13.9 version: 0.13.9(solid-js@1.9.5) '@kobalte/solidbase': - specifier: ^0.0.16 - version: 0.0.16(@algolia/client-search@5.14.2)(@solidjs/start@1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)))(@vue/compiler-sfc@3.5.12)(acorn@8.14.0)(react@18.3.1)(search-insights@2.17.3)(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + specifier: ^0.0.23 + version: 0.0.23(@algolia/client-search@5.14.2)(@expressive-code/core@0.40.2)(@solidjs/start@1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)))(@vue/compiler-sfc@3.5.12)(acorn@8.14.1)(expressive-code@0.40.2)(react@18.3.1)(search-insights@2.17.3)(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) '@lunariajs/core': specifier: ^0.0.31 version: 0.0.31 '@oramacloud/client': - specifier: ^1.3.15 - version: 1.3.16(typescript@5.6.3)(zod@3.23.8) + specifier: ^1.3.16 + version: 1.3.16(typescript@5.8.2)(zod@3.23.8) '@solid-primitives/event-listener': specifier: ^2.3.3 version: 2.3.3(solid-js@1.9.5) @@ -37,13 +37,19 @@ importers: version: 0.15.3(solid-js@1.9.5) '@solidjs/start': specifier: ^1.1.1 - version: 1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + version: 1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) '@vinxi/plugin-mdx': specifier: ^3.7.2 - version: 3.7.2(@mdx-js/mdx@3.1.0(acorn@8.14.0)) + version: 3.7.2(@mdx-js/mdx@3.1.0(acorn@8.14.1)) dotenv: specifier: ^16.4.5 version: 16.4.5 + eslint-mdx: + specifier: ^3.2.0 + version: 3.2.0(eslint@9.22.0(jiti@2.4.2)) + eslint-plugin-mdx: + specifier: ^3.2.0 + version: 3.2.0(eslint@9.22.0(jiti@2.4.2)) glob: specifier: ^10.4.5 version: 10.4.5 @@ -51,10 +57,10 @@ importers: specifier: ^4.0.3 version: 4.0.3 postcss: - specifier: ^8.4.47 + specifier: ^8.5.3 version: 8.5.3 shiki: - specifier: ^1.17.6 + specifier: ^1.22.0 version: 1.22.0 sitemap: specifier: ^7.1.2 @@ -70,14 +76,20 @@ importers: version: 0.3.0(solid-js@1.9.5) solid-mdx: specifier: ^0.0.7 - version: 0.0.7(solid-js@1.9.5)(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + version: 0.0.7(solid-js@1.9.5)(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) vinxi: specifier: ^0.5.3 - version: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0) + version: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0) zod: specifier: ^3.23.8 version: 3.23.8 devDependencies: + '@eslint/eslintrc': + specifier: ^3.3.0 + version: 3.3.0 + '@eslint/js': + specifier: ^9.22.0 + version: 9.22.0 '@kobalte/tailwindcss': specifier: ^0.9.0 version: 0.9.0(tailwindcss@3.4.14) @@ -91,32 +103,38 @@ importers: specifier: ^22.9.0 version: 22.9.0 '@typescript-eslint/eslint-plugin': - specifier: ^8.7.0 - version: 8.9.0(@typescript-eslint/parser@8.9.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + specifier: ^8.26.0 + version: 8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) '@typescript-eslint/parser': - specifier: ^8.7.0 - version: 8.9.0(eslint@8.57.1)(typescript@5.6.3) + specifier: ^8.26.0 + version: 8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.5.3) eslint: - specifier: ^8.57.1 - version: 8.57.1 + specifier: ^9.22.0 + version: 9.22.0(jiti@2.4.2) eslint-plugin-solid: - specifier: ^0.13.2 - version: 0.13.2(eslint@8.57.1)(typescript@5.6.3) + specifier: ^0.14.5 + version: 0.14.5(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + globals: + specifier: ^16.0.0 + version: 16.0.0 prettier: specifier: 3.2.5 version: 3.2.5 tailwindcss: - specifier: ^3.4.11 + specifier: ^3.4.14 version: 3.4.14 typescript: - specifier: ^5.6.2 - version: 5.6.3 + specifier: ^5.8.2 + version: 5.8.2 vite: - specifier: ^6.1.1 - version: 6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + specifier: ^6.2.1 + version: 6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + vite-plugin-eslint: + specifier: ^1.8.1 + version: 1.8.1(eslint@9.22.0(jiti@2.4.2))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) packages: @@ -290,10 +308,6 @@ packages: resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.7': - resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.9': resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} @@ -440,6 +454,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.0': + resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.18.7': resolution: {integrity: sha512-o0VVztxJPkfDYbaU1tA1G1iwKiBh6Zt3bX5OdHDoITMFdRg+Mgdt3nHXMEtNlIjYA/Xn6hmlOYDHjJfQUduPuw==} engines: {node: '>=12'} @@ -458,6 +478,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.0': + resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.18.7': resolution: {integrity: sha512-nDQ7AC5WVKOqxaip/E5YbaRgnilBMsoGKjoGLCeCOYNePaBCBDwJsLfa2fn3FEtktiLaAF990W592avsHjJ/Vg==} engines: {node: '>=12'} @@ -476,6 +502,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.0': + resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.18.7': resolution: {integrity: sha512-ga8Dtpb01GorCi1dk3jEwDk3AK/3F+cR5P+//Tl0ERL2K2pK/J1f3t8hcJ+RRt3UYBV/uTL9GEnx7touX0KRPQ==} engines: {node: '>=12'} @@ -494,6 +526,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.0': + resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.18.7': resolution: {integrity: sha512-FVDOdfgyGOOISpd0b+UtA6YNbu5+RzZu7kDztjVsA/iZhGnyxbCR/vZ+B2j5yxbMZ9j3iz5uFiHIq1sl6nrZ0Q==} engines: {node: '>=12'} @@ -512,6 +550,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.0': + resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.18.7': resolution: {integrity: sha512-w7aeD1UjDFXqyrZQLBIPYGmLR+gJsl+7QSwmSz+nVrCZOB7cyWEkIjCF8s4inUD3ja3WtKUIqzX5S4qDnU5q7Q==} engines: {node: '>=12'} @@ -530,6 +574,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.0': + resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.18.7': resolution: {integrity: sha512-wKyySDdoKVOPn9eDci/b3eP3EJVAVXC3b2CiaHphhCKfh4n5pWLwj7Ue96anK1HnpcZ0Uti8Sw9xq3Im0earHA==} engines: {node: '>=12'} @@ -548,6 +598,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.0': + resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.18.7': resolution: {integrity: sha512-rbfjbgSvzWRjQMKIntogK1d2oIAiA/ZVayXfK1WjcIIMQYLg74sAoT8CZBj30+bwn13YR0t6lgIxA1mJaS2Lhw==} engines: {node: '>=12'} @@ -566,6 +622,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.0': + resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.18.7': resolution: {integrity: sha512-cwfxKYroaD5BZ42NsfxdVU1issD2NxcuJHlCNsN5LtWq+kZMpwmIVDCJxKlgLIG7zH/4yq8lTuZJurxq058GsA==} engines: {node: '>=12'} @@ -584,6 +646,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.0': + resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.18.7': resolution: {integrity: sha512-GpUBqqJnQ+7qdb7NqKNVj7TgD2JnLrEdzPtatPow77Me/EQ01GE1tHKZLePqhf5thdLDb5Se2Kcf4D9WTbSjmw==} engines: {node: '>=12'} @@ -602,6 +670,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.0': + resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.18.7': resolution: {integrity: sha512-SsvsGStwbArBcB/XNh+2MvUtgOLp0CR6Hn1PBWcdApCuAaMibHCDyzHS06+u/YOD1UpeXFHJZphix61HeVMH/w==} engines: {node: '>=12'} @@ -620,6 +694,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.0': + resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.18.7': resolution: {integrity: sha512-WOqQ0eaWGE/e9vmbxFT2exbWuXxHuG8ld0fN7oX5f0v7W6oveUIF4DLJYVae93t1+Icv5R0NBo8wv/o4hEvxBQ==} engines: {node: '>=12'} @@ -638,6 +718,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.0': + resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.18.7': resolution: {integrity: sha512-/dKQ3OLr2Tmj0kuf4ZJioD+qnADUEJSBaiuDbk8v5602HnNNBSGHPrEB6S8PSb8y8jWsX9MMnxqk5KpLTf86OQ==} engines: {node: '>=12'} @@ -656,6 +742,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.0': + resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.18.7': resolution: {integrity: sha512-x/k1+daIqiGJt0Yhr5llFJ/zkRg1XAqcS2ntAYzS3pHogO8oIyc+LjsINgVyFCeFMFUZ9Ae9W5z2Ib05bMum3g==} engines: {node: '>=12'} @@ -674,6 +766,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.0': + resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.18.7': resolution: {integrity: sha512-LegTDzK9gL/sTkiZUGYLigTISwppZJvQL3MRmFgXgHrj3IzdWkPgMwEtOItK3YiFzhBSSNyKA0mSKEg4UuK8JQ==} engines: {node: '>=12'} @@ -692,6 +790,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.0': + resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.18.7': resolution: {integrity: sha512-fjBl45O8ivc3Nl14hdGpbHoVtdHnYGsLpwnlv2rNyb5NOsgY3Y8EhVe/fqR9ndHgO4eL68knKxkrRveEJq+v1g==} engines: {node: '>=12'} @@ -710,6 +814,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.0': + resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.18.7': resolution: {integrity: sha512-apYLJsg3wd3hW8nEt7H++8c8rTDvwXxX7h7YeI89g1RDPCT2QSXTO/xT1BCvFa/BFFoau+yvepQg2o5556FIWQ==} engines: {node: '>=12'} @@ -728,12 +838,24 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.0': + resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.24.2': resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.0': + resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.18.7': resolution: {integrity: sha512-f82sUnrzdoW4MiiCDn1G3RSsPH8+no+okDhkHgGTGa+5F5wZCyxdXxzR6ctsiimvyPn9FIu9Zs+MesVsBRwyTw==} engines: {node: '>=12'} @@ -752,12 +874,24 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.0': + resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.24.2': resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.0': + resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.18.7': resolution: {integrity: sha512-1TNDfpFYhIloHeqSRbJFjHFMYtTJWgqI2+S9uCLVCWrADLl5tCe8vQKDfkM7Afz/lZyqi6qEX/Eg2KA5S7FcNQ==} engines: {node: '>=12'} @@ -776,6 +910,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.0': + resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.18.7': resolution: {integrity: sha512-lBhsHaM6EYCmzQCj+xeFev+dgqTgpSRqF7qXrxp5V4waFuidTBbWgqSXY5rsLRNLOyMMCh1cA+RqF8UL30oOJQ==} engines: {node: '>=12'} @@ -794,6 +934,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.0': + resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.18.7': resolution: {integrity: sha512-p9ipv7rPKitXAAeufg5BzmyYZHZtFfrLGUX15+AxpTQqSZDAZd2wIusaOW5oONTf8RB53ujIqQw7W0QnZMuiUw==} engines: {node: '>=12'} @@ -812,6 +958,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.0': + resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.18.7': resolution: {integrity: sha512-WmNxuE+j1wUT2rK+e1Oakx3zobS1rPpQudPytGM4nxXEGv0gpXEvnZnrykRwriNFbGVCwFJoE4txayjW76LsCw==} engines: {node: '>=12'} @@ -830,6 +982,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.0': + resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.18.7': resolution: {integrity: sha512-6RENfAwwL6dxQk/V1PxO/ejYRiOUVUaHi99hP3Dso/38jfNKFzU6YSSR/haJGNV/2wAHIgBMROQodna0IejAuA==} engines: {node: '>=12'} @@ -848,47 +1006,67 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + '@esbuild/win32-x64@0.25.0': + resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.19.2': + resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-helpers@0.1.0': + resolution: {integrity: sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@expressive-code/core@0.37.1': - resolution: {integrity: sha512-nYgsK3uxK4W46v0IolHdB5+T6MQfy5weTpyB3kbzr11ur2UKUy2oHGhbWa+hRThfYEF1PM+TFxMtWU7amcjF8A==} + '@eslint/core@0.12.0': + resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@expressive-code/core@0.38.3': - resolution: {integrity: sha512-s0/OtdRpBONwcn23O8nVwDNQqpBGKscysejkeBkwlIeHRLZWgiTVrusT5Idrdz1d8cW5wRk9iGsAIQmwDPXgJg==} + '@eslint/eslintrc@3.3.0': + resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@expressive-code/plugin-collapsible-sections@0.37.1': - resolution: {integrity: sha512-9YGGQRzQ35iRszs0YCyaJ9kLL78NrZAvLRB6BOb/IUJT221IF/Esy9hAWORuMVysSOsr4BnZ9+FsPmqvvm7V3w==} + '@eslint/js@9.22.0': + resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.7': + resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@expressive-code/plugin-frames@0.37.1': - resolution: {integrity: sha512-U1Pk8qmSlGaIvNpmo42pxVS+ROVkPUPtAgVR5OU9261zKw6r/MN7b5dCDE5B6QBqRi7iOS7/DQ/zYTzHcIQJQw==} + '@expressive-code/core@0.40.2': + resolution: {integrity: sha512-gXY3v7jbgz6nWKvRpoDxK4AHUPkZRuJsM79vHX/5uhV9/qX6Qnctp/U/dMHog/LCVXcuOps+5nRmf1uxQVPb3w==} - '@expressive-code/plugin-frames@0.38.3': - resolution: {integrity: sha512-qL2oC6FplmHNQfZ8ZkTR64/wKo9x0c8uP2WDftR/ydwN/yhe1ed7ZWYb8r3dezxsls+tDokCnN4zYR594jbpvg==} + '@expressive-code/plugin-collapsible-sections@0.40.2': + resolution: {integrity: sha512-EtfuluXKk3CdFMAeCJoDsUJo/s+Yh9b+kX0hNHeFlZ/W2/H8FmdZ9Pu+Qel41vw4yP6AyiQpsamquO7bzlakug==} - '@expressive-code/plugin-line-numbers@0.37.1': - resolution: {integrity: sha512-Tg8ZpJUwB1T4v3BKRjo5iqDslbOtXy7vI59NNq5K5JvvFs7j3FLHtxNQjDwown3sEDRTOFc1Yw6VulZ9afJ+yA==} + '@expressive-code/plugin-frames@0.40.2': + resolution: {integrity: sha512-aLw5IlDlZWb10Jo/TTDCVsmJhKfZ7FJI83Zo9VDrV0OBlmHAg7klZqw68VDz7FlftIBVAmMby53/MNXPnMjTSQ==} - '@expressive-code/plugin-shiki@0.37.1': - resolution: {integrity: sha512-zzrX0kn6JMxm+0fKWpP1W8F3bLK8PYIUDvM5UUEplGjL5Z0otBqycHWalucl0Mk9aKX1UThXaUTuCQEVOkNSxg==} + '@expressive-code/plugin-line-numbers@0.40.2': + resolution: {integrity: sha512-YMLkn68n9a9DI/4fQW/f6QJ33uQUzHmGdV3pDl+f6fVTxv7rvhRja+UtPksm0ZJpft6vrrACV8wS2TaH77SBzw==} - '@expressive-code/plugin-text-markers@0.37.1': - resolution: {integrity: sha512-AjZG/SyE41uWcpAae0w9DVtSii/YkdhOsjl6godLsI8vRGBdUdYvgoCebjb33gySa7g+9NcWxGp3oEKCBut1wA==} + '@expressive-code/plugin-shiki@0.40.2': + resolution: {integrity: sha512-t2HMR5BO6GdDW1c1ISBTk66xO503e/Z8ecZdNcr6E4NpUfvY+MRje+LtrcvbBqMwWBBO8RpVKcam/Uy+1GxwKQ==} + + '@expressive-code/plugin-text-markers@0.40.2': + resolution: {integrity: sha512-/XoLjD67K9nfM4TgDlXAExzMJp6ewFKxNpfUw4F7q5Ecy+IU3/9zQQG/O70Zy+RxYTwKGw2MA9kd7yelsxnSmw==} '@floating-ui/core@1.6.8': resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} @@ -908,18 +1086,25 @@ packages: '@fontsource-variable/lexend@5.1.2': resolution: {integrity: sha512-5gY4aYZXvhCNrpqa7f/JmRnUyRMAPqGdE0IXicbqvusj+jEwuj1JuiLPl61hTbGntQP+sMZsDHECBhlrEY/8iQ==} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.2': + resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} + engines: {node: '>=18.18'} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -974,8 +1159,8 @@ packages: peerDependencies: solid-js: ^1.8.15 - '@kobalte/solidbase@0.0.16': - resolution: {integrity: sha512-wHssmYhlmWxc4OrPpQ/b5OQUIJwSVlMHvb48kfMWr48AaAYAwjcTLg6WSFbB44UV5UEuTD2Ye/Xc1qchzXZRxw==} + '@kobalte/solidbase@0.0.23': + resolution: {integrity: sha512-2mujpnmLxR40veEwJnY3dh1+xLGhZ30qJe2MLnp3oyczp4nF8tVlCTAiMGCx69YcFa0jcTm9ajl0kR6Awo7fjQ==} peerDependencies: '@solidjs/start': ^1.0.8 solid-js: ^1.9.1 @@ -1039,6 +1224,30 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@npmcli/config@8.3.4': + resolution: {integrity: sha512-01rtHedemDNhUXdicU7s+QYz/3JyV5Naj84cvdXGH4mgCdL+agmSYaLF4LUG4vMCLzhBO8YtS0gPpH1FGvbgAw==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/git@5.0.8': + resolution: {integrity: sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/map-workspaces@3.0.6': + resolution: {integrity: sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/name-from-folder@2.0.0': + resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/package-json@5.2.1': + resolution: {integrity: sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/promise-spawn@7.0.2': + resolution: {integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==} + engines: {node: ^16.14.0 || >=18.0.0} + '@orama/crawly@0.0.4': resolution: {integrity: sha512-MN+naIueJ/Q6W8ldgpgbeJmoC0H9ZOBkASeVa5b3ncpe9ZvrcByP7rs+A5+UcMwMUW2W1V2/kfl8eCVmpT6h5A==} @@ -1144,6 +1353,10 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@redocly/ajv@8.11.2': resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} @@ -1217,6 +1430,10 @@ packages: rollup: optional: true + '@rollup/pluginutils@4.2.1': + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -1231,96 +1448,191 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.35.0': + resolution: {integrity: sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.34.8': resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==} cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.35.0': + resolution: {integrity: sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.34.8': resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==} cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.35.0': + resolution: {integrity: sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.34.8': resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==} cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.35.0': + resolution: {integrity: sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==} + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.34.8': resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==} cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.35.0': + resolution: {integrity: sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==} + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.34.8': resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==} cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.35.0': + resolution: {integrity: sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.34.8': resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + resolution: {integrity: sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.34.8': resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==} cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + resolution: {integrity: sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.34.8': resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.35.0': + resolution: {integrity: sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.34.8': resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==} cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.35.0': + resolution: {integrity: sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.34.8': resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==} cpu: [loong64] os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + resolution: {integrity: sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==} cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + resolution: {integrity: sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.34.8': resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==} cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + resolution: {integrity: sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.34.8': resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==} cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.35.0': + resolution: {integrity: sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.34.8': resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.35.0': + resolution: {integrity: sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.34.8': resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==} cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.35.0': + resolution: {integrity: sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==} + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.34.8': resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==} cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.35.0': + resolution: {integrity: sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.34.8': resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==} cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.35.0': + resolution: {integrity: sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.34.8': resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==} cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.35.0': + resolution: {integrity: sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==} + cpu: [x64] + os: [win32] + '@shikijs/core@1.22.0': resolution: {integrity: sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q==} @@ -1505,9 +1817,15 @@ packages: '@types/braces@3.0.4': resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} + '@types/concat-stream@2.0.3': + resolution: {integrity: sha512-3qe4oQAPNwVNwK4C9c8u+VJqv9kez+2MR4qJpoPFfXtgxxif1QbFusvXzK0/Wra2VX07smostI2VMmJNSpZjuQ==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/eslint@8.56.12': + resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==} + '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -1520,6 +1838,9 @@ packages: '@types/http-proxy@1.17.15': resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} + '@types/is-empty@1.2.3': + resolution: {integrity: sha512-4J1l5d79hoIvsrKh5VUKVRA1aIdsOb10Hu5j3J2VfP/msDnfTdGPmNp2E1Wg+vs97Bktzo+MZePFFXSGoykYJw==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1553,8 +1874,8 @@ packages: '@types/sax@1.2.7': resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@types/supports-color@8.1.3': + resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==} '@types/ungap__structured-clone@1.2.0': resolution: {integrity: sha512-ZoaihZNLeZSxESbk9PUAPZOlSpcKx81I1+4emtULDVmBLkYutTcMlCj2K9VNlf9EWODxdO6gkAqEaLorXwZQVA==} @@ -1565,90 +1886,58 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.9.0': - resolution: {integrity: sha512-Y1n621OCy4m7/vTXNlCbMVp87zSd7NH0L9cXD8aIpOaNlzeWxIK4+Q19A68gSmTNRZn92UjocVUWDthGxtqHFg==} + '@typescript-eslint/eslint-plugin@8.26.0': + resolution: {integrity: sha512-cLr1J6pe56zjKYajK6SSSre6nl1Gj6xDp1TY0trpgPzjVbgDwd09v2Ws37LABxzkicmUjhEeg/fAUjPJJB1v5Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.9.0': - resolution: {integrity: sha512-U+BLn2rqTTHnc4FL3FJjxaXptTxmf9sNftJK62XLz4+GxG3hLHm/SUNaaXP5Y4uTiuYoL5YLy4JBCJe3+t8awQ==} + '@typescript-eslint/parser@8.26.0': + resolution: {integrity: sha512-mNtXP9LTVBy14ZF3o7JG69gRPBK/2QWtQd0j0oH26HcY/foyJJau6pNUez7QrM5UHnSvwlQcJXKsk0I99B9pOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/scope-manager@8.9.0': - resolution: {integrity: sha512-bZu9bUud9ym1cabmOYH9S6TnbWRzpklVmwqICeOulTCZ9ue2/pczWzQvt/cGj2r2o1RdKoZbuEMalJJSYw3pHQ==} + '@typescript-eslint/scope-manager@8.26.0': + resolution: {integrity: sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.9.0': - resolution: {integrity: sha512-JD+/pCqlKqAk5961vxCluK+clkppHY07IbV3vett97KOV+8C6l+CPEPwpUuiMwgbOz/qrN3Ke4zzjqbT+ls+1Q==} + '@typescript-eslint/type-utils@8.26.0': + resolution: {integrity: sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.9.0': - resolution: {integrity: sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ==} + '@typescript-eslint/types@8.26.0': + resolution: {integrity: sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@8.9.0': - resolution: {integrity: sha512-9iJYTgKLDG6+iqegehc5+EqE6sqaee7kb8vWpmHZ86EqwDjmlqNNHeqDVqb9duh+BY6WCNHfIGvuVU3Tf9Db0g==} + '@typescript-eslint/typescript-estree@8.26.0': + resolution: {integrity: sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - - '@typescript-eslint/utils@8.9.0': - resolution: {integrity: sha512-PKgMmaSo/Yg/F7kIZvrgrWa1+Vwn036CdNUvYFEkYbPwOH4i8xvkaRlu148W3vtheWK9ckKRIz7PBP5oUlkrvQ==} + '@typescript-eslint/utils@8.26.0': + resolution: {integrity: sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/visitor-keys@8.9.0': - resolution: {integrity: sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA==} + '@typescript-eslint/visitor-keys@8.26.0': + resolution: {integrity: sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/vfs@1.6.1': + resolution: {integrity: sha512-JwoxboBh7Oz1v38tPbkrZ62ZXNHAk9bJ7c9x0eI5zBfBnBYGhURdbnh7Z4smN/MV48Y5OCcZb58n972UtbazsA==} + peerDependencies: + typescript: '*' + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1705,6 +1994,10 @@ packages: '@vue/shared@3.5.12': resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + abbrev@3.0.0: resolution: {integrity: sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -1732,13 +2025,8 @@ packages: peerDependencies: acorn: '>=8.9.0' - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} engines: {node: '>=0.4.0'} hasBin: true @@ -1816,10 +2104,6 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} @@ -1993,6 +2277,10 @@ packages: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} + ci-info@4.2.0: + resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==} + engines: {node: '>=8'} + citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} @@ -2058,6 +2346,10 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -2091,6 +2383,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + crossws@0.3.4: resolution: {integrity: sha512-uj0O1ETYX1Bh6uSgktfPvwDiPYGQ3aI4qVsaC/LWpkIzGj1nUYm5FK3K+t11oOlpN01lGbprFCH4wBlKdJjVgw==} @@ -2231,14 +2527,14 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + diff@7.0.0: resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - direction@2.0.1: resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} hasBin: true @@ -2246,10 +2542,6 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -2286,6 +2578,9 @@ packages: emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + emoji-regex@10.4.0: + resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2304,6 +2599,12 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -2331,6 +2632,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.25.0: + resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -2350,25 +2656,50 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-plugin-solid@0.13.2: - resolution: {integrity: sha512-Ndeuc6MEO11YVqzIzxtKKEG0t4HPJ4ob/WQyduwpTW//NtyZqWx/gPii5GF656DLqBbsfsmMaX0zkFQ8ElyOdQ==} - engines: {node: '>=12.0.0'} + eslint-mdx@3.2.0: + resolution: {integrity: sha512-7A6/TDZeUh8ORwM2pe+n1FyUjwEYfGF1OZI+sn45L11NMHSzj/RTK+VqAGjIi+kvDrGc3yScUa20L3DKW0IRjg==} + engines: {node: '>=18.0.0'} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: '>=8.0.0' - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-mdx@3.2.0: + resolution: {integrity: sha512-zMD6DoFf5tj86dF1M0g90IxeBzrckyhYwksvalO1vfOBPPzhpR2wAbILBHZnubNuQALVgiqYQbPQ922GpviuGA==} + engines: {node: '>=18.0.0'} + peerDependencies: + eslint: '>=8.0.0' + + eslint-plugin-solid@0.14.5: + resolution: {integrity: sha512-nfuYK09ah5aJG/oEN6P1qziy1zLgW4PDWe75VNPi4CEFYk1x2AEqwFeQfEPR7gNn0F2jOeqKhx2E+5oNCOBYWQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + typescript: '>=4.8.4' + + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.22.0: + resolution: {integrity: sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -2441,8 +2772,15 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - expressive-code@0.37.1: - resolution: {integrity: sha512-y7+5K2uJOt+Hy0KEPm83t974flu0O/DstvmezoiWXwV3Cwqf622CHMlWssaZ8uqFrJaJ1ES1cMcYXJtZSxe+9A==} + expressive-code-twoslash@0.4.0: + resolution: {integrity: sha512-7HffO04pYLNHX0P8/8xX+pdgWYpFWdP9/gYi7dAH1nSAxO1W7pQHW4Ly6OXD3fs4SChkGP/PWkE4oLo6CeXTfg==} + peerDependencies: + '@expressive-code/core': ^0.40.0 + expressive-code: ^0.40.0 + typescript: ^5.7 + + expressive-code@0.40.2: + resolution: {integrity: sha512-1zIda2rB0qiDZACawzw2rbdBQiWHBT56uBctS+ezFe5XMAaFaHLnnSYND/Kd+dVzO9HfCXRDpzH3d+3fvOWRcw==} extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -2461,6 +2799,10 @@ packages: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -2481,9 +2823,9 @@ packages: picomatch: optional: true - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -2496,12 +2838,12 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} @@ -2603,17 +2945,17 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globals@15.15.0: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globals@16.0.0: + resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} + engines: {node: '>=18'} globby@14.0.2: resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} @@ -2705,6 +3047,10 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + html-entities@2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} @@ -2754,10 +3100,17 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + ignore@6.0.2: + resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -2773,6 +3126,10 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@4.1.3: + resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} @@ -2792,6 +3149,9 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -2804,6 +3164,10 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -2817,6 +3181,9 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true + is-empty@1.2.0: + resolution: {integrity: sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w==} + is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -2852,10 +3219,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -2927,9 +3290,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} @@ -2949,6 +3309,10 @@ packages: json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-even-better-errors@3.0.2: + resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -2976,6 +3340,10 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -2986,8 +3354,8 @@ packages: knitwork@1.2.0: resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} - known-css-properties@0.24.0: - resolution: {integrity: sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==} + known-css-properties@0.30.0: + resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==} kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -3011,10 +3379,17 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + listhen@1.9.0: resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} hasBin: true + load-plugin@6.0.3: + resolution: {integrity: sha512-kc0X2FEUZr145odl68frm+lMJuQ23+rTXYmR6TImqPtbpmXC4vVXbWKDQ9IzndA0HfyQamWfKLhzsqGSTxE63w==} + local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -3083,8 +3458,8 @@ packages: mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} - mdast-util-from-markdown@2.0.1: - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} mdast-util-frontmatter@2.0.1: resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} @@ -3107,6 +3482,9 @@ packages: mdast-util-gfm@3.0.0: resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + mdast-util-mdx-expression@2.0.1: resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} @@ -3294,10 +3672,6 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -3338,6 +3712,10 @@ packages: mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -3406,11 +3784,20 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + nopt@7.2.1: + resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + nopt@8.1.0: resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true + normalize-package-data@6.0.2: + resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} + engines: {node: ^16.14.0 || >=18.0.0} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -3419,6 +3806,22 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-package-arg@11.0.3: + resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-pick-manifest@9.1.0: + resolution: {integrity: sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==} + engines: {node: ^16.14.0 || >=18.0.0} + npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3506,6 +3909,10 @@ packages: parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + parse-json@7.1.1: + resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} + engines: {node: '>=16'} + parse-json@8.1.0: resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} engines: {node: '>=18'} @@ -3546,10 +3953,6 @@ packages: path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - path-type@5.0.0: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} @@ -3664,6 +4067,10 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + proc-log@4.2.0: + resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -3671,6 +4078,18 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} @@ -3713,9 +4132,17 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + readable-stream@4.5.2: resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3770,8 +4197,8 @@ packages: rehype-autolink-headings@7.1.0: resolution: {integrity: sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==} - rehype-expressive-code@0.37.1: - resolution: {integrity: sha512-HK6RJubSfgC6jpfk7UpGQcEgpMP+dhKrUQ1MmnDFYT9mOHteoLJv09WMURpQrIvXDpKCiAsaWQUBfNqRxjfL2Q==} + rehype-expressive-code@0.40.2: + resolution: {integrity: sha512-+kn+AMGCrGzvtH8Q5lC6Y5lnmTV/r33fdmi5QU/IH1KPHKobKr5UnLwJuqHv5jBTSN/0v2wLDS7RTM73FVzqmQ==} rehype-raw@7.0.0: resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} @@ -3825,19 +4252,23 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rimraf@5.0.10: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true @@ -3852,14 +4283,28 @@ packages: rollup: optional: true + rollup@2.79.2: + resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} + engines: {node: '>=10.0.0'} + hasBin: true + rollup@4.34.8: resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.35.0: + resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -3888,6 +4333,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} + hasBin: true + send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} @@ -3944,10 +4394,6 @@ packages: engines: {node: '>=12.0.0', npm: '>=5.6.0'} hasBin: true - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - slash@5.1.0: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} @@ -4017,6 +4463,18 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -4044,6 +4502,10 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + string-width@6.1.0: + resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} + engines: {node: '>=16'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -4079,9 +4541,6 @@ packages: strip-literal@3.0.0: resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - style-to-object@0.3.0: - resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} - style-to-object@0.4.4: resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} @@ -4109,6 +4568,10 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} + system-architecture@0.1.0: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} @@ -4143,9 +4606,6 @@ packages: text-decoder@1.2.0: resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -4190,11 +4650,11 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} + ts-api-utils@2.0.1: + resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==} + engines: {node: '>=18.12'} peerDependencies: - typescript: '>=4.2.0' + typescript: '>=4.8.4' ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -4202,24 +4662,38 @@ packages: tslib@2.8.0: resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + twoslash-protocol@0.2.12: + resolution: {integrity: sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==} + + twoslash@0.2.12: + resolution: {integrity: sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw==} + peerDependencies: + typescript: '*' + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} + type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + type-fest@4.35.0: resolution: {integrity: sha512-2/AwEFQDFEy30iOLjrvHDIH7e4HEWH+f1Yl1bI5XMqzuoCUqwYCdxachgsgv0og/JdVZUhbfjcJAoHj5L1753A==} engines: {node: '>=16'} - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true @@ -4251,6 +4725,9 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} + unified-engine@11.2.2: + resolution: {integrity: sha512-15g/gWE7qQl9tQ3nAEbMd5h9HV1EACtFs6N9xaRBZICoCwnNGbal1kOs++ICf4aiTdItZxU2s/kYWhW7htlqJg==} + unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -4270,6 +4747,9 @@ packages: unist-util-find-after@5.0.0: resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + unist-util-inspect@8.1.0: + resolution: {integrity: sha512-mOlg8Mp33pR0eeFpo5d2902ojqFFOKMMG2hF8bmH7ZlhnmjFgh0NI3/ZDwdaBJNbvrS7LZFVrBVtIE9KZ9s7vQ==} + unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -4454,9 +4934,21 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + validate-html-nesting@1.2.2: resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -4469,6 +4961,15 @@ packages: vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile-reporter@8.1.1: + resolution: {integrity: sha512-qxRZcnFSQt6pWKn3PAk81yLK2rO2i7CDXpy8v8ZquiEOMLSnPw6BMSi9Y1sUCwGGl7a9b3CJT1CKpnRF7pp66g==} + + vfile-sort@4.0.0: + resolution: {integrity: sha512-lffPI1JrbHDTToJwcq0rl6rBmkjQmMuXkAxsZPRS9DXbaJQvc642eCg6EGxcX2i1L+esbuhq+2l9tBll5v8AeQ==} + + vfile-statistics@3.0.0: + resolution: {integrity: sha512-/qlwqwWBWFOmpXujL/20P+Iuydil0rZZNglR+VNm6J0gpLHwuVM5s7g2TfVoswbXjZ4HuIhLMySEyIw5i7/D8w==} + vfile@4.2.1: resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} @@ -4482,6 +4983,12 @@ packages: resolution: {integrity: sha512-4sL2SMrRzdzClapP44oXdGjCE1oq7/DagsbjY5A09EibmoIO4LP8ScRVdh03lfXxKRk7nCWK7n7dqKvm+fp/9w==} hasBin: true + vite-plugin-eslint@1.8.1: + resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} + peerDependencies: + eslint: '>=7' + vite: '>=2' + vite-plugin-solid@2.11.2: resolution: {integrity: sha512-/OXVasW5OIRSFXnqzMgm8X3hPvf+JTbGecjQhmk7QnbDFq4hqdLssuYAWw9GsJGfzUPiMHM3ME2Y2XHPsTWmkw==} peerDependencies: @@ -4492,8 +4999,8 @@ packages: '@testing-library/jest-dom': optional: true - vite@6.1.1: - resolution: {integrity: sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==} + vite@6.2.1: + resolution: {integrity: sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -4548,6 +5055,9 @@ packages: typescript: optional: true + walk-up-path@3.0.1: + resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -4786,7 +5296,7 @@ snapshots: '@babel/traverse': 7.25.7 '@babel/types': 7.25.8 convert-source-map: 2.0.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.4.0(supports-color@9.4.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -4806,7 +5316,7 @@ snapshots: '@babel/traverse': 7.26.9 '@babel/types': 7.26.9 convert-source-map: 2.0.0 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.4.0(supports-color@9.4.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -4867,7 +5377,7 @@ snapshots: '@babel/core': 7.25.8 '@babel/helper-module-imports': 7.25.7 '@babel/helper-simple-access': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color @@ -4896,8 +5406,6 @@ snapshots: '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-validator-identifier@7.25.7': {} - '@babel/helper-validator-identifier@7.25.9': {} '@babel/helper-validator-option@7.25.7': {} @@ -4916,7 +5424,7 @@ snapshots: '@babel/highlight@7.25.7': dependencies: - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-validator-identifier': 7.25.9 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.1.1 @@ -4953,7 +5461,7 @@ snapshots: '@babel/template@7.25.7': dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.26.2 '@babel/parser': 7.25.8 '@babel/types': 7.25.8 @@ -4965,12 +5473,12 @@ snapshots: '@babel/traverse@7.25.7': dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.26.2 '@babel/generator': 7.25.7 '@babel/parser': 7.25.8 '@babel/template': 7.25.7 '@babel/types': 7.25.8 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.4.0(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -4982,7 +5490,7 @@ snapshots: '@babel/parser': 7.26.9 '@babel/template': 7.26.9 '@babel/types': 7.26.9 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.4.0(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -4990,7 +5498,7 @@ snapshots: '@babel/types@7.25.8': dependencies: '@babel/helper-string-parser': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 + '@babel/helper-validator-identifier': 7.25.9 to-fast-properties: 2.0.0 '@babel/types@7.26.9': @@ -5054,6 +5562,9 @@ snapshots: '@esbuild/aix-ppc64@0.24.2': optional: true + '@esbuild/aix-ppc64@0.25.0': + optional: true + '@esbuild/android-arm64@0.18.7': optional: true @@ -5063,6 +5574,9 @@ snapshots: '@esbuild/android-arm64@0.24.2': optional: true + '@esbuild/android-arm64@0.25.0': + optional: true + '@esbuild/android-arm@0.18.7': optional: true @@ -5072,6 +5586,9 @@ snapshots: '@esbuild/android-arm@0.24.2': optional: true + '@esbuild/android-arm@0.25.0': + optional: true + '@esbuild/android-x64@0.18.7': optional: true @@ -5081,6 +5598,9 @@ snapshots: '@esbuild/android-x64@0.24.2': optional: true + '@esbuild/android-x64@0.25.0': + optional: true + '@esbuild/darwin-arm64@0.18.7': optional: true @@ -5090,6 +5610,9 @@ snapshots: '@esbuild/darwin-arm64@0.24.2': optional: true + '@esbuild/darwin-arm64@0.25.0': + optional: true + '@esbuild/darwin-x64@0.18.7': optional: true @@ -5099,6 +5622,9 @@ snapshots: '@esbuild/darwin-x64@0.24.2': optional: true + '@esbuild/darwin-x64@0.25.0': + optional: true + '@esbuild/freebsd-arm64@0.18.7': optional: true @@ -5108,6 +5634,9 @@ snapshots: '@esbuild/freebsd-arm64@0.24.2': optional: true + '@esbuild/freebsd-arm64@0.25.0': + optional: true + '@esbuild/freebsd-x64@0.18.7': optional: true @@ -5117,6 +5646,9 @@ snapshots: '@esbuild/freebsd-x64@0.24.2': optional: true + '@esbuild/freebsd-x64@0.25.0': + optional: true + '@esbuild/linux-arm64@0.18.7': optional: true @@ -5126,6 +5658,9 @@ snapshots: '@esbuild/linux-arm64@0.24.2': optional: true + '@esbuild/linux-arm64@0.25.0': + optional: true + '@esbuild/linux-arm@0.18.7': optional: true @@ -5135,6 +5670,9 @@ snapshots: '@esbuild/linux-arm@0.24.2': optional: true + '@esbuild/linux-arm@0.25.0': + optional: true + '@esbuild/linux-ia32@0.18.7': optional: true @@ -5144,6 +5682,9 @@ snapshots: '@esbuild/linux-ia32@0.24.2': optional: true + '@esbuild/linux-ia32@0.25.0': + optional: true + '@esbuild/linux-loong64@0.18.7': optional: true @@ -5153,6 +5694,9 @@ snapshots: '@esbuild/linux-loong64@0.24.2': optional: true + '@esbuild/linux-loong64@0.25.0': + optional: true + '@esbuild/linux-mips64el@0.18.7': optional: true @@ -5162,6 +5706,9 @@ snapshots: '@esbuild/linux-mips64el@0.24.2': optional: true + '@esbuild/linux-mips64el@0.25.0': + optional: true + '@esbuild/linux-ppc64@0.18.7': optional: true @@ -5171,6 +5718,9 @@ snapshots: '@esbuild/linux-ppc64@0.24.2': optional: true + '@esbuild/linux-ppc64@0.25.0': + optional: true + '@esbuild/linux-riscv64@0.18.7': optional: true @@ -5180,6 +5730,9 @@ snapshots: '@esbuild/linux-riscv64@0.24.2': optional: true + '@esbuild/linux-riscv64@0.25.0': + optional: true + '@esbuild/linux-s390x@0.18.7': optional: true @@ -5189,6 +5742,9 @@ snapshots: '@esbuild/linux-s390x@0.24.2': optional: true + '@esbuild/linux-s390x@0.25.0': + optional: true + '@esbuild/linux-x64@0.18.7': optional: true @@ -5198,9 +5754,15 @@ snapshots: '@esbuild/linux-x64@0.24.2': optional: true + '@esbuild/linux-x64@0.25.0': + optional: true + '@esbuild/netbsd-arm64@0.24.2': optional: true + '@esbuild/netbsd-arm64@0.25.0': + optional: true + '@esbuild/netbsd-x64@0.18.7': optional: true @@ -5210,9 +5772,15 @@ snapshots: '@esbuild/netbsd-x64@0.24.2': optional: true + '@esbuild/netbsd-x64@0.25.0': + optional: true + '@esbuild/openbsd-arm64@0.24.2': optional: true + '@esbuild/openbsd-arm64@0.25.0': + optional: true + '@esbuild/openbsd-x64@0.18.7': optional: true @@ -5222,6 +5790,9 @@ snapshots: '@esbuild/openbsd-x64@0.24.2': optional: true + '@esbuild/openbsd-x64@0.25.0': + optional: true + '@esbuild/sunos-x64@0.18.7': optional: true @@ -5231,6 +5802,9 @@ snapshots: '@esbuild/sunos-x64@0.24.2': optional: true + '@esbuild/sunos-x64@0.25.0': + optional: true + '@esbuild/win32-arm64@0.18.7': optional: true @@ -5240,6 +5814,9 @@ snapshots: '@esbuild/win32-arm64@0.24.2': optional: true + '@esbuild/win32-arm64@0.25.0': + optional: true + '@esbuild/win32-ia32@0.18.7': optional: true @@ -5249,6 +5826,9 @@ snapshots: '@esbuild/win32-ia32@0.24.2': optional: true + '@esbuild/win32-ia32@0.25.0': + optional: true + '@esbuild/win32-x64@0.18.7': optional: true @@ -5258,42 +5838,54 @@ snapshots: '@esbuild/win32-x64@0.24.2': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + '@esbuild/win32-x64@0.25.0': + optional: true + + '@eslint-community/eslint-utils@4.4.1(eslint@9.22.0(jiti@2.4.2))': dependencies: - eslint: 8.57.1 + eslint: 9.22.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.2': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.0(supports-color@9.4.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.1.0': {} + + '@eslint/core@0.12.0': + dependencies: + '@types/json-schema': 7.0.15 - '@eslint/eslintrc@2.1.4': + '@eslint/eslintrc@3.3.0': dependencies: ajv: 6.12.6 - debug: 4.3.7(supports-color@9.4.0) - espree: 9.6.1 - globals: 13.24.0 + debug: 4.4.0(supports-color@9.4.0) + espree: 10.3.0 + globals: 14.0.0 ignore: 5.3.2 - import-fresh: 3.3.0 + import-fresh: 3.3.1 js-yaml: 4.1.0 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/js@9.22.0': {} + + '@eslint/object-schema@2.1.6': {} - '@expressive-code/core@0.37.1': + '@eslint/plugin-kit@0.2.7': dependencies: - '@ctrl/tinycolor': 4.1.0 - hast-util-select: 6.0.3 - hast-util-to-html: 9.0.5 - hast-util-to-text: 4.0.2 - hastscript: 9.0.0 - postcss: 8.5.3 - postcss-nested: 6.2.0(postcss@8.5.3) - unist-util-visit: 5.0.0 - unist-util-visit-parents: 6.0.1 + '@eslint/core': 0.12.0 + levn: 0.4.1 - '@expressive-code/core@0.38.3': + '@expressive-code/core@0.40.2': dependencies: '@ctrl/tinycolor': 4.1.0 hast-util-select: 6.0.3 @@ -5305,30 +5897,26 @@ snapshots: unist-util-visit: 5.0.0 unist-util-visit-parents: 6.0.1 - '@expressive-code/plugin-collapsible-sections@0.37.1': - dependencies: - '@expressive-code/core': 0.37.1 - - '@expressive-code/plugin-frames@0.37.1': + '@expressive-code/plugin-collapsible-sections@0.40.2': dependencies: - '@expressive-code/core': 0.37.1 + '@expressive-code/core': 0.40.2 - '@expressive-code/plugin-frames@0.38.3': + '@expressive-code/plugin-frames@0.40.2': dependencies: - '@expressive-code/core': 0.38.3 + '@expressive-code/core': 0.40.2 - '@expressive-code/plugin-line-numbers@0.37.1': + '@expressive-code/plugin-line-numbers@0.40.2': dependencies: - '@expressive-code/core': 0.37.1 + '@expressive-code/core': 0.40.2 - '@expressive-code/plugin-shiki@0.37.1': + '@expressive-code/plugin-shiki@0.40.2': dependencies: - '@expressive-code/core': 0.37.1 + '@expressive-code/core': 0.40.2 shiki: 1.29.2 - '@expressive-code/plugin-text-markers@0.37.1': + '@expressive-code/plugin-text-markers@0.40.2': dependencies: - '@expressive-code/core': 0.37.1 + '@expressive-code/core': 0.40.2 '@floating-ui/core@1.6.8': dependencies: @@ -5347,17 +5935,18 @@ snapshots: '@fontsource-variable/lexend@5.1.2': {} - '@humanwhocodes/config-array@0.13.0': + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7(supports-color@9.4.0) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.2': {} '@iconify/types@2.0.0': {} @@ -5366,7 +5955,7 @@ snapshots: '@antfu/install-pkg': 1.0.0 '@antfu/utils': 8.1.1 '@iconify/types': 2.0.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@9.4.0) globals: 15.15.0 kolorist: 1.8.0 local-pkg: 1.1.0 @@ -5435,19 +6024,19 @@ snapshots: solid-presence: 0.1.8(solid-js@1.9.5) solid-prevent-scroll: 0.1.10(solid-js@1.9.5) - '@kobalte/solidbase@0.0.16(@algolia/client-search@5.14.2)(@solidjs/start@1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)))(@vue/compiler-sfc@3.5.12)(acorn@8.14.0)(react@18.3.1)(search-insights@2.17.3)(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0))': + '@kobalte/solidbase@0.0.23(@algolia/client-search@5.14.2)(@expressive-code/core@0.40.2)(@solidjs/start@1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)))(@vue/compiler-sfc@3.5.12)(acorn@8.14.1)(expressive-code@0.40.2)(react@18.3.1)(search-insights@2.17.3)(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0))': dependencies: '@bprogress/core': 1.1.18 '@docsearch/css': 3.8.0 '@docsearch/js': 3.8.0(@algolia/client-search@5.14.2)(react@18.3.1)(search-insights@2.17.3) - '@expressive-code/plugin-collapsible-sections': 0.37.1 - '@expressive-code/plugin-frames': 0.38.3 - '@expressive-code/plugin-line-numbers': 0.37.1 + '@expressive-code/plugin-collapsible-sections': 0.40.2 + '@expressive-code/plugin-frames': 0.40.2 + '@expressive-code/plugin-line-numbers': 0.40.2 '@fontsource-variable/inter': 5.1.1 '@fontsource-variable/jetbrains-mono': 5.1.2 '@fontsource-variable/lexend': 5.1.2 '@kobalte/core': 0.13.9(solid-js@1.9.5) - '@mdx-js/mdx': 3.1.0(acorn@8.14.0) + '@mdx-js/mdx': 3.1.0(acorn@8.14.1) '@solid-primitives/clipboard': 1.5.10(solid-js@1.9.5) '@solid-primitives/context': 0.2.3(solid-js@1.9.5) '@solid-primitives/event-listener': 2.3.3(solid-js@1.9.5) @@ -5457,18 +6046,18 @@ snapshots: '@solid-primitives/scroll': 2.0.23(solid-js@1.9.5) '@solidjs/meta': 0.29.4(solid-js@1.9.5) '@solidjs/router': 0.15.3(solid-js@1.9.5) - '@solidjs/start': 1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) - '@vinxi/plugin-mdx': 3.7.2(@mdx-js/mdx@3.1.0(acorn@8.14.0)) + '@solidjs/start': 1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + '@vinxi/plugin-mdx': 3.7.2(@mdx-js/mdx@3.1.0(acorn@8.14.1)) cross-spawn: 7.0.3 esast-util-from-js: 2.0.1 estree-util-value-to-estree: 3.2.1 + expressive-code-twoslash: 0.4.0(@expressive-code/core@0.40.2)(expressive-code@0.40.2)(typescript@5.8.2) gray-matter: 4.0.3 hastscript: 9.0.0 - lexend: link:@fontsource/variable/lexend mdast-util-find-and-replace: 3.0.1 mdast-util-toc: 7.1.0 rehype-autolink-headings: 7.1.0 - rehype-expressive-code: 0.37.1 + rehype-expressive-code: 0.40.2 rehype-raw: 7.0.0 rehype-slug: 6.0.0 remark-directive: 3.0.0 @@ -5476,17 +6065,19 @@ snapshots: remark-gfm: 4.0.0 remark-mdx-frontmatter: 5.0.0 solid-js: 1.9.5 - solid-mdx: 0.0.7(solid-js@1.9.5)(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + solid-mdx: 0.0.7(solid-js@1.9.5)(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + typescript: 5.8.2 unified: 11.0.5 unist-builder: 4.0.0 unist-util-visit: 5.0.0 unplugin-auto-import: 19.1.1 - unplugin-fonts: 1.3.1(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + unplugin-fonts: 1.3.1(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) unplugin-icons: 22.1.0(@vue/compiler-sfc@3.5.12) - vinxi: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0) - vite: 6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + vinxi: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0) + vite: 6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) transitivePeerDependencies: - '@algolia/client-search' + - '@expressive-code/core' - '@nuxt/kit' - '@svgr/core' - '@svgx/core' @@ -5494,6 +6085,7 @@ snapshots: - '@vue/compiler-sfc' - '@vueuse/core' - acorn + - expressive-code - react - react-dom - search-insights @@ -5519,7 +6111,7 @@ snapshots: '@kwsites/file-exists@1.1.1': dependencies: - debug: 4.3.7(supports-color@9.4.0) + debug: 4.4.0(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -5547,13 +6139,13 @@ snapshots: https-proxy-agent: 7.0.6(supports-color@9.4.0) node-fetch: 2.7.0 nopt: 8.1.0 - semver: 7.6.3 + semver: 7.7.1 tar: 7.4.3 transitivePeerDependencies: - encoding - supports-color - '@mdx-js/mdx@3.1.0(acorn@8.14.0)': + '@mdx-js/mdx@3.1.0(acorn@8.14.1)': dependencies: '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.5 @@ -5567,7 +6159,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.2 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.0(acorn@8.14.0) + recma-jsx: 1.0.0(acorn@8.14.1) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.0 @@ -5608,6 +6200,58 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@npmcli/config@8.3.4': + dependencies: + '@npmcli/map-workspaces': 3.0.6 + '@npmcli/package-json': 5.2.1 + ci-info: 4.2.0 + ini: 4.1.3 + nopt: 7.2.1 + proc-log: 4.2.0 + semver: 7.7.1 + walk-up-path: 3.0.1 + transitivePeerDependencies: + - bluebird + + '@npmcli/git@5.0.8': + dependencies: + '@npmcli/promise-spawn': 7.0.2 + ini: 4.1.3 + lru-cache: 10.4.3 + npm-pick-manifest: 9.1.0 + proc-log: 4.2.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.7.1 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + + '@npmcli/map-workspaces@3.0.6': + dependencies: + '@npmcli/name-from-folder': 2.0.0 + glob: 10.4.5 + minimatch: 9.0.5 + read-package-json-fast: 3.0.2 + + '@npmcli/name-from-folder@2.0.0': {} + + '@npmcli/package-json@5.2.1': + dependencies: + '@npmcli/git': 5.0.8 + glob: 10.4.5 + hosted-git-info: 7.0.2 + json-parse-even-better-errors: 3.0.2 + normalize-package-data: 6.0.2 + proc-log: 4.2.0 + semver: 7.7.1 + transitivePeerDependencies: + - bluebird + + '@npmcli/promise-spawn@7.0.2': + dependencies: + which: 4.0.0 + '@orama/crawly@0.0.4': dependencies: cheerio: 1.0.0-rc.12 @@ -5615,14 +6259,14 @@ snapshots: '@orama/orama@2.1.1': {} - '@oramacloud/client@1.3.16(typescript@5.6.3)(zod@3.23.8)': + '@oramacloud/client@1.3.16(typescript@5.8.2)(zod@3.23.8)': dependencies: '@orama/orama': 2.1.1 '@paralleldrive/cuid2': 2.2.2 lodash: 4.17.21 openai: 4.67.3(zod@3.23.8) react: 18.3.1 - vue: 3.5.12(typescript@5.6.3) + vue: 3.5.12(typescript@5.8.2) transitivePeerDependencies: - encoding - typescript @@ -5701,6 +6345,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pkgr/core@0.1.1': {} + '@redocly/ajv@8.11.2': dependencies: fast-deep-equal: 3.1.3 @@ -5779,6 +6425,11 @@ snapshots: optionalDependencies: rollup: 4.34.8 + '@rollup/pluginutils@4.2.1': + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + '@rollup/pluginutils@5.1.4(rollup@4.34.8)': dependencies: '@types/estree': 1.0.6 @@ -5790,60 +6441,117 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.34.8': optional: true + '@rollup/rollup-android-arm-eabi@4.35.0': + optional: true + '@rollup/rollup-android-arm64@4.34.8': optional: true + '@rollup/rollup-android-arm64@4.35.0': + optional: true + '@rollup/rollup-darwin-arm64@4.34.8': optional: true + '@rollup/rollup-darwin-arm64@4.35.0': + optional: true + '@rollup/rollup-darwin-x64@4.34.8': optional: true + '@rollup/rollup-darwin-x64@4.35.0': + optional: true + '@rollup/rollup-freebsd-arm64@4.34.8': optional: true + '@rollup/rollup-freebsd-arm64@4.35.0': + optional: true + '@rollup/rollup-freebsd-x64@4.34.8': optional: true + '@rollup/rollup-freebsd-x64@4.35.0': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.34.8': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.34.8': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.34.8': optional: true + '@rollup/rollup-linux-arm64-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-arm64-musl@4.34.8': optional: true + '@rollup/rollup-linux-arm64-musl@4.35.0': + optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.34.8': optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.34.8': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.34.8': optional: true + '@rollup/rollup-linux-s390x-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-x64-gnu@4.34.8': optional: true + '@rollup/rollup-linux-x64-gnu@4.35.0': + optional: true + '@rollup/rollup-linux-x64-musl@4.34.8': optional: true + '@rollup/rollup-linux-x64-musl@4.35.0': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.34.8': optional: true + '@rollup/rollup-win32-arm64-msvc@4.35.0': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.34.8': optional: true + '@rollup/rollup-win32-ia32-msvc@4.35.0': + optional: true + '@rollup/rollup-win32-x64-msvc@4.34.8': optional: true + '@rollup/rollup-win32-x64-msvc@4.35.0': + optional: true + '@shikijs/core@1.22.0': dependencies: '@shikijs/engine-javascript': 1.22.0 @@ -6008,11 +6716,11 @@ snapshots: dependencies: solid-js: 1.9.5 - '@solidjs/start@1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0))': + '@solidjs/start@1.1.1(solid-js@1.9.5)(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0))': dependencies: '@tanstack/server-functions-plugin': 1.106.0 - '@vinxi/plugin-directives': 0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0)) - '@vinxi/server-components': 0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0)) + '@vinxi/plugin-directives': 0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0)) + '@vinxi/server-components': 0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0)) defu: 6.1.4 error-stack-parser: 2.1.4 html-to-image: 1.11.11 @@ -6023,8 +6731,8 @@ snapshots: source-map-js: 1.2.1 terracotta: 1.0.6(solid-js@1.9.5) tinyglobby: 0.2.12 - vinxi: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0) - vite-plugin-solid: 2.11.2(solid-js@1.9.5)(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + vinxi: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0) + vite-plugin-solid: 2.11.2(solid-js@1.9.5)(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) transitivePeerDependencies: - '@testing-library/jest-dom' - babel-plugin-macros @@ -6122,10 +6830,19 @@ snapshots: '@types/braces@3.0.4': {} + '@types/concat-stream@2.0.3': + dependencies: + '@types/node': 22.9.0 + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 + '@types/eslint@8.56.12': + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.6 @@ -6140,6 +6857,8 @@ snapshots: dependencies: '@types/node': 22.9.0 + '@types/is-empty@1.2.3': {} + '@types/json-schema@7.0.15': {} '@types/mdast@4.0.4': @@ -6175,7 +6894,7 @@ snapshots: dependencies: '@types/node': 22.9.0 - '@types/semver@7.5.8': {} + '@types/supports-color@8.1.3': {} '@types/ungap__structured-clone@1.2.0': {} @@ -6183,127 +6902,89 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.9.0(@typescript-eslint/parser@8.9.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.26.0(@typescript-eslint/parser@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.9.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.9.0 - '@typescript-eslint/type-utils': 8.9.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/utils': 8.9.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.9.0 - eslint: 8.57.1 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/scope-manager': 8.26.0 + '@typescript-eslint/type-utils': 8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.0 + eslint: 9.22.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.9.0(eslint@8.57.1)(typescript@5.6.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.9.0 - '@typescript-eslint/types': 8.9.0 - '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.9.0 - debug: 4.3.7(supports-color@9.4.0) - eslint: 8.57.1 - optionalDependencies: - typescript: 5.6.3 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.21.0': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - - '@typescript-eslint/scope-manager@8.9.0': - dependencies: - '@typescript-eslint/types': 8.9.0 - '@typescript-eslint/visitor-keys': 8.9.0 - - '@typescript-eslint/type-utils@8.9.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/parser@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.9.0(eslint@8.57.1)(typescript@5.6.3) - debug: 4.3.7(supports-color@9.4.0) - ts-api-utils: 1.3.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 + '@typescript-eslint/scope-manager': 8.26.0 + '@typescript-eslint/types': 8.26.0 + '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.0 + debug: 4.4.0(supports-color@9.4.0) + eslint: 9.22.0(jiti@2.4.2) + typescript: 5.8.2 transitivePeerDependencies: - - eslint - supports-color - '@typescript-eslint/types@6.21.0': {} - - '@typescript-eslint/types@8.9.0': {} - - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.3)': - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7(supports-color@9.4.0) - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/scope-manager@8.26.0': + dependencies: + '@typescript-eslint/types': 8.26.0 + '@typescript-eslint/visitor-keys': 8.26.0 - '@typescript-eslint/typescript-estree@8.9.0(typescript@5.6.3)': + '@typescript-eslint/type-utils@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@typescript-eslint/types': 8.9.0 - '@typescript-eslint/visitor-keys': 8.9.0 - debug: 4.3.7(supports-color@9.4.0) - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 + '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + debug: 4.4.0(supports-color@9.4.0) + eslint: 9.22.0(jiti@2.4.2) + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/types@8.26.0': {} + + '@typescript-eslint/typescript-estree@8.26.0(typescript@5.8.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) - eslint: 8.57.1 - semver: 7.6.3 + '@typescript-eslint/types': 8.26.0 + '@typescript-eslint/visitor-keys': 8.26.0 + debug: 4.4.0(supports-color@9.4.0) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/utils@8.9.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.9.0 - '@typescript-eslint/types': 8.9.0 - '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3) - eslint: 8.57.1 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.26.0 + '@typescript-eslint/types': 8.26.0 + '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) + eslint: 9.22.0(jiti@2.4.2) + typescript: 5.8.2 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/visitor-keys@8.26.0': dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.26.0 + eslint-visitor-keys: 4.2.0 - '@typescript-eslint/visitor-keys@8.9.0': + '@typescript/vfs@1.6.1(typescript@5.8.2)': dependencies: - '@typescript-eslint/types': 8.9.0 - eslint-visitor-keys: 3.4.3 + debug: 4.4.0(supports-color@9.4.0) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color '@ungap/structured-clone@1.2.0': {} @@ -6311,8 +6992,8 @@ snapshots: dependencies: '@mapbox/node-pre-gyp': 2.0.0 '@rollup/pluginutils': 5.1.4(rollup@4.34.8) - acorn: 8.14.0 - acorn-import-attributes: 1.9.5(acorn@8.14.0) + acorn: 8.14.1 + acorn-import-attributes: 1.9.5(acorn@8.14.1) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -6346,38 +7027,38 @@ snapshots: untun: 0.1.3 uqr: 0.1.2 - '@vinxi/plugin-directives@0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))': + '@vinxi/plugin-directives@0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))': dependencies: '@babel/parser': 7.25.8 - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) acorn-loose: 8.4.0 - acorn-typescript: 1.4.13(acorn@8.12.1) + acorn-typescript: 1.4.13(acorn@8.14.1) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 tslib: 2.8.0 - vinxi: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0) + vinxi: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0) - '@vinxi/plugin-mdx@3.7.2(@mdx-js/mdx@3.1.0(acorn@8.14.0))': + '@vinxi/plugin-mdx@3.7.2(@mdx-js/mdx@3.1.0(acorn@8.14.1))': dependencies: '@alloc/quick-lru': 5.2.0 - '@mdx-js/mdx': 3.1.0(acorn@8.14.0) + '@mdx-js/mdx': 3.1.0(acorn@8.14.1) esbuild: 0.18.7 - resolve: 1.22.8 + resolve: 1.22.10 unified: 9.2.2 vfile: 5.3.7 - '@vinxi/server-components@0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0))': + '@vinxi/server-components@0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0))': dependencies: - '@vinxi/plugin-directives': 0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0)) - acorn: 8.12.1 + '@vinxi/plugin-directives': 0.5.0(vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0)) + acorn: 8.14.1 acorn-loose: 8.4.0 - acorn-typescript: 1.4.13(acorn@8.12.1) + acorn-typescript: 1.4.13(acorn@8.14.1) astring: 1.9.0 magicast: 0.2.11 recast: 0.23.9 - vinxi: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0) + vinxi: 0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0) '@vue/compiler-core@3.5.12': dependencies: @@ -6425,43 +7106,39 @@ snapshots: '@vue/shared': 3.5.12 csstype: 3.1.3 - '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))': + '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.8.2))': dependencies: '@vue/compiler-ssr': 3.5.12 '@vue/shared': 3.5.12 - vue: 3.5.12(typescript@5.6.3) + vue: 3.5.12(typescript@5.8.2) '@vue/shared@3.5.12': {} + abbrev@2.0.0: {} + abbrev@3.0.0: {} abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 - acorn-import-attributes@1.9.5(acorn@8.14.0): - dependencies: - acorn: 8.14.0 - - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-import-attributes@1.9.5(acorn@8.14.1): dependencies: - acorn: 8.12.1 + acorn: 8.14.1 - acorn-jsx@5.3.2(acorn@8.14.0): + acorn-jsx@5.3.2(acorn@8.14.1): dependencies: - acorn: 8.14.0 + acorn: 8.14.1 acorn-loose@8.4.0: dependencies: - acorn: 8.12.1 + acorn: 8.14.1 - acorn-typescript@1.4.13(acorn@8.12.1): + acorn-typescript@1.4.13(acorn@8.14.1): dependencies: - acorn: 8.12.1 - - acorn@8.12.1: {} + acorn: 8.14.1 - acorn@8.14.0: {} + acorn@8.14.1: {} agent-base@7.1.3: {} @@ -6551,8 +7228,6 @@ snapshots: argparse@2.0.1: {} - array-union@2.1.0: {} - ast-types@0.16.1: dependencies: tslib: 2.8.0 @@ -6752,6 +7427,8 @@ snapshots: chownr@3.0.0: {} + ci-info@4.2.0: {} + citty@0.1.6: dependencies: consola: 3.2.3 @@ -6812,6 +7489,13 @@ snapshots: concat-map@0.0.1: {} + concat-stream@2.0.0: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + confbox@0.1.8: {} consola@3.2.3: {} @@ -6837,6 +7521,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crossws@0.3.4: dependencies: uncrypto: 0.1.3 @@ -6868,15 +7558,15 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.7(supports-color@9.4.0): + debug@4.3.7: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 9.4.0 - debug@4.4.0: + debug@4.4.0(supports-color@9.4.0): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 9.4.0 decode-named-character-reference@1.0.2: dependencies: @@ -6916,20 +7606,14 @@ snapshots: diff-sequences@29.6.3: {} - diff@7.0.0: {} + diff@5.2.0: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 + diff@7.0.0: {} direction@2.0.1: {} dlv@1.1.3: {} - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -6964,6 +7648,8 @@ snapshots: emoji-regex-xs@1.0.0: {} + emoji-regex@10.4.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -6974,6 +7660,12 @@ snapshots: entities@4.5.0: {} + err-code@2.0.3: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + error-stack-parser@2.1.4: dependencies: stackframe: 1.3.4 @@ -6990,7 +7682,7 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.14.0 + acorn: 8.14.1 esast-util-from-estree: 2.0.0 vfile-message: 4.0.2 @@ -7073,6 +7765,34 @@ snapshots: '@esbuild/win32-ia32': 0.24.2 '@esbuild/win32-x64': 0.24.2 + esbuild@0.25.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.0 + '@esbuild/android-arm': 0.25.0 + '@esbuild/android-arm64': 0.25.0 + '@esbuild/android-x64': 0.25.0 + '@esbuild/darwin-arm64': 0.25.0 + '@esbuild/darwin-x64': 0.25.0 + '@esbuild/freebsd-arm64': 0.25.0 + '@esbuild/freebsd-x64': 0.25.0 + '@esbuild/linux-arm': 0.25.0 + '@esbuild/linux-arm64': 0.25.0 + '@esbuild/linux-ia32': 0.25.0 + '@esbuild/linux-loong64': 0.25.0 + '@esbuild/linux-mips64el': 0.25.0 + '@esbuild/linux-ppc64': 0.25.0 + '@esbuild/linux-riscv64': 0.25.0 + '@esbuild/linux-s390x': 0.25.0 + '@esbuild/linux-x64': 0.25.0 + '@esbuild/netbsd-arm64': 0.25.0 + '@esbuild/netbsd-x64': 0.25.0 + '@esbuild/openbsd-arm64': 0.25.0 + '@esbuild/openbsd-x64': 0.25.0 + '@esbuild/sunos-x64': 0.25.0 + '@esbuild/win32-arm64': 0.25.0 + '@esbuild/win32-ia32': 0.25.0 + '@esbuild/win32-x64': 0.25.0 + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -7083,73 +7803,117 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-plugin-solid@0.13.2(eslint@8.57.1)(typescript@5.6.3): + eslint-mdx@3.2.0(eslint@9.22.0(jiti@2.4.2)): + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint: 9.22.0(jiti@2.4.2) + espree: 9.6.1 + estree-util-visit: 2.0.0 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + synckit: 0.9.2 + tslib: 2.8.1 + unified: 11.0.5 + unified-engine: 11.2.2 + unist-util-visit: 5.0.0 + uvu: 0.5.6 + vfile: 6.0.3 + transitivePeerDependencies: + - bluebird + - supports-color + + eslint-plugin-mdx@3.2.0(eslint@9.22.0(jiti@2.4.2)): + dependencies: + eslint: 9.22.0(jiti@2.4.2) + eslint-mdx: 3.2.0(eslint@9.22.0(jiti@2.4.2)) + mdast-util-from-markdown: 2.0.2 + remark-mdx: 3.1.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + synckit: 0.9.2 + tslib: 2.8.1 + unified: 11.0.5 + vfile: 6.0.3 + transitivePeerDependencies: + - bluebird + - supports-color + + eslint-plugin-solid@0.14.5(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2): dependencies: - '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.3) - eslint: 8.57.1 + '@typescript-eslint/utils': 8.26.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.22.0(jiti@2.4.2) estraverse: 5.3.0 is-html: 2.0.0 kebab-case: 1.0.2 - known-css-properties: 0.24.0 - style-to-object: 0.3.0 + known-css-properties: 0.30.0 + style-to-object: 1.0.8 + typescript: 5.8.2 transitivePeerDependencies: - supports-color - - typescript - eslint-scope@7.2.2: + eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.1: + eslint-visitor-keys@4.2.0: {} + + eslint@9.22.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.11.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.22.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.2 + '@eslint/config-helpers': 0.1.0 + '@eslint/core': 0.12.0 + '@eslint/eslintrc': 3.3.0 + '@eslint/js': 9.22.0 + '@eslint/plugin-kit': 0.2.7 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 + '@humanwhocodes/retry': 0.4.2 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.7(supports-color@9.4.0) - doctrine: 3.0.0 + cross-spawn: 7.0.6 + debug: 4.4.0(supports-color@9.4.0) escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color + espree@10.3.0: + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 4.2.0 + espree@9.6.1: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -7225,12 +7989,24 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - expressive-code@0.37.1: + expressive-code-twoslash@0.4.0(@expressive-code/core@0.40.2)(expressive-code@0.40.2)(typescript@5.8.2): + dependencies: + '@expressive-code/core': 0.40.2 + expressive-code: 0.40.2 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm: 3.1.0 + mdast-util-to-hast: 13.2.0 + twoslash: 0.2.12(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + expressive-code@0.40.2: dependencies: - '@expressive-code/core': 0.37.1 - '@expressive-code/plugin-frames': 0.37.1 - '@expressive-code/plugin-shiki': 0.37.1 - '@expressive-code/plugin-text-markers': 0.37.1 + '@expressive-code/core': 0.40.2 + '@expressive-code/plugin-frames': 0.40.2 + '@expressive-code/plugin-shiki': 0.40.2 + '@expressive-code/plugin-text-markers': 0.40.2 extend-shallow@2.0.1: dependencies: @@ -7250,6 +8026,14 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -7266,9 +8050,9 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 file-uri-to-path@1.0.0: {} @@ -7281,13 +8065,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: - flatted: 3.3.1 + flatted: 3.3.3 keyv: 4.5.4 - rimraf: 3.0.2 - flatted@3.3.1: {} + flatted@3.3.3: {} follow-redirects@1.15.9: {} @@ -7383,20 +8166,11 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globals@15.15.0: {} - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 + globals@16.0.0: {} globby@14.0.2: dependencies: @@ -7628,6 +8402,10 @@ snapshots: hookable@5.5.3: {} + hosted-git-info@7.0.2: + dependencies: + lru-cache: 10.4.3 + html-entities@2.3.3: {} html-tags@3.3.1: {} @@ -7664,7 +8442,7 @@ snapshots: https-proxy-agent@7.0.6(supports-color@9.4.0): dependencies: agent-base: 7.1.3 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.4.0(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -7680,11 +8458,15 @@ snapshots: ignore@5.3.2: {} - import-fresh@3.3.0: + ignore@6.0.2: {} + + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + import-meta-resolve@4.1.0: {} + imurmurhash@0.1.4: {} index-to-position@0.1.2: {} @@ -7696,6 +8478,8 @@ snapshots: inherits@2.0.4: {} + ini@4.1.3: {} + inline-style-parser@0.1.1: {} inline-style-parser@0.2.4: {} @@ -7704,7 +8488,7 @@ snapshots: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.4.0(supports-color@9.4.0) denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -7723,6 +8507,8 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 + is-arrayish@0.2.1: {} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 @@ -7733,12 +8519,18 @@ snapshots: dependencies: hasown: 2.0.2 + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + is-decimal@2.0.1: {} is-docker@2.2.1: {} is-docker@3.0.0: {} + is-empty@1.2.0: {} + is-extendable@0.1.1: {} is-extglob@2.1.1: {} @@ -7763,8 +8555,6 @@ snapshots: is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-plain-obj@2.1.0: {} is-plain-obj@4.1.0: {} @@ -7820,8 +8610,6 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@9.0.0: {} - js-tokens@9.0.1: {} js-yaml@3.14.1: @@ -7837,6 +8625,8 @@ snapshots: json-buffer@3.0.1: {} + json-parse-even-better-errors@3.0.2: {} + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -7859,13 +8649,15 @@ snapshots: kind-of@6.0.3: {} + kleur@4.1.5: {} + klona@2.0.6: {} knitwork@1.1.0: {} knitwork@1.2.0: {} - known-css-properties@0.24.0: {} + known-css-properties@0.30.0: {} kolorist@1.8.0: {} @@ -7884,6 +8676,8 @@ snapshots: lines-and-columns@1.2.4: {} + lines-and-columns@2.0.4: {} + listhen@1.9.0: dependencies: '@parcel/watcher': 2.4.1 @@ -7905,6 +8699,13 @@ snapshots: untun: 0.1.3 uqr: 0.1.2 + load-plugin@6.0.3: + dependencies: + '@npmcli/config': 8.3.4 + import-meta-resolve: 4.1.0 + transitivePeerDependencies: + - bluebird + local-pkg@0.5.0: dependencies: mlly: 1.7.2 @@ -7973,7 +8774,7 @@ snapshots: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 parse-entities: 4.0.1 stringify-entities: 4.0.4 @@ -7988,7 +8789,7 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - mdast-util-from-markdown@2.0.1: + mdast-util-from-markdown@2.0.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -8010,7 +8811,7 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 micromark-extension-frontmatter: 2.0.0 transitivePeerDependencies: @@ -8028,7 +8829,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 micromark-util-normalize-identifier: 2.0.0 transitivePeerDependencies: @@ -8037,7 +8838,7 @@ snapshots: mdast-util-gfm-strikethrough@2.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -8047,7 +8848,7 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.3 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -8056,14 +8857,26 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color mdast-util-gfm@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.1.0: + dependencies: + mdast-util-from-markdown: 2.0.2 mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.0.0 mdast-util-gfm-strikethrough: 2.0.0 @@ -8079,7 +8892,7 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -8092,7 +8905,7 @@ snapshots: '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 parse-entities: 4.0.1 stringify-entities: 4.0.4 @@ -8103,7 +8916,7 @@ snapshots: mdast-util-mdx@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.1.3 mdast-util-mdxjs-esm: 2.0.1 @@ -8117,7 +8930,7 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.0 transitivePeerDependencies: - supports-color @@ -8309,8 +9122,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) micromark-extension-mdx-expression: 3.0.0 micromark-extension-mdx-jsx: 3.0.1 micromark-extension-mdx-md: 2.0.0 @@ -8436,7 +9249,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 + debug: 4.4.0(supports-color@9.4.0) decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -8482,10 +9295,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -8514,18 +9323,20 @@ snapshots: mlly@1.7.2: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 pathe: 1.1.2 pkg-types: 1.2.1 ufo: 1.5.4 mlly@1.7.4: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.5.4 + mri@1.2.0: {} + ms@2.0.0: {} ms@2.1.3: {} @@ -8542,7 +9353,7 @@ snapshots: natural-compare@1.4.0: {} - nitropack@2.10.4(typescript@5.6.3): + nitropack@2.10.4(typescript@5.8.2): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@netlify/functions': 2.8.2 @@ -8591,7 +9402,7 @@ snapshots: node-fetch-native: 1.6.4 ofetch: 1.4.1 ohash: 1.1.4 - openapi-typescript: 7.6.1(typescript@5.6.3) + openapi-typescript: 7.6.1(typescript@5.8.2) pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.2.1 @@ -8660,14 +9471,44 @@ snapshots: node-releases@2.0.18: {} + nopt@7.2.1: + dependencies: + abbrev: 2.0.0 + nopt@8.1.0: dependencies: abbrev: 3.0.0 + normalize-package-data@6.0.2: + dependencies: + hosted-git-info: 7.0.2 + semver: 7.7.1 + validate-npm-package-license: 3.0.4 + normalize-path@3.0.0: {} normalize-range@0.1.2: {} + npm-install-checks@6.3.0: + dependencies: + semver: 7.7.1 + + npm-normalize-package-bin@3.0.1: {} + + npm-package-arg@11.0.3: + dependencies: + hosted-git-info: 7.0.2 + proc-log: 4.2.0 + semver: 7.7.1 + validate-npm-package-name: 5.0.1 + + npm-pick-manifest@9.1.0: + dependencies: + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 + npm-package-arg: 11.0.3 + semver: 7.7.1 + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -8739,14 +9580,14 @@ snapshots: transitivePeerDependencies: - encoding - openapi-typescript@7.6.1(typescript@5.6.3): + openapi-typescript@7.6.1(typescript@5.8.2): dependencies: '@redocly/openapi-core': 1.30.0(supports-color@9.4.0) ansi-colors: 4.1.3 change-case: 5.4.4 parse-json: 8.1.0 supports-color: 9.4.0 - typescript: 5.6.3 + typescript: 5.8.2 yargs-parser: 21.1.1 optionator@0.9.4: @@ -8787,9 +9628,17 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 + parse-json@7.1.1: + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 3.0.2 + lines-and-columns: 2.0.4 + type-fest: 3.13.1 + parse-json@8.1.0: dependencies: - '@babel/code-frame': 7.25.7 + '@babel/code-frame': 7.26.2 index-to-position: 0.1.2 type-fest: 4.35.0 @@ -8821,8 +9670,6 @@ snapshots: path-to-regexp@6.3.0: {} - path-type@4.0.0: {} - path-type@5.0.0: {} pathe@1.1.2: {} @@ -8924,10 +9771,19 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + proc-log@4.2.0: {} + process-nextick-args@2.0.1: {} process@0.11.10: {} + promise-inflight@1.0.1: {} + + promise-retry@2.0.1: + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + property-information@6.5.0: {} property-information@7.0.0: {} @@ -8963,6 +9819,11 @@ snapshots: dependencies: pify: 2.3.0 + read-package-json-fast@3.0.2: + dependencies: + json-parse-even-better-errors: 3.0.2 + npm-normalize-package-bin: 3.0.1 + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -8973,6 +9834,12 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + readable-stream@4.5.2: dependencies: abort-controller: 3.0.0 @@ -9005,9 +9872,9 @@ snapshots: estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.0(acorn@8.14.0): + recma-jsx@1.0.0(acorn@8.14.1): dependencies: - acorn-jsx: 5.3.2(acorn@8.14.0) + acorn-jsx: 5.3.2(acorn@8.14.1) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -9057,9 +9924,9 @@ snapshots: unified: 11.0.5 unist-util-visit: 5.0.0 - rehype-expressive-code@0.37.1: + rehype-expressive-code@0.40.2: dependencies: - expressive-code: 0.37.1 + expressive-code: 0.40.2 rehype-raw@7.0.0: dependencies: @@ -9131,7 +9998,7 @@ snapshots: remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 micromark-util-types: 2.0.0 unified: 11.0.5 transitivePeerDependencies: @@ -9161,17 +10028,21 @@ snapshots: resolve-from@5.0.0: {} + resolve@1.22.10: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + resolve@1.22.8: dependencies: is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - reusify@1.0.4: {} + retry@0.12.0: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 + reusify@1.0.4: {} rimraf@5.0.10: dependencies: @@ -9186,6 +10057,10 @@ snapshots: optionalDependencies: rollup: 4.34.8 + rollup@2.79.2: + optionalDependencies: + fsevents: 2.3.3 + rollup@4.34.8: dependencies: '@types/estree': 1.0.6 @@ -9211,10 +10086,39 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.34.8 fsevents: 2.3.3 + rollup@4.35.0: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.35.0 + '@rollup/rollup-android-arm64': 4.35.0 + '@rollup/rollup-darwin-arm64': 4.35.0 + '@rollup/rollup-darwin-x64': 4.35.0 + '@rollup/rollup-freebsd-arm64': 4.35.0 + '@rollup/rollup-freebsd-x64': 4.35.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.35.0 + '@rollup/rollup-linux-arm-musleabihf': 4.35.0 + '@rollup/rollup-linux-arm64-gnu': 4.35.0 + '@rollup/rollup-linux-arm64-musl': 4.35.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.35.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.35.0 + '@rollup/rollup-linux-riscv64-gnu': 4.35.0 + '@rollup/rollup-linux-s390x-gnu': 4.35.0 + '@rollup/rollup-linux-x64-gnu': 4.35.0 + '@rollup/rollup-linux-x64-musl': 4.35.0 + '@rollup/rollup-win32-arm64-msvc': 4.35.0 + '@rollup/rollup-win32-ia32-msvc': 4.35.0 + '@rollup/rollup-win32-x64-msvc': 4.35.0 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 + sade@1.8.1: + dependencies: + mri: 1.2.0 + safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} @@ -9234,6 +10138,8 @@ snapshots: semver@7.6.3: {} + semver@7.7.1: {} + send@0.19.0: dependencies: debug: 2.6.9 @@ -9309,7 +10215,7 @@ snapshots: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 - debug: 4.3.7(supports-color@9.4.0) + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -9322,8 +10228,6 @@ snapshots: arg: 5.0.2 sax: 1.4.1 - slash@3.0.0: {} - slash@5.1.0: {} slugify@1.6.6: {} @@ -9345,10 +10249,10 @@ snapshots: '@corvu/utils': 0.4.2(solid-js@1.9.5) solid-js: 1.9.5 - solid-mdx@0.0.7(solid-js@1.9.5)(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): + solid-mdx@0.0.7(solid-js@1.9.5)(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): dependencies: solid-js: 1.9.5 - vite: 6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + vite: 6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) solid-presence@0.1.8(solid-js@1.9.5): dependencies: @@ -9386,6 +10290,20 @@ snapshots: space-separated-tokens@2.0.2: {} + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.21 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.21 + + spdx-license-ids@3.0.21: {} + sprintf-js@1.0.3: {} stackframe@1.3.4: {} @@ -9416,6 +10334,12 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string-width@6.1.0: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 10.4.0 + strip-ansi: 7.1.0 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -9445,16 +10369,12 @@ snapshots: strip-literal@2.1.0: dependencies: - js-tokens: 9.0.0 + js-tokens: 9.0.1 strip-literal@3.0.0: dependencies: js-tokens: 9.0.1 - style-to-object@0.3.0: - dependencies: - inline-style-parser: 0.1.1 - style-to-object@0.4.4: dependencies: inline-style-parser: 0.1.1 @@ -9485,6 +10405,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + synckit@0.9.2: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.8.1 + system-architecture@0.1.0: {} tailwindcss@3.4.14: @@ -9546,7 +10471,7 @@ snapshots: terser@5.34.1: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 + acorn: 8.14.1 commander: 2.20.3 source-map-support: 0.5.21 @@ -9554,8 +10479,6 @@ snapshots: dependencies: b4a: 1.6.7 - text-table@0.2.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -9591,25 +10514,39 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.6.3): + ts-api-utils@2.0.1(typescript@5.8.2): dependencies: - typescript: 5.6.3 + typescript: 5.8.2 ts-interface-checker@0.1.13: {} tslib@2.8.0: {} + tslib@2.8.1: {} + + twoslash-protocol@0.2.12: {} + + twoslash@0.2.12(typescript@5.8.2): + dependencies: + '@typescript/vfs': 1.6.1(typescript@5.8.2) + twoslash-protocol: 0.2.12 + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - type-fest@2.19.0: {} + type-fest@3.13.1: {} + type-fest@4.35.0: {} - typescript@5.6.3: {} + typedarray@0.0.6: {} + + typescript@5.8.2: {} ufo@1.5.4: {} @@ -9619,7 +10556,7 @@ snapshots: unctx@2.3.1: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 estree-walker: 3.0.3 magic-string: 0.30.12 unplugin: 1.14.1 @@ -9642,6 +10579,33 @@ snapshots: unicorn-magic@0.1.0: {} + unified-engine@11.2.2: + dependencies: + '@types/concat-stream': 2.0.3 + '@types/debug': 4.1.12 + '@types/is-empty': 1.2.3 + '@types/node': 22.9.0 + '@types/unist': 3.0.3 + concat-stream: 2.0.0 + debug: 4.4.0(supports-color@9.4.0) + extend: 3.0.2 + glob: 10.4.5 + ignore: 6.0.2 + is-empty: 1.2.0 + is-plain-obj: 4.1.0 + load-plugin: 6.0.3 + parse-json: 7.1.1 + trough: 2.2.0 + unist-util-inspect: 8.1.0 + vfile: 6.0.3 + vfile-message: 4.0.2 + vfile-reporter: 8.1.1 + vfile-statistics: 3.0.0 + yaml: 2.6.0 + transitivePeerDependencies: + - bluebird + - supports-color + unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -9665,7 +10629,7 @@ snapshots: unimport@3.13.1(rollup@4.34.8): dependencies: '@rollup/pluginutils': 5.1.4(rollup@4.34.8) - acorn: 8.14.0 + acorn: 8.14.1 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 @@ -9683,7 +10647,7 @@ snapshots: unimport@4.1.2: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 local-pkg: 1.1.0 @@ -9707,6 +10671,10 @@ snapshots: '@types/unist': 3.0.3 unist-util-is: 6.0.0 + unist-util-inspect@8.1.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -9753,17 +10721,17 @@ snapshots: unplugin: 2.2.0 unplugin-utils: 0.2.4 - unplugin-fonts@1.3.1(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): + unplugin-fonts@1.3.1(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): dependencies: fast-glob: 3.3.2 unplugin: 2.0.0-beta.1 - vite: 6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + vite: 6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) unplugin-icons@22.1.0(@vue/compiler-sfc@3.5.12): dependencies: '@antfu/install-pkg': 1.0.0 '@iconify/utils': 2.3.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@9.4.0) local-pkg: 1.1.0 unplugin: 2.2.0 optionalDependencies: @@ -9778,17 +10746,17 @@ snapshots: unplugin@1.14.1: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 webpack-virtual-modules: 0.6.2 unplugin@2.0.0-beta.1: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 webpack-virtual-modules: 0.6.2 unplugin@2.2.0: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 webpack-virtual-modules: 0.6.2 unstorage@1.15.0(db0@0.2.4)(ioredis@5.4.1): @@ -9853,8 +10821,22 @@ snapshots: util-deprecate@1.0.2: {} + uvu@0.5.6: + dependencies: + dequal: 2.0.3 + diff: 5.2.0 + kleur: 4.1.5 + sade: 1.8.1 + validate-html-nesting@1.2.2: {} + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + validate-npm-package-name@5.0.1: {} + vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 @@ -9875,6 +10857,27 @@ snapshots: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 + vfile-reporter@8.1.1: + dependencies: + '@types/supports-color': 8.1.3 + string-width: 6.1.0 + supports-color: 9.4.0 + unist-util-stringify-position: 4.0.0 + vfile: 6.0.3 + vfile-message: 4.0.2 + vfile-sort: 4.0.0 + vfile-statistics: 3.0.0 + + vfile-sort@4.0.0: + dependencies: + vfile: 6.0.3 + vfile-message: 4.0.2 + + vfile-statistics@3.0.0: + dependencies: + vfile: 6.0.3 + vfile-message: 4.0.2 + vfile@4.2.1: dependencies: '@types/unist': 2.0.11 @@ -9894,7 +10897,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.6.3)(yaml@2.6.0): + vinxi@0.5.3(@types/node@22.9.0)(db0@0.2.4)(ioredis@5.4.1)(jiti@2.4.2)(terser@5.34.1)(typescript@5.8.2)(yaml@2.6.0): dependencies: '@babel/core': 7.25.8 '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) @@ -9916,7 +10919,7 @@ snapshots: hookable: 5.5.3 http-proxy: 1.18.1 micromatch: 4.0.8 - nitropack: 2.10.4(typescript@5.6.3) + nitropack: 2.10.4(typescript@5.8.2) node-fetch-native: 1.6.4 path-to-regexp: 6.3.0 pathe: 1.1.2 @@ -9928,7 +10931,7 @@ snapshots: unctx: 2.3.1 unenv: 1.10.0 unstorage: 1.15.0(db0@0.2.4)(ioredis@5.4.1) - vite: 6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + vite: 6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) zod: 3.23.8 transitivePeerDependencies: - '@azure/app-configuration' @@ -9973,7 +10976,15 @@ snapshots: - xml2js - yaml - vite-plugin-solid@2.11.2(solid-js@1.9.5)(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): + vite-plugin-eslint@1.8.1(eslint@9.22.0(jiti@2.4.2))(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): + dependencies: + '@rollup/pluginutils': 4.2.1 + '@types/eslint': 8.56.12 + eslint: 9.22.0(jiti@2.4.2) + rollup: 2.79.2 + vite: 6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + + vite-plugin-solid@2.11.2(solid-js@1.9.5)(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): dependencies: '@babel/core': 7.25.8 '@types/babel__core': 7.20.5 @@ -9981,16 +10992,16 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.5 solid-refresh: 0.6.3(solid-js@1.9.5) - vite: 6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) - vitefu: 1.0.5(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) + vite: 6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + vitefu: 1.0.5(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)) transitivePeerDependencies: - supports-color - vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0): + vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0): dependencies: - esbuild: 0.24.2 + esbuild: 0.25.0 postcss: 8.5.3 - rollup: 4.34.8 + rollup: 4.35.0 optionalDependencies: '@types/node': 22.9.0 fsevents: 2.3.3 @@ -9998,19 +11009,21 @@ snapshots: terser: 5.34.1 yaml: 2.6.0 - vitefu@1.0.5(vite@6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): + vitefu@1.0.5(vite@6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0)): optionalDependencies: - vite: 6.1.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) + vite: 6.2.1(@types/node@22.9.0)(jiti@2.4.2)(terser@5.34.1)(yaml@2.6.0) - vue@3.5.12(typescript@5.6.3): + vue@3.5.12(typescript@5.8.2): dependencies: '@vue/compiler-dom': 3.5.12 '@vue/compiler-sfc': 3.5.12 '@vue/runtime-dom': 3.5.12 - '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3)) + '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.8.2)) '@vue/shared': 3.5.12 optionalDependencies: - typescript: 5.6.3 + typescript: 5.8.2 + + walk-up-path@3.0.1: {} web-namespaces@2.0.1: {} diff --git a/scripts/collections/build-file-tree.mjs b/scripts/collections/build-file-tree.mjs index 627fb0beb8..99015719c0 100644 --- a/scripts/collections/build-file-tree.mjs +++ b/scripts/collections/build-file-tree.mjs @@ -3,6 +3,7 @@ import matter from "gray-matter"; import fs from "fs/promises"; import { getDirData } from "./utils/get-dir-data.mjs"; import { COLLECTIONS_ROOT } from "./index.mjs"; +import { cwd } from "process"; /** * @@ -10,7 +11,7 @@ import { COLLECTIONS_ROOT } from "./index.mjs"; * @returns */ export async function buildFileTree(entry = COLLECTIONS_ROOT) { - const entryPath = path.resolve(process.cwd(), entry); + const entryPath = path.resolve(cwd(), entry); const parentSegment = path.parse(entryPath).dir; try { const stats = await fs.stat(entryPath); @@ -56,7 +57,8 @@ export async function buildFileTree(entry = COLLECTIONS_ROOT) { path: "/" + path - .relative(path.join(process.cwd(), COLLECTIONS_ROOT), entryPath) + .relative(path.join(cwd(), COLLECTIONS_ROOT), entryPath) + // eslint-disable-next-line .replace(/\index\.mdx?/, "") .replace(/\.mdx?/, ""), slug: path.basename(entryPath, path.extname(entryPath)), diff --git a/scripts/collections/utils/create-dir.mjs b/scripts/collections/utils/create-dir.mjs index 177f55cca5..8ac08d0e54 100644 --- a/scripts/collections/utils/create-dir.mjs +++ b/scripts/collections/utils/create-dir.mjs @@ -1,11 +1,12 @@ import { existsSync } from "fs"; import fs from "fs/promises"; import path from "path"; +import { cwd } from "process"; export async function createSolidCollectionDir() { - const collectionDir = path.resolve(process.cwd(), ".solid"); + const collectionDir = path.resolve(cwd(), ".solid"); if (!existsSync(collectionDir)) { - fs.mkdir(path.resolve(process.cwd(), ".solid")); + fs.mkdir(path.resolve(cwd(), ".solid")); } } diff --git a/scripts/collections/utils/get-dir-data.mjs b/scripts/collections/utils/get-dir-data.mjs index a479dc3b84..8493e2bec0 100644 --- a/scripts/collections/utils/get-dir-data.mjs +++ b/scripts/collections/utils/get-dir-data.mjs @@ -2,6 +2,7 @@ import fs from "fs/promises"; import path from "path"; import { sectionData } from "../schemas.mjs"; import { languages } from "../index.mjs"; +import { cwd } from "process"; /** * @@ -17,7 +18,7 @@ function formatDirPath(path) { return path; } -export async function getDirData(dirPath = process.cwd()) { +export async function getDirData(dirPath = cwd()) { const dir = formatDirPath(dirPath); try { const data = JSON.parse( diff --git a/scripts/create-i18n-entries.mjs b/scripts/create-i18n-entries.mjs index 640a80238c..2f4802d071 100644 --- a/scripts/create-i18n-entries.mjs +++ b/scripts/create-i18n-entries.mjs @@ -2,6 +2,8 @@ import { existsSync } from "fs"; import path from "path"; import { COLLECTIONS_ROOT } from "./collections/index.mjs"; import { getFrontMatterData } from "./collections/utils/get-frontmatter.mjs"; +import { cwd } from "process"; + /** * @typedef {Object} DocsEntry * @property {string} type - The type of reference. @@ -32,7 +34,7 @@ async function buildSectionList(entryList = [], locale, project = "") { ? entry.path + "index" : entry.path; const i18nEntryPath = path.join( - process.cwd(), + cwd(), COLLECTIONS_ROOT, project, locale, diff --git a/scripts/create-i18n-tree.mjs b/scripts/create-i18n-tree.mjs index d3d3c43c2f..7491910655 100644 --- a/scripts/create-i18n-tree.mjs +++ b/scripts/create-i18n-tree.mjs @@ -2,6 +2,7 @@ import { existsSync } from "fs"; import path from "path"; import { COLLECTIONS_ROOT } from "./collections/index.mjs"; import { getFrontMatterData } from "./collections/utils/get-frontmatter.mjs"; +import { cwd } from "process"; /** * @typedef {Object} Leaf @@ -31,6 +32,8 @@ import { getFrontMatterData } from "./collections/utils/get-frontmatter.mjs"; * * @param {Branch["children"]} children */ + +// eslint-disable-next-line function traverseTree(children) { for (const child of children) { if (child.type === "section") { @@ -62,7 +65,7 @@ export async function createI18nTree(entryList, locale, project = "") { }); } else { const i18nEntryPath = path.join( - process.cwd(), + cwd(), COLLECTIONS_ROOT, project, locale, diff --git a/scripts/sync-orama.mjs b/scripts/sync-orama.mjs index 8d72936d4f..2a8b87dfb0 100644 --- a/scripts/sync-orama.mjs +++ b/scripts/sync-orama.mjs @@ -2,9 +2,10 @@ import { readFileSync } from "node:fs"; import { globSync } from "glob"; import { generalPurposeCrawler } from "@orama/crawly"; import "dotenv/config"; +import { env } from "process"; -const ORAMA_PRIVATE_API_KEY = process.env.ORAMA_PRIVATE_API_KEY; -const ORAMA_PRIVATE_INDEX_ID = process.env.ORAMA_PRIVATE_INDEX_ID; +const ORAMA_PRIVATE_API_KEY = env.ORAMA_PRIVATE_API_KEY; +const ORAMA_PRIVATE_INDEX_ID = env.ORAMA_PRIVATE_INDEX_ID; const baseURL = new URL("../dist", import.meta.url).pathname; const HTMLFiles = globSync("**/*.html", { cwd: baseURL }); diff --git a/src/middleware/legacy-routes-redirect.ts b/src/middleware/legacy-routes-redirect.ts index 73fcfffe2e..fff1e46a77 100644 --- a/src/middleware/legacy-routes-redirect.ts +++ b/src/middleware/legacy-routes-redirect.ts @@ -6,87 +6,152 @@ import { type FetchEvent } from "@solidjs/start/server"; * {origin: destination} */ const LEGACY_ROUTES = { - // api reference - "/references/api-reference/basic-reactivity/createEffect": "/reference/basic-reactivity/create-effect", - "/references/api-reference/basic-reactivity/createMemo": "/reference/basic-reactivity/create-memo", - "/references/api-reference/basic-reactivity/createResource": "/reference/basic-reactivity/create-resource", - "/references/api-reference/basic-reactivity/createSignal": "/reference/basic-reactivity/create-signal", - "/references/api-reference/component-apis/children": "/reference/component-apis/children", - "/references/api-reference/component-apis/createContext": "/reference/component-apis/create-context", - "/references/api-reference/component-apis/createUniqueId": "/reference/component-apis/create-unique-id", - "/references/api-reference/component-apis/lazy": "/reference/component-apis/lazy", - "/references/api-reference/component-apis/useContext": "/reference/component-apis/use-context", - "/references/api-reference/control-flow/Dynamic": "/reference/components/dynamic", - "/references/api-reference/control-flow/ErrorBoundary": "/reference/components/error-boundary", + "/references/api-reference/basic-reactivity/createEffect": + "/reference/basic-reactivity/create-effect", + "/references/api-reference/basic-reactivity/createMemo": + "/reference/basic-reactivity/create-memo", + "/references/api-reference/basic-reactivity/createResource": + "/reference/basic-reactivity/create-resource", + "/references/api-reference/basic-reactivity/createSignal": + "/reference/basic-reactivity/create-signal", + "/references/api-reference/component-apis/children": + "/reference/component-apis/children", + "/references/api-reference/component-apis/createContext": + "/reference/component-apis/create-context", + "/references/api-reference/component-apis/createUniqueId": + "/reference/component-apis/create-unique-id", + "/references/api-reference/component-apis/lazy": + "/reference/component-apis/lazy", + "/references/api-reference/component-apis/useContext": + "/reference/component-apis/use-context", + "/references/api-reference/control-flow/Dynamic": + "/reference/components/dynamic", + "/references/api-reference/control-flow/ErrorBoundary": + "/reference/components/error-boundary", "/references/api-reference/control-flow/For": "/reference/components/for", - "/references/api-reference/control-flow/Index": "/reference/components/index-component", - "/references/api-reference/control-flow/Portal": "/reference/components/portal", + "/references/api-reference/control-flow/Index": + "/reference/components/index-component", + "/references/api-reference/control-flow/Portal": + "/reference/components/portal", "/references/api-reference/control-flow/Show": "/reference/components/show", - "/references/api-reference/control-flow/Suspense": "/reference/components/suspense", - "/references/api-reference/control-flow/SuspenseList": "/reference/components/suspense-list", - "/references/api-reference/control-flow/Switch-and-Match": "/reference/components/switch-and-match", - "/references/api-reference/lifecycles/onCleanup": "/reference/lifecycle/on-cleanup", - "/references/api-reference/lifecycles/onError": "/reference/reactive-utilities/catch-error", - "/references/api-reference/lifecycles/onMount": "/reference/lifecycle/on-mount", - "/references/api-reference/reactive-utilities/batch": "/reference/reactive-utilities/batch", - "/references/api-reference/reactive-utilities/catchError": "/reference/reactive-utilities/catch-error", - "/references/api-reference/reactive-utilities/createRoot": "/reference/reactive-utilities/create-root", - "/references/api-reference/reactive-utilities/from": "/reference/reactive-utilities/from", - "/references/api-reference/reactive-utilities/getOwner": "/reference/reactive-utilities/get-owner", - "/references/api-reference/reactive-utilities/indexArray": "/reference/reactive-utilities/index-array", - "/references/api-reference/reactive-utilities/mapArray": "/reference/reactive-utilities/map-array", - "/references/api-reference/reactive-utilities/mergeProps": "/reference/reactive-utilities/merge-props", - "/references/api-reference/reactive-utilities/observable": "/reference/reactive-utilities/observable", - "/references/api-reference/reactive-utilities/on": "/reference/reactive-utilities/on", - "/references/api-reference/reactive-utilities/regularstartTransition": "/reference/reactive-utilities/start-transition", - "/references/api-reference/reactive-utilities/runWithOwner": "/reference/reactive-utilities/run-with-owner", - "/references/api-reference/reactive-utilities/splitProps": "/reference/reactive-utilities/split-props", - "/references/api-reference/reactive-utilities/untrack": "/reference/reactive-utilities/untrack", - "/references/api-reference/reactive-utilities/useTransition": "/reference/reactive-utilities/use-transition", + "/references/api-reference/control-flow/Suspense": + "/reference/components/suspense", + "/references/api-reference/control-flow/SuspenseList": + "/reference/components/suspense-list", + "/references/api-reference/control-flow/Switch-and-Match": + "/reference/components/switch-and-match", + "/references/api-reference/lifecycles/onCleanup": + "/reference/lifecycle/on-cleanup", + "/references/api-reference/lifecycles/onError": + "/reference/reactive-utilities/catch-error", + "/references/api-reference/lifecycles/onMount": + "/reference/lifecycle/on-mount", + "/references/api-reference/reactive-utilities/batch": + "/reference/reactive-utilities/batch", + "/references/api-reference/reactive-utilities/catchError": + "/reference/reactive-utilities/catch-error", + "/references/api-reference/reactive-utilities/createRoot": + "/reference/reactive-utilities/create-root", + "/references/api-reference/reactive-utilities/from": + "/reference/reactive-utilities/from", + "/references/api-reference/reactive-utilities/getOwner": + "/reference/reactive-utilities/get-owner", + "/references/api-reference/reactive-utilities/indexArray": + "/reference/reactive-utilities/index-array", + "/references/api-reference/reactive-utilities/mapArray": + "/reference/reactive-utilities/map-array", + "/references/api-reference/reactive-utilities/mergeProps": + "/reference/reactive-utilities/merge-props", + "/references/api-reference/reactive-utilities/observable": + "/reference/reactive-utilities/observable", + "/references/api-reference/reactive-utilities/on": + "/reference/reactive-utilities/on", + "/references/api-reference/reactive-utilities/regularstartTransition": + "/reference/reactive-utilities/start-transition", + "/references/api-reference/reactive-utilities/runWithOwner": + "/reference/reactive-utilities/run-with-owner", + "/references/api-reference/reactive-utilities/splitProps": + "/reference/reactive-utilities/split-props", + "/references/api-reference/reactive-utilities/untrack": + "/reference/reactive-utilities/untrack", + "/references/api-reference/reactive-utilities/useTransition": + "/reference/reactive-utilities/use-transition", "/references/api-reference/rendering/DEV": "/reference/rendering/dev", "/references/api-reference/rendering/hydrate": "/reference/rendering/hydrate", - "/references/api-reference/rendering/HydrationScript": "/reference/rendering/hydration-script", - "/references/api-reference/rendering/isServer": "/reference/rendering/is-server", + "/references/api-reference/rendering/HydrationScript": + "/reference/rendering/hydration-script", + "/references/api-reference/rendering/isServer": + "/reference/rendering/is-server", "/references/api-reference/rendering/render": "/reference/rendering/render", - "/references/api-reference/rendering/renderToStream": "/reference/rendering/render-to-stream", - "/references/api-reference/rendering/renderToString": "/reference/rendering/render-to-string", - "/references/api-reference/rendering/renderToStringAsync": "/reference/rendering/render-to-string-async", - "/references/api-reference/secondary-primitives/createComputed": "/reference/secondary-primitives/create-computed", - "/references/api-reference/secondary-primitives/createDeferred": "/reference/secondary-primitives/create-deferred", - "/references/api-reference/secondary-primitives/createReaction": "/reference/secondary-primitives/create-reaction", - "/references/api-reference/secondary-primitives/createRenderEffect": "/reference/secondary-primitives/create-render-effect", - "/references/api-reference/secondary-primitives/createSelector": "/reference/secondary-primitives/create-selector", - "/references/api-reference/special-jsx-attributes/attr_": "/reference/jsx-attributes/attr", - "/references/api-reference/special-jsx-attributes/classList": "/reference/jsx-attributes/classlist", - "/references/api-reference/special-jsx-attributes/innerHTML-or-textContent": "/reference/jsx-attributes/innerhtml", - "/references/api-reference/special-jsx-attributes/on_": "/reference/jsx-attributes/on_", - "/references/api-reference/special-jsx-attributes/on_-and-oncapture_": "/reference/jsx-attributes/on", + "/references/api-reference/rendering/renderToStream": + "/reference/rendering/render-to-stream", + "/references/api-reference/rendering/renderToString": + "/reference/rendering/render-to-string", + "/references/api-reference/rendering/renderToStringAsync": + "/reference/rendering/render-to-string-async", + "/references/api-reference/secondary-primitives/createComputed": + "/reference/secondary-primitives/create-computed", + "/references/api-reference/secondary-primitives/createDeferred": + "/reference/secondary-primitives/create-deferred", + "/references/api-reference/secondary-primitives/createReaction": + "/reference/secondary-primitives/create-reaction", + "/references/api-reference/secondary-primitives/createRenderEffect": + "/reference/secondary-primitives/create-render-effect", + "/references/api-reference/secondary-primitives/createSelector": + "/reference/secondary-primitives/create-selector", + "/references/api-reference/special-jsx-attributes/attr_": + "/reference/jsx-attributes/attr", + "/references/api-reference/special-jsx-attributes/classList": + "/reference/jsx-attributes/classlist", + "/references/api-reference/special-jsx-attributes/innerHTML-or-textContent": + "/reference/jsx-attributes/innerhtml", + "/references/api-reference/special-jsx-attributes/on_": + "/reference/jsx-attributes/on_", + "/references/api-reference/special-jsx-attributes/on_-and-oncapture_": + "/reference/jsx-attributes/on", - "/references/api-reference/special-jsx-attributes/once": "/reference/jsx-attributes/once", - "/references/api-reference/special-jsx-attributes/prop_": "/reference/jsx-attributes/prop", - "/references/api-reference/special-jsx-attributes/ref": "/reference/jsx-attributes/ref", - "/references/api-reference/special-jsx-attributes/style": "/reference/jsx-attributes/style", - "/references/api-reference/special-jsx-attributes/use_": "/reference/jsx-attributes/use", - "/references/api-reference/stores/store-utilities": "/concepts/stores#store-utilities", + "/references/api-reference/special-jsx-attributes/once": + "/reference/jsx-attributes/once", + "/references/api-reference/special-jsx-attributes/prop_": + "/reference/jsx-attributes/prop", + "/references/api-reference/special-jsx-attributes/ref": + "/reference/jsx-attributes/ref", + "/references/api-reference/special-jsx-attributes/style": + "/reference/jsx-attributes/style", + "/references/api-reference/special-jsx-attributes/use_": + "/reference/jsx-attributes/use", + "/references/api-reference/stores/store-utilities": + "/concepts/stores#store-utilities", "/references/api-reference/stores/using-stores": "/concepts/stores", // deployment "/guides/how-to-guides/deployment": "/guides/deploying-your-app", - "/guides/how-to-guides/deployment/deploying-to-cloudflare": "/guides/deployment-options/cloudflare", - "/guides/how-to-guides/deployment/deploying-to-firebase": "/guides/deployment-options/firebase", - "/guides/how-to-guides/deployment/deploying-to-flightcontrol": "/guides/deployment-options/aws-via-flightcontrol", - "/guides/how-to-guides/deployment/deploying-to-netlify": "/guides/deployment-options/netlify", - "/guides/how-to-guides/deployment/deploying-to-railway": "/guides/deployment-options/railway", - "/guides/how-to-guides/deployment/deploying-to-vercel": "/guides/deployment-options/vercel", + "/guides/how-to-guides/deployment/deploying-to-cloudflare": + "/guides/deployment-options/cloudflare", + "/guides/how-to-guides/deployment/deploying-to-firebase": + "/guides/deployment-options/firebase", + "/guides/how-to-guides/deployment/deploying-to-flightcontrol": + "/guides/deployment-options/aws-via-flightcontrol", + "/guides/how-to-guides/deployment/deploying-to-netlify": + "/guides/deployment-options/netlify", + "/guides/how-to-guides/deployment/deploying-to-railway": + "/guides/deployment-options/railway", + "/guides/how-to-guides/deployment/deploying-to-vercel": + "/guides/deployment-options/vercel", // styling "/guides/how-to-guides/styling-in-solid": "/guides/styling-your-components", - "/guides/how-to-guides/styling-in-solid/sass": "/guides/styling-components/sass", - "/guides/how-to-guides/styling-in-solid/less": "/guides/styling-components/less", - "/guides/how-to-guides/styling-in-solid/tailwind-css": "/guides/styling-components/tailwind", - "/guides/how-to-guides/styling-in-solid/css-modules": "/guides/styling-components/css-modules", - "/guides/how-to-guides/styling-in-solid/unocss": "/guides/styling-components/uno", + "/guides/how-to-guides/styling-in-solid/sass": + "/guides/styling-components/sass", + "/guides/how-to-guides/styling-in-solid/less": + "/guides/styling-components/less", + "/guides/how-to-guides/styling-in-solid/tailwind-css": + "/guides/styling-components/tailwind", + "/guides/how-to-guides/styling-in-solid/css-modules": + "/guides/styling-components/css-modules", + "/guides/how-to-guides/styling-in-solid/unocss": + "/guides/styling-components/uno", // trailing slash removal "/routing/migration/": "/routing/migration", @@ -97,17 +162,21 @@ const LEGACY_ROUTES = { "/guides/foundations/typescript-for-solid": "/configuration/typescript", "/guides/foundations/understanding-components": "/concepts/components/basics", "/guides/foundations/why-solid": "/#advantages-of-using-solid", - "/guides/how-to-guides/routing-in-solid/solid-router": "/routing/installation-and-setup", - "/guides/tutorials/getting-started-with-solid/installing-solid": "/quick-start", + "/guides/how-to-guides/routing-in-solid/solid-router": + "/routing/installation-and-setup", + "/guides/tutorials/getting-started-with-solid/installing-solid": + "/quick-start", "/references/concepts/reactivity": "/concepts/intro-to-reactivity", - "/references/concepts/reactivity/tracking": "/concepts/intro-to-reactivity#subscribers", + "/references/concepts/reactivity/tracking": + "/concepts/intro-to-reactivity#subscribers", "/references/concepts/ssr/async-ssr": "/guides/fetching-data", - "/references/concepts/ssr/simple-client-fetching-ssr": "/guides/fetching-data", - "/references/concepts/state-management/context": "/guides/complex-state-management#state-sharing", + "/references/concepts/ssr/simple-client-fetching-ssr": + "/guides/fetching-data", + "/references/concepts/state-management/context": + "/guides/complex-state-management#state-sharing", // solid-docs-next moves/new location for old pages/solid api updates "/reference/jsx-attributes/on-and-oncapture": "/reference/jsx-attributes/on", - } as const; function isLegacyRoute(path: string): path is keyof typeof LEGACY_ROUTES { diff --git a/src/routes/advanced-concepts/fine-grained-reactivity.mdx b/src/routes/advanced-concepts/fine-grained-reactivity.mdx index 7907f064c8..396a2c6845 100644 --- a/src/routes/advanced-concepts/fine-grained-reactivity.mdx +++ b/src/routes/advanced-concepts/fine-grained-reactivity.mdx @@ -2,40 +2,31 @@ title: Fine-grained reactivity --- -Reactivity ensures automatic responses to data changes, eliminating the need for manual updates to the user interface (UI). -By connecting UI elements to the underlying data, updates become automated. -In a fine-grained reactive system an application will now have the ability to make highly _targeted and specific_ updates. +Reactivity ensures automatic responses to data changes, eliminating the need for manual updates to the user interface (UI). By connecting UI elements to the underlying data, updates become automated. In a fine-grained reactive system an application will now have the ability to make highly _targeted and specific_ updates. -An example of this can be seen in the contrast between Solid and [React](https://react.dev/). -In Solid, updates are made to the targeted attribute that needs to be changed, avoiding broader and, sometimes unnecessary, updates. -In contrast, React would re-execute an entire component for a change in the single attribute, which can be less efficient. +An example of this can be seen in the contrast between Solid and [React](https://react.dev/). In Solid, updates are made to the targeted attribute that needs to be changed, avoiding broader and, sometimes unnecessary, updates. In contrast, React would re-execute an entire component for a change in the single attribute, which can be less efficient. -Because of the fine-grained reactive system, unnecessary recalculations are avoided. -Through targeting only the areas of an application that have changed the user experience becomes smoother and more optimized. +Because of the fine-grained reactive system, unnecessary recalculations are avoided. Through targeting only the areas of an application that have changed the user experience becomes smoother and more optimized. **Note:** If you're new to the concept of reactivity and want to learn the basics, consider starting with our [intro to reactivity guide](/concepts/intro-to-reactivity). ## Reactive primitives -In Solid's reactivity system, there are two key elements: signals and observers. -These core elements serve as the foundation for more specialized reactive features: +In Solid's reactivity system, there are two key elements: signals and observers. These core elements serve as the foundation for more specialized reactive features: - [Stores](/concepts/stores) which are [proxies](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) that create, read, and write signals under the hood. -- [Memos](/concepts/derived-values/memos) resemble [effects](/concepts/effects) but are distinct in that they _return_ a signal and optimize computations through caching. - They update based on the behavior of effects, but are more ideal for computational optimization. +- [Memos](/concepts/derived-values/memos) resemble [effects](/concepts/effects) but are distinct in that they _return_ a signal and optimize computations through caching. They update based on the behavior of effects, but are more ideal for computational optimization. - [Resources](/guides/fetching-data), building on the concept of memos, convert the asynchronicity of network requests into synchronicity, where the results are embedded within a signal. - Render effects are a tailored type of effect that initiate immediately, specifically designed for managing the rendering process. ### Understanding signals -[Signals](/concepts/signals) are like mutable variables that can point to a value now and another in the future. -They are made up of two primary functions: +[Signals](/concepts/signals) are like mutable variables that can point to a value now and another in the future. They are made up of two primary functions: - **Getter**: how to read the current value of a signal. - **Setter**: a way to modify or update a signal's value. -In Solid, the [`createSignal`](/reference/basic-reactivity/create-signal) function can be used to create a signal. -This function returns the getter and setter as a pair in a two-element array, called a tuple. +In Solid, the [`createSignal`](/reference/basic-reactivity/create-signal) function can be used to create a signal. This function returns the getter and setter as a pair in a two-element array, called a tuple. ```js import { createSignal } from "solid-js"; @@ -53,8 +44,7 @@ Here, `count` serves as the getter, and `setCount` functions as the setter. ### Effects -[Effects](/concepts/effects) are functions that are triggered when the signals they depend on point to a different value. -They can be thought of as automated responders where any changes in the signal's value will trigger the effect to run. +[Effects](/concepts/effects) are functions that are triggered when the signals they depend on point to a different value. They can be thought of as automated responders where any changes in the signal's value will trigger the effect to run. ```jsx import { createSignal, createEffect } from "solid-js"; @@ -72,8 +62,7 @@ The effect takes a function that is called whenever _any_ of the signals it reli To grasp the concept of reactivity, it is often helpful to construct a reactive system from scratch. -The following example will follow the observer pattern, where data entities (signals) will maintain a list of their subscribers (effects). -This is a way to notify subscribers whenever a signal they observe changes. +The following example will follow the observer pattern, where data entities (signals) will maintain a list of their subscribers (effects). This is a way to notify subscribers whenever a signal they observe changes. Here is a basic code outline to begin: @@ -116,8 +105,7 @@ function createSignal(initialValue) { // .. ``` -This allows you to retrieve the current value through the getter and make any changes via the setter. -At this stage, reactivity is not present, however. +This allows you to retrieve the current value through the getter and make any changes via the setter. At this stage, reactivity is not present, however. ### `createEffect` @@ -178,19 +166,14 @@ function createEffect(fn) { //.. ``` -A variable is used to hold a reference to the current executing subscriber function. -This is used to determine which effects are dependent on which signals. +A variable is used to hold a reference to the current executing subscriber function. This is used to determine which effects are dependent on which signals. -Inside `createSignal`, the initial value is stored and a [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) is used to store any subscriber functions that are dependent on the signal. -This function will then return two functions for the signal: +Inside `createSignal`, the initial value is stored and a [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) is used to store any subscriber functions that are dependent on the signal. This function will then return two functions for the signal: - The `getter` function checks to see if the current subscriber function is being accessed and, if it is, adds it to the list of subscribers before returning the _current_ value of the signal. - The `setter` function evaluated the new value against the old value, notifying the dependent functions only when the signal has been updated. -When creating the `createEffect` function, a reference to any previous subscribers is initialized to handle any possible nested effects present. -The current subscriber is then passed to the given function, which is run immediately. -During this run, if the effect accesses any signals it is then registered as a subscriber to those signals. -The current subscriber, once the given function has been run, will be reset to its previous value so that, if there are any nested effects, they are operated correctly. +When creating the `createEffect` function, a reference to any previous subscribers is initialized to handle any possible nested effects present. The current subscriber is then passed to the given function, which is run immediately. During this run, if the effect accesses any signals it is then registered as a subscriber to those signals. The current subscriber, once the given function has been run, will be reset to its previous value so that, if there are any nested effects, they are operated correctly. ### Validating the reactive system @@ -214,12 +197,9 @@ This will display the incremented count value on the console at one-second inter ## Managing lifecycles in a reactive system -In reactive systems, various elements, often referred to as "nodes", are interconnected. -These nodes can be signals, effects, or other reactive primitives. -They serve as the individual units that collectively make up the reactive behavior of the system. +In reactive systems, various elements, often referred to as "nodes", are interconnected. These nodes can be signals, effects, or other reactive primitives. They serve as the individual units that collectively make up the reactive behavior of the system. -When a node changes, the system will re-evaluate the parts connected to that node. -This can result in updates, additions, or removals of these connections, which affect the overall behavior of the system. +When a node changes, the system will re-evaluate the parts connected to that node. This can result in updates, additions, or removals of these connections, which affect the overall behavior of the system. Now, consider a scenario where a condition influences the data used to calculate an output: @@ -247,19 +227,15 @@ console.log("4. Turn on displayTemp"); setDisplayTemp(true); ``` -In this example, the `createMemo` primitive is used to cache the state of a computation. -This means the computation doesn't have to be re-run if its dependencies remain unchanged. +In this example, the `createMemo` primitive is used to cache the state of a computation. This means the computation doesn't have to be re-run if its dependencies remain unchanged. -The `displayTemperature` memo has an early return condition based on the value of `displayTemp`. -When `displayTemp` is false, the memo returns a message saying "Temperature display is off," and as a result, `temperature` and `unit` are not tracked. +The `displayTemperature` memo has an early return condition based on the value of `displayTemp`. When `displayTemp` is false, the memo returns a message saying "Temperature display is off," and as a result, `temperature` and `unit` are not tracked. If the `unit` is changed while `displayTemp` is false, however, the effect won't trigger since none of the memo's current dependencies (`displayTemp` in this case) have changed. ### Synchronous nature of effect tracking -The reactivity system described above operates synchronously. -This operation has implications for how effects and their dependencies are tracked. -Specifically, the system registers the subscriber, runs the effect function, and then unregisters the subscriber — all in a linear, synchronous sequence. +The reactivity system described above operates synchronously. This operation has implications for how effects and their dependencies are tracked. Specifically, the system registers the subscriber, runs the effect function, and then unregisters the subscriber — all in a linear, synchronous sequence. Consider the following example: @@ -271,20 +247,12 @@ createEffect(() => { }); ``` -The `createEffect` function in this example, initiates a `setTimeout` to delay the console log. -Because the system is synchronous, it doesn't wait for this operation to complete. -By the time the `count` getter is triggered within the `setTimeout`, the global scope no longer has a registered subscriber. -As a result, this `count` signal will not add the callback as a subscriber which leads to potential issues with tracking the changes to `count`. +The `createEffect` function in this example, initiates a `setTimeout` to delay the console log. Because the system is synchronous, it doesn't wait for this operation to complete. By the time the `count` getter is triggered within the `setTimeout`, the global scope no longer has a registered subscriber. As a result, this `count` signal will not add the callback as a subscriber which leads to potential issues with tracking the changes to `count`. ### Handling asynchronous effects -While the basic reactivity system is synchronous, frameworks like Solid offer more advanced features to handle asynchronous scenarios. -For example, the `on` function provides a way to manually specify the dependencies of an effect. -This is particularly useful for to make sure asynchronous operations are correctly tied into the reactive system. +While the basic reactivity system is synchronous, frameworks like Solid offer more advanced features to handle asynchronous scenarios. For example, the `on` function provides a way to manually specify the dependencies of an effect. This is particularly useful for to make sure asynchronous operations are correctly tied into the reactive system. -Solid also introduces the concept of resources for managing asynchronous operations. -Resources are specialized reactive primitives that convert the asynchronicity of operations like network requests into synchronicity, embedding the results within a signal. -The system can then track asynchronous operations and their state, keeping the UI up-to-date when the operation completes or its' state changes. +Solid also introduces the concept of resources for managing asynchronous operations. Resources are specialized reactive primitives that convert the asynchronicity of operations like network requests into synchronicity, embedding the results within a signal. The system can then track asynchronous operations and their state, keeping the UI up-to-date when the operation completes or its' state changes. -Using resources in Solid can assist in complex scenarios when multiple asynchronous operations are involved and the completion may affect different parts of the reactive system. -By integrating resources into the system, you can ensure that dependencies are correctly tracked and that the UI remains consistent with the underlying asynchronous data. +Using resources in Solid can assist in complex scenarios when multiple asynchronous operations are involved and the completion may affect different parts of the reactive system. By integrating resources into the system, you can ensure that dependencies are correctly tracked and that the UI remains consistent with the underlying asynchronous data. diff --git a/src/routes/concepts/components/basics.mdx b/src/routes/concepts/components/basics.mdx index 0aff88effb..76ea49a8d5 100644 --- a/src/routes/concepts/components/basics.mdx +++ b/src/routes/concepts/components/basics.mdx @@ -3,8 +3,7 @@ title: Basics order: 4 --- -Components are the building blocks of Solid applications. -These units are reusable and can be combined to create more complex applications. +Components are the building blocks of Solid applications. These units are reusable and can be combined to create more complex applications. Components are functions that return [JSX](/concepts/understanding-jsx) elements: @@ -14,8 +13,7 @@ function MyComponent() { } ``` -A component can be as simple as a single element or as complex as a full page. -They can also be nested within each other to create more intricate applications: +A component can be as simple as a single element or as complex as a full page. They can also be nested within each other to create more intricate applications: ```tsx function App() { @@ -29,10 +27,7 @@ function App() { ## Component trees -A web page is displayed by rendering a component tree, which is a hierarchical structure of components. -At the top of the tree is the primary application component, which is the root of the tree. -Child components are nested within the primary component, and those components can have their own child components. -This nesting can continue as needed. +A web page is displayed by rendering a component tree, which is a hierarchical structure of components. At the top of the tree is the primary application component, which is the root of the tree. Child components are nested within the primary component, and those components can have their own child components. This nesting can continue as needed. A simple application may have a component tree that looks like this: @@ -41,8 +36,7 @@ App // primary application component └── MyComponent // child component ``` -When an application grows, the component tree can become more complex. -For example, a more complex application may have a component tree that looks like this: +When an application grows, the component tree can become more complex. For example, a more complex application may have a component tree that looks like this: ```json App @@ -62,34 +56,23 @@ App └── Footer ``` -In nesting components, you can create a hierarchy of components that can be reused throughout the application. -This allows for a more modular approach to building applications, as components can be reused in different contexts. +In nesting components, you can create a hierarchy of components that can be reused throughout the application. This allows for a more modular approach to building applications, as components can be reused in different contexts. ## Component lifecycles -Components have a lifecycle that defines how they are created, updated, and destroyed. -A Solid component's lifecycle is different from other frameworks, as it is tied to the [concept of reactivity](/concepts/intro-to-reactivity). +Components have a lifecycle that defines how they are created, updated, and destroyed. A Solid component's lifecycle is different from other frameworks, as it is tied to the [concept of reactivity](/concepts/intro-to-reactivity). -Where frameworks may re-run components on every state change, a Solid component's lifecycle is tied to its initial run. -What this means is that a Solid component is only run once, when it is first rendered into the DOM. -After that, the component is not re-run, even if the application's state changes. +Where frameworks may re-run components on every state change, a Solid component's lifecycle is tied to its initial run. What this means is that a Solid component is only run once, when it is first rendered into the DOM. After that, the component is not re-run, even if the application's state changes. -When the Solid component renders, it sets up a reactive system that monitors for state changes. -When a state change occurs, the component will update the relevant areas without re-running the entire component. -By bypassing the full component lifecycle on every state change, Solid has a more predictable behavior compared to frameworks that re-run functions on every update. +When the Solid component renders, it sets up a reactive system that monitors for state changes. When a state change occurs, the component will update the relevant areas without re-running the entire component. By bypassing the full component lifecycle on every state change, Solid has a more predictable behavior compared to frameworks that re-run functions on every update. Since the component's logic is not continuously visited, getting this setup right is important when working with Solid. ### Initialization & configuration -When a component is first rendered into the DOM, the component function is executed. -This is where you will set up the component's state and side-effects. -This includes setting up [signals](/concepts/signals), [stores](/concepts/stores), [effects](/concepts/effects), and other reactive elements. -Since the logic in the component function is not continuously visited, it is important to set up the component correctly from the outset. +When a component is first rendered into the DOM, the component function is executed. This is where you will set up the component's state and side-effects. This includes setting up [signals](/concepts/signals), [stores](/concepts/stores), [effects](/concepts/effects), and other reactive elements. Since the logic in the component function is not continuously visited, it is important to set up the component correctly from the outset. -Each component instance is independent of other instances, meaning that each component has its own state and side-effects. -Through establishing proper dependencies, you can ensure that the component is set up correctly. -This allows for components to be reused in different contexts without affecting each other. +Each component instance is independent of other instances, meaning that each component has its own state and side-effects. Through establishing proper dependencies, you can ensure that the component is set up correctly. This allows for components to be reused in different contexts without affecting each other. ```tsx function MyComponent() { @@ -106,12 +89,9 @@ function MyComponent() { } ``` -When this component is rendered into the DOM, the function body is executed. -This includes creating the `count` signal and executing the `console.log(count())` statement, which will log the current value of `count` to the console. -In addition, the component's JSX is returned, which will be rendered into the DOM. +When this component is rendered into the DOM, the function body is executed. This includes creating the `count` signal and executing the `console.log(count())` statement, which will log the current value of `count` to the console. In addition, the component's JSX is returned, which will be rendered into the DOM. -After the component is rendered, the `console.log` statement will not be executed again, even if the component's state changes. -However, because the component's JSX is reactive, each press of the button will update the DOM with the new value of `count`. +After the component is rendered, the `console.log` statement will not be executed again, even if the component's state changes. However, because the component's JSX is reactive, each press of the button will update the DOM with the new value of `count`. In essence, Solid splits the concerns: @@ -120,9 +100,7 @@ In essence, Solid splits the concerns: ### Conditional rendering -To display different content based on state or other criteria, you can use conditional rendering. -Given that the component function is only executed once, conditional statements must be placed within the return statement. -This design ensures that conditional paths are clear and immediately understood. +To display different content based on state or other criteria, you can use conditional rendering. Given that the component function is only executed once, conditional statements must be placed within the return statement. This design ensures that conditional paths are clear and immediately understood. ```tsx function MyComponent() { @@ -144,11 +122,10 @@ function MyComponent() { } ``` -This example uses a [ternary operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_operator) to conditionally render different content based on the value of `count`. -When `count` is greater than 5, the component will display `"Count limit reached"`. -Otherwise, it will display the current count with an increment button. +This example uses a [ternary operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_operator) to conditionally render different content based on the value of `count`. When `count` is greater than 5, the component will display `"Count limit reached"`. Otherwise, it will display the current count with an increment button. :::info + To simplify conditional rendering, Solid provides built-in [control-flow](/concepts/control-flow/conditional-rendering) components like [`Show`](/concepts/control-flow/conditional-rendering#show), which create a more readable conditional rendering experience. ```tsx @@ -177,18 +154,15 @@ To simplify conditional rendering, Solid provides built-in [control-flow](/conce ## Importing and exporting -For components to be reusable, they need to be exported from one module and imported into another. -This allows for components to be shared and used where needed. +For components to be reusable, they need to be exported from one module and imported into another. This allows for components to be shared and used where needed. ### Exporting components -Once defined, a component can be [exported](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export) to make it available for use in other parts of your application. -There are two ways to export a component: [named exports](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#named_exports) and [default exports](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#default_exports). +Once defined, a component can be [exported](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export) to make it available for use in other parts of your application. There are two ways to export a component: [named exports](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#named_exports) and [default exports](https://developer.mozilla.org/en-US/docs/web/javascript/reference/statements/export#default_exports). **Named export:** -Named exports allow for multiple components to be exported from a single file. -To export a component, you must use the `export` keyword before the function definition or specify the name of the component to export in curly braces (`{}`). +Named exports allow for multiple components to be exported from a single file. To export a component, you must use the `export` keyword before the function definition or specify the name of the component to export in curly braces (`{}`). ```typescript export function MyComponent() { @@ -206,8 +180,7 @@ export { MyComponent } **Default export:** -Default exports specify a single component to export from a file. -This is done by using the `default` keyword. +Default exports specify a single component to export from a file. This is done by using the `default` keyword. ```typescript // MyComponent.ts @@ -218,8 +191,7 @@ export default function MyComponent() { ### Importing components -To use a component in another file or component, it must be [imported](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import). -To import a component, you must specify the path to the file containing the component and the name of the component to import. +To use a component in another file or component, it must be [imported](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import). To import a component, you must specify the path to the file containing the component and the name of the component to import. **Named import:** @@ -238,8 +210,7 @@ function App() { } ``` -This is the preferred way to import components, as it allows for better code readability and maintainability. -Additionally, it allows for multiple components to be imported from the same file. +This is the preferred way to import components, as it allows for better code readability and maintainability. Additionally, it allows for multiple components to be imported from the same file. ```tsx // App.ts @@ -274,8 +245,7 @@ function App() { ### Importing Solid and its utilities -To use Solid, you must import the Solid library. -The reactive primitives and utilities are exported from Solid's main module. +To use Solid, you must import the Solid library. The reactive primitives and utilities are exported from Solid's main module. ```tsx import { createSignal } from "solid-js"; diff --git a/src/routes/concepts/components/class-style.mdx b/src/routes/concepts/components/class-style.mdx index d71c419b1d..30a079c25d 100644 --- a/src/routes/concepts/components/class-style.mdx +++ b/src/routes/concepts/components/class-style.mdx @@ -10,8 +10,7 @@ Similar to HTML, Solid uses `class` and `style` attributes to style elements via ## Inline styling -The `style` attribute allows you to style a single element and define CSS variables dynamically during runtime. -To use it, you can pass either a string or an object. +The `style` attribute allows you to style a single element and define CSS variables dynamically during runtime. To use it, you can pass either a string or an object. ```tsx // String @@ -21,25 +20,20 @@ To use it, you can pass either a string or an object.
Outcome 1
-Outcome 2
-Outcome 1
+Outcome 2
+Outcome 2
My Element
+ const myElement =My Element
; - returnMy Element
{ - myElement = el // el is created but not yet added to the DOM - }}> +
{ + myElement = el; // el is created but not yet added to the DOM + }} +> My Element
``` :::info -In TypeScript, you must use a definitive assignment assertion. -Since Solid takes care of assigning the variable when the component is rendered, this signals to TypeScript that the variable will be assigned, even if it can't -confirm it. + +In TypeScript, you must use a definitive assignment assertion. Since Solid takes care of assigning the variable when the component is rendered, this signals to TypeScript that the variable will be assigned, even if it can't confirm it. ```tsx let myElement!: HTMLDivElement; ``` + ::: ### Signals as refs -[Signals](/concepts/signals) can also be used as refs. -This is useful when you want to access the element directly, but the element may not exist when the component is first rendered, or may be removed from the DOM at some point. +[Signals](/concepts/signals) can also be used as refs. This is useful when you want to access the element directly, but the element may not exist when the component is first rendered, or may be removed from the DOM at some point. ```jsx function App() { - const [show, setShow] = createSignal(false) - const [element, setElement] = createSignal() + const [show, setShow] = createSignal(false); + const [element, setElement] = createSignal(); return (This is the ref element
I have a {animal.breed} named {animal.name}!
- ) -} + ); +}; ``` This means JavaScript content can be rendered on web pages based on an application's state or logic. -Additionally, Solid's [reactive](/concepts/intro-to-reactivity) system introduces [fine-grained reactivity](/advanced-concepts/fine-grained-reactivity) with JSX. -This updates only the necessary parts of the DOM when changes occur in the underlying state. +Additionally, Solid's [reactive](/concepts/intro-to-reactivity) system introduces [fine-grained reactivity](/advanced-concepts/fine-grained-reactivity) with JSX. This updates only the necessary parts of the DOM when changes occur in the underlying state. ## Using JSX in Solid @@ -43,21 +38,18 @@ This updates only the necessary parts of the DOM when changes occur in the under Where HTML lets you have disconnected tags at the top level, JSX requires that a component to return a single root element. :::advanced -When working with JSX, parts of your code are translated into structured HTML that is placed at the start of the file. -Static elements are processed differently from dynamic ones, which might change based on data or user actions. -For dynamic elements, special markers are added for better handling during rendering. + +When working with JSX, parts of your code are translated into structured HTML that is placed at the start of the file. Static elements are processed differently from dynamic ones, which might change based on data or user actions. For dynamic elements, special markers are added for better handling during rendering. Having a single root creates a consistent and manageable hierarchy to optimize rendering and updates. + ::: -JSX maintains the familiar nested, tree-like structure found in HTML. -As a result, parent-child relationships between elements become easier to follow. +JSX maintains the familiar nested, tree-like structure found in HTML. As a result, parent-child relationships between elements become easier to follow. ### Close all tags -Self-closing tags are a must in JSX. -Unlike in HTML, where elements like ``, `