@@ -235,7 +235,7 @@ Join our community and connect with fellow learners:
We appreciate all contributions to recode hive! Thank you to everyone who has helped make this project better.
-
+
## βοΈ License
@@ -254,12 +254,11 @@ Stay up to date with the latest from recode hive:
---
-
-
+
**Happy open-source contributionsβhere's to your career success! π**
-
diff --git a/docs/GitHub/GitHub-basics/create-github-repo.md b/docs/GitHub/GitHub-basics/create-github-repo.md
index 38065fc3..47221393 100644
--- a/docs/GitHub/GitHub-basics/create-github-repo.md
+++ b/docs/GitHub/GitHub-basics/create-github-repo.md
@@ -132,7 +132,7 @@ You will now be able to see the uploaded resume in your repository.
### Watch the video Tutorial
-
+
## Conclusion
diff --git a/docs/GitHub/GitHub-basics/first-opensource-code.md b/docs/GitHub/GitHub-basics/first-opensource-code.md
index 3cd186ea..836f8b2d 100644
--- a/docs/GitHub/GitHub-basics/first-opensource-code.md
+++ b/docs/GitHub/GitHub-basics/first-opensource-code.md
@@ -49,7 +49,7 @@ This is a beginner-friendly repository designed for practicing open source contr
[](https://github.com/sanjay-kv/Open-source-Practice)
-
Step 1: Repository Home Page
+
Step 1: Repository Home Page
Take a moment to:
@@ -68,12 +68,12 @@ Forking creates your own copy of the repository where you can make changes witho
[](https://github.com/sanjay-kv/Learn-GitHub/fork)
-
Once the fork is complete, you'll see:
@@ -82,7 +82,7 @@ Once the fork is complete, you'll see:
[](https://github.com/sandemouser/Learn-GitHub)
-
Step 4: Fork Complete
+
Step 4: Fork Complete
## Step 3: Edit files directly on GitHub
@@ -101,7 +101,7 @@ For this practice repository, you'll typically add your name to a contributors l
[](https://github.com/sandemouser/Learn-GitHub)
-
Step 5: Add Your Name
+
Step 5: Add Your Name
Common first contributions include:
@@ -113,7 +113,7 @@ Common first contributions include:
[](https://github.com/sandemouser/Learn-GitHub)
-
Step 6: Changes Made
+
Step 6: Changes Made
:::tip Best Practices for Making Changes
@@ -140,7 +140,7 @@ After making your edits, you need to commit them. A commit is like saving a snap
[](https://github.com/sandemouser/Learn-GitHub)
-
Step 7: Commit Changes
+
Step 7: Commit Changes
**Good commit message examples:**
@@ -155,7 +155,7 @@ After making your edits, you need to commit them. A commit is like saving a snap
[](https://github.com/sandemouser/Learn-GitHub)
-
Step 8: Final Commit Review
+
Step 8: Final Commit Review
## Step 5: Create a Pull Request
@@ -188,7 +188,7 @@ A Pull Request is a way to propose changes to a repository. It allows:
[](https://github.com/sandemouser/Learn-GitHub)
-
Step 9: Create Pull Request
+
Step 9: Create Pull Request
### Writing a Good Pull Request Description
@@ -281,7 +281,7 @@ After creating your pull request:
For a visual walkthrough of the entire process, watch this helpful video:
-
+
## Finding Projects to Contribute To
diff --git a/docs/GitHub/GitHub-basics/github-repo-command-line.md b/docs/GitHub/GitHub-basics/github-repo-command-line.md
index 8cdaba65..fd790306 100644
--- a/docs/GitHub/GitHub-basics/github-repo-command-line.md
+++ b/docs/GitHub/GitHub-basics/github-repo-command-line.md
@@ -110,7 +110,7 @@ git config --global user.name "Github username"
-
+
## Conclusion
diff --git a/docs/GitHub/Maintainer-guide/enable-discussion.md b/docs/GitHub/Maintainer-guide/enable-discussion.md
index ee037026..6408d82c 100644
--- a/docs/GitHub/Maintainer-guide/enable-discussion.md
+++ b/docs/GitHub/Maintainer-guide/enable-discussion.md
@@ -129,7 +129,7 @@ Now you will be able to see the uploaded resume.
### Watch the video Tutorial
-
+
## Conclusion
diff --git a/docs/GitHub/Maintainer-guide/github-labels.md b/docs/GitHub/Maintainer-guide/github-labels.md
index 8b1fbaaa..b861787c 100644
--- a/docs/GitHub/Maintainer-guide/github-labels.md
+++ b/docs/GitHub/Maintainer-guide/github-labels.md
@@ -123,7 +123,7 @@ Now you will be able to see the uploaded resume.
### Watch the video Tutorial
-
+
## Conclusion
diff --git a/docs/GitHub/Maintainer-guide/github-project.md b/docs/GitHub/Maintainer-guide/github-project.md
index 5841bc52..97ddcba9 100644
--- a/docs/GitHub/Maintainer-guide/github-project.md
+++ b/docs/GitHub/Maintainer-guide/github-project.md
@@ -131,7 +131,7 @@ Now you will be able to see the uploaded resume.
### Watch the video Tutorial
-
+
## Conclusion
diff --git a/docs/GitHub/Maintainer-guide/milestone.md b/docs/GitHub/Maintainer-guide/milestone.md
index 86d59756..e271f578 100644
--- a/docs/GitHub/Maintainer-guide/milestone.md
+++ b/docs/GitHub/Maintainer-guide/milestone.md
@@ -127,7 +127,7 @@ Now you will be able to see the uploaded resume.
### Watch the video Tutorial
-
+
## Conclusion
diff --git a/docs/GitHub/intro-github.md b/docs/GitHub/intro-github.md
index 895359d4..09a63f8d 100644
--- a/docs/GitHub/intro-github.md
+++ b/docs/GitHub/intro-github.md
@@ -14,93 +14,106 @@ tags:
description: In this tutorial, you will learn about GitHub, its importance, what is GitHub from Scratch, how to use GitHub, steps to start using GitHub, and more.
---
-GitHub is a web-based platform used for version control and collaboration. It allows developers to work together on projects from anywhere in the world. GitHub is built on top of Git, a distributed version control system created by Linus Torvalds in 2005.
+GitHub is a cloud-based platform that helps developers store, manage, and track changes to their code. It combines the power of Git β a version control system β with a collaborative interface that makes teamwork across distributed teams possible. Whether you are building a solo project or contributing to a large open-source codebase, GitHub provides the tools to manage your work effectively.
:::note
Key Features of GitHub:
-GitHub will help you to control the version of the project on a large scale.
+- GitHub enables large-scale version control, letting teams track every change made to a project over time.
+- It supports both public and private repositories, making it suitable for open-source projects and proprietary software alike.
+- GitHub offers paid plans with additional features like advanced security, larger storage, and team management tools.
+:::
-GitHub offers Premium account for use, Premium users get unlimited GitHub Repo time, Storage etc.
+---
-:::
+## How to Start with GitHub?
-## How to start with GitHub?
+As a developer, you often want to share your work, get feedback, and collaborate with others. GitHub makes this possible by providing a central place where code can be hosted, reviewed, and improved together. Instead of emailing files back and forth, teams can work on the same codebase simultaneously without overwriting each other's work.
-Whenever you create something exciting or something new on your own, you always want to show it to others. As programmers, we also want to show our projects and codes to others, but how? So GitHub is the solution, it let's people to collaborate and scale the projects all on cloud. Some other example of similar platform are Bitbucket, GitLab, Beanstalk, etc. Many of them give you the facility to work on your code together as a team. Currently, GitHub is more popular than other above-listed platforms for hosting your code.
-:::info
-In the picture below, you can see Developer 1, Developer 2, etc., working on the same project. Let's say they are trying to build an Amazon website; Developer 1 handles the men's shopping section, Developer 2 deals with the women's section, and Developer 3 works on the login feature.
+Other platforms that offer similar functionality include Bitbucket, GitLab, and Azure Repos. Each has its strengths, but GitHub remains the most widely adopted platform for hosting open-source projects and developer portfolios.
-So, each individual works on a different feature from a copy of the central repository, once the development is done they push changes to the *remote repository* (central repo as per picture). Once a code review happens and it is good to go, the senior developer will merge the code into the central repository so all the features will be live in production.
+:::info
+Consider a team building an e-commerce website. Developer 1 works on the product listing page, Developer 2 handles the checkout flow, and Developer 3 builds the user authentication system. Each developer works on their own copy of the codebase locally. When their feature is ready, they push the changes to the shared remote repository on GitHub. A senior developer then reviews the code through a pull request and merges it into the main branch, making the new features available to everyone.
:::
-
- [](https://code.visualstudio.com/)
-
-
+
+ [](https://github.com/)
+
+---
-## What is Git??
+## What is Git?
-In the above example, all the developers were able to work on different features simultaneously because of Git. For uploading your project to your GitHub account, you need to install Git first. In other words, Git helps with the version management of files and coordinates work among a diverse team in the software development phase. Git is an open-source project and developed in 2005 by Linus Torvalds and Junior.
+Git is the engine that powers GitHub. It is a free, open-source distributed version control system created by Linus Torvalds in 2005. Torvalds originally built Git to manage the development of the Linux kernel, which required a system that could handle thousands of contributors efficiently.
+Git tracks changes to files over time, allowing developers to revisit earlier versions of their code, understand what changed and when, and coordinate work across a large team without conflicts.
-
:::info
-1. *What is Version control System?*: To understand the version control system, let me give you one example; sometimes, you wish you have a record that contains all the changes you made in your code or your project. The version control systems are software tools that record all of your changes in the files. It is like a database of changes. Git is a version control system that most developers prefer to use. We will see how you can upload your code on GitHub using Git. With VCS you can track the branch, who made changes at what time, line of code added, retrieve the previous version of changes.
-2. Basic Git Terminology::
-
- | Keyword | Terminology | Description |
- | --- | --------------- | -------------------- |
- | VCS | Version Control System | Track changes to a collection of files |
- | SCM | Software configuration Management | Another name for VCS,earlier versions of VCS, like CVS and SVN, used a centralized server, which caused a single point of failure. |
- | DVCS | Distributed Version Control System| Git is distributed, the project history is stored both in client and server. Means you can make changes locally and remote. |
- | Working Tree | Tree | Current version of files where the active project is on |
- | Repo | Repository | Top of the working tree where Git keeps all records and history. |
- | Bare repo | | Not part of working Tree ends with .git, eg. backup.git |
- | Hash | 160 bit long SHA-1 | Based on the hash number, the file has been modified or not. |
- | Object | Git has 4 objects | Tree Object(directory, names), Blob Object(main file), Commit Object(specific versions), Tag(name attached to commit) |
- | Commit | | Makes Changes |
- | Branch | A series of linked commits | The most recent commit is called Head. |
- | Remote | | reference to other git repo |
- | | Git Command | Check our [Git Commands Cheatsheet](../GitHub/setup-environment/git-commands.md) for practical examples |
-
+**What is a Version Control System?**
+
+Imagine you are working on a project and you accidentally delete an important function. Without version control, recovering that code would be difficult or impossible. A version control system (VCS) acts like a detailed history log β every change you make is recorded, along with who made it and when. You can roll back to any earlier state at any point.
+
+Git is a distributed version control system (DVCS), which means every developer has a full copy of the project history on their local machine. This makes it faster and more resilient than older centralized systems.
+
+**Core Git Terminology:**
+
+| Keyword | Terminology | Description |
+| --- | --------------- | -------------------- |
+| VCS | Version Control System | Tracks changes to a collection of files over time |
+| SCM | Software Configuration Management | Another term for VCS; earlier systems like CVS and SVN used centralized servers |
+| DVCS | Distributed Version Control System | Each developer holds a full copy of the project history locally and remotely |
+| Working Tree | Tree | The current state of files in your active project directory |
+| Repo | Repository | The top-level folder where Git stores all project history and records |
+| Bare Repo | | A repository without a working tree, typically used for remote backups; ends with `.git` |
+| Hash | 160-bit SHA-1 | A unique identifier generated for each commit to detect changes |
+| Object | Git has 4 object types | Tree (directories), Blob (file contents), Commit (snapshots), Tag (named references) |
+| Commit | | A saved snapshot of changes at a point in time |
+| Branch | A series of linked commits | An independent line of development; the latest commit is called HEAD |
+| Remote | | A reference to a Git repository hosted on another machine or server |
+| | Git Commands | See our [Git Commands Cheatsheet](../GitHub/setup-environment/git-commands.md) for practical examples |
:::
:::tip Need Git Commands?
-Want to start using Git right away? Check out our [comprehensive Git Commands Cheatsheet](../GitHub/setup-environment/git-commands.md) that includes 50 essential Git commands with examples. We also recommend trying [Learn Git Branching](https://learngitbranching.js.org/) - an interactive visual tool to practice Git commands in a gamified environment!
+Ready to start using Git? Check out our [comprehensive Git Commands Cheatsheet](../GitHub/setup-environment/git-commands.md) with 50 essential commands and real examples. We also recommend [Learn Git Branching](https://learngitbranching.js.org/) β an interactive visual tool to practice Git in a gamified environment.
:::
-## Why Learn GitHub?
+---
-GitHub simplifies the command-line interface of Git and makes it more GUI-friendly. GitHub is built on top of Git. Here want we do is staging the files and doing the commit, You can clone the entire repository, create a branch, commit to that branch, and then ask the main developer to merge the branch. When you clone in reality you are creating a copy of the real code/repository in your local environment.
+## Why Learn GitHub?
- 
-
-
-:::info
-1. Basic GitHub Keywords::
+GitHub builds on top of Git by adding a visual interface, collaboration features, and a large developer community. Here is why learning GitHub is valuable:
- | Category | Description |
- | --- | -------------------- |
- | Issues | The place where new suggestions or development ideas can be added. |
- | Discussions | Place where a community discussion can happen |
- | Pull requests | PR - Once the user worked on the issue, they can develop the feature and ask to merge |
- | Labels | Feature to categorise the issue, like bug, deadline, feature |
- | Actions | To automate the entire process of repeitive task on GitHub |
- | Forks | Cloning the original repo to your name |
+1. **Industry standard** β The majority of open-source projects and many private companies use GitHub to manage their codebases.
+2. **Portfolio visibility** β Your GitHub profile acts as a public portfolio that employers and collaborators can view.
+3. **Collaboration tools** β Features like pull requests, code reviews, and issue tracking make teamwork structured and transparent.
+4. **Automation** β GitHub Actions allows you to automate repetitive tasks like testing, building, and deploying your application.
+5. **Community** β GitHub hosts millions of open-source projects, making it a great place to learn from real codebases and contribute to projects you use.
+The typical GitHub workflow looks like this: you clone a repository to your local machine, create a new branch for your feature, make and commit your changes, push the branch to GitHub, and then open a pull request asking the project maintainer to review and merge your work.
-The fork is a personal copy of the repo which is already present or uploaded in GitHub by a different user. Once you fork and make changes to the repository the changes will happen to your forked repo, not the real one.
+
+:::info
+**Core GitHub Concepts:**
+
+| Feature | Description |
+| --- | -------------------- |
+| Issues | A place to report bugs, request features, or track tasks |
+| Discussions | A space for community conversations and questions |
+| Pull Requests | A request to merge your changes into the main codebase after review |
+| Labels | Tags used to categorize issues and pull requests (e.g. bug, enhancement) |
+| Actions | Automation workflows that run on events like push or pull request |
+| Forks | A personal copy of someone else's repository under your own account |
+
+A fork is useful when you want to contribute to a project you do not have direct write access to. You fork the repository, make your changes in your own copy, and then submit a pull request to the original project.
:::
+---
+### Watch the Video Tutorial
+
-### Watch the video Tutorial
-
-
-
+---
## Conclusion
-If you think this GitHub Tutorial starter kit for Beginner was useful to you, then donβt forget to share it with others. We will discuss this in detail in the next post. or In the next post, we will discuss how to upload your project to your GitHub account using Git.
+GitHub is far more than a place to store code β it is a complete platform for software collaboration, project management, and automation. By learning GitHub, you gain a skill that is relevant across every area of software development, from personal projects to large enterprise teams. In the next tutorial, we will walk through how to create your first GitHub repository and push your local project to it using Git.
\ No newline at end of file
diff --git a/docs/GitHub/intro-gitlab.md b/docs/GitHub/intro-gitlab.md
deleted file mode 100644
index 287d9269..00000000
--- a/docs/GitHub/intro-gitlab.md
+++ /dev/null
@@ -1,94 +0,0 @@
----
-id: intro-gitlab
-title: Introduction of GitLab
-sidebar_label: Introduction of GitLab #displays in sidebar
-sidebar_position: 2
-tags:
- [
- GitLab,
- Introduction of GitLab,
- Why learn GitLab,
- How to use GitLab,
- GitLab Prerequisites,
- ]
-description: In this tutorial, you will learn about GitLab, its importance, why learn GitLab, how to use GitLab, prerequisites to get started, and more.
----
-
-GitLab is a web-based DevOps lifecycle tool that provides a **Git repository manager**, issue tracking, continuous integration/continuous deployment (CI/CD) pipelines, and more. It is similar to GitHub but focuses heavily on providing an **all-in-one platform** for software development and DevOps.
-
-:::note
-Key Features of GitLab:
-- GitLab is not only a Git-based repository management tool but also provides **built-in CI/CD pipelines**.
-- Unlike GitHub, GitLab can be **self-hosted** as well as used on the cloud (GitLab.com).
-- GitLab offers Premium Plans with advanced CI/CD, security, compliance, and scalability features.
-:::
-
----
-
-## How to start with GitLab?
-
-When developers create new projects or collaborate on existing ones, they need a place to host, version, and automate their workflows. GitLab provides this with the **additional advantage of integrated DevOps tools** such as issue boards, pipelines, and monitoring.
-
-Other alternatives include GitHub, Bitbucket, and Azure Repos. GitLab is often preferred in organizations where **self-hosting** and **end-to-end DevOps** automation are critical.
-
-:::info
-In the picture below, you can see multiple developers working on the same project. For example, Developer 1 handles the backend APIs, Developer 2 builds the frontend interface, and Developer 3 manages CI/CD pipeline setup.
-
-Each developer works on their local copy of the repository and pushes their changes to the **remote GitLab repository**. After a merge request (MR) review, the maintainer merges the changes into the main branch. GitLab can then automatically trigger a **pipeline** to build, test, and deploy the new version of the project.
-:::
-
-
- [](https://about.gitlab.com/)
-
-
----
-
-## Why Learn GitLab?
-
-GitLab is more than just version controlβit provides a complete DevOps platform.
-Hereβs why you should learn it:
-
-1. **Integrated DevOps** β GitLab includes planning, coding, testing, security, deployment, and monitoring in one place.
-2. **Self-hosting option** β Unlike GitHub, GitLab allows organizations to run GitLab on their own servers.
-3. **Automation with CI/CD** β GitLabβs pipelines make testing and deployment faster and less error-prone.
-4. **Collaboration** β Teams can manage issues, boards, milestones, and code reviews easily.
-5. **Industry demand** β Many companies prefer GitLab for its **security compliance** and DevOps workflows.
-
----
-
-## How to Learn GitLab?
-
-To get started with GitLab, here are the recommended steps and prerequisites:
-
-:::info
-### π Prerequisites:
-- **Basic Git Knowledge**: Understand commands like `git clone`, `git add`, `git commit`, `git push`.
-- **Programming Knowledge**: Any language is fine (Python, JavaScript, Java, etc.).
-- **Command Line Basics**: Comfortable using a terminal (Linux, macOS, or Windows PowerShell).
-- **Optional (for CI/CD)**: Docker basics, YAML syntax (for writing pipeline configs).
-
----
-
-### π Learning Path:
-1. **Create an account** on [GitLab.com](https://gitlab.com/).
-2. **Install Git** on your system to interact with GitLab repositories.
-3. **Start a new project** or fork an existing repository.
-4. **Explore GitLab features**: issues, merge requests, labels, and boards.
-5. **Learn GitLab CI/CD** by creating `.gitlab-ci.yml` for automating builds/tests.
-6. **Advance**: Learn GitLab Runners, environment variables, and deployment.
-
-
-:::
-
----
-
-### Watch the video Tutorial
-
-
----
-
-## Conclusion
-
-GitLab is not just a code hosting toolβitβs a **complete DevOps ecosystem**. By learning GitLab, you gain both Git skills and practical experience with **automation pipelines, deployments, and project management tools**.
-
-In the next tutorial, we will explore how to create your first GitLab project, push code to it, and set up a CI/CD pipeline.
diff --git a/docs/GitHub/setup-environment/git-commands.md b/docs/GitHub/setup-environment/git-commands.md
index bbf822f8..02cc4dd5 100644
--- a/docs/GitHub/setup-environment/git-commands.md
+++ b/docs/GitHub/setup-environment/git-commands.md
@@ -182,7 +182,7 @@ git push -u origin main #Push changes to remote repository and remember the bran
:::
-
+
## Practice Git Interactively
diff --git a/docs/GitHub/setup-environment/setup-environment.md b/docs/GitHub/setup-environment/setup-environment.md
index 6f0fcdcd..233f5dfe 100644
--- a/docs/GitHub/setup-environment/setup-environment.md
+++ b/docs/GitHub/setup-environment/setup-environment.md
@@ -14,9 +14,9 @@ tags:
description: In this tutorial, you will learn how to set up your development environment for Git And GitHub.
---
-GitHub is a platform for version control of your software development using Git. GitHub was founded in 2008 and was recently acquired by Microsoft, who is now the parent organization. Setting up is a straightforward process: first, create a GitHub account online, then install Git on your system and connect it with GitHub. This way, any changes made will be pushed directly to GitHub.
+GitHub is a code hosting platform built on top of Git. It was founded in 2008 and acquired by Microsoft in 2018. If you are just getting started, the setup is simple, you create a free account on GitHub's website, install Git on your machine, and link the two together so your local changes can be pushed to the cloud.
-### Step 1: Letβs create a GitHub Account
+### Step 1: Let's create a GitHub Account
To create a GitHub account, go to the [GitHub Website](https://github.com/) and sign up using your email ID.
@@ -26,14 +26,14 @@ To create a GitHub account, go to the [GitHub Website](https://github.com/) and
### Step 2: Finishing the account creation
-Choose a readable username; this is important, just like your LinkedIn username. After completing the signup process, you may be prompted to solve a puzzle as part of the verification.
+Pick a username that is easy to read and remember, think of it the same way you would choose a professional username on LinkedIn. Once you complete the signup form, GitHub will ask you to solve a quick puzzle to confirm you are human.
**Live Server:** GitHub signup screen
[](https://github.com/)
-**Features you receive:** On completing registration, you gain access to GitHub Copilot, unlimited repositories, built-in tools for code quality improvement, automated workflows with Actions, and support from the community.
+**What you get with a free account:** Once registered, you can create unlimited public and private repositories, use GitHub Copilot for coding assistance, set up automated workflows with GitHub Actions, and access a large developer community for support and collaboration.
[](https://github.com/)
@@ -44,7 +44,7 @@ Click the top right profile icon, then select "Your profile" to view your profil
### Step 3: Understanding the Interface
-As the next step, GitHub will ask you to verify your account. Check your email inbox for a verification mail, and confirm to proceed. After verification, you will be redirected to your GitHub page (example below), which will show your verified status.
+GitHub will send a verification email to the address you signed up with. Open that email and click the confirmation link. Once verified, you will be taken to your GitHub dashboard where your account status will show as confirmed.
[](https://github.com/sanjay-kv)
@@ -52,30 +52,30 @@ As the next step, GitHub will ask you to verify your account. Check your email i
### Step 4: Personalize and Secure Your Account
-After verifying your email and accessing your GitHub dashboard, take a moment to personalize and secure your account. Add a profile picture to make your account recognizable, fill out your bio with your background or interests, and link relevant social media or websites. Review your account security settingsβenable two-factor authentication to strengthen your protection. Updating profile details and enabling security features ensures a professional, secure GitHub presence for future collaborations.
+With your account verified, spend a few minutes making it your own. Upload a profile photo so collaborators can recognize you, write a short bio describing what you work on, and add links to your website or other profiles. While you are in settings, head over to the security section and turn on two-factor authentication this is covered in detail in the next step.
-### Step 5: Final Step β Secure Your GitHub Account
+### Step 5: Final Step: Secure Your GitHub Account
-Congratulations on setting up your GitHub account! Before exploring further, itβs critical to secure your account using multi-factor authentication (2FA).
+Congratulations on setting up your GitHub account! Before you start exploring, take a few minutes to turn on two-factor authentication (2FA). This is one of the most effective ways to protect your account.
-**Why enable multi-factor authentication (2FA)?**
-2FA adds an extra layer of security by requiring both your password and a unique verification code from your mobile device whenever you sign in. This prevents unauthorized access, even if your password is compromised, keeping your code and personal information safe.
+**Why does 2FA matter?**
+When you log in with only a password, anyone who gets hold of that password can access your account. With 2FA turned on, logging in requires a second step a short code generated by an app on your phone. Even if someone steals your password, they still cannot get in without that code.
-**How to enable 2FA on GitHub:**
+**How to turn on 2FA:**
-1. Click your profile picture in the top right, then click **Settings**.
-2. In the left sidebar under **Access**, select **Password and authentication**.
-3. Find the **Two-factor authentication** section and click **Enable two-factor authentication**.
-4. Choose your preferred method (an authenticator app is recommended), and scan the displayed QR code with the app on your phone.
-5. Enter the code generated by your authenticator app, or use an SMS code if you chose that method.
-6. Save your recovery codes in a safe placeβthese allow you to regain access if you lose your phone.
-7. Confirm that you have saved your recovery codes and finish setup.
+1. Click your profile picture in the top right corner and open **Settings**.
+2. In the left menu, look under **Access** and click **Password and authentication**.
+3. Scroll to the **Two-factor authentication** section and click the button to enable it.
+4. Select an authenticator app as your method, this is more reliable than SMS. Open the app on your phone and scan the QR code shown on screen.
+5. Type in the six-digit code your app generates to confirm everything is connected.
+6. GitHub will give you a set of recovery codes. Save these somewhere safe, a password manager or a printed copy stored securely. These are the only way back in if you ever lose access to your phone.
+7. Complete the setup and you are done.
[](https://github.com/sanjay-kv)
-Now, 2FA is enabled on your account. Every time you log in, youβll need both your password and a unique codeβmaking your account far more secure.
+From this point on, every login will ask for both your password and a fresh code from your authenticator app.
**Dashboard recap:**
@@ -88,6 +88,6 @@ Now, 2FA is enabled on your account. Every time you log in, youβll need both y
## Conclusion
-Thank you for reading βHow to create a GitHub Account?β. In the next post, you'll learn how to use Git to create a repository and clone a project from GitHub.
+Thank you for reading "How to create a GitHub Account?". In the next post, you'll learn how to use Git to create a repository and clone a project from GitHub.
Signing off, Sanjay Viswanathan.
diff --git a/docs/Technical/intro-github.md b/docs/Technical/intro-github.md
index dc66c28e..a08400c8 100644
--- a/docs/Technical/intro-github.md
+++ b/docs/Technical/intro-github.md
@@ -94,7 +94,7 @@ The fork is a personal copy of the repo which is already present or uploaded in
### Watch the video Tutorial
-
+
## Conclusion
diff --git a/docs/getting_started.md b/docs/getting_started.md
index 7265606a..ed269f7c 100644
--- a/docs/getting_started.md
+++ b/docs/getting_started.md
@@ -61,6 +61,28 @@ Use a short, descriptive name β for example `blog/intro-to-docker` or `blog/re
---
+:::tip Blog Quality Checklist
+Before starting any development, make sure your blog meets **all** of the following criteria. Your blog can be **rejected** if any requirement is not fulfilled:
+
+- 1. 5 backlinks to different external websites to support our documentation.
+- 2. 5 internal backlinks to other articles on recodehive.
+
+- 3. **No generic content** β avoid surface-level topics like "what is Azure" or "difference between X and Y". Write pure, high-depth technical articles with images. See [this example](https://www.recodehive.com/docs/GitHub/Maintainer-guide/milestone) for the standard we aim for. (Tip: tools like [Snagit](https://www.techsmith.com/screen-capture.html) help produce great annotated screenshots.)
+
+- 4. Image filenames must be descriptive and SEO-friendly β no random names like `screenshot123.png`.
+- 5. **Content-to-code ratio**: text should be more than code. Adsense flags pages at 60% code / 40% text - keep it the opposite. If code is long, link to GitHub and reference it in comments instead.
+
+- 6. Include a **bulleted summary section** at the top of the blog post.
+- 7. Include a **FAQ section** at the bottom.
+- 8. Use Docusaurus admonitions (`:::tip`, `:::info`, `:::note`) for callouts, tips, and cautions (see formatting guidelines below).
+- 9. Tables must be **center-aligned** - wrap them in an `:::info` block to achieve this in Docusaurus.
+- 10. Use **named code blocks** with a filename label when showing code (e.g., ` ```java title="Sample.java" `).
+- 11. When showing a query and its output together, use a **Tabs** block with separate "Query" and "Output" tabs.
+- 12. Screenshots must follow the naming convention and size guidelines below.
+:::
+
+---
+
## Step 4: Create the Blog Folder and File
All blog posts live inside the `blog/` directory. Each post gets its own folder.
@@ -149,7 +171,7 @@ After the closing `---` of your frontmatter, add the `` comment
...frontmatter...
---
-
+
Your introduction paragraph goes here. This will appear as the preview on the blog index page.
@@ -158,18 +180,168 @@ Your introduction paragraph goes here. This will appear as the preview on the bl
Body content continues here...
```
-### Formatting Tips
+### Formatting Guidelines
+
+Use `##` and `###` headings to structure your content.
+
+---
+
+#### Bulleted Summary Section (Required)
+
+Every blog must begin with a bulleted summary right after the intro paragraph. This helps readers quickly understand what they'll learn.
+
+```md
+**What you'll learn in this post:**
+- How to set up X from scratch
+- How to configure Y for production
+- Common pitfalls and how to avoid them
+```
+
+---
+
+#### Named Code Blocks (Required)
+
+Always label code blocks with a filename so readers know exactly what file they are editing:
+
+````md
+```java title="Sample.java"
+public class Hello {
+ public static void main(String[] args) {
+ System.out.println("Hello, world!");
+ }
+}
+```
+````
+
+---
+
+#### Query + Output: Use Tabs (Required)
-- Use `##` and `###` headings to structure your content.
-- Use fenced code blocks with the language name for syntax highlighting:
+When showing a database query alongside its output, use a Tabs block so both fit in a single window.
- ````md
- ```python
- print("Hello, world!")
+First, import the components at the top of your `index.md` (after frontmatter, before any content):
+
+```md
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+```
+
+Then structure your query + output like this:
+
+````md
+
+
+
+ ```sql
+ -- Create the table
+ CREATE TABLE friends (
+ id INT PRIMARY KEY,
+ name VARCHAR(100),
+ username VARCHAR(100)
+ );
+
+ -- Insert data
+ INSERT INTO friends (id, name, username) VALUES
+ (1, 'John Doe', 'johndoe'),
+ (2, 'Jane Smith', 'janesmith'),
+ (3, 'Bob Johnson', 'bobjohnson');
```
- ````
-- Use `>` for callout blockquotes and `---` for horizontal dividers between sections.
+
+
+
+ | id | name | username |
+ |----|-------------|-------------|
+ | 1 | John Doe | johndoe |
+ | 2 | Jane Smith | janesmith |
+ | 3 | Bob Johnson | bobjohnson |
+
+
+
+````
+
+:::tip
+You can add as many `` tabs as needed β for example separate tabs per subquery type, or one tab per language variant.
+:::
+
+---
+
+#### Admonitions: Tips, Notes, Info, and Cautions
+
+Use Docusaurus admonitions to highlight important information. Don't overuse them β only where they add real value.
+
+**For tips and helpful extras:**
+
+```md
+:::tip Need Git Commands?
+Check out our [comprehensive Git Commands Cheatsheet](../GitHub/setup-environment/git-commands.md)
+with 50 essential Git commands and examples.
+:::
+```
+
+**For extra context or caution:**
+
+```md
+:::info
+In the picture below, Developer 1 handles the men's shopping section, Developer 2
+deals with the women's section, and Developer 3 works on the login feature.
+:::
+```
+
+**For key feature callouts:**
+
+```md
+:::note
+Key Features of GitLab:
+- GitLab provides **built-in CI/CD pipelines**.
+- Unlike GitHub, GitLab can be **self-hosted** or used on the cloud (GitLab.com).
+- GitLab offers [Premium Plans](https://about.gitlab.com/pricing/) with advanced CI/CD and security features.
+:::
+```
+
+---
+
+#### Tables: Center Alignment via `:::info`
+
+Plain Markdown tables are left-aligned by default in Docusaurus. Wrap your table in an `:::info` block to center it:
+
+```md
+:::
+
+| Command | Description |
+|-------------|-------------------|
+| `git init` | Initialize a repo |
+| `git clone` | Clone a repo |
+
+:::
+```
+
+### Rendered Output
+
+:::info
+
+| Command | Description |
+|-------------|-------------------|
+| `git init` | Initialize a repo |
+| `git clone` | Clone a repo |
+
+:::
+
+---
+
+#### FAQ Section (Required)
+
+Every blog post must end with a FAQ section before the conclusion. Use questions your readers are likely to have:
+
+```md
+## Frequently Asked Questions
+
+**Q: Do I need to know X before starting this guide?**
+A: Basic familiarity with Y is helpful, but the guide covers everything step by step.
+
+**Q: Will this work on Windows?**
+A: Yes, the steps are cross-platform. Windows-specific commands are noted where they differ.
+```
---
@@ -188,7 +360,7 @@ Use **PNG** for UI screenshots (crisp text) and **JPEG/WebP** for photos.
### Naming Convention
-Use lowercase, hyphen-separated, numbered filenames so they sort correctly:
+Use lowercase, hyphen-separated, numbered filenames so they sort correctly and are SEO-friendly. **Never use random or auto-generated names.**
```
images/
@@ -208,20 +380,52 @@ Reference images relative to `index.md`:
Always write descriptive alt text β it improves accessibility and SEO.
+:::tip Screenshot Tool Recommendation
+Tools like [Snagit](https://www.techsmith.com/screen-capture.html) make it easy to produce annotated, professional-quality screenshots. See [this article](https://www.recodehive.com/docs/GitHub/Maintainer-guide/milestone) as a reference for the image quality standard we aim for.
+:::
+
+---
+
+## Step 9: Update the Database
+
+All blog data is linked in the database folder (`\database\blogs\index.tsx`). Update it with the following details:
+
+```json
+{
+ id: sequence_wise,
+ title: "Title of the post",
+ image: "relative path of the cover image for the blog post",
+ description: "A short (2-3) lines of description of the post",
+ slug: "The name of the blog folder (keep it exact)",
+ authors: ["your-author-id"],
+ category: "The category the blog belongs to",
+ tags: ["tags or topics the blog is related to (tools or technologies)"],
+}
+```
+
+:::note
+All details are necessary for correctly rendering the blog card on the blogs page. Take a close look and make sure everything is filled in.
+:::
+
---
-## Step 9: Preview Your Post
+## Step 10: Preview Your Post
Make sure your dev server is still running (`npm start`), then navigate to [http://localhost:3000/blog](http://localhost:3000/blog) to see your post in the listing and click into it to read the full content. Verify:
- The frontmatter title, date, and author show correctly.
- The truncate preview looks right on the blog index.
+- The bulleted summary section appears near the top.
- All images load and are properly sized.
-- Code blocks are syntax-highlighted.
+- Code blocks are syntax-highlighted and have filename labels.
+- Query/output pairs use Tabs.
+- Tables are center-aligned inside `:::info` blocks.
+- Tips and notes use the correct admonition type.
+- The FAQ section is present at the bottom.
---
-## Step 10: Commit and Push Your Changes
+## Step 11: Commit and Push Your Changes
Once you are happy with the preview, stage and commit your files:
@@ -239,13 +443,13 @@ git push origin blog/your-blog-title
---
-## Step 11: Open a Pull Request
+## Step 12: Open a Pull Request
-1. Go to your fork on GitHub β you will see a **"Compare & pull request"** banner. Click it.
-2. Set the **base repository** to `recodehive/recode-website` and **base branch** to `main`.
-3. Write a clear PR title, e.g. `blog: Add post on Your Blog Title`.
-4. In the description, briefly summarize what the post covers.
-5. Click **Create pull request**.
+- 1. Go to your fork on GitHub β you will see a **"Compare & pull request"** banner. Click it.
+- 2. Set the **base repository** to `recodehive/recode-website` and **base branch** to `main`.
+- 3. Write a clear PR title, e.g. `blog: Add post on Your Blog Title`.
+- 4. In the description, briefly summarize what the post covers.
+- 5. Click **Create pull request**.
A maintainer will review and merge your post. You may be asked to make small edits before it is approved.
@@ -268,13 +472,24 @@ git push origin main
Before submitting your PR, go through this checklist:
-- [ ] Blog folder created at `blog/your-blog-title/index.md`
-- [ ] Frontmatter is complete (title, authors, tags, date, description, draft: false)
-- [ ] Author entry exists in `blog/authors.yml`
-- [ ] `` comment placed after the intro paragraph
-- [ ] All images are in `blog/your-blog-title/images/` and named with the convention
-- [ ] Cover image is 1200 Γ 630 px; step screenshots are no wider than 1280 px
-- [ ] Image file sizes are under 500 KB each
-- [ ] Post previews correctly at `localhost:3000/blog`
-- [ ] Committed on a feature branch (not `main`)
-- [ ] Pull request targets `recodehive/recode-website` `main` branch
+- 1. [ ] Blog folder created at `blog/your-blog-title/index.md`
+- 2. [ ] Frontmatter is complete (title, authors, tags, date, description, draft: false)
+- 3. [ ] Author entry exists in `blog/authors.yml`
+- 4. [ ] `` comment placed after the intro paragraph
+- 5. [ ] **Bulleted summary section** included near the top of the post
+- 6. [ ] **FAQ section** included at the bottom of the post
+- 7. [ ] No generic content β article is high-depth and technical with images
+- 8. [ ] 5 external backlinks to supporting websites
+- 9. [ ] 5 internal backlinks to other recodehive articles
+- 10. [ ] Text is more than code β long code blocks link to GitHub instead
+- 11. [ ] Code blocks use filename labels β e.g., opening fence followed by `python title="app.py"`
+- 12. [ ] Query + output pairs use Tabs blocks
+- 14. [ ] Tables are wrapped in `:::info` for center alignment
+- 15. [ ] Tips, notes, and cautions use the correct Docusaurus admonition
+- 16. [ ] All images are in `blog/your-blog-title/images/` with SEO-friendly names
+- 17. [ ] Cover image is 1200 Γ 630 px; step screenshots are no wider than 1280 px
+- 18. [ ] Image file sizes are under 500 KB each
+- 19. [ ] Post previews correctly at `localhost:3000/blog`
+- 20. [ ] Database entry added in `\database\blogs\index.tsx`
+- 21. [ ] Committed on a feature branch (not `main`)
+- 22. [ ] Pull request targets `recodehive/recode-website` `main` branch
\ No newline at end of file
diff --git a/docs/image.png b/docs/image.png
new file mode 100644
index 00000000..57d0b044
Binary files /dev/null and b/docs/image.png differ
diff --git a/docs/sql/setup-environment.md b/docs/sql/setup-environment.md
index a95494bb..84c025cd 100644
--- a/docs/sql/setup-environment.md
+++ b/docs/sql/setup-environment.md
@@ -29,7 +29,7 @@ Click the link below to download MySQL Workbench:
- β Choose your OS (Windows, macOS, or Linux)
- β Follow the installation instructions
-
+
---
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index 40d02595..816bfae6 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -3,6 +3,7 @@ import type { Config } from "@docusaurus/types";
import type * as Preset from "@docusaurus/preset-classic";
import * as dotenv from "dotenv";
import giscusInjector from "./src/plugins/giscus-injector";
+dotenv.config({ path: ".env.local" });
dotenv.config();
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
@@ -114,6 +115,7 @@ const config: Config = {
type: "dropdown",
html: 'π Docs',
position: "left",
+ to: "/docs/",
items: [
{
type: "html",
@@ -247,7 +249,7 @@ const config: Config = {
{
type: "html",
position: "right",
- value: '',
+ value: '',
},
],
},
@@ -286,6 +288,7 @@ const config: Config = {
// β Add this customFields object to expose the token to the client-side
customFields: {
gitToken: process.env.DOCUSAURUS_GIT_TOKEN,
+ clerkPublishableKey: process.env.VITE_CLERK_PUBLISHABLE_KEY || "",
// Shopify credentials for merch store
SHOPIFY_STORE_DOMAIN:
process.env.SHOPIFY_STORE_DOMAIN || "junh9v-gw.myshopify.com",
diff --git a/package-lock.json b/package-lock.json
index ce3b812b..400d303b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
"name": "recodehive",
"version": "0.0.0",
"dependencies": {
+ "@clerk/react": "^6.6.6",
"@docusaurus/core": "^3.9.1",
"@docusaurus/plugin-content-docs": "3.10.1",
"@docusaurus/plugin-google-analytics": "^3.10.0",
@@ -26,17 +27,15 @@
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-slot": "^1.2.3",
"@tsparticles/react": "^3.0.0",
- "@tsparticles/slim": "^3.8.1",
+ "@tsparticles/slim": "^4.0.4",
"@vercel/analytics": "^1.5.0",
"canvas-confetti": "^1.9.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
- "date-fns": "^4.1.0",
+ "date-fns": "^4.2.1",
"dotenv": "^17.4.2",
"embla-carousel-autoplay": "^8.6.0",
"embla-carousel-react": "^8.6.0",
- "firebase": "^9.22.2",
- "firebaseui": "6.1.0",
"framer-motion": "^12.38.0",
"lucide-react": "^0.503.0",
"prism-react-renderer": "^2.3.0",
@@ -45,6 +44,7 @@
"react-icons": "^5.5.0",
"react-slot-counter": "^3.3.1",
"rehype-katex": "^7.0.1",
+ "remark-gfm": "^4.0.1",
"remark-math": "^6.0.0",
"styled-components": "^6.4.1",
"tailwind-merge": "^3.6.0",
@@ -59,7 +59,7 @@
"@types/canvas-confetti": "^1.9.0",
"@types/react": "^19.1.9",
"@types/react-dom": "^19.1.7",
- "@typescript-eslint/eslint-plugin": "^8.59.3",
+ "@typescript-eslint/eslint-plugin": "^8.59.4",
"@typescript-eslint/parser": "^8.59.3",
"autoprefixer": "^10.5.0",
"eslint": "^9.38.0",
@@ -73,7 +73,7 @@
"typescript": "~5.3"
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.9.0"
}
},
"node_modules/@algolia/abtesting": {
@@ -2089,6 +2089,52 @@
"integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==",
"license": "Apache-2.0"
},
+ "node_modules/@clerk/react": {
+ "version": "6.6.6",
+ "resolved": "https://registry.npmjs.org/@clerk/react/-/react-6.6.6.tgz",
+ "integrity": "sha512-MVHLDZeGobSbGSZgAdb4G1BbB8ZU5XAmBBdIVLXiPOLEst2TYM5bP137WRA76y9GlmVmKYdKzph/TUi87P/JOA==",
+ "license": "MIT",
+ "dependencies": {
+ "@clerk/shared": "^4.12.2",
+ "tslib": "2.8.1"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ~19.0.3 || ~19.1.4 || ~19.2.3 || ~19.3.0-0",
+ "react-dom": "^18.0.0 || ~19.0.3 || ~19.1.4 || ~19.2.3 || ~19.3.0-0"
+ }
+ },
+ "node_modules/@clerk/shared": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/@clerk/shared/-/shared-4.12.2.tgz",
+ "integrity": "sha512-jDkip8tKTzYz/cPKMCsjOoACH3Xh37zcbCrssMRTYOq3GZypIpZ6WAs4m4G82URL0WY+yz5frrHVjRrHyAb6LA==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tanstack/query-core": "^5.100.6",
+ "dequal": "2.0.3",
+ "glob-to-regexp": "0.4.1",
+ "js-cookie": "3.0.5",
+ "std-env": "^3.9.0"
+ },
+ "engines": {
+ "node": ">=20.9.0"
+ },
+ "peerDependencies": {
+ "react": "^18.0.0 || ~19.0.3 || ~19.1.4 || ~19.2.3 || ~19.3.0-0",
+ "react-dom": "^18.0.0 || ~19.0.3 || ~19.1.4 || ~19.2.3 || ~19.3.0-0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@colors/colors": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
@@ -6487,538 +6533,6 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@firebase/analytics": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.0.tgz",
- "integrity": "sha512-Locv8gAqx0e+GX/0SI3dzmBY5e9kjVDtD+3zCFLJ0tH2hJwuCAiL+5WkHuxKj92rqQj/rvkBUCfA1ewlX2hehg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/analytics-compat": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.6.tgz",
- "integrity": "sha512-4MqpVLFkGK7NJf/5wPEEP7ePBJatwYpyjgJ+wQHQGHfzaCDgntOnl9rL2vbVGGKCnRqWtZDIWhctB86UWXaX2Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/analytics": "0.10.0",
- "@firebase/analytics-types": "0.8.0",
- "@firebase/component": "0.6.4",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/analytics-types": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.0.tgz",
- "integrity": "sha512-iRP+QKI2+oz3UAh4nPEq14CsEjrjD6a5+fuypjScisAh9kXKFvdJOZJDwk7kikLvWVLGEs9+kIUS4LPQV7VZVw==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/app": {
- "version": "0.9.13",
- "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.9.13.tgz",
- "integrity": "sha512-GfiI1JxJ7ecluEmDjPzseRXk/PX31hS7+tjgBopL7XjB2hLUdR+0FTMXy2Q3/hXezypDvU6or7gVFizDESrkXw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "idb": "7.1.1",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/app-check": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.0.tgz",
- "integrity": "sha512-dRDnhkcaC2FspMiRK/Vbp+PfsOAEP6ZElGm9iGFJ9fDqHoPs0HOPn7dwpJ51lCFi1+2/7n5pRPGhqF/F03I97g==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/app-check-compat": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.7.tgz",
- "integrity": "sha512-cW682AxsyP1G+Z0/P7pO/WT2CzYlNxoNe5QejVarW2o5ZxeWSSPAiVEwpEpQR/bUlUmdeWThYTMvBWaopdBsqw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/app-check": "0.8.0",
- "@firebase/app-check-types": "0.5.0",
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/app-check-interop-types": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.0.tgz",
- "integrity": "sha512-xAxHPZPIgFXnI+vb4sbBjZcde7ZluzPPaSK7Lx3/nmuVk4TjZvnL8ONnkd4ERQKL8WePQySU+pRcWkh8rDf5Sg==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/app-check-types": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.0.tgz",
- "integrity": "sha512-uwSUj32Mlubybw7tedRzR24RP8M8JUVR3NPiMk3/Z4bCmgEKTlQBwMXrehDAZ2wF+TsBq0SN1c6ema71U/JPyQ==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/app-compat": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.13.tgz",
- "integrity": "sha512-j6ANZaWjeVy5zg6X7uiqh6lM6o3n3LD1+/SJFNs9V781xyryyZWXe+tmnWNWPkP086QfJoNkWN9pMQRqSG4vMg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/app": "0.9.13",
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/app-types": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.0.tgz",
- "integrity": "sha512-AeweANOIo0Mb8GiYm3xhTEBVCmPwTYAu9Hcd2qSkLuga/6+j9b1Jskl5bpiSQWy9eJ/j5pavxj6eYogmnuzm+Q==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/auth": {
- "version": "0.23.2",
- "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.23.2.tgz",
- "integrity": "sha512-dM9iJ0R6tI1JczuGSxXmQbXAgtYie0K4WvKcuyuSTCu9V8eEDiz4tfa1sO3txsfvwg7nOY3AjoCyMYEdqZ8hdg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/auth-compat": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.4.2.tgz",
- "integrity": "sha512-Q30e77DWXFmXEt5dg5JbqEDpjw9y3/PcP9LslDPR7fARmAOTIY9MM6HXzm9KC+dlrKH/+p6l8g9ifJiam9mc4A==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/auth": "0.23.2",
- "@firebase/auth-types": "0.12.0",
- "@firebase/component": "0.6.4",
- "@firebase/util": "1.9.3",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/auth-interop-types": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.1.tgz",
- "integrity": "sha512-VOaGzKp65MY6P5FI84TfYKBXEPi6LmOCSMMzys6o2BN2LOsqy7pCuZCup7NYnfbk5OkkQKzvIfHOzTm0UDpkyg==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/auth-types": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.0.tgz",
- "integrity": "sha512-pPwaZt+SPOshK8xNoiQlK5XIrS97kFYc3Rc7xmy373QsOJ9MmqXxLaYssP5Kcds4wd2qK//amx/c+A8O2fVeZA==",
- "license": "Apache-2.0",
- "peerDependencies": {
- "@firebase/app-types": "0.x",
- "@firebase/util": "1.x"
- }
- },
- "node_modules/@firebase/component": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.4.tgz",
- "integrity": "sha512-rLMyrXuO9jcAUCaQXCMjCMUsWrba5fzHlNK24xz5j2W6A/SRmK8mZJ/hn7V0fViLbxC0lPMtrK1eYzk6Fg03jA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/database": {
- "version": "0.14.4",
- "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.14.4.tgz",
- "integrity": "sha512-+Ea/IKGwh42jwdjCyzTmeZeLM3oy1h0mFPsTy6OqCWzcu/KFqRAr5Tt1HRCOBlNOdbh84JPZC47WLU18n2VbxQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/auth-interop-types": "0.2.1",
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "faye-websocket": "0.11.4",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/database-compat": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.3.4.tgz",
- "integrity": "sha512-kuAW+l+sLMUKBThnvxvUZ+Q1ZrF/vFJ58iUY9kAcbX48U03nVzIF6Tmkf0p3WVQwMqiXguSgtOPIB6ZCeF+5Gg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/database": "0.14.4",
- "@firebase/database-types": "0.10.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/database-types": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.10.4.tgz",
- "integrity": "sha512-dPySn0vJ/89ZeBac70T+2tWWPiJXWbmRygYv0smT5TfE3hDrQ09eKMF3Y+vMlTdrMWq7mUdYW5REWPSGH4kAZQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/app-types": "0.9.0",
- "@firebase/util": "1.9.3"
- }
- },
- "node_modules/@firebase/firestore": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.13.0.tgz",
- "integrity": "sha512-NwcnU+madJXQ4fbLkGx1bWvL612IJN/qO6bZ6dlPmyf7QRyu5azUosijdAN675r+bOOJxMtP1Bv981bHBXAbUg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "@firebase/webchannel-wrapper": "0.10.1",
- "@grpc/grpc-js": "~1.7.0",
- "@grpc/proto-loader": "^0.6.13",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "engines": {
- "node": ">=10.10.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/firestore-compat": {
- "version": "0.3.12",
- "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.12.tgz",
- "integrity": "sha512-mazuNGAx5Kt9Nph0pm6ULJFp/+j7GSsx+Ncw1GrnKl+ft1CQ4q2LcUssXnjqkX2Ry0fNGqUzC1mfIUrk9bYtjQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/firestore": "3.13.0",
- "@firebase/firestore-types": "2.5.1",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/firestore-types": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.1.tgz",
- "integrity": "sha512-xG0CA6EMfYo8YeUxC8FeDzf6W3FX1cLlcAGBYV6Cku12sZRI81oWcu61RSKM66K6kUENP+78Qm8mvroBcm1whw==",
- "license": "Apache-2.0",
- "peerDependencies": {
- "@firebase/app-types": "0.x",
- "@firebase/util": "1.x"
- }
- },
- "node_modules/@firebase/functions": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.10.0.tgz",
- "integrity": "sha512-2U+fMNxTYhtwSpkkR6WbBcuNMOVaI7MaH3cZ6UAeNfj7AgEwHwMIFLPpC13YNZhno219F0lfxzTAA0N62ndWzA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/app-check-interop-types": "0.3.0",
- "@firebase/auth-interop-types": "0.2.1",
- "@firebase/component": "0.6.4",
- "@firebase/messaging-interop-types": "0.2.0",
- "@firebase/util": "1.9.3",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/functions-compat": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.5.tgz",
- "integrity": "sha512-uD4jwgwVqdWf6uc3NRKF8cSZ0JwGqSlyhPgackyUPe+GAtnERpS4+Vr66g0b3Gge0ezG4iyHo/EXW/Hjx7QhHw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/functions": "0.10.0",
- "@firebase/functions-types": "0.6.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/functions-types": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.0.tgz",
- "integrity": "sha512-hfEw5VJtgWXIRf92ImLkgENqpL6IWpYaXVYiRkFY1jJ9+6tIhWM7IzzwbevwIIud/jaxKVdRzD7QBWfPmkwCYw==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/installations": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.4.tgz",
- "integrity": "sha512-u5y88rtsp7NYkCHC3ElbFBrPtieUybZluXyzl7+4BsIz4sqb4vSAuwHEUgCgCeaQhvsnxDEU6icly8U9zsJigA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/util": "1.9.3",
- "idb": "7.0.1",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/installations-compat": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.4.tgz",
- "integrity": "sha512-LI9dYjp0aT9Njkn9U4JRrDqQ6KXeAmFbRC0E7jI7+hxl5YmRWysq5qgQl22hcWpTk+cm3es66d/apoDU/A9n6Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/installations-types": "0.5.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/installations-types": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.0.tgz",
- "integrity": "sha512-9DP+RGfzoI2jH7gY4SlzqvZ+hr7gYzPODrbzVD82Y12kScZ6ZpRg/i3j6rleto8vTFC8n6Len4560FnV1w2IRg==",
- "license": "Apache-2.0",
- "peerDependencies": {
- "@firebase/app-types": "0.x"
- }
- },
- "node_modules/@firebase/installations/node_modules/idb": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz",
- "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==",
- "license": "ISC"
- },
- "node_modules/@firebase/logger": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.0.tgz",
- "integrity": "sha512-eRKSeykumZ5+cJPdxxJRgAC3G5NknY2GwEbKfymdnXtnT0Ucm4pspfR6GT4MUQEDuJwRVbVcSx85kgJulMoFFA==",
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/messaging": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.4.tgz",
- "integrity": "sha512-6JLZct6zUaex4g7HI3QbzeUrg9xcnmDAPTWpkoMpd/GoSVWH98zDoWXMGrcvHeCAIsLpFMe4MPoZkJbrPhaASw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/messaging-interop-types": "0.2.0",
- "@firebase/util": "1.9.3",
- "idb": "7.0.1",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/messaging-compat": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.4.tgz",
- "integrity": "sha512-lyFjeUhIsPRYDPNIkYX1LcZMpoVbBWXX4rPl7c/rqc7G+EUea7IEtSt4MxTvh6fDfPuzLn7+FZADfscC+tNMfg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/messaging": "0.12.4",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/messaging-interop-types": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.0.tgz",
- "integrity": "sha512-ujA8dcRuVeBixGR9CtegfpU4YmZf3Lt7QYkcj693FFannwNuZgfAYaTmbJ40dtjB81SAu6tbFPL9YLNT15KmOQ==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/messaging/node_modules/idb": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz",
- "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==",
- "license": "ISC"
- },
- "node_modules/@firebase/performance": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.4.tgz",
- "integrity": "sha512-HfTn/bd8mfy/61vEqaBelNiNnvAbUtME2S25A67Nb34zVuCSCRIX4SseXY6zBnOFj3oLisaEqhVcJmVPAej67g==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/performance-compat": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.4.tgz",
- "integrity": "sha512-nnHUb8uP9G8islzcld/k6Bg5RhX62VpbAb/Anj7IXs/hp32Eb2LqFPZK4sy3pKkBUO5wcrlRWQa6wKOxqlUqsg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/performance": "0.6.4",
- "@firebase/performance-types": "0.2.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/performance-types": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.0.tgz",
- "integrity": "sha512-kYrbr8e/CYr1KLrLYZZt2noNnf+pRwDq2KK9Au9jHrBMnb0/C9X9yWSXmZkFt4UIdsQknBq8uBB7fsybZdOBTA==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/remote-config": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.4.tgz",
- "integrity": "sha512-x1ioTHGX8ZwDSTOVp8PBLv2/wfwKzb4pxi0gFezS5GCJwbLlloUH4YYZHHS83IPxnua8b6l0IXUaWd0RgbWwzQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/installations": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/remote-config-compat": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.4.tgz",
- "integrity": "sha512-FKiki53jZirrDFkBHglB3C07j5wBpitAaj8kLME6g8Mx+aq7u9P7qfmuSRytiOItADhWUj7O1JIv7n9q87SuwA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/logger": "0.4.0",
- "@firebase/remote-config": "0.4.4",
- "@firebase/remote-config-types": "0.3.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/remote-config-types": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.0.tgz",
- "integrity": "sha512-RtEH4vdcbXZuZWRZbIRmQVBNsE7VDQpet2qFvq6vwKLBIQRQR5Kh58M4ok3A3US8Sr3rubYnaGqZSurCwI8uMA==",
- "license": "Apache-2.0"
- },
- "node_modules/@firebase/storage": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.11.2.tgz",
- "integrity": "sha512-CtvoFaBI4hGXlXbaCHf8humajkbXhs39Nbh6MbNxtwJiCqxPy9iH3D3CCfXAvP0QvAAwmJUTK3+z9a++Kc4nkA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/util": "1.9.3",
- "node-fetch": "2.6.7",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app": "0.x"
- }
- },
- "node_modules/@firebase/storage-compat": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.2.tgz",
- "integrity": "sha512-wvsXlLa9DVOMQJckbDNhXKKxRNNewyUhhbXev3t8kSgoCotd1v3MmqhKKz93ePhDnhHnDs7bYHy+Qa8dRY6BXw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/component": "0.6.4",
- "@firebase/storage": "0.11.2",
- "@firebase/storage-types": "0.8.0",
- "@firebase/util": "1.9.3",
- "tslib": "^2.1.0"
- },
- "peerDependencies": {
- "@firebase/app-compat": "0.x"
- }
- },
- "node_modules/@firebase/storage-types": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.0.tgz",
- "integrity": "sha512-isRHcGrTs9kITJC0AVehHfpraWFui39MPaU7Eo8QfWlqW7YPymBmRgjDrlOgFdURh6Cdeg07zmkLP5tzTKRSpg==",
- "license": "Apache-2.0",
- "peerDependencies": {
- "@firebase/app-types": "0.x",
- "@firebase/util": "1.x"
- }
- },
- "node_modules/@firebase/util": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.9.3.tgz",
- "integrity": "sha512-DY02CRhOZwpzO36fHpuVysz6JZrscPiBXD0fXp6qSrL9oNOx5KWICKdR95C0lSITzxp0TZosVyHqzatE8JbcjA==",
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/@firebase/webchannel-wrapper": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.10.1.tgz",
- "integrity": "sha512-Dq5rYfEpdeel0bLVN+nfD1VWmzCkK+pJbSjIawGE+RY4+NIJqhbUDDQjvV0NUK84fMfwxvtFoCtEe70HfZjFcw==",
- "license": "Apache-2.0"
- },
"node_modules/@floating-ui/core": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
@@ -7084,173 +6598,6 @@
"react-dom": "^16 || ^17 || ^18 || ^19"
}
},
- "node_modules/@grpc/grpc-js": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz",
- "integrity": "sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==",
- "license": "Apache-2.0",
- "dependencies": {
- "@grpc/proto-loader": "^0.7.0",
- "@types/node": ">=12.12.47"
- },
- "engines": {
- "node": "^8.13.0 || >=10.10.0"
- }
- },
- "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": {
- "version": "0.7.15",
- "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz",
- "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "lodash.camelcase": "^4.3.0",
- "long": "^5.0.0",
- "protobufjs": "^7.2.5",
- "yargs": "^17.7.2"
- },
- "bin": {
- "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@grpc/grpc-js/node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@grpc/grpc-js/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/@grpc/grpc-js/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@grpc/grpc-js/node_modules/long": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
- "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
- "license": "Apache-2.0"
- },
- "node_modules/@grpc/grpc-js/node_modules/protobufjs": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz",
- "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==",
- "hasInstallScript": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/node": ">=13.7.0",
- "long": "^5.0.0"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/@grpc/grpc-js/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@grpc/grpc-js/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/@grpc/grpc-js/node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@grpc/grpc-js/node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@grpc/proto-loader": {
- "version": "0.6.13",
- "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz",
- "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==",
- "license": "Apache-2.0",
- "dependencies": {
- "@types/long": "^4.0.1",
- "lodash.camelcase": "^4.3.0",
- "long": "^4.0.0",
- "protobufjs": "^6.11.3",
- "yargs": "^16.2.0"
- },
- "bin": {
- "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@hapi/hoek": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
@@ -7748,70 +7095,6 @@
"url": "https://opencollective.com/popperjs"
}
},
- "node_modules/@protobufjs/aspromise": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/base64": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/codegen": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/eventemitter": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/fetch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
- "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.1",
- "@protobufjs/inquire": "^1.1.0"
- }
- },
- "node_modules/@protobufjs/float": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/inquire": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
- "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/path": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/pool": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@protobufjs/utf8": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
- "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
- "license": "BSD-3-Clause"
- },
"node_modules/@radix-ui/primitive": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz",
@@ -8739,6 +8022,16 @@
"tailwindcss": "4.3.0"
}
},
+ "node_modules/@tanstack/query-core": {
+ "version": "5.100.11",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.100.11.tgz",
+ "integrity": "sha512-lmE0994apShXPj8CUxgx4ch5yUJhE9k/+tVwihBvPOyerACWdBocfFg24t8+0RhtlTd7tEgchDkhlCxNssvDxw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
"node_modules/@trysound/sax": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
@@ -8749,9 +8042,9 @@
}
},
"node_modules/@tsparticles/basic": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/basic/-/basic-3.9.1.tgz",
- "integrity": "sha512-ijr2dHMx0IQHqhKW3qA8tfwrR2XYbbWYdaJMQuBo2CkwBVIhZ76U+H20Y492j/NXpd1FUnt2aC0l4CEVGVGdeQ==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/basic/-/basic-4.0.4.tgz",
+ "integrity": "sha512-fXUoDgl55+dKpGKgdhNcj0f9rUX3ZZF5aaWSHG3b3poC/SjiL82GNYt/yeiHQGXnpK2tLJO3ZcbDVrlXB+WpSQ==",
"funding": [
{
"type": "github",
@@ -8768,22 +8061,23 @@
],
"license": "MIT",
"dependencies": {
- "@tsparticles/engine": "3.9.1",
- "@tsparticles/move-base": "3.9.1",
- "@tsparticles/plugin-hex-color": "3.9.1",
- "@tsparticles/plugin-hsl-color": "3.9.1",
- "@tsparticles/plugin-rgb-color": "3.9.1",
- "@tsparticles/shape-circle": "3.9.1",
- "@tsparticles/updater-color": "3.9.1",
- "@tsparticles/updater-opacity": "3.9.1",
- "@tsparticles/updater-out-modes": "3.9.1",
- "@tsparticles/updater-size": "3.9.1"
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-blend": "4.0.4",
+ "@tsparticles/plugin-hex-color": "4.0.4",
+ "@tsparticles/plugin-hsl-color": "4.0.4",
+ "@tsparticles/plugin-move": "4.0.4",
+ "@tsparticles/plugin-rgb-color": "4.0.4",
+ "@tsparticles/shape-circle": "4.0.4",
+ "@tsparticles/updater-opacity": "4.0.4",
+ "@tsparticles/updater-out-modes": "4.0.4",
+ "@tsparticles/updater-paint": "4.0.4",
+ "@tsparticles/updater-size": "4.0.4"
}
},
- "node_modules/@tsparticles/engine": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/engine/-/engine-3.9.1.tgz",
- "integrity": "sha512-DpdgAhWMZ3Eh2gyxik8FXS6BKZ8vyea+Eu5BC4epsahqTGY9V3JGGJcXC6lRJx6cPMAx1A0FaQAojPF3v6rkmQ==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/engine": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/engine/-/engine-4.0.4.tgz",
+ "integrity": "sha512-o8tTj8mUJABm965uy0Y+Q2VuNWlIeAHrjdZNE6rkr2A/jnOruoKQMWyFrE6XPbOwz0bR3wU/dRaExExyUZSPhA==",
"funding": [
{
"type": "github",
@@ -8801,145 +8095,133 @@
"hasInstallScript": true,
"license": "MIT"
},
- "node_modules/@tsparticles/interaction-external-attract": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-attract/-/interaction-external-attract-3.9.1.tgz",
- "integrity": "sha512-5AJGmhzM9o4AVFV24WH5vSqMBzOXEOzIdGLIr+QJf4fRh9ZK62snsusv/ozKgs2KteRYQx+L7c5V3TqcDy2upg==",
- "license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
- }
- },
- "node_modules/@tsparticles/interaction-external-bounce": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bounce/-/interaction-external-bounce-3.9.1.tgz",
- "integrity": "sha512-bv05+h70UIHOTWeTsTI1AeAmX6R3s8nnY74Ea6p6AbQjERzPYIa0XY19nq/hA7+Nrg+EissP5zgoYYeSphr85A==",
- "license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
- }
- },
- "node_modules/@tsparticles/interaction-external-bubble": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bubble/-/interaction-external-bubble-3.9.1.tgz",
- "integrity": "sha512-tbd8ox/1GPl+zr+KyHQVV1bW88GE7OM6i4zql801YIlCDrl9wgTDdDFGIy9X7/cwTvTrCePhrfvdkUamXIribQ==",
- "license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
- }
- },
- "node_modules/@tsparticles/interaction-external-connect": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-connect/-/interaction-external-connect-3.9.1.tgz",
- "integrity": "sha512-sq8YfUNsIORjXHzzW7/AJQtfi/qDqLnYG2qOSE1WOsog39MD30RzmiOloejOkfNeUdcGUcfsDgpUuL3UhzFUOA==",
- "license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
- }
- },
- "node_modules/@tsparticles/interaction-external-grab": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-grab/-/interaction-external-grab-3.9.1.tgz",
- "integrity": "sha512-QwXza+sMMWDaMiFxd8y2tJwUK6c+nNw554+/9+tEZeTTk2fCbB0IJ7p/TH6ZGWDL0vo2muK54Njv2fEey191ow==",
- "license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
- }
- },
- "node_modules/@tsparticles/interaction-external-pause": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-pause/-/interaction-external-pause-3.9.1.tgz",
- "integrity": "sha512-Gzv4/FeNir0U/tVM9zQCqV1k+IAgaFjDU3T30M1AeAsNGh/rCITV2wnT7TOGFkbcla27m4Yxa+Fuab8+8pzm+g==",
- "license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
- }
- },
- "node_modules/@tsparticles/interaction-external-push": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-push/-/interaction-external-push-3.9.1.tgz",
- "integrity": "sha512-GvnWF9Qy4YkZdx+WJL2iy9IcgLvzOIu3K7aLYJFsQPaxT8d9TF8WlpoMlWKnJID6H5q4JqQuMRKRyWH8aAKyQw==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/plugin-hex-color": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/plugin-hex-color/-/plugin-hex-color-4.0.4.tgz",
+ "integrity": "sha512-x9l+4tqQkBBbEQN2msasC+Hqe/ojNWz1JEIp0dK7NYGMgaY9ooug+IvoQazNut3ke2R9yFUoU8lj3OEZ6GE+Wg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/interaction-external-remove": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-remove/-/interaction-external-remove-3.9.1.tgz",
- "integrity": "sha512-yPThm4UDWejDOWW5Qc8KnnS2EfSo5VFcJUQDWc1+Wcj17xe7vdSoiwwOORM0PmNBzdDpSKQrte/gUnoqaUMwOA==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/plugin-hsl-color": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/plugin-hsl-color/-/plugin-hsl-color-4.0.4.tgz",
+ "integrity": "sha512-3Rh5malxB+dtdkGmqh470OFfelL//Qr3HKj8jukkEnpiTfDjpgNEscISDymxLdb8H06vQzFP8s1eo4ZAsPGLgQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/interaction-external-repulse": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-repulse/-/interaction-external-repulse-3.9.1.tgz",
- "integrity": "sha512-/LBppXkrMdvLHlEKWC7IykFhzrz+9nebT2fwSSFXK4plEBxDlIwnkDxd3FbVOAbnBvx4+L8+fbrEx+RvC8diAw==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/plugin-move": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/plugin-move/-/plugin-move-4.0.4.tgz",
+ "integrity": "sha512-JOP+0caRlF3Uf6+QvfncOcgHRf2S+d6EJtCktK/7aWobKWlEbXkRAkAHOi91VKVPanDUhxe50prduzTG5OJddw==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/interaction-external-slow": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-slow/-/interaction-external-slow-3.9.1.tgz",
- "integrity": "sha512-1ZYIR/udBwA9MdSCfgADsbDXKSFS0FMWuPWz7bm79g3sUxcYkihn+/hDhc6GXvNNR46V1ocJjrj0u6pAynS1KQ==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/plugin-rgb-color": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/plugin-rgb-color/-/plugin-rgb-color-4.0.4.tgz",
+ "integrity": "sha512-Dd8nw4e5Hs8HOj8IjuM3hqyeZY6l300qifOu6ZpV/viE5hKFtB/EfkQOMjG2bmsO/MH1LuNeLakTk3wxpGbywg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/matteobruni"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/tsparticles"
+ },
+ {
+ "type": "buymeacoffee",
+ "url": "https://www.buymeacoffee.com/matteobruni"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/interaction-particles-attract": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-attract/-/interaction-particles-attract-3.9.1.tgz",
- "integrity": "sha512-CYYYowJuGwRLUixQcSU/48PTKM8fCUYThe0hXwQ+yRMLAn053VHzL7NNZzKqEIeEyt5oJoy9KcvubjKWbzMBLQ==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/shape-circle": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-circle/-/shape-circle-4.0.4.tgz",
+ "integrity": "sha512-upauaL03H+llIRu6vgpUpxHRpOFalF9nYY9u2LYUBSka4+z0Qp5iqx1/IuPyqwZ5mZBbAntoC05k6PB7LGmaIw==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/interaction-particles-collisions": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-collisions/-/interaction-particles-collisions-3.9.1.tgz",
- "integrity": "sha512-ggGyjW/3v1yxvYW1IF1EMT15M6w31y5zfNNUPkqd/IXRNPYvm0Z0ayhp+FKmz70M5p0UxxPIQHTvAv9Jqnuj8w==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/updater-opacity": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-opacity/-/updater-opacity-4.0.4.tgz",
+ "integrity": "sha512-pbAAjBlWOz/0UBk0eZUHTvWvyAabZd6Re5lDefmpTHYyCdb7QgWxxpgqZ5u/bEVDZO8ju1LH+7Rwe27BLNsSNQ==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/interaction-particles-links": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-links/-/interaction-particles-links-3.9.1.tgz",
- "integrity": "sha512-MsLbMjy1vY5M5/hu/oa5OSRZAUz49H3+9EBMTIOThiX+a+vpl3sxc9AqNd9gMsPbM4WJlub8T6VBZdyvzez1Vg==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/updater-out-modes": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-out-modes/-/updater-out-modes-4.0.4.tgz",
+ "integrity": "sha512-nraXjh7ww2BQFp0eK3oDpj4M8+el8CIQNUGVxxfghzERquWMUC/VROwYf5w7cljOEldDdk/NyXQrsOEMxA0fAQ==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/move-base": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/move-base/-/move-base-3.9.1.tgz",
- "integrity": "sha512-X4huBS27d8srpxwOxliWPUt+NtCwY+8q/cx1DvQxyqmTA8VFCGpcHNwtqiN+9JicgzOvSuaORVqUgwlsc7h4pQ==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/updater-paint": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-paint/-/updater-paint-4.0.4.tgz",
+ "integrity": "sha512-aoEHubEgOHRdk+EhaSC51Rm+D0+/5rmkrRUXcdM3snaejXyGtGcUZiZlczZeGHd5gxW9Nxn0Y0SQcWtHLai8VA==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/move-parallax": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/move-parallax/-/move-parallax-3.9.1.tgz",
- "integrity": "sha512-whlOR0bVeyh6J/hvxf/QM3DqvNnITMiAQ0kro6saqSDItAVqg4pYxBfEsSOKq7EhjxNvfhhqR+pFMhp06zoCVA==",
+ "node_modules/@tsparticles/basic/node_modules/@tsparticles/updater-size": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-size/-/updater-size-4.0.4.tgz",
+ "integrity": "sha512-0ojFmKSnC8mENh+9O4QTzuYErnB7WKYogEVc7Pa4LYzV9fxHMAP+aBHRBUAtRWxfm7U2WOqteOjZ8FReJrhxNw==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/plugin-easing-quad": {
+ "node_modules/@tsparticles/engine": {
"version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/plugin-easing-quad/-/plugin-easing-quad-3.9.1.tgz",
- "integrity": "sha512-C2UJOca5MTDXKUTBXj30Kiqr5UyID+xrY/LxicVWWZPczQW2bBxbIbfq9ULvzGDwBTxE2rdvIB8YFKmDYO45qw==",
+ "resolved": "https://registry.npmjs.org/@tsparticles/engine/-/engine-3.9.1.tgz",
+ "integrity": "sha512-DpdgAhWMZ3Eh2gyxik8FXS6BKZ8vyea+Eu5BC4epsahqTGY9V3JGGJcXC6lRJx6cPMAx1A0FaQAojPF3v6rkmQ==",
"funding": [
{
"type": "github",
@@ -8954,15 +8236,24 @@
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
+ "hasInstallScript": true,
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peer": true
+ },
+ "node_modules/@tsparticles/react": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@tsparticles/react/-/react-3.0.0.tgz",
+ "integrity": "sha512-hjGEtTT1cwv6BcjL+GcVgH++KYs52bIuQGW3PWv7z3tMa8g0bd6RI/vWSLj7p//NZ3uTjEIeilYIUPBh7Jfq/Q==",
+ "peerDependencies": {
+ "@tsparticles/engine": "^3.0.2",
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
}
},
- "node_modules/@tsparticles/plugin-hex-color": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/plugin-hex-color/-/plugin-hex-color-3.9.1.tgz",
- "integrity": "sha512-vZgZ12AjUicJvk7AX4K2eAmKEQX/D1VEjEPFhyjbgI7A65eX72M465vVKIgNA6QArLZ1DLs7Z787LOE6GOBWsg==",
+ "node_modules/@tsparticles/slim": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/slim/-/slim-4.0.4.tgz",
+ "integrity": "sha512-RgR9214v9qEfUOIg3iiIxDPQY2+96BNPB3bdIFAR92nkN3lTEinmZ2Zo2Re79JKrW4EE+Vd3ZyGdx+8Vm8CAUA==",
"funding": [
{
"type": "github",
@@ -8979,13 +8270,40 @@
],
"license": "MIT",
"dependencies": {
- "@tsparticles/engine": "3.9.1"
- }
- },
- "node_modules/@tsparticles/plugin-hsl-color": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/plugin-hsl-color/-/plugin-hsl-color-3.9.1.tgz",
- "integrity": "sha512-jJd1iGgRwX6eeNjc1zUXiJivaqC5UE+SC2A3/NtHwwoQrkfxGWmRHOsVyLnOBRcCPgBp/FpdDe6DIDjCMO715w==",
+ "@tsparticles/basic": "4.0.4",
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/interaction-external-attract": "4.0.4",
+ "@tsparticles/interaction-external-bounce": "4.0.4",
+ "@tsparticles/interaction-external-bubble": "4.0.4",
+ "@tsparticles/interaction-external-connect": "4.0.4",
+ "@tsparticles/interaction-external-destroy": "4.0.4",
+ "@tsparticles/interaction-external-grab": "4.0.4",
+ "@tsparticles/interaction-external-parallax": "4.0.4",
+ "@tsparticles/interaction-external-pause": "4.0.4",
+ "@tsparticles/interaction-external-push": "4.0.4",
+ "@tsparticles/interaction-external-remove": "4.0.4",
+ "@tsparticles/interaction-external-repulse": "4.0.4",
+ "@tsparticles/interaction-external-slow": "4.0.4",
+ "@tsparticles/interaction-particles-attract": "4.0.4",
+ "@tsparticles/interaction-particles-collisions": "4.0.4",
+ "@tsparticles/interaction-particles-links": "4.0.4",
+ "@tsparticles/plugin-easing-quad": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4",
+ "@tsparticles/shape-emoji": "4.0.4",
+ "@tsparticles/shape-image": "4.0.4",
+ "@tsparticles/shape-line": "4.0.4",
+ "@tsparticles/shape-polygon": "4.0.4",
+ "@tsparticles/shape-square": "4.0.4",
+ "@tsparticles/shape-star": "4.0.4",
+ "@tsparticles/updater-life": "4.0.4",
+ "@tsparticles/updater-paint": "4.0.4",
+ "@tsparticles/updater-rotate": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/canvas-utils": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/canvas-utils/-/canvas-utils-4.0.4.tgz",
+ "integrity": "sha512-ivLF6bWAFfJj8lyDvWTEbdAO5yPqrlkr0vFI3OorsUsMMru77ZrU5Vlr1Uw+yYQQ5RZNULIaAo+JQ996jylBdA==",
"funding": [
{
"type": "github",
@@ -9001,14 +8319,14 @@
}
],
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/plugin-rgb-color": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/plugin-rgb-color/-/plugin-rgb-color-3.9.1.tgz",
- "integrity": "sha512-SBxk7f1KBfXeTnnklbE2Hx4jBgh6I6HOtxb+Os1gTp0oaghZOkWcCD2dP4QbUu7fVNCMOcApPoMNC8RTFcy9wQ==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/engine": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/engine/-/engine-4.0.4.tgz",
+ "integrity": "sha512-o8tTj8mUJABm965uy0Y+Q2VuNWlIeAHrjdZNE6rkr2A/jnOruoKQMWyFrE6XPbOwz0bR3wU/dRaExExyUZSPhA==",
"funding": [
{
"type": "github",
@@ -9023,88 +8341,172 @@
"url": "https://www.buymeacoffee.com/matteobruni"
}
],
+ "hasInstallScript": true,
+ "license": "MIT"
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-attract": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-attract/-/interaction-external-attract-4.0.4.tgz",
+ "integrity": "sha512-QSTvaPdaRQd6OSUNJ33JoOz3iIOQMFdmnaqR4TDo5T3p+0dqkGuDWxj08ckjNIfiqbZZKpO3hLcbRtkYsKWJew==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-bounce": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bounce/-/interaction-external-bounce-4.0.4.tgz",
+ "integrity": "sha512-MiqAI67mZpQzSWkwhBGkdb2nGP2QsuEBBgSX46ouU7M0/Ew1CDEyQVK9eKn7tAWldUoDLF4M8c02eF/ovAfByg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-bubble": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bubble/-/interaction-external-bubble-4.0.4.tgz",
+ "integrity": "sha512-VqL17FA3CYoNEOZ1zbvbD1sZsSIXtk2bEPfcUc2DTrdJmmYBQxfUwqb1WMSYmFqI/M3fRJbY4hzltwJig/1i4A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-connect": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-connect/-/interaction-external-connect-4.0.4.tgz",
+ "integrity": "sha512-BlMYsk/+70MviAmDq0Eabbke6e5X9XfLn83lq4QzaRNc0B+2WEORQp/TWzdNKupssgTvxoqmTtTtccWC/QqoTw==",
+ "license": "MIT",
+ "dependencies": {
+ "@tsparticles/canvas-utils": "4.0.4"
+ },
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-destroy": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-destroy/-/interaction-external-destroy-4.0.4.tgz",
+ "integrity": "sha512-LIio2HVWRpcbvHPUP+oYF3kaeE+KJYLxLgJVMENuvUCxdxTk5e1vpWtaKjes8Wu8X81r0x0x1G5rkkXrn11oAg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-grab": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-grab/-/interaction-external-grab-4.0.4.tgz",
+ "integrity": "sha512-NTlei1BRaxWEreXYSevSEw3B0gwPUJQshKe9fY6XT8MkNrrmY0dybUxpOj1CfmUk54UqiUQ733n+MIwAueX3Og==",
"license": "MIT",
"dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "@tsparticles/canvas-utils": "4.0.4"
+ },
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/react": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@tsparticles/react/-/react-3.0.0.tgz",
- "integrity": "sha512-hjGEtTT1cwv6BcjL+GcVgH++KYs52bIuQGW3PWv7z3tMa8g0bd6RI/vWSLj7p//NZ3uTjEIeilYIUPBh7Jfq/Q==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-parallax": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-parallax/-/interaction-external-parallax-4.0.4.tgz",
+ "integrity": "sha512-33W9nvbMkgDDrez0TU2UFiBCwRsjZdmHbGIZy08O2cuk6EqR2AvGEguzE+UNXl42tUzWyO+fWlPs/K+Q2ngn2A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-pause": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-pause/-/interaction-external-pause-4.0.4.tgz",
+ "integrity": "sha512-EVY+84Q2K4fzs+ddKZ3vKelZkrGhNzjyPkSMgg+xNkpaYQmA0w3kPH5oKgv4+tHXD/FN0ADt0SLGL3KisSN5CA==",
+ "license": "MIT",
"peerDependencies": {
- "@tsparticles/engine": "^3.0.2",
- "react": ">=16.8.0",
- "react-dom": ">=16.8.0"
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/shape-circle": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/shape-circle/-/shape-circle-3.9.1.tgz",
- "integrity": "sha512-DqZFLjbuhVn99WJ+A9ajz9YON72RtCcvubzq6qfjFmtwAK7frvQeb6iDTp6Ze9FUipluxVZWVRG4vWTxi2B+/g==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-push": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-push/-/interaction-external-push-4.0.4.tgz",
+ "integrity": "sha512-MvuINaQViTOtnuAHcfVoOC+63tvW/qnXzETGYUjeGtJo/19mHhfLruOrE6t/WELULXSAplfx7aGpVbsy/4MY1w==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/shape-emoji": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/shape-emoji/-/shape-emoji-3.9.1.tgz",
- "integrity": "sha512-ifvY63usuT+hipgVHb8gelBHSeF6ryPnMxAAEC1RGHhhXfpSRWMtE6ybr+pSsYU52M3G9+TF84v91pSwNrb9ZQ==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-remove": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-remove/-/interaction-external-remove-4.0.4.tgz",
+ "integrity": "sha512-3eN6Fb17alU6q9f4JFA/ysOQCP/echTElET+siBu3q86sB6Zg8AXZiOlDa5sa1fAi1NaN7SUioKoRa3u8alNsA==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/shape-image": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/shape-image/-/shape-image-3.9.1.tgz",
- "integrity": "sha512-fCA5eme8VF3oX8yNVUA0l2SLDKuiZObkijb0z3Ky0qj1HUEVlAuEMhhNDNB9E2iELTrWEix9z7BFMePp2CC7AA==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-repulse": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-repulse/-/interaction-external-repulse-4.0.4.tgz",
+ "integrity": "sha512-pA/t84Ngq/HNOhHLAQpZx1YB5Jmd9JEdu4XloPw6WSgF2zlTTue+fQ6kOyMLURstnE2Xrw6l2Hh8SUJsn8UfZg==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/shape-line": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/shape-line/-/shape-line-3.9.1.tgz",
- "integrity": "sha512-wT8NSp0N9HURyV05f371cHKcNTNqr0/cwUu6WhBzbshkYGy1KZUP9CpRIh5FCrBpTev34mEQfOXDycgfG0KiLQ==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-external-slow": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-slow/-/interaction-external-slow-4.0.4.tgz",
+ "integrity": "sha512-QKRmhxUQCeK/NUI5AHKc4FTAwkZp1EdCNIsOub6PdLyU2xSXbMtCQR8unt+njUGQtS2DHZ1MCuG6yU3rEwNTxA==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/shape-polygon": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/shape-polygon/-/shape-polygon-3.9.1.tgz",
- "integrity": "sha512-dA77PgZdoLwxnliH6XQM/zF0r4jhT01pw5y7XTeTqws++hg4rTLV9255k6R6eUqKq0FPSW1/WBsBIl7q/MmrqQ==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-particles-attract": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-attract/-/interaction-particles-attract-4.0.4.tgz",
+ "integrity": "sha512-V2kgBzXawt9LQvNBfmrnl0lossfs0gcSllmuVPjh1EgeFxdRtcwMKB0G73zGXt76PnEJTwCJXmdj44QhD6KEsg==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/shape-square": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/shape-square/-/shape-square-3.9.1.tgz",
- "integrity": "sha512-DKGkDnRyZrAm7T2ipqNezJahSWs6xd9O5LQLe5vjrYm1qGwrFxJiQaAdlb00UNrexz1/SA7bEoIg4XKaFa7qhQ==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-particles-collisions": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-collisions/-/interaction-particles-collisions-4.0.4.tgz",
+ "integrity": "sha512-uz1n7XO7+N4WjnACuzVDlUK2A4FBbMqym7UG2dCg3er+axEfwa3gbhDk+wTSUM11V6FxR9HVCPLqyAh54pn2dQ==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/shape-star": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/shape-star/-/shape-star-3.9.1.tgz",
- "integrity": "sha512-kdMJpi8cdeb6vGrZVSxTG0JIjCwIenggqk0EYeKAwtOGZFBgL7eHhF2F6uu1oq8cJAbXPujEoabnLsz6mW8XaA==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/interaction-particles-links": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-links/-/interaction-particles-links-4.0.4.tgz",
+ "integrity": "sha512-mjN1DhACIHvOQNv0YkJMLytlKdq1cOfy+MkHeGIYLBWVUJEF26ol+mQi/9C11ffcPmug1eVlcl0CQdGcYD7rpQ==",
"license": "MIT",
"dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "@tsparticles/canvas-utils": "4.0.4"
+ },
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4",
+ "@tsparticles/plugin-interactivity": "4.0.4"
}
},
- "node_modules/@tsparticles/slim": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/slim/-/slim-3.9.1.tgz",
- "integrity": "sha512-CL5cDmADU7sDjRli0So+hY61VMbdroqbArmR9Av+c1Fisa5ytr6QD7Jv62iwU2S6rvgicEe9OyRmSy5GIefwZw==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/plugin-easing-quad": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/plugin-easing-quad/-/plugin-easing-quad-4.0.4.tgz",
+ "integrity": "sha512-OxG8ec3VqbnGRigQF0Bd/V523q7WfwFut8xhYKHUJsbRqX9a4RrqLCU728XXeOSyeg61sSvlUqIsVSLumrmYIQ==",
"funding": [
{
"type": "github",
@@ -9120,96 +8522,101 @@
}
],
"license": "MIT",
- "dependencies": {
- "@tsparticles/basic": "3.9.1",
- "@tsparticles/engine": "3.9.1",
- "@tsparticles/interaction-external-attract": "3.9.1",
- "@tsparticles/interaction-external-bounce": "3.9.1",
- "@tsparticles/interaction-external-bubble": "3.9.1",
- "@tsparticles/interaction-external-connect": "3.9.1",
- "@tsparticles/interaction-external-grab": "3.9.1",
- "@tsparticles/interaction-external-pause": "3.9.1",
- "@tsparticles/interaction-external-push": "3.9.1",
- "@tsparticles/interaction-external-remove": "3.9.1",
- "@tsparticles/interaction-external-repulse": "3.9.1",
- "@tsparticles/interaction-external-slow": "3.9.1",
- "@tsparticles/interaction-particles-attract": "3.9.1",
- "@tsparticles/interaction-particles-collisions": "3.9.1",
- "@tsparticles/interaction-particles-links": "3.9.1",
- "@tsparticles/move-parallax": "3.9.1",
- "@tsparticles/plugin-easing-quad": "3.9.1",
- "@tsparticles/shape-emoji": "3.9.1",
- "@tsparticles/shape-image": "3.9.1",
- "@tsparticles/shape-line": "3.9.1",
- "@tsparticles/shape-polygon": "3.9.1",
- "@tsparticles/shape-square": "3.9.1",
- "@tsparticles/shape-star": "3.9.1",
- "@tsparticles/updater-life": "3.9.1",
- "@tsparticles/updater-rotate": "3.9.1",
- "@tsparticles/updater-stroke-color": "3.9.1"
- }
- },
- "node_modules/@tsparticles/updater-color": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/updater-color/-/updater-color-3.9.1.tgz",
- "integrity": "sha512-XGWdscrgEMA8L5E7exsE0f8/2zHKIqnTrZymcyuFBw2DCB6BIV+5z6qaNStpxrhq3DbIxxhqqcybqeOo7+Alpg==",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/plugin-interactivity": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/plugin-interactivity/-/plugin-interactivity-4.0.4.tgz",
+ "integrity": "sha512-e3NdfGJbE5aAW1ukd+fiPesmHtkmbGB2AfAVDXiAxRdAy/NqaqZqAHCPCPxAqYNCx+j9JkqOLxmWXEelVFXppQ==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/updater-life": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/updater-life/-/updater-life-3.9.1.tgz",
- "integrity": "sha512-Oi8aF2RIwMMsjssUkCB6t3PRpENHjdZf6cX92WNfAuqXtQphr3OMAkYFJFWkvyPFK22AVy3p/cFt6KE5zXxwAA==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/shape-emoji": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-emoji/-/shape-emoji-4.0.4.tgz",
+ "integrity": "sha512-lq4pgf5u8qXKsuzpZxOvz6s1zbnhItY1lfprS0x30y26I5QfzThcEVayXCf/Jj33KIMe79uyPLtY1H3vVVrOIA==",
"license": "MIT",
"dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "@tsparticles/canvas-utils": "4.0.4"
+ },
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/updater-opacity": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/updater-opacity/-/updater-opacity-3.9.1.tgz",
- "integrity": "sha512-w778LQuRZJ+IoWzeRdrGykPYSSaTeWfBvLZ2XwYEkh/Ss961InOxZKIpcS6i5Kp/Zfw0fS1ZAuqeHwuj///Osw==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/shape-image": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-image/-/shape-image-4.0.4.tgz",
+ "integrity": "sha512-KSWHMvv04ffEapmFf8HjF1nwvCm8Q7OPEAKZoTMThvNN9RMKneb2gQkxjU1HQWViQIJzgJ2jPBsNwYXRpGewyg==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/updater-out-modes": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/updater-out-modes/-/updater-out-modes-3.9.1.tgz",
- "integrity": "sha512-cKQEkAwbru+hhKF+GTsfbOvuBbx2DSB25CxOdhtW2wRvDBoCnngNdLw91rs+0Cex4tgEeibkebrIKFDDE6kELg==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/shape-line": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-line/-/shape-line-4.0.4.tgz",
+ "integrity": "sha512-jzixuwuIPKeJA7BObAFmcHyYy3/Vfp3qDkDqtlpLHW7vmifZmdZ0xYMoIumLfvPUvUUMvXQwk3M53CmrR1XPng==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/updater-rotate": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/updater-rotate/-/updater-rotate-3.9.1.tgz",
- "integrity": "sha512-9BfKaGfp28JN82MF2qs6Ae/lJr9EColMfMTHqSKljblwbpVDHte4umuwKl3VjbRt87WD9MGtla66NTUYl+WxuQ==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/shape-polygon": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-polygon/-/shape-polygon-4.0.4.tgz",
+ "integrity": "sha512-+wV3lgmSzzQAEbEnP5NKzIpWJcYuL7JsI2XyUW1zl7wuWT1SmjgSu1zRPJG7/v2J3BMKnRp+yFzNHQBOrRm5/g==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/updater-size": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/updater-size/-/updater-size-3.9.1.tgz",
- "integrity": "sha512-3NSVs0O2ApNKZXfd+y/zNhTXSFeG1Pw4peI8e6z/q5+XLbmue9oiEwoPy/tQLaark3oNj3JU7Q903ZijPyXSzw==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/shape-square": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-square/-/shape-square-4.0.4.tgz",
+ "integrity": "sha512-3lemqnG3iuHOmRQT5gW5IRZmZ80bXt6oGqqm9wpnWiHeAbGP60VV1D5fnO66QiEFj7oOg55iOT9J7gYeo9QMwQ==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
- "node_modules/@tsparticles/updater-stroke-color": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/@tsparticles/updater-stroke-color/-/updater-stroke-color-3.9.1.tgz",
- "integrity": "sha512-3x14+C2is9pZYTg9T2TiA/aM1YMq4wLdYaZDcHm3qO30DZu5oeQq0rm/6w+QOGKYY1Z3Htg9rlSUZkhTHn7eDA==",
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/shape-star": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/shape-star/-/shape-star-4.0.4.tgz",
+ "integrity": "sha512-ow3HP1D5q1WNyqp1y+95qUzLniUIbMxAUNxgz5m9Q+Hvws/dV1XN8OLbyfCSg8q6K4fbQuCTQv/ReUitBm/oBg==",
"license": "MIT",
- "dependencies": {
- "@tsparticles/engine": "3.9.1"
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/updater-life": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-life/-/updater-life-4.0.4.tgz",
+ "integrity": "sha512-aDDjOHq/B6oQ9az+Q89NLoaMCeqgRyo+0a6eFooa+UycJyzZTNI7VwUecW/1/LpEFdiVD9qKjzbf8VJLMlVMDQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/updater-paint": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-paint/-/updater-paint-4.0.4.tgz",
+ "integrity": "sha512-aoEHubEgOHRdk+EhaSC51Rm+D0+/5rmkrRUXcdM3snaejXyGtGcUZiZlczZeGHd5gxW9Nxn0Y0SQcWtHLai8VA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
+ }
+ },
+ "node_modules/@tsparticles/slim/node_modules/@tsparticles/updater-rotate": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@tsparticles/updater-rotate/-/updater-rotate-4.0.4.tgz",
+ "integrity": "sha512-XS87LV3lsIwXXDza5LRtri5T5N+ig+QcZX5ERpzjHsqgyisNN6y2/UpzTUBKl2OyjBhfnM69R8BI+ly88WwMkg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@tsparticles/engine": "4.0.4"
}
},
"node_modules/@types/body-parser": {
@@ -9668,12 +9075,6 @@
"integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==",
"license": "MIT"
},
- "node_modules/@types/long": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
- "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==",
- "license": "MIT"
- },
"node_modules/@types/mdast": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
@@ -9888,17 +9289,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.3.tgz",
- "integrity": "sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.4.tgz",
+ "integrity": "sha512-PegsU+XfyJJNjd4+u/k6f9yTyp0lEXXiPopUNobZcIAUJFGICFLN+sP0Rb3JehVmiij1Ph0dFGYqODoRo/2+6A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.12.2",
- "@typescript-eslint/scope-manager": "8.59.3",
- "@typescript-eslint/type-utils": "8.59.3",
- "@typescript-eslint/utils": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3",
+ "@typescript-eslint/scope-manager": "8.59.4",
+ "@typescript-eslint/type-utils": "8.59.4",
+ "@typescript-eslint/utils": "8.59.4",
+ "@typescript-eslint/visitor-keys": "8.59.4",
"ignore": "^7.0.5",
"natural-compare": "^1.4.0",
"ts-api-utils": "^2.5.0"
@@ -9911,22 +9312,22 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^8.59.3",
+ "@typescript-eslint/parser": "^8.59.4",
"eslint": "^8.57.0 || ^9.0.0 || ^10.0.0",
"typescript": ">=4.8.4 <6.1.0"
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.3.tgz",
- "integrity": "sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.4.tgz",
+ "integrity": "sha512-zORHqO/tuhxY1zWuTvMUqddRxpiFJ72xVfcNoWpqdLjs6lfPbuQBJuW4pk+49/uBMy7Ssr4bzgjiKmmDB1UbZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/typescript-estree": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3",
+ "@typescript-eslint/scope-manager": "8.59.4",
+ "@typescript-eslint/types": "8.59.4",
+ "@typescript-eslint/typescript-estree": "8.59.4",
+ "@typescript-eslint/visitor-keys": "8.59.4",
"debug": "^4.4.3"
},
"engines": {
@@ -9942,14 +9343,14 @@
}
},
"node_modules/@typescript-eslint/project-service": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.3.tgz",
- "integrity": "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.4.tgz",
+ "integrity": "sha512-Ly00Vu4oAacfDeHp2Zg85ioNG6l8HG+tN1D7J+xTHSxu9y0awYKJ2zH1rFBn8ZSfuGK+7FxK3Cgl3uAz0aZZLg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.59.3",
- "@typescript-eslint/types": "^8.59.3",
+ "@typescript-eslint/tsconfig-utils": "^8.59.4",
+ "@typescript-eslint/types": "^8.59.4",
"debug": "^4.4.3"
},
"engines": {
@@ -9964,14 +9365,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz",
- "integrity": "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.4.tgz",
+ "integrity": "sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3"
+ "@typescript-eslint/types": "8.59.4",
+ "@typescript-eslint/visitor-keys": "8.59.4"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -9982,9 +9383,9 @@
}
},
"node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz",
- "integrity": "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.4.tgz",
+ "integrity": "sha512-DLCpnKgD4alVxTBSKulK+gU1KCqOgUXfDRDXh2mZgzokQKa/70ax93I2uVO3m/LLvIAtWZIFoiifudmIqAxpMA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -9999,15 +9400,15 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.3.tgz",
- "integrity": "sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.4.tgz",
+ "integrity": "sha512-uonTuPAAKr9XaBGqJ3LjYTh72zy5DyGesljO9gtmk/eFW0W1fRHjnwVYKB35Lm8d5Q5CluEW3gPHjTvZTmgrfA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/typescript-estree": "8.59.3",
- "@typescript-eslint/utils": "8.59.3",
+ "@typescript-eslint/types": "8.59.4",
+ "@typescript-eslint/typescript-estree": "8.59.4",
+ "@typescript-eslint/utils": "8.59.4",
"debug": "^4.4.3",
"ts-api-utils": "^2.5.0"
},
@@ -10024,9 +9425,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.3.tgz",
- "integrity": "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.4.tgz",
+ "integrity": "sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -10038,16 +9439,16 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz",
- "integrity": "sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.4.tgz",
+ "integrity": "sha512-F+RuOmcDXo4+TPdfd/TCLS3m2nw8gE9XXyZLrA3JBfaA5tz9TtdkyD3YJFmPxulyc2cKbEok/CvFE3MgSLWnag==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/project-service": "8.59.3",
- "@typescript-eslint/tsconfig-utils": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/visitor-keys": "8.59.3",
+ "@typescript-eslint/project-service": "8.59.4",
+ "@typescript-eslint/tsconfig-utils": "8.59.4",
+ "@typescript-eslint/types": "8.59.4",
+ "@typescript-eslint/visitor-keys": "8.59.4",
"debug": "^4.4.3",
"minimatch": "^10.2.2",
"semver": "^7.7.3",
@@ -10066,16 +9467,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.3.tgz",
- "integrity": "sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.4.tgz",
+ "integrity": "sha512-cYXeNAUsG4lJo5dbc1FcKm+JwIWrj1/UpTORsC6tGMjEZ81DYcvIr9/ueikhMa/Y/gDQYGp+YX9/xQrXje5BJw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.9.1",
- "@typescript-eslint/scope-manager": "8.59.3",
- "@typescript-eslint/types": "8.59.3",
- "@typescript-eslint/typescript-estree": "8.59.3"
+ "@typescript-eslint/scope-manager": "8.59.4",
+ "@typescript-eslint/types": "8.59.4",
+ "@typescript-eslint/typescript-estree": "8.59.4"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -10090,13 +9491,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.59.3",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz",
- "integrity": "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==",
+ "version": "8.59.4",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.4.tgz",
+ "integrity": "sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.59.3",
+ "@typescript-eslint/types": "8.59.4",
"eslint-visitor-keys": "^5.0.0"
},
"engines": {
@@ -11211,9 +10612,9 @@
}
},
"node_modules/brace-expansion": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
- "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
+ "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11864,63 +11265,6 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/cliui/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/cliui/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
"node_modules/clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -13426,9 +12770,9 @@
}
},
"node_modules/date-fns": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
- "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.2.1.tgz",
+ "integrity": "sha512-37RhSdxaG1suen6VDCza6rNrQfooyQh57HFVPwQGEq2QWliVLzPQZ8Oa017weOu+HZCnzI7N3Pf/wyoBKfEqrA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -13679,12 +13023,6 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/dialog-polyfill": {
- "version": "0.4.10",
- "resolved": "https://registry.npmjs.org/dialog-polyfill/-/dialog-polyfill-0.4.10.tgz",
- "integrity": "sha512-j5yGMkP8T00UFgyO+78OxiN5vC5dzRQF3BEio+LhNvDbyfxWBsi3sfPArDm54VloaJwy2hm3erEiDWqHRC8rzw==",
- "license": "BSD"
- },
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -15201,53 +14539,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/firebase": {
- "version": "9.23.0",
- "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.23.0.tgz",
- "integrity": "sha512-/4lUVY0lUvBDIaeY1q6dUYhS8Sd18Qb9CgWkPZICUo9IXpJNCEagfNZXBBFCkMTTN5L5gx2Hjr27y21a9NzUcA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@firebase/analytics": "0.10.0",
- "@firebase/analytics-compat": "0.2.6",
- "@firebase/app": "0.9.13",
- "@firebase/app-check": "0.8.0",
- "@firebase/app-check-compat": "0.3.7",
- "@firebase/app-compat": "0.2.13",
- "@firebase/app-types": "0.9.0",
- "@firebase/auth": "0.23.2",
- "@firebase/auth-compat": "0.4.2",
- "@firebase/database": "0.14.4",
- "@firebase/database-compat": "0.3.4",
- "@firebase/firestore": "3.13.0",
- "@firebase/firestore-compat": "0.3.12",
- "@firebase/functions": "0.10.0",
- "@firebase/functions-compat": "0.3.5",
- "@firebase/installations": "0.6.4",
- "@firebase/installations-compat": "0.2.4",
- "@firebase/messaging": "0.12.4",
- "@firebase/messaging-compat": "0.2.4",
- "@firebase/performance": "0.6.4",
- "@firebase/performance-compat": "0.2.4",
- "@firebase/remote-config": "0.4.4",
- "@firebase/remote-config-compat": "0.2.4",
- "@firebase/storage": "0.11.2",
- "@firebase/storage-compat": "0.3.2",
- "@firebase/util": "1.9.3"
- }
- },
- "node_modules/firebaseui": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/firebaseui/-/firebaseui-6.1.0.tgz",
- "integrity": "sha512-5WiVYVxPGMANuZKxg6KLyU1tyqIsbqf/59Zm4HrdFYwPtM5lxxB0THvgaIk4ix+hCgF0qmY89sKiktcifKzGIA==",
- "license": "Apache-2.0",
- "dependencies": {
- "dialog-polyfill": "^0.4.7",
- "material-design-lite": "^1.2.0"
- },
- "peerDependencies": {
- "firebase": "^9.1.3 || ^10.0.0"
- }
- },
"node_modules/flat": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
@@ -15482,19 +14773,10 @@
"node": ">=6.9.0"
}
},
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
"node_modules/get-east-asian-width": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz",
- "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
+ "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -16566,12 +15848,6 @@
"postcss": "^8.1.0"
}
},
- "node_modules/idb": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz",
- "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==",
- "license": "ISC"
- },
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
@@ -17502,6 +16778,15 @@
"@sideway/pinpoint": "^2.0.0"
}
},
+ "node_modules/js-cookie": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
+ "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -18244,12 +17529,6 @@
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
"license": "MIT"
},
- "node_modules/lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
- "license": "MIT"
- },
"node_modules/lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
@@ -18413,12 +17692,6 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/long": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
- "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
- "license": "Apache-2.0"
- },
"node_modules/longest-streak": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
@@ -18524,15 +17797,6 @@
"node": ">= 20"
}
},
- "node_modules/material-design-lite": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/material-design-lite/-/material-design-lite-1.3.0.tgz",
- "integrity": "sha512-ao76b0bqSTKcEMt7Pui+J/S3eVF0b3GWfuKUwfe2lP5DKlLZOwBq37e0/bXEzxrw7/SuHAuYAdoCwY6mAYhrsg==",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=0.12.0"
- }
- },
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -21238,26 +20502,6 @@
"node": ">=18"
}
},
- "node_modules/node-fetch": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
- "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
"node_modules/node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
@@ -23809,32 +23053,6 @@
"integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
"license": "ISC"
},
- "node_modules/protobufjs": {
- "version": "6.11.4",
- "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz",
- "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==",
- "hasInstallScript": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@protobufjs/aspromise": "^1.1.2",
- "@protobufjs/base64": "^1.1.2",
- "@protobufjs/codegen": "^2.0.4",
- "@protobufjs/eventemitter": "^1.1.0",
- "@protobufjs/fetch": "^1.1.0",
- "@protobufjs/float": "^1.0.2",
- "@protobufjs/inquire": "^1.1.0",
- "@protobufjs/path": "^1.1.2",
- "@protobufjs/pool": "^1.1.0",
- "@protobufjs/utf8": "^1.1.0",
- "@types/long": "^4.0.1",
- "@types/node": ">=13.7.0",
- "long": "^4.0.0"
- },
- "bin": {
- "pbjs": "bin/pbjs",
- "pbts": "bin/pbts"
- }
- },
"node_modules/proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -24723,15 +23941,6 @@
"node": ">=0.10"
}
},
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
@@ -26582,12 +25791,6 @@
"node": ">=6"
}
},
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "license": "MIT"
- },
"node_modules/tree-dump": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz",
@@ -27480,12 +26683,6 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "license": "BSD-2-Clause"
- },
"node_modules/webpack": {
"version": "5.102.1",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.1.tgz",
@@ -27906,16 +27103,6 @@
"node": ">=0.8.0"
}
},
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -28207,15 +27394,6 @@
"xml-js": "bin/cli.js"
}
},
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -28239,62 +27417,6 @@
"url": "https://github.com/sponsors/eemeli"
}
},
- "node_modules/yargs": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
- "license": "MIT",
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^20.2.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yargs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/yargs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
diff --git a/package.json b/package.json
index 2355cd61..5ee3e98e 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,7 @@
]
},
"dependencies": {
+ "@clerk/react": "^6.6.6",
"@docusaurus/core": "^3.9.1",
"@docusaurus/plugin-content-docs": "3.10.1",
"@docusaurus/plugin-google-analytics": "^3.10.0",
@@ -45,17 +46,15 @@
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-slot": "^1.2.3",
"@tsparticles/react": "^3.0.0",
- "@tsparticles/slim": "^3.8.1",
+ "@tsparticles/slim": "^4.0.4",
"@vercel/analytics": "^1.5.0",
"canvas-confetti": "^1.9.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
- "date-fns": "^4.1.0",
+ "date-fns": "^4.2.1",
"dotenv": "^17.4.2",
"embla-carousel-autoplay": "^8.6.0",
"embla-carousel-react": "^8.6.0",
- "firebase": "^9.22.2",
- "firebaseui": "6.1.0",
"framer-motion": "^12.38.0",
"lucide-react": "^0.503.0",
"prism-react-renderer": "^2.3.0",
@@ -64,6 +63,7 @@
"react-icons": "^5.5.0",
"react-slot-counter": "^3.3.1",
"rehype-katex": "^7.0.1",
+ "remark-gfm": "^4.0.1",
"remark-math": "^6.0.0",
"styled-components": "^6.4.1",
"tailwind-merge": "^3.6.0",
@@ -78,7 +78,7 @@
"@types/canvas-confetti": "^1.9.0",
"@types/react": "^19.1.9",
"@types/react-dom": "^19.1.7",
- "@typescript-eslint/eslint-plugin": "^8.59.3",
+ "@typescript-eslint/eslint-plugin": "^8.59.4",
"@typescript-eslint/parser": "^8.59.3",
"autoprefixer": "^10.5.0",
"eslint": "^9.38.0",
@@ -104,6 +104,6 @@
]
},
"engines": {
- "node": ">=18.0"
+ "node": ">=20.9.0"
}
}
diff --git a/sidebars.ts b/sidebars.ts
index 5329ca0f..9867fd59 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -33,7 +33,7 @@ const sidebars: SidebarsConfig = {
className: "custom-sidebar-github",
items: [
"GitHub/intro-github",
- "GitHub/intro-gitlab",
+
{
type: "category",
label: "βοΈ Setup Environment",
diff --git a/src/components/FloatingContributors/index.tsx b/src/components/FloatingContributors/index.tsx
index 171af61f..bcfcedab 100644
--- a/src/components/FloatingContributors/index.tsx
+++ b/src/components/FloatingContributors/index.tsx
@@ -87,13 +87,13 @@ interface ContributorActivity {
html_url: string;
};
action:
- | "pushed"
- | "created"
- | "merged"
- | "opened"
- | "commented"
- | "closed"
- | "other";
+ | "pushed"
+ | "created"
+ | "merged"
+ | "opened"
+ | "commented"
+ | "closed"
+ | "other";
message?: string;
timestamp: Date;
timeAgo: string;
@@ -519,17 +519,17 @@ const FloatingContributors: React.FC = ({
headerEmbedded
? {}
: {
- y: [0, -8, 0],
- }
+ y: [0, -8, 0],
+ }
}
transition={
headerEmbedded
? {}
: {
- duration: 4,
- repeat: Infinity,
- ease: "easeInOut",
- }
+ duration: 4,
+ repeat: Infinity,
+ ease: "easeInOut",
+ }
}
>
{/* Close button */}
@@ -668,7 +668,7 @@ const FloatingContributors: React.FC = ({
{/* Footer */}
= ({
aria-label="View repository on GitHub and join the community"
>
π
- View Repository on GitHub
+ View Repositories on GitHubβ
+ The GitHub Certified: Agentic AI Developer certification validates your expertise in creating intelligent automated workflows, building AI-powered agents, and extending GitHub's capabilities.
+