diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..1808e43 --- /dev/null +++ b/.env.example @@ -0,0 +1,17 @@ +## Clerk Configuration +NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= +CLERK_SECRET_KEY= +NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard +NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard + +# [Xata] Configuration used by the CLI and the SDK +# Make sure your framework/tooling loads this file on startup to have it available for the SDK +XATA_BRANCH=main +XATA_API_KEY= + +## Github token to retirive github repos metadata +GITHUB_API_TOKEN= + +## Spotify token to retirive spotify shows and metadata +SPOTIFY_CLIENT_ID= +SPOTIFY_CLIENT_SECRET= \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..384fbe0 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,43 @@ +/** @type {import("eslint").Linter.Config} */ +const config = { + parser: "@typescript-eslint/parser", + parserOptions: { + project: true, + }, + plugins: ["@typescript-eslint",'unicorn'], + extends: [ + "next/core-web-vitals", + "plugin:@typescript-eslint/recommended-type-checked", + "plugin:@typescript-eslint/stylistic-type-checked", + ], + rules: { + // force using kebab-case for filenames + 'unicorn/filename-case': [ + 'error', + { + case: 'kebabCase', + }, + ], + // These opinionated rules are enabled in stylistic-type-checked above. + // Feel free to reconfigure them to your own preference. + "@typescript-eslint/array-type": "off", + "@typescript-eslint/consistent-type-definitions": "off", + + "@typescript-eslint/consistent-type-imports": [ + "warn", + { + prefer: "type-imports", + fixStyle: "inline-type-imports", + }, + ], + "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }], + "@typescript-eslint/no-misused-promises": [ + 2, + { + checksVoidReturn: { attributes: false }, + }, + ], + }, +}; + +module.exports = config; diff --git a/.github/ISSUE_TEMPLATE/NEW.yml b/.github/ISSUE_TEMPLATE/NEW.yml new file mode 100644 index 0000000..d64d58d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/NEW.yml @@ -0,0 +1,104 @@ +name: New entry +description: Fill this form to add your content to the website. +title: "[New]: " +labels: ["new-entry"] + +body: + - type: input + id: author + attributes: + label: Author full name + description: How can we get in touch with you if we need more info? + placeholder: ex. John Doe + validations: + required: true + - type: input + id: contact + attributes: + label: Contact Details + description: How can we get in touch with you if we need more info? + placeholder: ex. email@example.com + validations: + required: false + + - type: input + id: project + attributes: + label: Project title + description: Add a title for your project + placeholder: ex. react-popup + validations: + required: false + + - type: input + id: project-url + attributes: + label: Project url + description: Add a url for your project (repository or website) + placeholder: ex. https://github.com/user/project + validations: + required: true + + - type: textarea + id: description + attributes: + label: Project description + description: Add a description for your project + placeholder: ex. A react popup component + validations: + required: true + + - type: dropdown + id: type + attributes: + label: Project type + description: Choose the type of the project + options: + - Community + - Event + - Blog + - Podcast + - YouTube Channel + - Open Source Project + - Book + + validations: + required: true + + - type: dropdown + id: is-oss + attributes: + label: If Open Source project, can you choose technology? + multiple: true + options: + - JavaScript + - Java + - ASP.NET + - PHP + - Python + - Go + - CSS + - Flutter + - AI + - Others + description: Choose the technology of the project + validations: + required: false + + - type: input + id: is-oss-others + attributes: + label: If other, please specify + description: Indicate the technology + placeholder: ex. Cobol + validations: + required: false + + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our Code of Conduct + options: + - label: I agree to follow this project's Code of Conduct + required: true diff --git a/.github/actions/setup-bun-and-install/action.yml b/.github/actions/setup-bun-and-install/action.yml new file mode 100644 index 0000000..ec55384 --- /dev/null +++ b/.github/actions/setup-bun-and-install/action.yml @@ -0,0 +1,21 @@ + +# ✍️ Description: +# This is a composite action, which means it can be used in other actions. +# It is used in almost all workflows to set up the environment and install dependencies. + +# 👀 Example usage: +# - name : 📦 Setup Bun + Install Dependencies +# uses: ./.github/actions/setup-bun-and-install + +name: 'Setup Bun + Install Dependencies' +description: 'Setup Bun + Install Dependencies' +runs: + using: 'composite' + steps: + - uses: oven-sh/setup-bun@v1 + with: + bun-version: latest + + - name: 📦 Install Project Dependencies + run: bun install --frozen-lockfile + shell: bash diff --git a/.github/workflows/compress-images.yml b/.github/workflows/compress-images.yml new file mode 100644 index 0000000..c129e0f --- /dev/null +++ b/.github/workflows/compress-images.yml @@ -0,0 +1,43 @@ +# ✍️ Description: +# This workflow is used compress images in the repo. +# This workflow will trigger on a push to the "master" or "main" branch and only run when a new image is added or updated. +# If it's the case, it will compress those images and create a pull request with the compressed images. + +name: Compress images +on: + push: + branches: + - master + - main + paths: + - "**.jpg" + - "**.jpeg" + - "**.png" + - "**.webp" + workflow_dispatch: + +jobs: + build: + name: calibreapp/image-actions + runs-on: ubuntu-latest + steps: + - name: Checkout Branch + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Compress Images + id: calibre + uses: calibreapp/image-actions@main + with: + githubToken: ${{ secrets.GITHUB_TOKEN }} + compressOnly: true + ignorePaths: "node_modules/**,ios/**,android/**" + + - name: Create Pull Request + if: steps.calibre.outputs.markdown != '' + uses: peter-evans/create-pull-request@v3 + with: + title: Auto Compress Images + branch-suffix: timestamp + commit-message: Compress Images + body: ${{ steps.calibre.outputs.markdown }} diff --git a/.github/workflows/issue-to-pr.yml b/.github/workflows/issue-to-pr.yml deleted file mode 100644 index 9a990d0..0000000 --- a/.github/workflows/issue-to-pr.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Issue to PR -on: - issues: - types: [opened, edited] - -jobs: - Issue_to_PR: - if: contains(github.event.issue.labels.*.name, 'new') - runs-on: ubuntu-latest - env: - BODY: ${{ toJson(github.event.issue.body) }} - LABELS: ${{ toJson(github.event.issue.labels) }} - # DIR: "./content/generated/projects" - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - - name: Install dependencies - run: yarn install - working-directory: scripts - - name: Run tests - run: yarn test - working-directory: scripts - - name: Run parser - id: issue-parser - run: | - FILEPATH=$(NODE_PATH=scripts node --require tsm ./src/issue-parser.ts) - echo "::set-output name=FILEPATH::$FILEPATH" - working-directory: scripts - - - name: Create commits - run: | - git config user.name "${{ github.event.issue.user.login }}" - git config user.email ${{ github.event.issue.user.login }}@users.noreply.github.com - git add -A - git commit -m "Add new content from issue" - - name: Create a PR - uses: peter-evans/create-pull-request@v3 - with: - issue-number: ${{ github.event.issue.number }} - title: ${{ github.event.issue.title }} - branch: data-from-issue-${{ github.event.issue.number }} - delete-branch: true - author: ${{ github.event.issue.user.login }} <${{ github.event.issue.user.login }}@users.noreply.github.com> - body: | - Adding new content - - Adding file ${{ steps.issue-parser.outputs.FILEPATH }} - - Issue: #${{ github.event.issue.number }} diff --git a/.github/workflows/lint-ts.yml b/.github/workflows/lint-ts.yml new file mode 100644 index 0000000..7616d1c --- /dev/null +++ b/.github/workflows/lint-ts.yml @@ -0,0 +1,28 @@ +# ✍️ Description: +# This action is used to run eslint checks +# Runs on pull requests and pushes to the main/master branches + +name: Lint TS (eslint, prettier) + +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +jobs: + lint: + name: Lint TS (eslint, prettier) + runs-on: ubuntu-latest + + steps: + - name: 📦 Checkout project repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: 📦 Setupbun + install deps + uses: ./.github/actions/setup-bun-and-install + + - name: 🏃‍♂️ Run ESLint PR + run: bun run lint diff --git a/.github/workflows/test-scripts.yml b/.github/workflows/test-scripts.yml deleted file mode 100644 index 75dcae2..0000000 --- a/.github/workflows/test-scripts.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Test Scripts - -on: - pull_request: - paths: - - "scripts/**" - branches: - - develop - - master - -jobs: - test-script: - name: Test Scripts - runs-on: ubuntu-latest - - steps: - - name: Check out Git repository - uses: actions/checkout@v2 - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - name: Restore node_modules from cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - name: Run Tests and - uses: ArtiomTr/jest-coverage-report-action@v2 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - working-directory: "scripts" - package-manager: yarn - test-script: yarn jest diff --git a/.github/workflows/type-check.yml b/.github/workflows/type-check.yml new file mode 100644 index 0000000..ad49c5e --- /dev/null +++ b/.github/workflows/type-check.yml @@ -0,0 +1,45 @@ +# ✍️ Description: +# This action is used to run the type-check on the project. +# Runs on pull requests and pushes to the main/master branches +# Based on the event type: +# - If it's a pull request, it will run type checking, then add the check to the PR as well as annotate the code with the errors using reviewdog. +# - If it's a push to main/master, it will run the type checking and fail if there are any errors. + +name: Type Check (tsc) + +on: + push: + branches: [main, master] + pull_request: + branches: [main, master] + +jobs: + type-check: + name: Type Check (tsc) + runs-on: ubuntu-latest + steps: + - name: 📦 Checkout project repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: 📦 Setup bun + Install deps + uses: ./.github/actions/setup-bun-and-install + + - name: 📦 Install Reviewdog + if: github.event_name == 'pull_request' + uses: reviewdog/action-setup@v1 + + - name: 🏃‍♂️ Run TypeScript PR # Reviewdog tsc errorformat: %f:%l:%c - error TS%n: %m + # we only need to add the reviewdog step if it's a pull request + if: github.event_name == 'pull_request' + run: | + bun type-check | reviewdog -name="tsc" -efm="%f(%l,%c): error TS%n: %m" -reporter="github-pr-review" -filter-mode="nofilter" -fail-on-error -tee + env: + REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: + 🏃‍♂️ Run TypeScript Commit + # If it's not a Pull Request then we just need to run the type-check + if: github.event_name != 'pull_request' + run: bun type-check diff --git a/.gitignore b/.gitignore index 1a53625..57ecabc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,70 +1,42 @@ -*.gem -*.rbc -/.config -/coverage/ -/InstalledFiles -/pkg/ -/spec/reports/ -/spec/examples.txt -/test/tmp/ -/test/version_tmp/ -/tmp/ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. -# Used by dotenv library to load environment variables. -# .env +# dependencies +/node_modules +/.pnp +.pnp.js -# Ignore Byebug command history file. -.byebug_history +# testing +/coverage -## Specific to RubyMotion: -.dat* -.repl_history -build/ -*.bridgesupport -build-iPhoneOS/ -build-iPhoneSimulator/ +# database +/prisma/db.sqlite +/prisma/db.sqlite-journal -## Specific to RubyMotion (use of CocoaPods): -# -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control -# -# vendor/Pods/ +# next.js +/.next/ +/out/ -## Documentation cache and generated files: -/.yardoc/ -/_yardoc/ -/doc/ -/rdoc/ +# production +/build -## Environment normalization: -/.bundle/ -/vendor/bundle -/lib/bundler/man/ +# misc +.DS_Store +*.pem -# for a library or gem, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -Gemfile.lock -# .ruby-version -# .ruby-gemset +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* -# unless supporting rvm < 1.11.0 or doing something fancy, ignore this: -.rvmrc +# local env files +# do not commit any .env files to git, except for the .env.example file. https://create.t3.gg/en/usage/env-variables#using-environment-variables +.env +.env*.local -# Used by RuboCop. Remote config files pulled in from inherit_from directive. -# .rubocop-https?--* +# vercel +.vercel -.cache -.jekyll-cache/ -.jekyll-metadata -.sass-cache/ -.vendor/ -_site/ -assets/development.css -build -dist -node_modules -package-lock.json - -.next \ No newline at end of file +# typescript +*.tsbuildinfo +.xata diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 0000000..31354ec --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.husky/common.sh b/.husky/common.sh new file mode 100644 index 0000000..0e40ff1 --- /dev/null +++ b/.husky/common.sh @@ -0,0 +1,8 @@ +command_exists() { + command -v "$1" >/dev/null 2>&1 +} + +# Workaround for Windows 10, Git Bash and Yarn +if command_exists winpty && test -t 1; then + exec > Checking branch name..." + +# Check if branch protection is enabled +if [[ -z $SKIP_BRANCH_PROTECTION ]]; then + BRANCH=$(git rev-parse --abbrev-ref HEAD) + PROTECTED_BRANCHES="^(main|master)" + + if [[ $BRANCH =~ $PROTECTED_BRANCHES ]]; then + echo ">> Direct commits to the $BRANCH branch are not allowed. Please choose a new branch name." + exit 1 + fi +else + echo ">> Skipping branch protection." +fi + +echo ">> Finish checking branch name" +echo ">> Linting your files and fixing them if needed..." + +pnpm type-check +pnpm lint \ No newline at end of file diff --git a/.xatarc b/.xatarc new file mode 100644 index 0000000..0dbdd3d --- /dev/null +++ b/.xatarc @@ -0,0 +1,6 @@ +{ + "databaseURL": "https://Youssouf-EL-AZIZI-s-workspace-28d54f.eu-west-1.xata.sh/db/aw-morocco", + "codegen": { + "output": "src/xata.ts" + } +} \ No newline at end of file diff --git a/apps/scripts/.gitignore b/apps/scripts/.gitignore deleted file mode 100644 index 5d152ee..0000000 --- a/apps/scripts/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.turbo -coverage -**.log \ No newline at end of file diff --git a/assets/logo.svg b/assets/logo.svg deleted file mode 100644 index 0582a67..0000000 --- a/assets/logo.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000..121d5e9 Binary files /dev/null and b/bun.lockb differ diff --git a/content/generated/posts.json b/content/generated/posts.json deleted file mode 100644 index 5ed39f3..0000000 --- a/content/generated/posts.json +++ /dev/null @@ -1,142 +0,0 @@ -[ - { - "title": "My home office setup!", - "link": "http://aboullaite.me/my-home-office-setup/", - "pubDate": "2021-08-31T13:50:16.000Z", - "image": "", - "author": "" - }, - { - "title": "How to build an image picker in React Native", - "link": "https://elazizi.com/how-to-build-an-image-picker-in-react-native", - "pubDate": "2021-08-07T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "15 React Native libraries you should use in 2021", - "link": "https://elazizi.com/15-react-native-libraries-you-should-use-in-2021", - "pubDate": "2021-05-10T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "Deep Work", - "link": "https://elazizi.com/deep-work", - "pubDate": "2021-04-06T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "So good they can't ignore you", - "link": "https://elazizi.com/so-good-they-cant-ignore-you", - "pubDate": "2021-03-18T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "Atomic habits Summary", - "link": "https://elazizi.com/atomic-habits-summary", - "pubDate": "2021-03-01T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "How to learn TypeScript for react developers", - "link": "https://elazizi.com/how-to-learn-type-script-for-react-developers", - "pubDate": "2020-12-20T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "How to structure a react-native project", - "link": "https://elazizi.com/how-to-structure-a-react-native-project", - "pubDate": "2020-11-17T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "Blogging: Why you should care?", - "link": "https://elazizi.com/blogging-why-you-should-care", - "pubDate": "2020-10-25T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "Authentication in React Native, Easy, Secure, and Reusable solution 💪.", - "link": "https://elazizi.com/authentication-in-react-native-easy-secure-and-reusable-solution-💪", - "pubDate": "2020-08-25T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "Building Native Covid19 Tracker CLI using Java, PicoCLI & GraalVM", - "link": "http://aboullaite.me/java-covid19-cli-picocli-graalvm/", - "pubDate": "2020-05-11T22:40:09.000Z", - "image": "", - "author": "" - }, - { - "title": "Handling Errors in React Native: A Complete Guide", - "link": "https://elazizi.com/handling-errors-in-react-native-a-complete-guide", - "pubDate": "2020-05-06T00:00:00.000Z", - "image": "", - "author": "" - }, - { - "title": "Java 14 features: Text Blocks & Foreign-Memory Access API", - "link": "http://aboullaite.me/java-14-text-blocks-foreign-memory-access-api/", - "pubDate": "2020-03-22T11:46:32.000Z", - "image": "", - "author": "" - }, - { - "title": "Java 14 features: Switch Expressions, JFR Event Streaming and more", - "link": "http://aboullaite.me/java-14-se-jfrs/", - "pubDate": "2020-03-11T15:05:13.000Z", - "image": "", - "author": "" - }, - { - "title": "Skaffold, OKE & OCIR!", - "link": "http://aboullaite.me/skaffold-oke-ocir/", - "pubDate": "2020-03-06T03:31:16.000Z", - "image": "", - "author": "" - }, - { - "title": "5 reasons to attend DevNexus 2020", - "link": "http://aboullaite.me/5-reasons-to-attend-devnexus-2020/", - "pubDate": "2020-02-02T18:19:05.000Z", - "image": "", - "author": "" - }, - { - "title": "Java 14 new features: Records", - "link": "http://aboullaite.me/java-14-records/", - "pubDate": "2020-01-29T15:56:04.000Z", - "image": "", - "author": "" - }, - { - "title": "Tweets Sentiment Analysis using Stanford CoreNLP", - "link": "http://aboullaite.me/stanford-corenlp-java/", - "pubDate": "2020-01-08T13:04:30.000Z", - "image": "", - "author": "" - }, - { - "title": "Running JavaFx app with Docker containers!", - "link": "http://aboullaite.me/javafx-docker/", - "pubDate": "2019-12-27T15:03:29.000Z", - "image": "", - "author": "" - }, - { - "title": "Java 14 features:  Pattern Matching for `instanceof`, `jpackage` & helpful NPEs", - "link": "http://aboullaite.me/java-14-instanceof-jpackage-npes/", - "pubDate": "2019-12-21T20:00:36.000Z", - "image": "", - "author": "" - } -] \ No newline at end of file diff --git a/content/generated/projects/.keep b/content/generated/projects/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/content/source/.keep b/content/source/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/content/source/blog/aboullaite.me.json b/content/source/blog/aboullaite.me.json deleted file mode 100644 index ac6ea6b..0000000 --- a/content/source/blog/aboullaite.me.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "Aboullaite blog", - "url": "https://aboullaite.me/", - "description": "React, javascript , React Native ...", - "rssUrl": "https://aboullaite.me/rss/" -} diff --git a/content/source/blog/elazizi.com.json b/content/source/blog/elazizi.com.json deleted file mode 100644 index 9cae5fb..0000000 --- a/content/source/blog/elazizi.com.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "El Azizi blog", - "url": "https://elazizi.com", - "description": "React, javascript , React Native ...", - "rssUrl": "https://elazizi.com/rss.xml" -} diff --git a/contributing.md b/contributing.md index dbb023c..83e017f 100644 --- a/contributing.md +++ b/contributing.md @@ -1,10 +1,55 @@ -# 🧐 Want to contribute ? +# Awesome Morocco 🇲🇦 Project -If you have something awesome to contribute to awesome morocco list, this is how you do it. +This Project is a full-stack application based on Next.js to create a platform for the Moroccan community to share their awesome projects (Open Source, Blogs, etc.). -You'll need a GitHub account! +The app is built with: -1. Access the awesome-morocco list GitHub page: -2. Click on the readme.md file and click the edit icon. -3. You can start editing the text of the file in the in-browser editor. Make sure your awesome thing is in the right section. -4. submit a PR. +- [Next.js](https://nextjs.org) +- [Clerk](https://clerk.com) (Authentication) +- [xata](https://xata.io) (Database) +- [Tailwind CSS](https://tailwindcss.com) (Styling) + +## Getting Started + +To get started, you need first to fork and clone the project to your local machine. Then, install the dependencies: + +```bash +pnpm install +``` + +Make sure to create a free account on [Clerk](https://clerk.com) and [xata](https://xata.io) to get your API keys. + +Then, you need to create a `.env.local` file and add the following environment variables: + +```bash +## Clerk Configuration +NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= +CLERK_SECRET_KEY= +NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard +NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard + +# [Xata] Configuration used by the CLI and the SDK +# Make sure your framework/tooling loads this file on startup to have it available for the SDK +XATA_BRANCH=main +XATA_API_KEY= + +## Github token to retrieve github repos metadata +GITHUB_API_TOKEN= + +## Spotify token to retrieve spotify shows and metadata +SPOTIFY_CLIENT_ID= +SPOTIFY_CLIENT_SECRET= +``` + +While creating your xata database, you can use the schema as follows: + +```` +xata init --schema=./src/schema.json --force +``` + +Finally, run the development server: + +```bash +pnpm dev +``` +```` diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index b1f5e0b..0000000 --- a/netlify.toml +++ /dev/null @@ -1,7 +0,0 @@ -[build] - base = "website/" - publish = "out/" - command = "yarn build-prod" - ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF . ../content/" - - diff --git a/website/next-env.d.ts b/next-env.d.ts similarity index 100% rename from website/next-env.d.ts rename to next-env.d.ts diff --git a/next.config.mjs b/next.config.mjs new file mode 100644 index 0000000..0914d31 --- /dev/null +++ b/next.config.mjs @@ -0,0 +1,10 @@ +/** + * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially useful + * for Docker builds. + */ +await import("./src/env.mjs"); + +/** @type {import("next").NextConfig} */ +const config = {}; + +export default config; diff --git a/next/.eslintrc.json b/next/.eslintrc.json deleted file mode 100644 index bffb357..0000000 --- a/next/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/next/.gitignore b/next/.gitignore deleted file mode 100644 index c87c9b3..0000000 --- a/next/.gitignore +++ /dev/null @@ -1,36 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/next/README.md b/next/README.md deleted file mode 100644 index b12f3e3..0000000 --- a/next/README.md +++ /dev/null @@ -1,34 +0,0 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. - -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`. - -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/next/components/BlogsAuthors/data/index.js b/next/components/BlogsAuthors/data/index.js deleted file mode 100644 index 72abf70..0000000 --- a/next/components/BlogsAuthors/data/index.js +++ /dev/null @@ -1,44 +0,0 @@ -const data = [ - { - photo: "/authorsImages/author_img.png", - full_name: "Mohammed Aboullaite", - tech_stack: "Java, Docker", - }, - { - photo: "/authorsImages/author_img.png", - full_name: "Mohammed Aboullaite", - tech_stack: "Java, Docker", - }, - { - photo: "/authorsImages/author_img.png", - full_name: "Mohammed Aboullaite", - tech_stack: "Java, Docker", - }, - { - photo: "/authorsImages/author_img.png", - full_name: "Mohammed Aboullaite", - tech_stack: "Java, Docker", - }, - { - photo: "/authorsImages/author_img.png", - full_name: "Mohammed Aboullaite", - tech_stack: "Java, Docker", - }, - { - photo: "/authorsImages/author_img.png", - full_name: "Mohammed Aboullaite", - tech_stack: "Java, Docker", - }, - { - photo: "/authorsImages/author_img.png", - full_name: "Mohammed Aboullaite", - tech_stack: "Java, Docker", - }, - { - photo: "/authorsImages/author_img.png", - full_name: "Mohammed Aboullaite", - tech_stack: "Java, Docker", - }, -]; - -export default data; diff --git a/next/components/BlogsAuthors/index.jsx b/next/components/BlogsAuthors/index.jsx deleted file mode 100644 index 569256b..0000000 --- a/next/components/BlogsAuthors/index.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import Link from "next/link"; -import styles from "../../styles/BlogsAuthors.module.css"; - -import authors from "./data"; - -const BlogsAuthors = () => { - return ( -
- {authors.map((author, index) => ( -
-
- Author Photo -
-
-

{author.full_name}

-

{author.tech_stack}

- Visit the website -
-
- ))} -
- ); -}; - -export default BlogsAuthors; diff --git a/next/components/BlogsFeed/index.jsx b/next/components/BlogsFeed/index.jsx deleted file mode 100644 index 42e6b3e..0000000 --- a/next/components/BlogsFeed/index.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from "react"; -import Link from "next/link"; -import styles from "../../styles/BlogsFeed.module.css"; - -const BlogsFeed = ({ feeds }) => { - return ( -
- {feeds.map((feed, index) => - feed.type == "personal" ? ( -
-
- Feed Image -
-
-
-

{feed.name}

-

{feed.description}

- {feed.publish_date} -
-
- - - Read More - - - - - - - -
-
-
- ) : null - )} -
- ); -}; - -export default BlogsFeed; diff --git a/next/components/BlogsFilterBar/index.jsx b/next/components/BlogsFilterBar/index.jsx deleted file mode 100644 index 79c8b7c..0000000 --- a/next/components/BlogsFilterBar/index.jsx +++ /dev/null @@ -1,126 +0,0 @@ -import React from "react"; -import styles from "../../styles/Blogs.module.css"; - -const BlogsFilterBar = ({ - filterOpen, - setFilterOpen, - blogsContent, - setBlogsContent, -}) => { - return ( -
-
-
- - - {/* */} -
- - {/*
- -
*/} -
- - {filterOpen == true ? ( -
-
-
-
-

Languages

-
- - - - - - -
-
- -
-

Tags

-
- Machine Learning - Database - Documentation - Extentions - Typesafty - Nodejs -
-
- -
-

Sort

-
-
- - Most recent -
-
- - By Stars -
-
- - By Issues -
-
-
-
- -
- - -
-
-
- ) : null} -
- ); -}; - -export default BlogsFilterBar; diff --git a/next/components/BlogsOrgs/index.jsx b/next/components/BlogsOrgs/index.jsx deleted file mode 100644 index c040f50..0000000 --- a/next/components/BlogsOrgs/index.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import Link from "next/link"; -import React from "react"; -import styles from "../../styles/BlogsOrgs.module.css"; - -const BlogsOrgs = ({ orgs }) => { - return ( -
- {orgs.map((org, index) => - org.type == "professional" ? ( -
-
- Organization Image -
-
-

{org.author}

-

{org.name}

-

{org.description}

- - - Visit the website - - -
-
- ) : null - )} -
- ); -}; - -export default BlogsOrgs; diff --git a/next/components/FilterBar/index.jsx b/next/components/FilterBar/index.jsx deleted file mode 100644 index 5f51374..0000000 --- a/next/components/FilterBar/index.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from "react"; -import styles from "../../styles/FilterBar.module.css"; -import FilterIconButton from "../FilterIconButton"; - -import FilterSettings from "../FilterSettings"; - -const FilterBar = ({ - developers, - setDevelopers, - filterOpen, - setFilterOpen, - projects, -}) => { - return ( -
-
-
- - {/* */} -
- - {/* */} -
- - {filterOpen == true ? : null} -
- ); -}; - -export default FilterBar; diff --git a/next/components/FilterIconButton/index.jsx b/next/components/FilterIconButton/index.jsx deleted file mode 100644 index a0bbc73..0000000 --- a/next/components/FilterIconButton/index.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from "react"; -import styles from "../../styles/FilterBar.module.css"; - -const FilterIconButton = ({ filterOpen, setFilterOpen }) => { - return ( -
- -
- ); -}; - -export default FilterIconButton; diff --git a/next/components/FilterSettings/index.jsx b/next/components/FilterSettings/index.jsx deleted file mode 100644 index 1ccd974..0000000 --- a/next/components/FilterSettings/index.jsx +++ /dev/null @@ -1,55 +0,0 @@ -import React from "react"; -import styles from "../../styles/FilterBar.module.css"; - -const FilterSettings = ({ projects }) => { - return ( -
-
-
-
-

Languages

-
- {projects.map((project) => - project.tags.map((tag) => ) - )} -
-
- -
-

Tags

-
- {projects.map((project) => - project.tags.map((tag) => {tag}) - )} -
-
- -
-

Sort

-
-
- - Most recent -
-
- - By Stars -
-
- - By Issues -
-
-
-
- -
- - -
-
-
- ); -}; - -export default FilterSettings; diff --git a/next/components/Header/index.jsx b/next/components/Header/index.jsx deleted file mode 100644 index 8436040..0000000 --- a/next/components/Header/index.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; -import styles from "../../styles/Header.module.css"; - -const Header = ({ headerTitle, haederDescription }) => { - return ( -
-
-

{headerTitle}

-

{haederDescription}

-
- -
- Header Image -
-
- ); -}; - -export default Header; diff --git a/next/components/MentorsCards/index.jsx b/next/components/MentorsCards/index.jsx deleted file mode 100644 index 9665d5c..0000000 --- a/next/components/MentorsCards/index.jsx +++ /dev/null @@ -1,61 +0,0 @@ -import Link from "next/link"; -import React from "react"; -import styles from "../../styles/MentorsCards.module.css"; - -const MentorsCards = ({ mentors }) => { - return ( -
- {mentors.map((mentor, index) => ( -
-
-
- User Avatar - -
-
-
- - - -

{mentor.name}

-
- - - - - - -
-

{ `${mentor.company ? '@' : ''}` }{mentor.company}

-
-
- -
-

{mentor.description}

-
- -
- {mentor.technologies.map((technology, index) => ( - {technology} - ))} -
- -
alert('Coming soon')} className={styles.bookButton}> - Book a session -
-
- ))} -
- ); -}; - -export default MentorsCards; diff --git a/next/components/Navbar/index.jsx b/next/components/Navbar/index.jsx deleted file mode 100644 index 3b1a984..0000000 --- a/next/components/Navbar/index.jsx +++ /dev/null @@ -1,122 +0,0 @@ -import React from "react"; -import Link from "next/link"; -import { useRouter } from "next/router"; -import styles from "../../styles/Navbar.module.css"; -import useGithubRepoStarsCount from "../../hooks/github-stars"; - -const Navbar = () => { - const router = useRouter(); - const count = useGithubRepoStarsCount('geeksblabla/awesome-morocco') - - return ( -
-
- - Site Logo - - - -
- -
-
- - -
- - - - - - - - - - - - { count } Stars - - -
- Contribute -
-
-
- ); -}; - -export default Navbar; diff --git a/next/components/PodcastsCard/index.jsx b/next/components/PodcastsCard/index.jsx deleted file mode 100644 index 1f8f791..0000000 --- a/next/components/PodcastsCard/index.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import Link from "next/link"; -import styles from "../../styles/PodcastsCard.module.css"; - -const PodcastsCard = ({ podcasts }) => { - return ( -
- {podcasts.map((podcast, index) => ( -
-
- Podcast Image -
-
- -

{podcast.name}

- -

{podcast.description}

-
-
- ))} -
- ); -}; - -export default PodcastsCard; diff --git a/next/components/PodcastsFilterBar/index.jsx b/next/components/PodcastsFilterBar/index.jsx deleted file mode 100644 index 3ea546a..0000000 --- a/next/components/PodcastsFilterBar/index.jsx +++ /dev/null @@ -1,117 +0,0 @@ -import React from "react"; -import styles from "../../styles/Blogs.module.css"; - -const PodcastsFilterBar = ({ - filterOpen, - setFilterOpen, - podcastContent, - setPodcastContent, -}) => { - return ( -
-
-
- - {/* */} -
- - {/*
- -
*/} -
- - {filterOpen == true ? ( -
-
-
-
-

Languages

-
- - - - - - -
-
- -
-

Tags

-
- Machine Learning - Database - Documentation - Extentions - Typesafty - Nodejs -
-
- -
-

Sort

-
-
- - Most recent -
-
- - By Stars -
-
- - By Issues -
-
-
-
- -
- - -
-
-
- ) : null} -
- ); -}; - -export default PodcastsFilterBar; diff --git a/next/components/PodcastsRadio/data/index.js b/next/components/PodcastsRadio/data/index.js deleted file mode 100644 index df82999..0000000 --- a/next/components/PodcastsRadio/data/index.js +++ /dev/null @@ -1,40 +0,0 @@ -const data = [ - { - image: "/radioImages/radio_img.png", - title: "#125 - DevoxxMa Special", - description: - "In this episode we dicuss DevoxxMA's return this year, news and other details with Badr Elhouari.", - }, - { - image: "/radioImages/radio_img.png", - title: "#125 - DevoxxMa Special", - description: - "In this episode we dicuss DevoxxMA's return this year, news and other details with Badr Elhouari.", - }, - { - image: "/radioImages/radio_img.png", - title: "#125 - DevoxxMa Special", - description: - "In this episode we dicuss DevoxxMA's return this year, news and other details with Badr Elhouari.", - }, - { - image: "/radioImages/radio_img.png", - title: "#125 - DevoxxMa Special", - description: - "In this episode we dicuss DevoxxMA's return this year, news and other details with Badr Elhouari.", - }, - { - image: "/radioImages/radio_img.png", - title: "#125 - DevoxxMa Special", - description: - "In this episode we dicuss DevoxxMA's return this year, news and other details with Badr Elhouari.", - }, - { - image: "/radioImages/radio_img.png", - title: "#125 - DevoxxMa Special", - description: - "In this episode we dicuss DevoxxMA's return this year, news and other details with Badr Elhouari.", - }, -]; - -export default data; diff --git a/next/components/PodcastsRadio/index.jsx b/next/components/PodcastsRadio/index.jsx deleted file mode 100644 index f435378..0000000 --- a/next/components/PodcastsRadio/index.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import styles from "../../styles/PodcastsRadio.module.css"; - -import radios from "./data"; - -const PodcastRadio = () => { - return ( -
-

Latest Podcasts Released

-
- {radios.map((radio, index) => ( -
-
- Radio Image -
-
-

{radio.title}

-

{radio.description}

-
-
- ))} -
-
- ); -}; - -export default PodcastRadio; diff --git a/next/components/RepositoriesCards/Devs/index.jsx b/next/components/RepositoriesCards/Devs/index.jsx deleted file mode 100644 index b232618..0000000 --- a/next/components/RepositoriesCards/Devs/index.jsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from "react"; -import styles from "../../../styles/ReposDevs.module.css"; - -import developersList from "../developers_data"; - -const Devs = () => { - return ( -
- - - - - - - - - - - - - - {developersList.map((developer, index) => ( - - - - - - - - - - - - ))} -
#PhotoNameCompanyLocationTop RepositoryContributions
{developer.id} - Developer Avatar - - {developer.name} - @{developer.username} - {developer.company}{developer.location}{developer.topRepos}{developer.contributions}
-
- ); -}; - -export default Devs; diff --git a/next/components/RepositoriesCards/Repos/index.jsx b/next/components/RepositoriesCards/Repos/index.jsx deleted file mode 100644 index 57b9f41..0000000 --- a/next/components/RepositoriesCards/Repos/index.jsx +++ /dev/null @@ -1,86 +0,0 @@ -import React from "react"; -import Link from "next/link"; -import styles from "../../../styles/ReposDevs.module.css"; - -const Repos = ({ projects }) => { - return ( -
- {projects.map((repository, index) => ( -
- - -

{repository.name}

-
- -
{repository.author}
- -

{repository.description}

-
- {repository.tags?.map((tag) => ( - - #{tag} - - ))} -
-
-
- - - - - - {repository.stars} -
- -
- - - - - - {repository.issues} -
- -
- - - - - - {repository.forks} -
-
-
- ))} -
- ); -}; - -export default Repos; diff --git a/next/components/RepositoriesCards/developers_data/index.js b/next/components/RepositoriesCards/developers_data/index.js deleted file mode 100644 index a6a8a15..0000000 --- a/next/components/RepositoriesCards/developers_data/index.js +++ /dev/null @@ -1,74 +0,0 @@ -const data = [ - { - id: 1, - avatar: "/avatars/avatar_1.png", - name: "Salman El Yagoubi", - username: "salmyagoubi", - company: "Obytes", - location: " Rabat, Morocco", - topRepos: "Awesome-Morocco", - contributions: 1932, - }, - { - id: 2, - avatar: "/avatars/avatar_2.png", - name: "Salman El Yagoubi", - username: "salmyagoubi", - company: "X-HUB", - location: " Rabat, Morocco", - topRepos: "Awesome-Morocco", - contributions: 1932, - }, - { - id: 3, - avatar: "/avatars/avatar_1.png", - name: "Salman El Yagoubi", - username: "salmyagoubi", - company: "Obytes", - location: " Rabat, Morocco", - topRepos: "Awesome-Morocco", - contributions: 1932, - }, - { - id: 4, - avatar: "/avatars/avatar_2.png", - name: "Salman El Yagoubi", - username: "salmyagoubi", - company: "X-HUB", - location: " Rabat, Morocco", - topRepos: "Awesome-Morocco", - contributions: 1932, - }, - { - id: 5, - avatar: "/avatars/avatar_1.png", - name: "Salman El Yagoubi", - username: "salmyagoubi", - company: "Obytes", - location: " Rabat, Morocco", - topRepos: "Awesome-Morocco", - contributions: 1932, - }, - { - id: 6, - avatar: "/avatars/avatar_2.png", - name: "Salman El Yagoubi", - username: "salmyagoubi", - company: "X-HUB", - location: " Rabat, Morocco", - topRepos: "Awesome-Morocco", - contributions: 1932, - }, - { - id: 7, - avatar: "/avatars/avatar_1.png", - name: "Salman El Yagoubi", - username: "salmyagoubi", - company: "Obytes", - location: " Rabat, Morocco", - topRepos: "Awesome-Morocco", - contributions: 1932, - }, -]; - -export default data; diff --git a/next/components/RepositoriesCards/index.jsx b/next/components/RepositoriesCards/index.jsx deleted file mode 100644 index b4119a0..0000000 --- a/next/components/RepositoriesCards/index.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from "react"; -import styles from "../../styles/ReposDevs.module.css"; - -import Devs from "./Devs"; -import Repos from "./Repos"; - -const RepositoriesCards = ({ developers, projects }) => { - return ( - <> -
-

- JavaScript -
- {developers == true ? : } - - ); -}; - -export default RepositoriesCards; diff --git a/next/components/UpperBanner/index.jsx b/next/components/UpperBanner/index.jsx deleted file mode 100644 index 584985b..0000000 --- a/next/components/UpperBanner/index.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import React from "react"; -import styles from "../../styles/UpperBanner.module.css"; - -const UpperBanner = () => { - return ( -
-

- This website is part of the geeksblabla open source - projects -

- -
- ); -}; - -export default UpperBanner; diff --git a/next/content/blogs.yaml b/next/content/blogs.yaml deleted file mode 100644 index 87babb6..0000000 --- a/next/content/blogs.yaml +++ /dev/null @@ -1,184 +0,0 @@ ---- -- id: 1 - name: xHub - url: https://xlog.x-hub.io - description: Sharing knowledge is our DNA, because power is gained by sharing knowledge not by hoarding it, our experts will be covering the best and latest IT practices to level up your IT learning journey. - author: xHub - image: "/orgsImages/xhub.png" - type: professional -- id: 2 - name: Obytes - url: https://obytes.com/blog - description: We're a team of dreamers and makers who create products that your users will love. - author: Obytes - image: "/orgsImages/obytes.png" - type: professional -- id: 3 - name: Gemography - url: https://dev.to/gemography - description: Matching talented engineers with great opportunities. - author: Gemography - image: "/orgsImages/gemography.jpeg" - type: professional -- id: 4 - name: Remote.ma - url: https://remote.ma - description: Discover remote work jobs you can do from Morocco with worldwide companies covering every industry. - author: Ahmed El AZZABI - image: "/orgsImages/remotema.png" - type: professional -- id: 5 - name: Nimble Ways - url: https://blog.nimbleways.com - description: From ideas to solutions in record time. - author: Nimble Ways - image: "/orgsImages/nimbleways.jpeg" - type: professional -- id: 6 - name: Mohammed Aboullaite - url: https://aboullaite.me - author: Mohammed Aboullaite - description: Java , Docker ... - image: "./feedImages/feed_img.png" - type: personal -- id: 7 - name: El Azizi Youssouf - url: https://elazizi.com - author: El Azizi Youssouf - description: Javascript, React, React Native ... - image: "./feedImages/feed_img.png" - type: personal -- id: 8 - name: Ismail Ghallou - url: https://smakosh.com/blog - author: Ismail Ghallou - description: Javascript, React , life .... - image: "./feedImages/feed_img.png" - type: personal -- id: 9 - name: Amine Hakkou - url: https://hakkou.me - author: Amine Hakkou - description: Javascript, React Native .... - image: "./feedImages/feed_img.png" - type: personal -- id: 10 - name: Abderrahim SOUBAI-ELIDRISI - url: https://soubai.me - author: Abderrahim SOUBAI-ELIDRISI - description: Javascript, Node.js , Angular .... - image: "./feedImages/feed_img.png" - type: personal -- id: 11 - name: Zanid Haytam - url: https://blog.zhaytam.com/ - author: Zanid Haytam - description: C#, .NET Core, Python, Data Science, ... - image: "./feedImages/feed_img.png" - type: personal -- id: 12 - name: Yassine ElOuafi - url: https://abstractfun.com - author: Yassine ElOuafi - description: Javascript, Programming ... - image: "./feedImages/feed_img.png" - type: personal -- id: 13 - name: Mohamed Elbahja - url: https://elbahja.me - author: Mohamed Elbahja - description: PHP, Golang, Vue.js, Sysadmin ... - image: "./feedImages/feed_img.png" - type: personal -- id: 14 - name: Ahmed Elazzabi - url: https://elazzabi.com - author: Ahmed Elazzabi - description: Books, tech, productivity, entrepreneurship - image: "./feedImages/feed_img.png" - type: personal -- id: 15 - name: Meriam Kharbat - url: https://medium.com/@MeriamKharbat - author: Meriam Kharbat - description: software, startup - image: "./feedImages/feed_img.png" - type: personal -- id: 16 - name: Hassan Azi - url: https://blog.pingfrommorocco.com - author: Hassan Azi - description: Programming, retrogaming, hacking and computer stuff - image: "./feedImages/feed_img.png" - type: personal -- id: 17 - name: Akram Saouri - url: https://dev.to/akram - author: Akram Saouri - description: Node, React and a lot of curiosity - image: "./feedImages/feed_img.png" - type: personal -- id: 18 - name: Mehdi Sakout - url: https://mehdisakout.com - author: Mehdi Sakout - description: Mobile, Android, Indie Making, SaaS ... - image: "./feedImages/feed_img.png" - type: personal -- id: 19 - name: KAOUSSI Souhail - url: https://medium.com/@artisoft - author: KAOUSSI Souhail - description: Javascript - Vue ... - image: "./feedImages/feed_img.png" - type: personal -- id: 20 - name: Mehdi Cheracher - url: https://chermehdi.com - author: Mehdi Cheracher - description: Java, Performance ... - image: "./feedImages/feed_img.png" - type: personal -- id: 21 - name: Youssef Lghoumaigui - url: https://lghou.com - author: Youssef Lghoumaigui - description: C#, Vue js ... - image: "./feedImages/feed_img.png" - type: personal -- id: 22 - name: Rachid CHAMI - url: https://medium.com/@chamirachid - author: Rachid CHAMI - description: Blockchain, Cryptography, Docker ... - image: "./feedImages/feed_img.png" - type: personal -- id: 23 - name: Nadia Laasri - url: https://nadialaasri.tech/blog - author: Nadia Laasri - description: CSS, CSS ART, Javascript ... - image: "./feedImages/feed_img.png" - type: personal -- id: 24 - name: Aymane Mimouni - url: https://aymanemx.com/posts - author: Aymane Mimouni - description: Python, Django ... - image: "./feedImages/feed_img.png" - type: personal -- id: 25 - name: Ihssane Hatim - url: https://brightshine.io/tag/web_development - author: Ihssane Hatim - description: Web dev .... - image: "./feedImages/feed_img.png" - type: personal -- id: 26 - name: Yasser Tahiri - url: https://blog.yezz.me - author: Yasser Tahiri - description: Security, Python, APIs, .... - image: "./feedImages/feed_img.png" - type: personal ---- \ No newline at end of file diff --git a/next/content/mentors.yaml b/next/content/mentors.yaml deleted file mode 100644 index faf7276..0000000 --- a/next/content/mentors.yaml +++ /dev/null @@ -1,41 +0,0 @@ ---- -- id: 1 - name: Mohammed Aboullaite - url: https://aboullaite.me/ - description: Developer, OSS and community, full-time DJ ( Docker & Java), part-time blogger. @geeksblabla godfather! - company: Spotify - image: "/avatars/aboullaite.jpg" - technologies: - - Java - - Docker - -- id: 2 - name: Djalal Elbaz - url: https://djal.al/ - description: NoCode is the best code, NoOps is the best ops — DevSecBizFinOps cloud rider - company: - image: "/avatars/djalal.jpg" - technologies: - - NoCode - - DevOps - -- id: 3 - name: Youssouf El Azizi - url: https://elazizi.com/ - description: 🙌 Human first! 💚 CSS/JS/React/RN, open-source 👨🏻‍💻 Mobile tribe lead at @obytesio | @geeksblabla team member 🙌 | part-time blogger - company: Obytes - image: "/avatars/youssef.jpg" - technologies: - - React-native - - React - -- id: 4 - name: Abdellfetah SGHIOUAR - url: https://linktr.ee/boredabdel - description: Senior Cloud Developer Advocate @Google.Co-Host of @kubernetespod. - company: Google - image: "/avatars/abdellfetah.jpg" - technologies: - - Kubernetes - - DevOps ---- diff --git a/next/content/podcasts.yaml b/next/content/podcasts.yaml deleted file mode 100644 index bb62711..0000000 --- a/next/content/podcasts.yaml +++ /dev/null @@ -1,56 +0,0 @@ ---- -- id: 1 - name: Geeksblabla - url: https://geeksblabla.com/ - description: GeeksBlaBla is a community initiative, to discuss, highlight and share the latest IT topics in Moroccan Darija. - image: /podcastsImages/gb.jpg -- id: 2 - name: S7aba Podcast - url: https://s7aba.ma/ - author: Abderrahim SOUBAI-ELIDRISI - description: A minimalist cloud podcast in Darija powered by tea - image: /podcastsImages/sp.jpg -- id: 3 - name: Angular In Darija - url: https://angularindarija.dev/ - author: Chihab Otmani & Ilyass Elfouih - description: Live, hands-on learning in Moroccan Darija - image: /podcastsImages/aid.png -- id: 4 - name: Kass Atay - url: https://www.youtube.com/@lectorem - author: Slimane Akalië - description: Kass Atay Podcast is a weekly podcast presented by Lectorem TV, the episodes are long conversations between Slimane Akalië and guests from all walks of life, Public figures, Entrepreneurs, Politicians, Journalists, Engineers, and Students. - image: /podcastsImages/kap.jpeg -- id: 5 - name: Data Maroc - url: https://www.youtube.com/channel/UC0eQAfZTFIvWZ9dZ45RIGEw - author: Said Jadidi - description: We are in a mission to bring all Moroccan data enthusiasts together, for a better future powered with data. In this community, we welcome all data scientists, data engineers, data analyst, data unicorns, data ninjas whoever working and dabbing with data to make the world a better place and participate in the development of technology in Morocco. We share posts and tips, host a data related podcast, and organize meetups to boost your data career and grow the data mindset in our beloved country. - image: /podcastsImages/dm.png -# - id: 6 -# name: Mohamed IDBRAHIM -# url: https://www.youtube.com/c/IDBRAHIMMohamed -# author: Mohamed IDBRAHIM -# description: Art de Développement Web est une chaîne destiné à toute personne passionné par le Web et le Web marketing, en effet elle contienne un ensemble des séries de design et de développement web via les frameworks, comme le cas de Laravel, Symfony2 et Angular VueJS et ReactJS. - -- id: 7 - name: Tech w Atay - url: https://www.youtube.com/channel/UCq7XuD165huF3raqkJsnE2A - author: Imad Zairig, Kamal Zairig & Akram Zairig - description: - image: /podcastsImages/twa.jpg - -# - id: 8 -# name: Goosip-IT -# url: https://www.youtube.com/channel/UCq7XuD165huF3raqkJsnE2A -# author: -# description: This is made for entertaining and spontaneous talks about IT topics. Our main goal is sharing information - -- id: 9 - name: Génération Kairos - url: https://www.generationkairos.com/ - author: KARIM GUENNOUNI - description: Le Kairos est un concept d'origine grecque qui signifie le moment propice, « l'instant T » où il faut saisir l'opportunité; avant est trop tôt, et après trop tard. - image: /podcastsImages/gk.jpeg ---- \ No newline at end of file diff --git a/next/content/projects.yaml b/next/content/projects.yaml deleted file mode 100644 index 9045ea5..0000000 --- a/next/content/projects.yaml +++ /dev/null @@ -1,327 +0,0 @@ ---- -- id: 1 - name: React-saga - url: https://github.com/redux-saga/redux-saga - description: An alternative side effect model for Redux apps. - author: Yassine Elouafi - stars: 22341 - issues: 25 - forks: 2037 - tags: - - Javascript - - Redux - - Sagas - - Redux-saga - - Effects - - Middleware -- id: 2 - name: React-flex-ready - url: https://github.com/smakosh/react-flex-ready - description: Flex grid system. - author: Ismail Ghallou - stars: 54 - issues: 0 - forks: 11 - tags: - - Javascript - - React - - Grid -- id: 3 - name: Gatsby-portfolio-dev - url: https://github.com/smakosh/gatsby-portfolio-dev - description: Gatsby Portfolio theme & starter for developers. - author: Ismail Ghallou - stars: 738 - issues: 0 - forks: 187 - tags: - - Javascript - - React - - Modal - - React-modal - - Tooltip -- id: 4 - name: React-popup - url: https://github.com/yjose/reactjs-popup - description: A react popup component. - author: Youssouf EL AZIZI - stars: 1610 - issues: 37 - forks: 190 - tags: - - Javascript - - React - - Modal - - React-modal - - Tooltip -- id: 5 - name: eureca.io - url: https://github.com/Ezelia/eureca.io - description: a nodejs bidirectional RPC that can use WebSocket, WebRTC or XHR fallback as transport layers. - author: Alaa-eddine K. - stars: 342 - issues: 16 - forks: 31 - tags: - - multiplayer - - websocket - - webrtc - - realtime - - rpc - - remote-procedure-calls -- id: 6 - name: react-basic-items-pagination - url: https://github.com/elmehdibm/react-basic-items-pagination - description: A react component helper to render set of items. - author: El Mehdi Boumhicha - stars: 6 - issues: 0 - forks: 0 - tags: - - javascript -- id: 7 - name: kh-popover - url: https://github.com/khofaai/kh-popover - description: Popover build for vuejs framework. - author: Anas El Alami - stars: 10 - issues: 0 - forks: 2 - tags: - - javascript - - vuejs - - popover - - kh-popover - - vuejs-framework -- id: 8 - name: V-odometer - url: https://github.com/JefferyHus/v-odometer - description: Vue.js component to smoothly transition numbers with ease. - author: Jaafari El Housseine - stars: 92 - issues: 3 - forks: 20 - tags: - - javascript - - vuejs - - vuejs2 - - vue-components - - animations - - transitions - - odometer -- id: 9 - name: Es6-crawler-detect - url: https://github.com/JefferyHus/es6-crawler-detect - description: ES6 module to help you detected and block bots, crawlers and spiders. - author: Jaafari El Housseine - stars: 80 - issues: 1 - forks: 27 - tags: - - javascript - - crawler - - spider - - bots - - detection - - es6-javascript -- id: 10 - name: Vue-dropify - url: https://github.com/khofaai/vue-dropify - description: Dropify build for vuejs framework. - author: Anas El Alami - stars: 16 - issues: 2 - forks: 9 - tags: - - javascript - - image - - component - - vue - - dropzone - - vuejs-components - - dropify -- id: 11 - name: Vuejs-suglify - url: https://github.com/khofaai/vue-dropify - description: A Vue component that slugify your v-model inputs. - author: Mohamed Benhida - stars: 21 - issues: 0 - forks: 3 - tags: - - javascript - - vue -- id: 12 - name: Vuejs-suglify - url: https://github.com/khofaai/vue-dropify - description: A Vue component that slugify your v-model inputs. - author: Mohamed Benhida - stars: 21 - issues: 2 - forks: 3 - tags: - - javascript - - vue -- id: 13 - name: Vue-tags - url: https://github.com/khofaai/vue-tags - description: A Flexible Vue.js 2 input Tag component where you can edit wathever you like related to HTML/CSS. - author: Mohamed Benhida - stars: 12 - issues: 1 - forks: 5 - tags: - - javascript - - vue -- id: 14 - name: Hibp-js - url: https://github.com/khofaai/hibp-js - description: Library to check your password against haveibeenpwned. - author: Mehdi Bounya - stars: 10 - issues: 0 - forks: 2 - tags: - - javascript - - password-strength - - password-safety - - haveibeenpwned -- id: 15 - name: Ckeditor-uploadfile - url: https://github.com/mehdibo/ckeditor-uploadfile - description: CKEditor plugin to upload files. - author: Mehdi Bounya - stars: 1 - issues: 0 - forks: 0 - tags: - - javascript - - file-upload - - ajax - - ckeditor - - ckeditor-plugin -- id: 16 - name: Jquery-imgedit - url: https://github.com/khofaai/ckeditor-uploadfile - description: Small jQuery plugin to edit an inline image. - author: Mehdi Bounya - stars: 3 - issues: 0 - forks: 1 - tags: - - javascript -- id: 17 - name: Salat-api - url: https://github.com/Kafiil/salat-api - description: A simple public rest api to get the prayers times for cities in Morocco based on the official data form the Moroccan Ministry. - author: Kafiil - stars: 16 - issues: 0 - forks: 2 - tags: - - javascript -- id: 18 - name: Salati - url: https://github.com/kafiln/salati - description: A small web app to get prayers time in cities of Morocco. - author: Kafil - stars: 17 - issues: 5 - forks: 3 - tags: - - javascript - - Typescript - - nextjs - - webapp - - chakra-ui -- id: 19 - name: Corona-wash-reminder - url: https://github.com/akiyamaSM/corona-wash-reminder - description: A small A mobile app to remind you to wash your hands. - author: Inani El Houssain - stars: 8 - issues: 0 - forks: 2 - tags: - - javascript - - Typescript -- id: 20 - name: Graf-it - url: https://github.com/akramsaouri/graf-it - description: Generate a mock GraphQL API without writing a single line of code. - author: Inani El Houssain - stars: 7 - issues: 0 - forks: 0 - tags: - - nodejs - - graphql -- id: 21 - name: Pastify - url: https://github.com/akramsaouri/pastify - description: Quickly create Spotify playlists. - author: Akram - stars: 1 - issues: 0 - forks: 0 - tags: - - javascript - - react - - spotify -- id: 22 - name: Xorq - url: https://github.com/ezzarghili/xorq - description: A minimalistic xhr javascript library. - author: Mohamed Ez-zarghili - stars: 7 - issues: 0 - forks: 1 - tags: - - javascript - - xhr -- id: 23 - name: FireAdmin - url: https://github.com/FirebaseGoodies/FireAdmin - description: A minimalistic headless CMS around Angular & Firebase. - author: AXeL - stars: 71 - issues: 3 - forks: 17 - tags: - - javascript - - cms - - firebase - - angular - - admin - - admin-dashboard - - headless-cms - - firestore -- id: 24 - name: Firestore-manager - url: https://github.com/FirebaseGoodies/firestore-manager - description: Manage your firestore databases in ease. - author: AXeL - stars: 11 - issues: 3 - forks: 1 - tags: - - javascript - - firebase - - angular - - web-extension - - firestore - - firestore-database -- id: 25 - name: Temme.js - url: https://github.com/EOussama/temme.js - description: JSON mapped DOM manipulation. - author: AXeL - stars: 10 - issues: 0 - forks: 0 - tags: - - javascript - - typescript - - emmet - - temme ---- diff --git a/next/hooks/github-stars.js b/next/hooks/github-stars.js deleted file mode 100644 index 8154251..0000000 --- a/next/hooks/github-stars.js +++ /dev/null @@ -1,20 +0,0 @@ - - - -import { useState, useEffect } from 'react'; - -export default function useGithubRepoStarsCount(repoId) { - const [count, setCount] = useState(0); - - const getCount = async () => { - const data = await fetch(`https://api.github.com/repos/${repoId}`) - const { stargazers_count } = await data.json() - return setCount(stargazers_count) - } - - useEffect(() => { - getCount() - }); - - return count ; -} \ No newline at end of file diff --git a/next/next.config.js b/next/next.config.js deleted file mode 100644 index a843cbe..0000000 --- a/next/next.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - reactStrictMode: true, -} - -module.exports = nextConfig diff --git a/next/package.json b/next/package.json deleted file mode 100644 index e0103fb..0000000 --- a/next/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "awesome-morocco-ui", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "eslint": "8.29.0", - "eslint-config-next": "13.0.6", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "next": "13.0.6", - "react": "18.2.0", - "react-dom": "18.2.0" - } -} diff --git a/next/pages/_app.js b/next/pages/_app.js deleted file mode 100644 index 25cec9f..0000000 --- a/next/pages/_app.js +++ /dev/null @@ -1,21 +0,0 @@ -import { useEffect } from 'react' -import Navbar from '../components/Navbar' -import UpperBanner from '../components/UpperBanner' -import useGithubRepoStarsCount from '../hooks/github-stars' -import '../styles/globals.css' -import styles from "../styles/Home.module.css"; - -function MyApp({ Component, pageProps }) { - - - - return( -
- - - -
- ) -} - -export default MyApp diff --git a/next/pages/api/hello.js b/next/pages/api/hello.js deleted file mode 100644 index df63de8..0000000 --- a/next/pages/api/hello.js +++ /dev/null @@ -1,5 +0,0 @@ -// Next.js API route support: https://nextjs.org/docs/api-routes/introduction - -export default function handler(req, res) { - res.status(200).json({ name: 'John Doe' }) -} diff --git a/next/pages/blogs/index.js b/next/pages/blogs/index.js deleted file mode 100644 index 3c7d662..0000000 --- a/next/pages/blogs/index.js +++ /dev/null @@ -1,60 +0,0 @@ -import React, { useState } from "react"; -import Head from "next/head"; -import styles from "../../styles/Blogs.module.css"; - -import UpperBanner from "../../components/UpperBanner"; -import Navbar from "../../components/Navbar"; -import Header from "../../components/Header"; - -import BlogsFilterBar from "../../components/BlogsFilterBar"; -import BlogsFeed from "../../components/BlogsFeed"; -import BlogsOrgs from "../../components/BlogsOrgs"; -import BlogsAuthors from "../../components/BlogsAuthors"; -import { getParsedYAML } from "../../services/parser"; - -export default function Blogs({ data }) { - const [filterOpen, setFilterOpen] = useState(false); - const [blogsContent, setBlogsContent] = useState("FEED"); - - return ( -
- - Blogs - Awesome Morocco UI - - - - -
- -
- -
- {blogsContent == "FEED" ? ( - - ) : blogsContent == "ORGANIZATIONS" ? ( - - ) : blogsContent == "AUTHORS" ? ( - - ) : null} -
-
-
- ); -} - -export const getStaticProps = async () => { - const { data } = await getParsedYAML("blogs.yaml"); - return { - props: { data }, - }; -}; diff --git a/next/pages/communities/index.js b/next/pages/communities/index.js deleted file mode 100644 index 32ccd6a..0000000 --- a/next/pages/communities/index.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from "react"; -import Head from "next/head"; -import styles from "../../styles/Home.module.css"; - -import UpperBanner from "../../components/UpperBanner"; -import Navbar from "../../components/Navbar"; -import Header from "../../components/Header"; - -import { getParsedYAML } from "../../services/parser"; -import PodcastsCard from "../../components/PodcastsCard"; - -export default function Communities({ data }) { - return ( -
- - Communities - Awesome Morocco UI - - - - -
- -
- -
-
- ); -} - -export const getStaticProps = async () => { - const { data } = await getParsedYAML("podcasts.yaml"); - return { - props: { data }, - }; -}; diff --git a/next/pages/index.js b/next/pages/index.js deleted file mode 100644 index 2001b50..0000000 --- a/next/pages/index.js +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useState } from "react"; -import Head from "next/head"; -import styles from "../styles/Home.module.css"; - -import UpperBanner from "../components/UpperBanner"; -import Navbar from "../components/Navbar"; -import Header from "../components/Header"; -import FilterBar from "../components/FilterBar"; -import RepositoriesCards from "../components/RepositoriesCards"; -import { getParsedYAML } from "../services/parser"; - -export default function Home({ data }) { - const [developers, setDevelopers] = useState(false); - const [filterOpen, setFilterOpen] = useState(false); - - return ( -
- - Awesome Morocco - - - - -
-
- - -
-
- ); -} - -export const getStaticProps = async () => { - const { data } = await getParsedYAML("projects.yaml"); - return { - props: { data }, - }; -}; diff --git a/next/pages/mentors/index.js b/next/pages/mentors/index.js deleted file mode 100644 index 02fe46c..0000000 --- a/next/pages/mentors/index.js +++ /dev/null @@ -1,40 +0,0 @@ -import React, { useState } from "react"; -import Head from "next/head"; -import styles from "../../styles/Home.module.css"; - -import UpperBanner from "../../components/UpperBanner"; -import Navbar from "../../components/Navbar"; -import Header from "../../components/Header"; -import MentorsCards from "../../components/MentorsCards"; - -import { getParsedYAML } from "../../services/parser"; - -export default function Mentors({ data }) { - return ( -
- - Mentors - Awesome Morocco UI - - - - -
- -
- -
-
- ); -} - -export const getStaticProps = async () => { - const { data } = await getParsedYAML("mentors.yaml"); - return { - props: { data }, - }; -}; diff --git a/next/pages/podcasts/index.js b/next/pages/podcasts/index.js deleted file mode 100644 index 5a77576..0000000 --- a/next/pages/podcasts/index.js +++ /dev/null @@ -1,53 +0,0 @@ -import React, { useState } from "react"; -import Head from "next/head"; -import styles from "../../styles/Home.module.css"; - -import UpperBanner from "../../components/UpperBanner"; -import Navbar from "../../components/Navbar"; -import Header from "../../components/Header"; - -import PodcastsFilterBar from "../../components/PodcastsFilterBar"; -import PodcastsCard from "../../components/PodcastsCard"; -import PodcastRadio from "../../components/PodcastsRadio"; -import { getParsedYAML } from "../../services/parser"; - -export default function Podcasts({ data }) { - const [filterOpen, setFilterOpen] = useState(false); - const [podcastContent, setPodcastContent] = useState("PODCASTS"); - - return ( -
- - Podcasts - Awesome Morocco UI - - - - -
- -
- - {podcastContent == "PODCASTS" ? ( - - ) : podcastContent == "RADIO" ? ( - - ) : null} -
-
- ); -} - -export const getStaticProps = async () => { - const { data } = await getParsedYAML("podcasts.yaml"); - return { - props: { data }, - }; -}; diff --git a/next/public/authorsImages/author_img.png b/next/public/authorsImages/author_img.png deleted file mode 100644 index 5e04f05..0000000 Binary files a/next/public/authorsImages/author_img.png and /dev/null differ diff --git a/next/public/avatars/abdellfetah.jpg b/next/public/avatars/abdellfetah.jpg deleted file mode 100644 index 2b28de8..0000000 Binary files a/next/public/avatars/abdellfetah.jpg and /dev/null differ diff --git a/next/public/avatars/aboullaite.jpg b/next/public/avatars/aboullaite.jpg deleted file mode 100644 index cdc8e38..0000000 Binary files a/next/public/avatars/aboullaite.jpg and /dev/null differ diff --git a/next/public/avatars/avatar_1.png b/next/public/avatars/avatar_1.png deleted file mode 100644 index a0c7ce9..0000000 Binary files a/next/public/avatars/avatar_1.png and /dev/null differ diff --git a/next/public/avatars/avatar_2.png b/next/public/avatars/avatar_2.png deleted file mode 100644 index 4f0bf43..0000000 Binary files a/next/public/avatars/avatar_2.png and /dev/null differ diff --git a/next/public/avatars/djalal.jpg b/next/public/avatars/djalal.jpg deleted file mode 100644 index 70cfd9e..0000000 Binary files a/next/public/avatars/djalal.jpg and /dev/null differ diff --git a/next/public/avatars/youssef.jpg b/next/public/avatars/youssef.jpg deleted file mode 100644 index ad342ee..0000000 Binary files a/next/public/avatars/youssef.jpg and /dev/null differ diff --git a/next/public/favicon.ico b/next/public/favicon.ico deleted file mode 100644 index 718d6fe..0000000 Binary files a/next/public/favicon.ico and /dev/null differ diff --git a/next/public/feedImages/feed_img.png b/next/public/feedImages/feed_img.png deleted file mode 100644 index f6e77c1..0000000 Binary files a/next/public/feedImages/feed_img.png and /dev/null differ diff --git a/next/public/header_image.png b/next/public/header_image.png deleted file mode 100644 index 952ef70..0000000 Binary files a/next/public/header_image.png and /dev/null differ diff --git a/next/public/orgsImages/gemography.jpeg b/next/public/orgsImages/gemography.jpeg deleted file mode 100644 index ee8de04..0000000 Binary files a/next/public/orgsImages/gemography.jpeg and /dev/null differ diff --git a/next/public/orgsImages/nimbleways.jpeg b/next/public/orgsImages/nimbleways.jpeg deleted file mode 100644 index 64f8578..0000000 Binary files a/next/public/orgsImages/nimbleways.jpeg and /dev/null differ diff --git a/next/public/orgsImages/obytes.png b/next/public/orgsImages/obytes.png deleted file mode 100644 index 005a9e1..0000000 Binary files a/next/public/orgsImages/obytes.png and /dev/null differ diff --git a/next/public/orgsImages/remotema.png b/next/public/orgsImages/remotema.png deleted file mode 100644 index fbde760..0000000 Binary files a/next/public/orgsImages/remotema.png and /dev/null differ diff --git a/next/public/orgsImages/xhub.png b/next/public/orgsImages/xhub.png deleted file mode 100644 index f05131f..0000000 Binary files a/next/public/orgsImages/xhub.png and /dev/null differ diff --git a/next/public/podcastsImages/aid.png b/next/public/podcastsImages/aid.png deleted file mode 100644 index e0f56af..0000000 Binary files a/next/public/podcastsImages/aid.png and /dev/null differ diff --git a/next/public/podcastsImages/dm.png b/next/public/podcastsImages/dm.png deleted file mode 100644 index 75f961f..0000000 Binary files a/next/public/podcastsImages/dm.png and /dev/null differ diff --git a/next/public/podcastsImages/gb.jpg b/next/public/podcastsImages/gb.jpg deleted file mode 100644 index 0028e38..0000000 Binary files a/next/public/podcastsImages/gb.jpg and /dev/null differ diff --git a/next/public/podcastsImages/gk.jpeg b/next/public/podcastsImages/gk.jpeg deleted file mode 100644 index e1e3725..0000000 Binary files a/next/public/podcastsImages/gk.jpeg and /dev/null differ diff --git a/next/public/podcastsImages/kap.jpeg b/next/public/podcastsImages/kap.jpeg deleted file mode 100644 index c6d8de8..0000000 Binary files a/next/public/podcastsImages/kap.jpeg and /dev/null differ diff --git a/next/public/podcastsImages/podcast_img1.png b/next/public/podcastsImages/podcast_img1.png deleted file mode 100644 index d74692a..0000000 Binary files a/next/public/podcastsImages/podcast_img1.png and /dev/null differ diff --git a/next/public/podcastsImages/podcast_img2.png b/next/public/podcastsImages/podcast_img2.png deleted file mode 100644 index 4c8b633..0000000 Binary files a/next/public/podcastsImages/podcast_img2.png and /dev/null differ diff --git a/next/public/podcastsImages/podcast_img3.png b/next/public/podcastsImages/podcast_img3.png deleted file mode 100644 index 83ba547..0000000 Binary files a/next/public/podcastsImages/podcast_img3.png and /dev/null differ diff --git a/next/public/podcastsImages/podcast_img4.png b/next/public/podcastsImages/podcast_img4.png deleted file mode 100644 index 8b0f90f..0000000 Binary files a/next/public/podcastsImages/podcast_img4.png and /dev/null differ diff --git a/next/public/podcastsImages/podcast_img5.png b/next/public/podcastsImages/podcast_img5.png deleted file mode 100644 index d8c990b..0000000 Binary files a/next/public/podcastsImages/podcast_img5.png and /dev/null differ diff --git a/next/public/podcastsImages/podcast_img6.png b/next/public/podcastsImages/podcast_img6.png deleted file mode 100644 index ec5e281..0000000 Binary files a/next/public/podcastsImages/podcast_img6.png and /dev/null differ diff --git a/next/public/podcastsImages/sp.jpg b/next/public/podcastsImages/sp.jpg deleted file mode 100644 index 75f1e1d..0000000 Binary files a/next/public/podcastsImages/sp.jpg and /dev/null differ diff --git a/next/public/podcastsImages/twa.jpg b/next/public/podcastsImages/twa.jpg deleted file mode 100644 index 463b219..0000000 Binary files a/next/public/podcastsImages/twa.jpg and /dev/null differ diff --git a/next/public/radioImages/radio_img.png b/next/public/radioImages/radio_img.png deleted file mode 100644 index 4955857..0000000 Binary files a/next/public/radioImages/radio_img.png and /dev/null differ diff --git a/next/public/usersImages/user_img.png b/next/public/usersImages/user_img.png deleted file mode 100644 index 4e6db54..0000000 Binary files a/next/public/usersImages/user_img.png and /dev/null differ diff --git a/next/public/vercel.svg b/next/public/vercel.svg deleted file mode 100644 index fbf0e25..0000000 --- a/next/public/vercel.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/next/services/parser.js b/next/services/parser.js deleted file mode 100644 index e8e42f4..0000000 --- a/next/services/parser.js +++ /dev/null @@ -1,14 +0,0 @@ -import fs from "fs/promises"; -import path from "path"; -import * as matter from "gray-matter"; - -export const getParsedYAML = async (filename) => { - try { - const filePath = path.join(process.cwd(), "content", filename); - const data = matter.read(filePath); - return data; - } catch (error) { - console.error(filePath); - return null; - } -}; \ No newline at end of file diff --git a/next/styles/Blogs.module.css b/next/styles/Blogs.module.css deleted file mode 100644 index cd5a96b..0000000 --- a/next/styles/Blogs.module.css +++ /dev/null @@ -1,143 +0,0 @@ -.container { - padding: 0 0 20px 0; -} -.filterbar { - padding: 40px 20px; - display: flex; - flex-direction: column; - max-width: 1000px; - width: 100%; - margin: auto; - gap: 30px; -} - -.filterbar .filters { - display: grid; - place-items: center; - grid-template-columns: 2fr 1fr; -} - -.filterbar .filterbuttons { - display: flex; - justify-content: center; - align-items: center; - gap: 15px; -} - -.filterbar .filterbuttons button { - padding: 8px 16px; - border: none; - outline: none; - cursor: pointer; - color: gray; - font-size: 16px; - border-radius: 6px; - background-color: transparent; -} - -.filterbar .filterbuttons button.active { - background-color: rgb(233, 233, 233); - color: #111827; - font-weight: 450; -} - -.filterbar .filterIcon button { - padding: 6px 12px; - border: none; - outline: none; - cursor: pointer; - color: #111827; - font-size: 16px; - border-radius: 6px; - background-color: transparent; - border: 1px solid lightgray; - display: flex; - justify-content: center; - align-items: center; - gap: 10px; -} - -.filterbar .filterOpen { - border: 1px solid lightgray; - padding: 20px; - border-radius: 5px; - display: flex; - flex-direction: column; - gap: 20px; -} - -.filterbar .filterOpenWrapper { - display: grid; - grid-template-columns: 1fr 1fr 1fr; - gap: 10px; -} - -.filterbar .filterOpenWrapper div h3 { - margin-top: 0; -} - -.filterbar .filterOpenWrapper div:nth-child(1) div, -.filterbar .filterOpenWrapper div:nth-child(2) div { - /* background-color: gold; */ - display: flex; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - gap: 5px; -} - -.filterbar .filterOpenWrapper div:nth-child(1) div button { - background-color: transparent; - outline: none; - border: 1px solid lightgray; - color: rgb(70, 70, 70); - padding: 4px 8px; - border-radius: 4px; - cursor: pointer; -} - -.filterbar .filterOpen .filterButtons { - display: flex; - justify-content: flex-end; - align-items: center; - gap: 15px; -} - -.filterbar .filterOpen .filterButtons button { - padding: 8px 16px; - border-radius: 5px; - outline: none; - background-color: transparent; - cursor: pointer; -} - -.filterbar .filterOpen .filterButtons button:first-child { - border: 1px solid lightgray; -} - -.filterbar .filterOpen .filterButtons button:last-child { - background-color: #111827; - color: white; - border: 1px solid #111827; -} - -/* #111827 */ - -/* Media Queries */ -@media only screen and (max-width: 860px) { - .filterbar .filterOpenWrapper { - grid-template-columns: 1fr 1fr; - } -} -@media only screen and (max-width: 650px) { - .filterbar .filters { - display: flex; - flex-direction: column; - gap: 25px; - } - - .filterbar .filterOpenWrapper { - grid-template-columns: 1fr; - gap: 30px; - } -} diff --git a/next/styles/BlogsAuthors.module.css b/next/styles/BlogsAuthors.module.css deleted file mode 100644 index 618253b..0000000 --- a/next/styles/BlogsAuthors.module.css +++ /dev/null @@ -1,76 +0,0 @@ -.authorsWrapper { - max-width: 1200px; - width: 100%; - margin: auto; - display: grid; - place-items: center; - grid-template-columns: 1fr 1fr 1fr 1fr; - padding: 20px; - gap: 10px; -} - -.authorsWrapper .authorCard { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - border: 1px solid rgb(233, 233, 233); - padding: 5px; - border-radius: 5px; - width: 100%; -} - -.authorsWrapper .authorCard .authorCardText { - padding: 10px; - width: 100%; -} - -.authorsWrapper .authorCard .authorCardText h2 { - margin: 0; -} - -.authorsWrapper .authorCard .authorCardText p { - font-size: 14px; - color: gray; - line-height: 24px; -} - -.authorsWrapper .authorCard .authorCardText a { - background-color: rgb(231, 231, 231); - width: 100%; - display: flex; - justify-content: center; - align-items: center; - padding: 10px; - border-radius: 5px; - font-weight: 550; -} - -.authorsWrapper .authorCard .authorCardImage { - width: 100%; - display: flex; - justify-content: center; - align-items: center; -} - -.authorsWrapper .authorCard .authorCardImage img { - width: 100%; -} - -/* Media Queries */ -@media only screen and (max-width: 1200px) { - .authorsWrapper { - grid-template-columns: 1fr 1fr 1fr; - } -} - -@media only screen and (max-width: 900px) { - .authorsWrapper { - grid-template-columns: 1fr 1fr; - } -} -@media only screen and (max-width: 600px) { - .authorsWrapper { - grid-template-columns: 1fr; - } -} diff --git a/next/styles/BlogsFeed.module.css b/next/styles/BlogsFeed.module.css deleted file mode 100644 index 6fb6d90..0000000 --- a/next/styles/BlogsFeed.module.css +++ /dev/null @@ -1,96 +0,0 @@ -.feedWrapper { - max-width: 1200px; - width: 100%; - margin: auto; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - padding: 20px; -} - -.feedWrapper .feedCard { - display: flex; - justify-content: flex-start; - align-items: center; - gap: 20px; - padding: 20px 0; - border-top: 2px solid lightgray; - width: 100%; -} - -.feedWrapper .feedCard .feedTextLink { - width: 100%; - display: flex; - justify-content: space-between; - align-items: center; -} - -.feedWrapper .feedCard .feedCardText h2 { - margin-top: 0; -} - -.feedWrapper .feedCard .feedCardText p { - color: gray; - font-size: 14px; - line-height: 24px; -} - -.feedWrapper .feedCard .feedCardImage { - display: flex; - justify-content: center; - align-items: center; - max-width: 135px; - width: 100%; - height: 100%; - margin: 0; -} - -.feedWrapper .feedCard .feedCardImage img { - height: 100%; - width: 100%; -} - -.feedWrapper .feedCard .feedCardReadMore a { - color: gray; - display: flex; - justify-content: center; - align-items: center; - gap: 15px; - width: max-content; - font-size: 15px; -} - -/* Media Queries */ -@media only screen and (max-width: 900px) { - .feedWrapper .feedCard { - flex-direction: column; - } - - .feedWrapper .feedCard .feedCardImage { - max-width: 40%; - } - - .feedWrapper .feedCard .feedCardText { - text-align: center; - } -} - -@media only screen and (max-width: 700px) { - .feedWrapper .feedCard .feedCardImage { - max-width: 60%; - } -} - -@media only screen and (max-width: 600px) { - .feedWrapper .feedCard .feedCardImage { - max-width: 100%; - } - - .feedWrapper .feedCard .feedTextLink { - flex-direction: column; - justify-content: center; - align-items: center; - gap: 25px; - } -} diff --git a/next/styles/BlogsOrgs.module.css b/next/styles/BlogsOrgs.module.css deleted file mode 100644 index 4f55512..0000000 --- a/next/styles/BlogsOrgs.module.css +++ /dev/null @@ -1,88 +0,0 @@ -.orgsWrapper { - max-width: 1200px; - width: 100%; - margin: auto; - display: grid; - place-items: start; - grid-template-columns: 1fr 1fr 1fr 1fr; - padding: 20px; - gap: 10px; -} - -.orgsWrapper .orgCard { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - border: 1px solid rgb(233, 233, 233); - padding: 5px; - border-radius: 5px; - width: 100%; - height: 100%; -} - -.orgsWrapper .orgCard .orgCardText { - padding: 10px; -} - -.orgsWrapper .orgCard .orgCardText h4 { - margin: 5px 0 10px 0; - color: white; - background-color: rgb(194, 0, 32); - width: max-content; - padding: 4px 8px; - border-radius: 10px; - font-weight: 500; - font-size: 12px; -} - -.orgsWrapper .orgCard .orgCardText h2 { - margin: 0; -} - -.orgsWrapper .orgCard .orgCardText p { - font-size: 14px; - color: gray; - line-height: 24px; -} - -.orgsWrapper .orgCard .orgCardText a { - background-color: rgb(231, 231, 231); - width: 100%; - display: flex; - justify-content: center; - align-items: center; - padding: 10px; - border-radius: 5px; - font-weight: 550; -} - -.orgsWrapper .orgCard .orgCardImage { - width: 100%; - display: flex; - justify-content: center; - align-items: center; -} - -.orgsWrapper .orgCard .orgCardImage img { - width: 100%; - border-radius: 5px; -} - -/* Media Queries */ -@media only screen and (max-width: 1200px) { - .orgsWrapper { - grid-template-columns: 1fr 1fr 1fr; - } -} - -@media only screen and (max-width: 900px) { - .orgsWrapper { - grid-template-columns: 1fr 1fr; - } -} -@media only screen and (max-width: 600px) { - .orgsWrapper { - grid-template-columns: 1fr; - } -} diff --git a/next/styles/FilterBar.module.css b/next/styles/FilterBar.module.css deleted file mode 100644 index c11baa5..0000000 --- a/next/styles/FilterBar.module.css +++ /dev/null @@ -1,151 +0,0 @@ -.filterbar { - padding: 40px 20px; - display: flex; - flex-direction: column; - max-width: 1000px; - width: 100%; - margin: auto; - gap: 30px; -} - -.filterbar .filters { - display: grid; - place-items: center; - grid-template-columns: 2fr 1fr; -} - -.filterbar .filterbuttons { - display: flex; - justify-content: center; - align-items: center; - gap: 15px; -} - -.filterbar .filterbuttons button { - padding: 8px 16px; - border: none; - outline: none; - cursor: pointer; - color: gray; - font-size: 16px; - border-radius: 6px; - background-color: transparent; -} - -.filterbar .filterbuttons button.active { - background-color: rgb(233, 233, 233); - color: #111827; - font-weight: 450; -} - -.filterbar .filterIcon button { - padding: 6px 12px; - border: none; - outline: none; - cursor: pointer; - color: #111827; - font-size: 16px; - border-radius: 6px; - background-color: transparent; - border: 1px solid lightgray; - display: flex; - justify-content: center; - align-items: center; - gap: 10px; -} - -.filterbar .filterOpen { - border: 1px solid lightgray; - padding: 20px; - border-radius: 5px; - display: flex; - flex-direction: column; - gap: 20px; -} - -.filterbar .filterOpenWrapper { - display: grid; - grid-template-columns: 1fr 1fr 1fr; - gap: 10px; -} - -.filterbar .filterOpenWrapper div h3 { - margin-top: 0; -} - -.filterbar .filterOpenWrapper div:nth-child(1) div, -.filterbar .filterOpenWrapper div:nth-child(2) div { - display: flex; - justify-content: flex-start; - align-items: center; - flex-wrap: wrap; - gap: 5px; -} - -.filterbar .filterOpenWrapper div:nth-child(1) div button { - background-color: transparent; - outline: none; - border: 1px solid lightgray; - color: rgb(70, 70, 70); - padding: 4px 8px; - border-radius: 4px; - cursor: pointer; -} - -.filterbar .filterOpenWrapper div:nth-child(1) div button:active { - transform: scale(0.98); -} - -.filterbar .filterOpenWrapper div:nth-child(2) span { - border: 1px solid lightgray; - color: rgb(70, 70, 70); - padding: 4px 8px; - border-radius: 4px; - font-size: 14px; -} - -.filterbar .filterOpen .filterButtons { - display: flex; - justify-content: flex-end; - align-items: center; - gap: 15px; -} - -.filterbar .filterOpen .filterButtons button { - padding: 8px 16px; - border-radius: 5px; - outline: none; - background-color: transparent; - cursor: pointer; -} - -.filterbar .filterOpen .filterButtons button:first-child { - border: 1px solid lightgray; -} - -.filterbar .filterOpen .filterButtons button:last-child { - background-color: #111827; - color: white; - border: 1px solid #111827; -} - -/* #111827 */ - -/* Media Queries */ -@media only screen and (max-width: 860px) { - .filterbar .filterOpenWrapper { - grid-template-columns: 1fr 1fr; - } -} -@media only screen and (max-width: 650px) { - .filterbar .filters { - display: flex; - flex-direction: column; - gap: 25px; - } - - .filterbar .filterOpenWrapper { - grid-template-columns: 1fr; - gap: 30px; - } -} diff --git a/next/styles/Header.module.css b/next/styles/Header.module.css deleted file mode 100644 index 498fc42..0000000 --- a/next/styles/Header.module.css +++ /dev/null @@ -1,49 +0,0 @@ -.header { - padding: 0px 20px; - background-color: black; - display: flex; - justify-content: center; - align-items: center; - gap: 25px; -} - -.header .headerText h1, -.header .headerText p { - color: white; -} - -.header .headerText p { - line-height: 28px; - font-weight: initial; - padding-bottom: 15px; - max-width: 500px; - width: 100%; -} - -.header .headerText, -.header .headerImage { - width: 100%; -} - -.header .headerImage { - display: flex; - justify-content: center; - align-items: center; - overflow: hidden; -} - -/* Media Queries */ -@media only screen and (max-width: 860px) { - .header { - flex-direction: column; - } - - .header .headerText { - text-align: center; - } - - .header .headerText p { - padding: 0; - margin: auto; - } -} diff --git a/next/styles/Home.module.css b/next/styles/Home.module.css deleted file mode 100644 index c87c0ce..0000000 --- a/next/styles/Home.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.container { - padding: 0 0 20px 0; -} diff --git a/next/styles/MentorsCards.module.css b/next/styles/MentorsCards.module.css deleted file mode 100644 index d302f4a..0000000 --- a/next/styles/MentorsCards.module.css +++ /dev/null @@ -1,144 +0,0 @@ -.communitesWrapper { - max-width: 1200px; - width: 100%; - margin: auto; - display: grid; - place-items: center; - grid-template-columns: 1fr 1fr; - padding: 60px 20px; - gap: 10px; -} - -.communitesWrapper .userCard { - width: 100%; - background-color: white; - padding: 20px; - border: 1px solid lightgray; - border-radius: 10px; -} - -.communitesWrapper .userCard .userPersonalInfo { - display: flex; - justify-content: flex-start; - align-items: center; - gap: 20px; -} - -.communitesWrapper .userCard .userPersonalInfo .userImage { - display: flex; - justify-content: center; - align-items: center; - position: relative; -} - -.communitesWrapper .userCard .userPersonalInfo .userImage img { - max-width: 70px; - border-radius: 50%; -} - -.communitesWrapper .userCard .userPersonalInfo .userImage span { - height: 12px; - width: 12px; - background-color: green; - border-radius: 50%; - position: absolute; - bottom: 2px; - right: 7px; -} - -.communitesWrapper .userCard .userPersonalInfo .userText { - width: 100%; -} - -.communitesWrapper .userCard .userPersonalInfo .userText .nameSettings { - display: flex; - justify-content: space-between; - align-items: center; -} - -.communitesWrapper .userCard .userPersonalInfo .userText .nameSettings h2 { - margin: 0 0 8px 0; - color: #1f2937; -} - -.communitesWrapper .userCard .userPersonalInfo .userText h3 { - margin: 0; -} - -.communitesWrapper .userCard .userPersonalInfo .userText .price_workhours { - display: flex; - justify-content: flex-start; - align-items: center; - gap: 15px; -} - -.communitesWrapper .userCard .userPersonalInfo .userText .price_workhours span { - font-size: 17px; -} - -.communitesWrapper .userCard .userAbout { - padding: 5px 0; -} - -.communitesWrapper .userCard .userAbout p { - color: gray; - line-height: 24px; -} - -.communitesWrapper .userCard .userTechStack { - display: flex; - justify-content: flex-start; - align-items: center; - gap: 20px; - flex-wrap: wrap; -} - -.communitesWrapper .userCard .userTechStack span { - padding: 6px 12px; - border-radius: 20px; - background-color: #e5e7eb; - font-weight: 500; - font-size: 14px; -} - -.communitesWrapper .userCard .bookButton { - display: flex; - justify-content: flex-end; - align-items: center; - margin-top: 10px; -} - -.communitesWrapper .userCard .bookButton span { - background-color: #111827; - color: white; - display: flex; - justify-content: center; - align-items: center; - padding: 10px 20px; - border-radius: 5px; - font-weight: 400; - cursor: pointer; -} - -/* Media Queries */ -@media only screen and (max-width: 750px) { - .communitesWrapper { - grid-template-columns: 1fr; - padding: 20px; - gap: 25px; - } - - .communitesWrapper .userCard .bookButton { - margin-top: 20px; - } - - .communitesWrapper .userCard .bookButton a { - width: 100%; - } -} - -@media only screen and (max-width: 500px) { - .communitesWrapper .userCard .userPersonalInfo .userText .nameSettings h2 { - font-size: 20px; - } -} diff --git a/next/styles/Navbar.module.css b/next/styles/Navbar.module.css deleted file mode 100644 index 7bf671c..0000000 --- a/next/styles/Navbar.module.css +++ /dev/null @@ -1,168 +0,0 @@ -.navbar { - display: flex; - justify-content: space-between; - align-items: center; - padding: 10px 20px; -} - -.navbar .logoAndUL { - display: flex; - justify-content: flex-start; - align-items: center; - width: 50%; -} - -.navbar .logoAndUL a img { - max-width: 100px; - width: 100%; -} - -.navbar .logoAndUL ul { - display: flex; - justify-content: center; - align-items: center; - gap: 20px; - flex-wrap: wrap; -} - -.navbar .logoAndUL ul li { - list-style-type: none; -} - -.navbar .logoAndUL ul li a { - font-size: 16px; - color: gray; - font-weight: initial; -} - -.navbar .logoAndUL ul li a.active { - font-weight: 500; - color: black; -} - -.navbar .inputAndButton { - /* background-color: red; */ - display: flex; - justify-content: flex-end; - align-items: center; - width: 50%; - gap: 20px; -} - -.navbar .inputAndButton .inputField { - background-color: #f3f4f6; - border: 1px solid #f3f4f6; - border-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - gap: 10px; - padding: 10px; - height: 40px; - max-width: 350px; - width: 100%; -} - -.navbar .inputAndButton .inputField input { - width: 100%; - font-size: 15px; - padding: 5px; - border: none; - outline: none; - background-color: transparent; -} - -.navbar .inputAndButton .inputField button { - background-color: transparent; - border: none; - outline: none; - cursor: pointer; -} - -.navbar .inputAndButton .stars { - display: flex; - justify-content: center; - align-items: center; - border: 1px solid #f3f4f6; - border-radius: 5px; - padding: 10px; - gap: 10px; -} - -.navbar .inputAndButton .stars span { - color: gray; - font-size: 13px; -} - -.navbar .inputAndButton .contribute a { - background-color: #111827; - border: 1px solid #111827; - padding: 10px 20px; - font-size: 14px; - color: white; - font-weight: initial; - border-radius: 5px; - outline: none; - cursor: pointer; -} - -/* Media Queries */ -@media only screen and (max-width: 1200px) { - .navbar { - flex-direction: column; - gap: 25px; - padding: 20px; - } - - .navbar .inputAndButton, - .navbar .logoAndUL { - width: 80%; - } - - .navbar .logoAndUL, - .navbar .inputAndButton { - justify-content: center; - } -} - -@media only screen and (max-width: 860px) { - .navbar .inputAndButton, - .navbar .logoAndUL { - width: 100%; - } -} - -@media only screen and (max-width: 650px) { - .navbar .inputAndButton { - /* flex-direction: column; */ - gap: 15px; - display: grid; - grid-template-columns: 1fr; - } - - .navbar .inputAndButton .inputField { - width: 100%; - max-width: unset; - } - - .navbar .inputAndButton .contribute button { - width: 100%; - } -} - -@media only screen and (max-width: 600px) { - .navbar .logoAndUL { - flex-direction: column; - justify-content: center; - gap: 15px; - } - - .navbar .logoAndUL ul { - gap: 15px; - padding: 0; - } - - .navbar .logoAndUL ul li a { - font-size: 16px; - } -} diff --git a/next/styles/PodcastsCard.module.css b/next/styles/PodcastsCard.module.css deleted file mode 100644 index 7c37708..0000000 --- a/next/styles/PodcastsCard.module.css +++ /dev/null @@ -1,69 +0,0 @@ -.podsWrapper { - max-width: 1200px; - width: 100%; - margin: auto; - display: grid; - place-items: start; - grid-template-columns: 1fr 1fr 1fr 1fr; - padding: 20px; - gap: 10px; -} - -.podsWrapper .podCard { - display: flex; - flex-direction: column; - /* justify-content: center; */ - align-items: center; - border: 1px solid rgb(233, 233, 233); - padding: 5px; - border-radius: 5px; - width: 100%; - height: 100%; - -} - -.podsWrapper .podCard .podCardText { - padding: 10px; - padding-bottom: 0; - width: 100%; -} - -.podsWrapper .podCard .podCardText h2 { - margin: 0; -} - -.podsWrapper .podCard .podCardText p { - font-size: 14px; - color: gray; - margin: 10px 0; -} - -.podsWrapper .podCard .podCardImage { - width: 100%; - display: flex; - justify-content: center; - align-items: center; -} - -.podsWrapper .podCard .podCardImage img { - width: 100%; - border-radius: 5px; -} - -/* Media Queries */ -@media only screen and (max-width: 1200px) { - .podsWrapper { - grid-template-columns: 1fr 1fr 1fr; - } -} - -@media only screen and (max-width: 900px) { - .podsWrapper { - grid-template-columns: 1fr 1fr; - } -} -@media only screen and (max-width: 600px) { - .podsWrapper { - grid-template-columns: 1fr; - } -} diff --git a/next/styles/PodcastsRadio.module.css b/next/styles/PodcastsRadio.module.css deleted file mode 100644 index 1556e2e..0000000 --- a/next/styles/PodcastsRadio.module.css +++ /dev/null @@ -1,52 +0,0 @@ -.radioContainer { - padding: 20px; - background-color: #e5e7eb; - max-width: 1200px; - width: 92.5%; - margin: auto; - border: 1px solid lightgray; - border-radius: 5px; -} - -.radioContainer h3 { - font-weight: 450; - margin-top: 0; -} - -.radioWrapper { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - width: 100%; - gap: 20px; -} - -.radioWrapper .radioCard { - display: flex; - justify-content: flex-start; - align-items: center; - gap: 25px; - width: 100%; - padding: 20px; - background-color: white; - border: 1px solid lightgray; - border-radius: 5px; -} - -.radioWrapper .radioCard .radioText p { - color: gray; -} - -/* Media Queries */ -@media only screen and (max-width: 600px) { - .radioWrapper .radioCard { - flex-direction: column; - justify-content: center; - gap: 10px; - } - - .radioWrapper .radioCard .radioText { - text-align: center; - } -} diff --git a/next/styles/ReposDevs.module.css b/next/styles/ReposDevs.module.css deleted file mode 100644 index f24e7ac..0000000 --- a/next/styles/ReposDevs.module.css +++ /dev/null @@ -1,197 +0,0 @@ -.repositories { - max-width: 1200px; - width: 100%; - margin: auto; - display: grid; - grid-template-columns: 1fr 1fr 1fr 1fr; - gap: 10px; - padding: 0 20px; -} - -.repositories .card { - background-color: white; - border: 1px solid #e5e7eb; - border-radius: 3px; - padding: 8px 10px; - height: max-content; - height: 100%; -} - -.repositories .card h5 { - margin: 5px 0 10px 0; - color: white; - background-color: rgb(194, 0, 32); - width: max-content; - padding: 4px 8px; - border-radius: 10px; - font-weight: 500; - font-size: 12px; -} - -.repositories .card h2 { - font-weight: 550; - margin-bottom: 0; - margin-top: 0; -} - -.repositories .card p { - color: gray; - font-size: 17px; -} - -.repositories .card .tags { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - align-items: center; - gap: 10px; -} - -.repositories .card .tags span { - font-size: 14px; - border: 1px solid lightgray; - color: #262626; - background-color: lightgray; - border-radius: 5px; - padding: 4px 8px; - font-weight: bold; -} - -.repositories .card .states { - display: grid; - place-items: center; - grid-template-columns: 1fr 1fr 1fr; - grid-area: 10px; - border-top: 1px solid lightgray; - padding-top: 8px; - margin-top: 12px; -} - -.repositories .card .states div { - display: flex; - justify-content: center; - align-items: center; - gap: 5px; -} - -.repositories .card .states div span { - color: gray; -} - -.developers { - max-width: 1200px; - width: 100; - margin: auto; - padding: 0 20px; -} - -.developers table { - border-collapse: collapse; - width: 100%; - /* table-layout: initial; */ -} - -.developers table td, -.developers table th { - border-bottom: 1px solid #ddd; - padding: 8px; -} - -.developers table tr { - text-align: left; -} - -.developers table th { - padding: 20px 0; - text-align: left; - color: gray; - font-weight: initial; -} - -.developers table td { - padding: 20px 0; -} - -.developers table .nameUserName { - display: flex; - flex-direction: column; - gap: 6px; -} - -.developers table td:nth-child(1) { - padding: 0 5px; -} - -.developers table td:nth-child(2) { - padding: 0; - padding-right: 8px; -} - -.developers table td:last-child, -.developers table th:last-child { - text-align: center; -} - -.developers table td img { - height: 40px; - width: 40px; -} - -.developers table .nameUserName span:last-child { - font-size: 14px; - color: gray; -} - -.language { - width: 100%; - max-width: 1200px; - width: 100%; - margin: auto; - padding: 20px; -} - -.language p { - width: 100%; - text-align: center; - border-bottom: 2px solid #e5e7eb; - line-height: 0.1em; - margin: 10px 0 20px; - margin-bottom: -12px; - text-align: left; -} - -.language span { - background-color: #f9fafb; - color: rgb(90, 90, 90); - margin-left: 10px; - padding: 0 10px; -} - -/* Media Queries */ -@media only screen and (max-width: 860px) { - .repositories { - grid-template-columns: 1fr 1fr 1fr; - } -} - -@media only screen and (max-width: 700px) { - .repositories { - grid-template-columns: 1fr 1fr; - } -} - -@media only screen and (max-width: 500px) { - .repositories { - grid-template-columns: 1fr; - } - .developers table th, - .developers table td { - display: flex; - } - - .developers table { - display: flex; - flex-direction: row; - flex-wrap: wrap; - } -} diff --git a/next/styles/UpperBanner.module.css b/next/styles/UpperBanner.module.css deleted file mode 100644 index eb0ad95..0000000 --- a/next/styles/UpperBanner.module.css +++ /dev/null @@ -1,39 +0,0 @@ -.upperbanner { - background-color: #111827; - padding: 2px 20px; - display: flex; - justify-content: center; - align-items: center; - position: relative; -} - -.upperbanner p { - font-size: 13px; - color: white; - text-align: center; -} - -.upperbanner p a { - text-decoration: underline; -} - -.upperbanner button { - background-color: transparent; - border: none; - outline: none; - cursor: pointer; - position: absolute; - right: 10px; -} - -/* Media Queries */ -@media only screen and (max-width: 500px) { - .upperbanner { - gap: 10px; - } - - .upperbanner button { - position: initial; - cursor: unset; - } -} diff --git a/next/styles/globals.css b/next/styles/globals.css deleted file mode 100644 index b39820e..0000000 --- a/next/styles/globals.css +++ /dev/null @@ -1,20 +0,0 @@ -/* Google Font */ -@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap"); - -html, -body { - padding: 0; - margin: 0; - font-family: "Roboto", sans-serif; - background-color: #f9fafb; -} - -a { - color: inherit; - text-decoration: none; -} - -* { - box-sizing: border-box; - font-family: "Roboto", sans-serif; -} diff --git a/next/yarn.lock b/next/yarn.lock deleted file mode 100644 index 23bd955..0000000 --- a/next/yarn.lock +++ /dev/null @@ -1,1904 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/runtime-corejs3@^7.10.2": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz#63dae945963539ab0ad578efbf3eff271e7067ae" - integrity sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ== - dependencies: - core-js-pure "^3.25.1" - regenerator-runtime "^0.13.11" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.18.9": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" - integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== - dependencies: - regenerator-runtime "^0.13.11" - -"@eslint/eslintrc@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" - integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.11.6": - version "0.11.7" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz#38aec044c6c828f6ed51d5d7ae3d9b9faf6dbb0f" - integrity sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@next/env@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/env/-/env-13.0.6.tgz#3fcab11ffbe95bff127827d9f7f3139bc5e6adff" - integrity sha512-yceT6DCHKqPRS1cAm8DHvDvK74DLIkDQdm5iV+GnIts8h0QbdHvkUIkdOvQoOODgpr6018skbmSQp12z5OWIQQ== - -"@next/eslint-plugin-next@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.0.6.tgz#4d73774ede50183c5ae5bab01ec4a7dd2d11fed5" - integrity sha512-JUANdYNCddhmQBjQQPxEJYL7GMCqYtbfrdmtX7c013srig7waNCG69Aoql7CgAgjdy8jn1ovHVdcF/NB46XN3Q== - dependencies: - glob "7.1.7" - -"@next/swc-android-arm-eabi@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.6.tgz#c971e5a3f8aae875ac1d9fdb159b7e126d8d98d5" - integrity sha512-FGFSj3v2Bluw8fD/X+1eXIEB0PhoJE0zfutsAauRhmNpjjZshLDgoXMWm1jTRL/04K/o9gwwO2+A8+sPVCH1uw== - -"@next/swc-android-arm64@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.0.6.tgz#ecacae60f1410136cc31f9e1e09e78e624ca2d68" - integrity sha512-7MgbtU7kimxuovVsd7jSJWMkIHBDBUsNLmmlkrBRHTvgzx5nDBXogP0hzZm7EImdOPwVMPpUHRQMBP9mbsiJYQ== - -"@next/swc-darwin-arm64@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.6.tgz#266e9e0908024760eba0dfce17edc90ffcba5fdc" - integrity sha512-AUVEpVTxbP/fxdFsjVI9d5a0CFn6NVV7A/RXOb0Y+pXKIIZ1V5rFjPwpYfIfyOo2lrqgehMNQcyMRoTrhq04xg== - -"@next/swc-darwin-x64@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.6.tgz#4be4ca7bc37f9c93d2e38be5ff313873ad758c09" - integrity sha512-SasCDJlshglsPnbzhWaIF6VEGkQy2NECcAOxPwaPr0cwbbt4aUlZ7QmskNzgolr5eAjFS/xTr7CEeKJtZpAAtQ== - -"@next/swc-freebsd-x64@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.6.tgz#42eb9043ee65ea5927ba550f4b59827d7064c47b" - integrity sha512-6Lbxd9gAdXneTkwHyYW/qtX1Tdw7ND9UbiGsGz/SP43ZInNWnW6q0au4hEVPZ9bOWWRKzcVoeTBdoMpQk9Hx9w== - -"@next/swc-linux-arm-gnueabihf@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.6.tgz#aab663282b5f15d12bf9de1120175f438a44c924" - integrity sha512-wNdi5A519e1P+ozEuYOhWPzzE6m1y7mkO6NFwn6watUwO0X9nZs7fT9THmnekvmFQpaZ6U+xf2MQ9poQoCh6jQ== - -"@next/swc-linux-arm64-gnu@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.6.tgz#5e2b6df4636576a00befb7bd414820a12161a9af" - integrity sha512-e8KTRnleQY1KLk5PwGV5hrmvKksCc74QRpHl5ffWnEEAtL2FE0ave5aIkXqErsPdXkiKuA/owp3LjQrP+/AH7Q== - -"@next/swc-linux-arm64-musl@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.6.tgz#4a5e91a36cf140cad974df602d647e64b1b9473f" - integrity sha512-/7RF03C3mhjYpHN+pqOolgME3guiHU5T3TsejuyteqyEyzdEyLHod+jcYH6ft7UZ71a6TdOewvmbLOtzHW2O8A== - -"@next/swc-linux-x64-gnu@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.6.tgz#accb8a721a99e704565b936f16e96fa0c67e8db1" - integrity sha512-kxyEXnYHpOEkFnmrlwB1QlzJtjC6sAJytKcceIyFUHbCaD3W/Qb5tnclcnHKTaFccizZRePXvV25Ok/eUSpKTw== - -"@next/swc-linux-x64-musl@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.6.tgz#2affaa2f4f01bc190a539d895118a6ad1a477645" - integrity sha512-N0c6gubS3WW1oYYgo02xzZnNatfVQP/CiJq2ax+DJ55ePV62IACbRCU99TZNXXg+Kos6vNW4k+/qgvkvpGDeyA== - -"@next/swc-win32-arm64-msvc@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.6.tgz#28e5c042772865efd05197a8d1db5920156997fc" - integrity sha512-QjeMB2EBqBFPb/ac0CYr7GytbhUkrG4EwFWbcE0vsRp4H8grt25kYpFQckL4Jak3SUrp7vKfDwZ/SwO7QdO8vw== - -"@next/swc-win32-ia32-msvc@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.6.tgz#30d91a6d847fa8bce9f8a0f9d2b469d574270be5" - integrity sha512-EQzXtdqRTcmhT/tCq81rIwE36Y3fNHPInaCuJzM/kftdXfa0F+64y7FAoMO13npX8EG1+SamXgp/emSusKrCXg== - -"@next/swc-win32-x64-msvc@13.0.6": - version "13.0.6" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.6.tgz#dfa28ddb335c16233d22cf39ec8cdf723e6587a1" - integrity sha512-pSkqZ//UP/f2sS9T7IvHLfEWDPTX0vRyXJnAUNisKvO3eF3e1xdhDX7dix/X3Z3lnN4UjSwOzclAI87JFbOwmQ== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@pkgr/utils@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.3.1.tgz#0a9b06ffddee364d6642b3cd562ca76f55b34a03" - integrity sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw== - dependencies: - cross-spawn "^7.0.3" - is-glob "^4.0.3" - open "^8.4.0" - picocolors "^1.0.0" - tiny-glob "^0.2.9" - tslib "^2.4.0" - -"@rushstack/eslint-patch@^1.1.3": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" - integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== - -"@swc/helpers@0.4.14": - version "0.4.14" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" - integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== - dependencies: - tslib "^2.4.0" - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@typescript-eslint/parser@^5.42.0": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.1.tgz#1fc8e7102c1141eb64276c3b89d70da8c0ba5699" - integrity sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg== - dependencies: - "@typescript-eslint/scope-manager" "5.46.1" - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/typescript-estree" "5.46.1" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz#70af8425c79bbc1178b5a63fb51102ddf48e104a" - integrity sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA== - dependencies: - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/visitor-keys" "5.46.1" - -"@typescript-eslint/types@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.1.tgz#4e9db2107b9a88441c4d5ecacde3bb7a5ebbd47e" - integrity sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w== - -"@typescript-eslint/typescript-estree@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz#5358088f98a8f9939355e0996f9c8f41c25eced2" - integrity sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg== - dependencies: - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/visitor-keys" "5.46.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz#126cc6fe3c0f83608b2b125c5d9daced61394242" - integrity sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg== - dependencies: - "@typescript-eslint/types" "5.46.1" - eslint-visitor-keys "^3.3.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.8.0: - version "8.8.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== - -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -array-includes@^3.1.4, array-includes@^3.1.5, array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.flat@^1.2.5: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" - integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.1.3" - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== - -axe-core@^4.4.3: - version "4.6.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.0.tgz#1d07514866fa51262734b3357932fcf86961383a" - integrity sha512-L3ZNbXPTxMrl0+qTXAzn9FBRvk5XdO56K8CvcCKtlxv44Aw2w2NCclGuvCWxHPw1Riiq3ncP/sxFYj2nUqdoTw== - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001406: - version "1.0.30001439" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz#ab7371faeb4adff4b74dad1718a6fd122e45d9cb" - integrity sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A== - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -client-only@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" - integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -core-js-pure@^3.25.1: - version "3.26.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.26.1.tgz#653f4d7130c427820dcecd3168b594e8bb095a33" - integrity sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ== - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -enhanced-resolve@^5.10.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.20.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" - integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" - get-symbol-description "^1.0.0" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - unbox-primitive "^1.0.2" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-next@13.0.6: - version "13.0.6" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.0.6.tgz#bbbcfd6e50eacca54552f962e43c9e2c4fb52ef6" - integrity sha512-Tfn/0lirhkEuoGxKMtDQNtQuC7P3eHcyUyhIJY/OHtjU9ExHFtcge/Fe8Ou/Jd7DIC71vN3CT72oszVwia71cg== - dependencies: - "@next/eslint-plugin-next" "13.0.6" - "@rushstack/eslint-patch" "^1.1.3" - "@typescript-eslint/parser" "^5.42.0" - eslint-import-resolver-node "^0.3.6" - eslint-import-resolver-typescript "^3.5.2" - eslint-plugin-import "^2.26.0" - eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.31.7" - eslint-plugin-react-hooks "^4.5.0" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-import-resolver-typescript@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.2.tgz#9431acded7d898fd94591a08ea9eec3514c7de91" - integrity sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ== - dependencies: - debug "^4.3.4" - enhanced-resolve "^5.10.0" - get-tsconfig "^4.2.0" - globby "^13.1.2" - is-core-module "^2.10.0" - is-glob "^4.0.3" - synckit "^0.8.4" - -eslint-module-utils@^2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== - dependencies: - debug "^3.2.7" - -eslint-plugin-import@^2.26.0: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jsx-a11y@^6.5.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== - dependencies: - "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" - ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" - minimatch "^3.1.2" - semver "^6.3.0" - -eslint-plugin-react-hooks@^4.5.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@^7.31.7: - version "7.31.11" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz#011521d2b16dcf95795df688a4770b4eaab364c8" - integrity sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.8" - -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint@8.29.0: - version "8.29.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.29.0.tgz#d74a88a20fb44d59c51851625bc4ee8d0ec43f87" - integrity sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg== - dependencies: - "@eslint/eslintrc" "^1.3.3" - "@humanwhocodes/config-array" "^0.11.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.15.0" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.11, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" - integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functions-have-names@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-tsconfig@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.2.0.tgz#ff368dd7104dab47bf923404eb93838245c66543" - integrity sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@7.1.7: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^13.15.0: - version "13.19.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" - integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== - dependencies: - type-fest "^0.20.2" - -globalyzer@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" - integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.2: - version "13.1.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" - integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.2.11" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^4.0.0" - -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.2.4: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -gray-matter@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" - integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== - dependencies: - js-yaml "^3.13.1" - kind-of "^6.0.2" - section-matter "^1.0.0" - strip-bom-string "^1.0.0" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -ignore@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.1.tgz#c2b1f76cb999ede1502f3a226a9310fdfe88d46c" - integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" - integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - side-channel "^1.0.4" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.10.0, is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -js-sdsl@^4.1.4: - version "4.2.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0" - integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== - -"js-tokens@^3.0.0 || ^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== - dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -language-subtag-registry@^0.3.20: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.6.tgz#c087cc42cd92eb71f0925e9e271d4f8be5a93430" - integrity sha512-HNkaCgM8wZgE/BZACeotAAgpL9FUjEnhgF0FVQMIgH//zqTPreLYMb3rWYkYAqPoF75Jwuycp1da7uz66cfFQg== - dependencies: - language-subtag-registry "^0.3.20" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -next@13.0.6: - version "13.0.6" - resolved "https://registry.yarnpkg.com/next/-/next-13.0.6.tgz#f9a2e9e2df9ad60e1b6b716488c9ad501a383621" - integrity sha512-COvigvms2LRt1rrzfBQcMQ2GZd86Mvk1z+LOLY5pniFtL4VrTmhZ9salrbKfSiXbhsD01TrDdD68ec3ABDyscA== - dependencies: - "@next/env" "13.0.6" - "@swc/helpers" "0.4.14" - caniuse-lite "^1.0.30001406" - postcss "8.4.14" - styled-jsx "5.1.0" - optionalDependencies: - "@next/swc-android-arm-eabi" "13.0.6" - "@next/swc-android-arm64" "13.0.6" - "@next/swc-darwin-arm64" "13.0.6" - "@next/swc-darwin-x64" "13.0.6" - "@next/swc-freebsd-x64" "13.0.6" - "@next/swc-linux-arm-gnueabihf" "13.0.6" - "@next/swc-linux-arm64-gnu" "13.0.6" - "@next/swc-linux-arm64-musl" "13.0.6" - "@next/swc-linux-x64-gnu" "13.0.6" - "@next/swc-linux-x64-musl" "13.0.6" - "@next/swc-win32-arm64-msvc" "13.0.6" - "@next/swc-win32-ia32-msvc" "13.0.6" - "@next/swc-win32-x64-msvc" "13.0.6" - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" - integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.hasown@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" - integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== - dependencies: - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.values@^1.1.5, object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -open@^8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -postcss@8.4.14: - version "8.4.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-dom@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react@18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.20.0, resolve@^1.22.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.3: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -section-matter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" - integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== - dependencies: - extend-shallow "^2.0.1" - kind-of "^6.0.0" - -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.7: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -string.prototype.matchall@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" - integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -styled-jsx@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.0.tgz#4a5622ab9714bd3fcfaeec292aa555871f057563" - integrity sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ== - dependencies: - client-only "0.0.1" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -synckit@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.4.tgz#0e6b392b73fafdafcde56692e3352500261d64ec" - integrity sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw== - dependencies: - "@pkgr/utils" "^2.3.1" - tslib "^2.4.0" - -tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -tiny-glob@^0.2.9: - version "0.2.9" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" - integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== - dependencies: - globalyzer "0.1.0" - globrex "^0.1.2" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/package.json b/package.json new file mode 100644 index 0000000..29a6a59 --- /dev/null +++ b/package.json @@ -0,0 +1,50 @@ +{ + "name": "aw-morocco", + "version": "0.1.0", + "private": true, + "scripts": { + "build": "next build", + "dev": "next dev", + "lint": "SKIP_ENV_VALIDATION=1 next lint", + "start": "next start", + "type-check": "tsc --noEmit" + }, + "dependencies": { + "@clerk/nextjs": "^4.26.2", + "@clerk/themes": "^1.7.9", + "@extractus/feed-extractor": "^7.0.6", + "@headlessui/react": "^1.7.17", + "@t3-oss/env-nextjs": "^0.7.0", + "@xata.io/client": "^0.26.9", + "next": "14.0.1", + "octokit": "^3.1.1", + "open-graph-scraper": "^6.3.2", + "react": "^18", + "react-dom": "^18", + "sal.js": "^0.8.5", + "zod": "^3.22.4" + }, + "devDependencies": { + "@tailwindcss/typography": "^0.5.10", + "@types/eslint": "^8.44.2", + "@types/node": "^20", + "@types/react": "^18.2.20", + "@types/react-dom": "^18.2.7", + "@typescript-eslint/eslint-plugin": "^6.3.0", + "@typescript-eslint/parser": "^6.3.0", + "autoprefixer": "^10.4.14", + "eslint": "^8.47.0", + "eslint-config-next": "^13.5.4", + "eslint-plugin-unicorn": "^49.0.0", + "husky": "^8.0.3", + "postcss": "^8.4.27", + "prettier": "^3.0.0", + "prettier-plugin-tailwindcss": "^0.5.1", + "tailwindcss": "^3.3.3", + "typescript": "^5.1.6" + }, + "ct3aMetadata": { + "initVersion": "7.22.0" + }, + "packageManager": "pnpm@8.10.0" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..60cd74d --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,4341 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@clerk/nextjs': + specifier: ^4.26.2 + version: 4.29.1(next@14.0.1)(react-dom@18.2.0)(react@18.2.0) + '@clerk/themes': + specifier: ^1.7.9 + version: 1.7.9(react@18.2.0) + '@extractus/feed-extractor': + specifier: ^7.0.6 + version: 7.0.8 + '@headlessui/react': + specifier: ^1.7.17 + version: 1.7.17(react-dom@18.2.0)(react@18.2.0) + '@t3-oss/env-nextjs': + specifier: ^0.7.0 + version: 0.7.1(typescript@5.3.3)(zod@3.22.4) + '@xata.io/client': + specifier: ^0.26.9 + version: 0.26.9(typescript@5.3.3) + next: + specifier: 14.0.1 + version: 14.0.1(react-dom@18.2.0)(react@18.2.0) + octokit: + specifier: ^3.1.1 + version: 3.1.2 + open-graph-scraper: + specifier: ^6.3.2 + version: 6.3.2 + react: + specifier: ^18 + version: 18.2.0 + react-dom: + specifier: ^18 + version: 18.2.0(react@18.2.0) + sal.js: + specifier: ^0.8.5 + version: 0.8.5 + zod: + specifier: ^3.22.4 + version: 3.22.4 + +devDependencies: + '@tailwindcss/typography': + specifier: ^0.5.10 + version: 0.5.10(tailwindcss@3.4.0) + '@types/eslint': + specifier: ^8.44.2 + version: 8.56.0 + '@types/node': + specifier: ^20 + version: 20.10.5 + '@types/react': + specifier: ^18.2.20 + version: 18.2.45 + '@types/react-dom': + specifier: ^18.2.7 + version: 18.2.18 + '@typescript-eslint/eslint-plugin': + specifier: ^6.3.0 + version: 6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': + specifier: ^6.3.0 + version: 6.15.0(eslint@8.56.0)(typescript@5.3.3) + autoprefixer: + specifier: ^10.4.14 + version: 10.4.16(postcss@8.4.32) + eslint: + specifier: ^8.47.0 + version: 8.56.0 + eslint-config-next: + specifier: ^13.5.4 + version: 13.5.6(eslint@8.56.0)(typescript@5.3.3) + eslint-plugin-unicorn: + specifier: ^49.0.0 + version: 49.0.0(eslint@8.56.0) + husky: + specifier: ^8.0.3 + version: 8.0.3 + postcss: + specifier: ^8.4.27 + version: 8.4.32 + prettier: + specifier: ^3.0.0 + version: 3.1.1 + prettier-plugin-tailwindcss: + specifier: ^0.5.1 + version: 0.5.9(prettier@3.1.1) + tailwindcss: + specifier: ^3.3.3 + version: 3.4.0 + typescript: + specifier: ^5.1.6 + version: 5.3.3 + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: true + + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/runtime@7.23.6: + resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true + + /@clerk/backend@0.37.0(react@18.2.0): + resolution: {integrity: sha512-ngBokqd5WaupUi5+xUaZNGCdrVMJFo+Sjiin7gxoXPVq/qdgA3phiEooEZmVAc9Io0MfAqheuiQ1XcCZj4kvdg==} + engines: {node: '>=14'} + dependencies: + '@clerk/shared': 1.3.0(react@18.2.0) + '@clerk/types': 3.60.0 + '@peculiar/webcrypto': 1.4.1 + '@types/node': 16.18.6 + cookie: 0.5.0 + deepmerge: 4.2.2 + node-fetch-native: 1.0.1 + snakecase-keys: 5.4.4 + tslib: 2.4.1 + transitivePeerDependencies: + - react + dev: false + + /@clerk/clerk-react@4.30.2(react@18.2.0): + resolution: {integrity: sha512-Cr11vJj/0e75JV1WfR1UFtqJfjFOWRffl8AqcKk+QDOY7AgPd1V4Nvc7umIfhyoGYrJH+5tpga3QW2MlsekdsA==} + engines: {node: '>=14'} + peerDependencies: + react: '>=16' + dependencies: + '@clerk/shared': 1.3.0(react@18.2.0) + '@clerk/types': 3.60.0 + react: 18.2.0 + tslib: 2.4.1 + dev: false + + /@clerk/clerk-sdk-node@4.13.4(react@18.2.0): + resolution: {integrity: sha512-pcg99eCjutPdVOhv4yXS2THV1NJhmA1gih127zW01RV8EkxeVF7K9aALqR7Hyi2ptnIsh3VF/UiYa1pvJ2R3Uw==} + engines: {node: '>=14'} + dependencies: + '@clerk/backend': 0.37.0(react@18.2.0) + '@clerk/shared': 1.3.0(react@18.2.0) + '@clerk/types': 3.60.0 + '@types/cookies': 0.7.7 + '@types/express': 4.17.14 + '@types/node-fetch': 2.6.2 + camelcase-keys: 6.2.2 + snakecase-keys: 3.2.1 + tslib: 2.4.1 + transitivePeerDependencies: + - react + dev: false + + /@clerk/nextjs@4.29.1(next@14.0.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hJiHtGOWzQszL0FQ4FkDRLebR+2K3pc70Z7NJnAhS3tZqxZA6Dz03LUC88Ul6OUBi8ysekk5QqhDUbyxPSsrtA==} + engines: {node: '>=14'} + peerDependencies: + next: '>=10' + react: ^17.0.2 || ^18.0.0-0 + react-dom: ^17.0.2 || ^18.0.0-0 + dependencies: + '@clerk/backend': 0.37.0(react@18.2.0) + '@clerk/clerk-react': 4.30.2(react@18.2.0) + '@clerk/clerk-sdk-node': 4.13.4(react@18.2.0) + '@clerk/shared': 1.3.0(react@18.2.0) + '@clerk/types': 3.60.0 + next: 14.0.1(react-dom@18.2.0)(react@18.2.0) + path-to-regexp: 6.2.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.4.1 + dev: false + + /@clerk/shared@1.3.0(react@18.2.0): + resolution: {integrity: sha512-blqXI4P2FIB2kjXhYe8d5jNIbKSmpSetcT/81xcBr2RVy234cV3oVX41Ypx10M36ev5v5cUqA4FfCSQ782EIUw==} + peerDependencies: + react: '>=16' + peerDependenciesMeta: + react: + optional: true + dependencies: + glob-to-regexp: 0.4.1 + js-cookie: 3.0.1 + react: 18.2.0 + swr: 2.2.0(react@18.2.0) + dev: false + + /@clerk/themes@1.7.9(react@18.2.0): + resolution: {integrity: sha512-9hXxgoPuUSlZ7sH9diJEK1rTWEnk0zGKBYw4Tqaqp0RA1dtB+OHE02DK5pnTypZTnreBJYac3VmxFVTxVV35xg==} + engines: {node: '>=14'} + peerDependencies: + react: '>=16' + dependencies: + react: 18.2.0 + dev: false + + /@clerk/types@3.60.0: + resolution: {integrity: sha512-f1A16wFh5MtikxEo7o6vAVX7FxpqC1YmzA6c4ugwq5MH8J2mvIM/LwNVIHgNpZkn/s/G+BUhBcJJmUXqajDK2Q==} + engines: {node: '>=14'} + dependencies: + csstype: 3.1.1 + dev: false + + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.56.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.56.0: + resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@extractus/feed-extractor@7.0.8: + resolution: {integrity: sha512-vEPU+SoarDwRRcTQ/vjRxuEqmndee2EBJOB0i+PBS5f3Pcj7MRUKedxc+N9RgX+T74h7YXebS62F9GSGjzfekw==} + engines: {node: '>= 16'} + dependencies: + bellajs: 11.1.2 + cross-fetch: 4.0.0 + fast-xml-parser: 4.3.2 + html-entities: 2.4.0 + transitivePeerDependencies: + - encoding + dev: false + + /@fastify/busboy@2.1.0: + resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} + engines: {node: '>=14'} + dev: false + + /@headlessui/react@1.7.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==} + engines: {node: '>=10'} + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + dependencies: + client-only: 0.0.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@next/env@14.0.1: + resolution: {integrity: sha512-Ms8ZswqY65/YfcjrlcIwMPD7Rg/dVjdLapMcSHG26W6O67EJDF435ShW4H4LXi1xKO1oRc97tLXUpx8jpLe86A==} + dev: false + + /@next/eslint-plugin-next@13.5.6: + resolution: {integrity: sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==} + dependencies: + glob: 7.1.7 + dev: true + + /@next/swc-darwin-arm64@14.0.1: + resolution: {integrity: sha512-JyxnGCS4qT67hdOKQ0CkgFTp+PXub5W1wsGvIq98TNbF3YEIN7iDekYhYsZzc8Ov0pWEsghQt+tANdidITCLaw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64@14.0.1: + resolution: {integrity: sha512-625Z7bb5AyIzswF9hvfZWa+HTwFZw+Jn3lOBNZB87lUS0iuCYDHqk3ujuHCkiyPtSC0xFBtYDLcrZ11mF/ap3w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu@14.0.1: + resolution: {integrity: sha512-iVpn3KG3DprFXzVHM09kvb//4CNNXBQ9NB/pTm8LO+vnnnaObnzFdS5KM+w1okwa32xH0g8EvZIhoB3fI3mS1g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-musl@14.0.1: + resolution: {integrity: sha512-mVsGyMxTLWZXyD5sen6kGOTYVOO67lZjLApIj/JsTEEohDDt1im2nkspzfV5MvhfS7diDw6Rp/xvAQaWZTv1Ww==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-gnu@14.0.1: + resolution: {integrity: sha512-wMqf90uDWN001NqCM/auRl3+qVVeKfjJdT9XW+RMIOf+rhUzadmYJu++tp2y+hUbb6GTRhT+VjQzcgg/QTD9NQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-musl@14.0.1: + resolution: {integrity: sha512-ol1X1e24w4j4QwdeNjfX0f+Nza25n+ymY0T2frTyalVczUmzkVD7QGgPTZMHfR1aLrO69hBs0G3QBYaj22J5GQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc@14.0.1: + resolution: {integrity: sha512-WEmTEeWs6yRUEnUlahTgvZteh5RJc4sEjCQIodJlZZ5/VJwVP8p2L7l6VhzQhT4h7KvLx/Ed4UViBdne6zpIsw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc@14.0.1: + resolution: {integrity: sha512-oFpHphN4ygAgZUKjzga7SoH2VGbEJXZa/KL8bHCAwCjDWle6R1SpiGOdUdA8EJ9YsG1TYWpzY6FTbUA+iAJeww==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc@14.0.1: + resolution: {integrity: sha512-FFp3nOJ/5qSpeWT0BZQ+YE1pSMk4IMpkME/1DwKBwhg4mJLB9L+6EXuJi4JEwaJdl5iN+UUlmUD3IsR1kx5fAg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.16.0 + dev: true + + /@octokit/app@14.0.2: + resolution: {integrity: sha512-NCSCktSx+XmjuSUVn2dLfqQ9WIYePGP95SDJs4I9cn/0ZkeXcPkaoCLl64Us3dRKL2ozC7hArwze5Eu+/qt1tg==} + engines: {node: '>= 18'} + dependencies: + '@octokit/auth-app': 6.0.2 + '@octokit/auth-unauthenticated': 5.0.1 + '@octokit/core': 5.0.2 + '@octokit/oauth-app': 6.0.0 + '@octokit/plugin-paginate-rest': 9.1.5(@octokit/core@5.0.2) + '@octokit/types': 12.4.0 + '@octokit/webhooks': 12.0.10 + dev: false + + /@octokit/auth-app@6.0.2: + resolution: {integrity: sha512-HYuRX3Fvhs2y9i7a4F8f+A5HWfacRWmpERHGBEOtgvKVjJkOQZKUY2v6HiSszYecHAF8Ojqngp2iraSP3SvNpQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/auth-oauth-app': 7.0.1 + '@octokit/auth-oauth-user': 4.0.1 + '@octokit/request': 8.1.6 + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + deprecation: 2.3.1 + lru-cache: 10.1.0 + universal-github-app-jwt: 1.1.1 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/auth-oauth-app@7.0.1: + resolution: {integrity: sha512-RE0KK0DCjCHXHlQBoubwlLijXEKfhMhKm9gO56xYvFmP1QTMb+vvwRPmQLLx0V+5AvV9N9I3lr1WyTzwL3rMDg==} + engines: {node: '>= 18'} + dependencies: + '@octokit/auth-oauth-device': 6.0.1 + '@octokit/auth-oauth-user': 4.0.1 + '@octokit/request': 8.1.6 + '@octokit/types': 12.4.0 + '@types/btoa-lite': 1.0.2 + btoa-lite: 1.0.0 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/auth-oauth-device@6.0.1: + resolution: {integrity: sha512-yxU0rkL65QkjbqQedgVx3gmW7YM5fF+r5uaSj9tM/cQGVqloXcqP2xK90eTyYvl29arFVCW8Vz4H/t47mL0ELw==} + engines: {node: '>= 18'} + dependencies: + '@octokit/oauth-methods': 4.0.1 + '@octokit/request': 8.1.6 + '@octokit/types': 12.4.0 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/auth-oauth-user@4.0.1: + resolution: {integrity: sha512-N94wWW09d0hleCnrO5wt5MxekatqEJ4zf+1vSe8MKMrhZ7gAXKFOKrDEZW2INltvBWJCyDUELgGRv8gfErH1Iw==} + engines: {node: '>= 18'} + dependencies: + '@octokit/auth-oauth-device': 6.0.1 + '@octokit/oauth-methods': 4.0.1 + '@octokit/request': 8.1.6 + '@octokit/types': 12.4.0 + btoa-lite: 1.0.0 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/auth-token@4.0.0: + resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} + engines: {node: '>= 18'} + dev: false + + /@octokit/auth-unauthenticated@5.0.1: + resolution: {integrity: sha512-oxeWzmBFxWd+XolxKTc4zr+h3mt+yofn4r7OfoIkR/Cj/o70eEGmPsFbueyJE2iBAGpjgTnEOKM3pnuEGVmiqg==} + engines: {node: '>= 18'} + dependencies: + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + dev: false + + /@octokit/core@5.0.2: + resolution: {integrity: sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==} + engines: {node: '>= 18'} + dependencies: + '@octokit/auth-token': 4.0.0 + '@octokit/graphql': 7.0.2 + '@octokit/request': 8.1.6 + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + before-after-hook: 2.2.3 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/endpoint@9.0.4: + resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==} + engines: {node: '>= 18'} + dependencies: + '@octokit/types': 12.4.0 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/graphql@7.0.2: + resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} + engines: {node: '>= 18'} + dependencies: + '@octokit/request': 8.1.6 + '@octokit/types': 12.4.0 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/oauth-app@6.0.0: + resolution: {integrity: sha512-bNMkS+vJ6oz2hCyraT9ZfTpAQ8dZNqJJQVNaKjPLx4ue5RZiFdU1YWXguOPR8AaSHS+lKe+lR3abn2siGd+zow==} + engines: {node: '>= 18'} + dependencies: + '@octokit/auth-oauth-app': 7.0.1 + '@octokit/auth-oauth-user': 4.0.1 + '@octokit/auth-unauthenticated': 5.0.1 + '@octokit/core': 5.0.2 + '@octokit/oauth-authorization-url': 6.0.2 + '@octokit/oauth-methods': 4.0.1 + '@types/aws-lambda': 8.10.130 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/oauth-authorization-url@6.0.2: + resolution: {integrity: sha512-CdoJukjXXxqLNK4y/VOiVzQVjibqoj/xHgInekviUJV73y/BSIcwvJ/4aNHPBPKcPWFnd4/lO9uqRV65jXhcLA==} + engines: {node: '>= 18'} + dev: false + + /@octokit/oauth-methods@4.0.1: + resolution: {integrity: sha512-1NdTGCoBHyD6J0n2WGXg9+yDLZrRNZ0moTEex/LSPr49m530WNKcCfXDghofYptr3st3eTii+EHoG5k/o+vbtw==} + engines: {node: '>= 18'} + dependencies: + '@octokit/oauth-authorization-url': 6.0.2 + '@octokit/request': 8.1.6 + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + btoa-lite: 1.0.0 + dev: false + + /@octokit/openapi-types@19.1.0: + resolution: {integrity: sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==} + dev: false + + /@octokit/plugin-paginate-graphql@4.0.0(@octokit/core@5.0.2): + resolution: {integrity: sha512-7HcYW5tP7/Z6AETAPU14gp5H5KmCPT3hmJrS/5tO7HIgbwenYmgw4OY9Ma54FDySuxMwD+wsJlxtuGWwuZuItA==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.0.2 + dev: false + + /@octokit/plugin-paginate-rest@9.1.5(@octokit/core@5.0.2): + resolution: {integrity: sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.0.2 + '@octokit/types': 12.4.0 + dev: false + + /@octokit/plugin-rest-endpoint-methods@10.2.0(@octokit/core@5.0.2): + resolution: {integrity: sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.0.2 + '@octokit/types': 12.4.0 + dev: false + + /@octokit/plugin-retry@6.0.1(@octokit/core@5.0.2): + resolution: {integrity: sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=5' + dependencies: + '@octokit/core': 5.0.2 + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + bottleneck: 2.19.5 + dev: false + + /@octokit/plugin-throttling@8.1.3(@octokit/core@5.0.2): + resolution: {integrity: sha512-pfyqaqpc0EXh5Cn4HX9lWYsZ4gGbjnSmUILeu4u2gnuM50K/wIk9s1Pxt3lVeVwekmITgN/nJdoh43Ka+vye8A==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': ^5.0.0 + dependencies: + '@octokit/core': 5.0.2 + '@octokit/types': 12.4.0 + bottleneck: 2.19.5 + dev: false + + /@octokit/request-error@5.0.1: + resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/types': 12.4.0 + deprecation: 2.3.1 + once: 1.4.0 + dev: false + + /@octokit/request@8.1.6: + resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==} + engines: {node: '>= 18'} + dependencies: + '@octokit/endpoint': 9.0.4 + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + universal-user-agent: 6.0.1 + dev: false + + /@octokit/types@12.4.0: + resolution: {integrity: sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==} + dependencies: + '@octokit/openapi-types': 19.1.0 + dev: false + + /@octokit/webhooks-methods@4.0.0: + resolution: {integrity: sha512-M8mwmTXp+VeolOS/kfRvsDdW+IO0qJ8kYodM/sAysk093q6ApgmBXwK1ZlUvAwXVrp/YVHp6aArj4auAxUAOFw==} + engines: {node: '>= 18'} + dev: false + + /@octokit/webhooks-types@7.1.0: + resolution: {integrity: sha512-y92CpG4kFFtBBjni8LHoV12IegJ+KFxLgKRengrVjKmGE5XMeCuGvlfRe75lTRrgXaG6XIWJlFpIDTlkoJsU8w==} + dev: false + + /@octokit/webhooks@12.0.10: + resolution: {integrity: sha512-Q8d26l7gZ3L1SSr25NFbbP0B431sovU5r0tIqcvy8Z4PrD1LBv0cJEjvDLOieouzPSTzSzufzRIeXD7S+zAESA==} + engines: {node: '>= 18'} + dependencies: + '@octokit/request-error': 5.0.1 + '@octokit/webhooks-methods': 4.0.0 + '@octokit/webhooks-types': 7.1.0 + aggregate-error: 3.1.0 + dev: false + + /@peculiar/asn1-schema@2.3.8: + resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} + dependencies: + asn1js: 3.0.5 + pvtsutils: 1.3.5 + tslib: 2.6.2 + dev: false + + /@peculiar/json-schema@1.1.12: + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} + dependencies: + tslib: 2.4.1 + dev: false + + /@peculiar/webcrypto@1.4.1: + resolution: {integrity: sha512-eK4C6WTNYxoI7JOabMoZICiyqRRtJB220bh0Mbj5RwRycleZf9BPyZoxsTvpP0FpmVS2aS13NKOuh5/tN3sIRw==} + engines: {node: '>=10.12.0'} + dependencies: + '@peculiar/asn1-schema': 2.3.8 + '@peculiar/json-schema': 1.1.12 + pvtsutils: 1.3.5 + tslib: 2.4.1 + webcrypto-core: 1.7.7 + dev: false + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@rushstack/eslint-patch@1.6.1: + resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==} + dev: true + + /@swc/helpers@0.5.2: + resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} + dependencies: + tslib: 2.6.2 + dev: false + + /@t3-oss/env-core@0.7.1(typescript@5.3.3)(zod@3.22.4): + resolution: {integrity: sha512-3+SQt39OlmSaRLqYVFv8uRm1BpFepM5TIiMytRqO9cjH+wB77o6BIJdeyM5h5U4qLBMEzOJWCY4MBaU/rLwbYw==} + peerDependencies: + typescript: '>=4.7.2' + zod: ^3.0.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.3.3 + zod: 3.22.4 + dev: false + + /@t3-oss/env-nextjs@0.7.1(typescript@5.3.3)(zod@3.22.4): + resolution: {integrity: sha512-tQDbNLGCOvKGi+JoGuJ/CJInJI7/kLWJqtgGppAKS7ZFLdVOqZYR/uRjxlXOWPnxmUKF8VswOAsq7fXUpNZDhA==} + peerDependencies: + typescript: '>=4.7.2' + zod: ^3.0.0 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@t3-oss/env-core': 0.7.1(typescript@5.3.3)(zod@3.22.4) + typescript: 5.3.3 + zod: 3.22.4 + dev: false + + /@tailwindcss/typography@0.5.10(tailwindcss@3.4.0): + resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.0 + dev: true + + /@types/aws-lambda@8.10.130: + resolution: {integrity: sha512-HxTfLeGvD1wTJqIGwcBCpNmHKenja+We1e0cuzeIDFfbEj3ixnlTInyPR/81zAe0Ss/Ip12rFK6XNeMLVucOSg==} + dev: false + + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.10.5 + dev: false + + /@types/btoa-lite@1.0.2: + resolution: {integrity: sha512-ZYbcE2x7yrvNFJiU7xJGrpF/ihpkM7zKgw8bha3LNJSesvTtUNxbpzaT7WXBIryf6jovisrxTBvymxMeLLj1Mg==} + dev: false + + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 20.10.5 + dev: false + + /@types/cookies@0.7.7: + resolution: {integrity: sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==} + dependencies: + '@types/connect': 3.4.38 + '@types/express': 4.17.14 + '@types/keygrip': 1.0.6 + '@types/node': 20.10.5 + dev: false + + /@types/eslint@8.56.0: + resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/express-serve-static-core@4.17.41: + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} + dependencies: + '@types/node': 20.10.5 + '@types/qs': 6.9.11 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: false + + /@types/express@4.17.14: + resolution: {integrity: sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==} + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.11 + '@types/serve-static': 1.15.5 + dev: false + + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: false + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/jsonwebtoken@9.0.5: + resolution: {integrity: sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==} + dependencies: + '@types/node': 20.10.5 + dev: false + + /@types/keygrip@1.0.6: + resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==} + dev: false + + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: false + + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + dev: false + + /@types/node-fetch@2.6.2: + resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} + dependencies: + '@types/node': 20.10.5 + form-data: 3.0.1 + dev: false + + /@types/node@16.18.6: + resolution: {integrity: sha512-vmYJF0REqDyyU0gviezF/KHq/fYaUbFhkcNbQCuPGFQj6VTbXuHZoxs/Y7mutWe73C8AC6l9fFu8mSYiBAqkGA==} + dev: false + + /@types/node@20.10.5: + resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==} + dependencies: + undici-types: 5.26.5 + + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true + + /@types/prop-types@15.7.11: + resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + dev: true + + /@types/qs@6.9.11: + resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} + dev: false + + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: false + + /@types/react-dom@18.2.18: + resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} + dependencies: + '@types/react': 18.2.45 + dev: true + + /@types/react@18.2.45: + resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==} + dependencies: + '@types/prop-types': 15.7.11 + '@types/scheduler': 0.16.8 + csstype: 3.1.3 + dev: true + + /@types/scheduler@0.16.8: + resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + dev: true + + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + dev: true + + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.10.5 + dev: false + + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + dependencies: + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 20.10.5 + dev: false + + /@typescript-eslint/eslint-plugin@6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.15.0 + '@typescript-eslint/type-utils': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.15.0 + debug: 4.3.4 + eslint: 8.56.0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.15.0 + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.15.0 + debug: 4.3.4 + eslint: 8.56.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@6.15.0: + resolution: {integrity: sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/visitor-keys': 6.15.0 + dev: true + + /@typescript-eslint/type-utils@6.15.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.56.0 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@6.15.0: + resolution: {integrity: sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@6.15.0(typescript@5.3.3): + resolution: {integrity: sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/visitor-keys': 6.15.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.15.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.15.0 + '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) + eslint: 8.56.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@6.15.0: + resolution: {integrity: sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.15.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@xata.io/client@0.26.9(typescript@5.3.3): + resolution: {integrity: sha512-5ojD/N6renMzhSJJHFe5GRy6bNo+0btnGmbup/3+9daC8gvM5ujEu5HxNf49ZQRwkBkL1PRvZbJF7gmn/izeeg==} + peerDependencies: + typescript: '>=4.5' + dependencies: + typescript: 5.3.3 + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.2 + dev: true + + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + dev: true + + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-string: 1.0.7 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array.prototype.findlastindex@1.2.3: + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 + dev: true + + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.tosorted@1.1.2: + resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + + /asn1js@3.0.5: + resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} + engines: {node: '>=12.0.0'} + dependencies: + pvtsutils: 1.3.5 + pvutils: 1.1.3 + tslib: 2.6.2 + dev: false + + /ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + dev: true + + /asynciterator.prototype@1.0.0: + resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} + dependencies: + has-symbols: 1.0.3 + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + + /autoprefixer@10.4.16(postcss@8.4.32): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.22.2 + caniuse-lite: 1.0.30001571 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + dev: true + + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /before-after-hook@2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + dev: false + + /bellajs@11.1.2: + resolution: {integrity: sha512-2Fy3Km5JKyIy/KunW3oica2gZtkjD2qSqti2Q3xPhHvXXdMbc+32pEMOPG+xrSat0BXVhRjHIx++lzxIPK0GqQ==} + engines: {node: '>= 14'} + dev: false + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: false + + /bottleneck@2.19.5: + resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} + dev: false + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001571 + electron-to-chromium: 1.4.616 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) + dev: true + + /btoa-lite@1.0.0: + resolution: {integrity: sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==} + dev: false + + /buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + dev: false + + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: false + + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: false + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: false + + /caniuse-lite@1.0.30001571: + resolution: {integrity: sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==} + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chardet@2.0.0: + resolution: {integrity: sha512-xVgPpulCooDjY6zH4m9YW3jbkaBe3FKIAvF5sj5t7aBNsVl2ljIE+xwJ4iNgiDZHFQvNIpjdKdVOQvvk5ZfxbQ==} + dev: false + + /cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + dev: false + + /cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + dev: false + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: false + + /client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + dev: false + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-fetch@4.0.0: + resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: false + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: false + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csstype@3.1.1: + resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + dev: false + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dev: true + + /damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.2.2: + resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} + engines: {node: '>=0.10.0'} + dev: false + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + + /deprecation@2.3.1: + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + dev: false + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: false + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: false + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: false + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: false + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.4.1 + dev: false + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /electron-to-chromium@1.4.616: + resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /enhanced-resolve@5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: false + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.6 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + dev: true + + /es-iterator-helpers@1.0.15: + resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + dependencies: + asynciterator.prototype: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-set-tostringtag: 2.0.2 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + iterator.prototype: 1.1.2 + safe-array-concat: 1.0.1 + dev: true + + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has-tostringtag: 1.0.0 + hasown: 2.0.0 + dev: true + + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + dependencies: + hasown: 2.0.0 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-next@13.5.6(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@next/eslint-plugin-next': 13.5.6 + '@rushstack/eslint-patch': 1.6.1 + '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + eslint: 8.56.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) + eslint-plugin-react: 7.33.2(eslint@8.56.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) + typescript: 5.3.3 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.15.0 + eslint: 8.56.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + fast-glob: 3.3.2 + get-tsconfig: 4.7.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + debug: 3.2.7 + eslint: 8.56.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.56.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + hasown: 2.0.0 + is-core-module: 2.13.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + '@babel/runtime': 7.23.6 + aria-query: 5.3.0 + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.15 + eslint: 8.56.0 + hasown: 2.0.0 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + dev: true + + /eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.56.0 + dev: true + + /eslint-plugin-react@7.33.2(eslint@8.56.0): + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.7 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.2 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.15 + eslint: 8.56.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.7 + object.hasown: 1.1.3 + object.values: 1.1.7 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.10 + dev: true + + /eslint-plugin-unicorn@49.0.0(eslint@8.56.0): + resolution: {integrity: sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.52.0' + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + ci-info: 3.9.0 + clean-regexp: 1.0.0 + eslint: 8.56.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.5.4 + strip-indent: 3.0.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.56.0: + resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.56.0 + '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-xml-parser@4.3.2: + resolution: {integrity: sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + + /fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + dependencies: + reusify: 1.0.4 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /form-data@3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: false + + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: true + + /glob@7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /html-entities@2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + dev: false + + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: false + + /husky@8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + + /is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.4 + set-function-name: 2.0.1 + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: true + + /js-cookie@3.0.1: + resolution: {integrity: sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==} + engines: {node: '>=12'} + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + engines: {node: '>=12', npm: '>=6'} + dependencies: + jws: 3.2.2 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 7.5.4 + dev: false + + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.7 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.1.7 + dev: true + + /jwa@1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + dev: false + + /jws@3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + dependencies: + jwa: 1.4.1 + safe-buffer: 5.2.1 + dev: false + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + dev: true + + /language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + dependencies: + language-subtag-registry: 0.3.22 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lilconfig@3.0.0: + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + dev: true + + /lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + dev: false + + /lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + dev: false + + /lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + dev: false + + /lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + dev: false + + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + /lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + dev: false + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: false + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.4.1 + dev: false + + /lru-cache@10.1.0: + resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} + engines: {node: 14 || >=16.14} + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: false + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /next@14.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-s4YaLpE4b0gmb3ggtmpmV+wt+lPRuGtANzojMQ2+gmBpgX9w5fTbjsy6dXByBuENsdCX5pukZH/GxdFgO62+pA==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.0.1 + '@swc/helpers': 0.5.2 + busboy: 1.6.0 + caniuse-lite: 1.0.30001571 + postcss: 8.4.31 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) + watchpack: 2.4.0 + optionalDependencies: + '@next/swc-darwin-arm64': 14.0.1 + '@next/swc-darwin-x64': 14.0.1 + '@next/swc-linux-arm64-gnu': 14.0.1 + '@next/swc-linux-arm64-musl': 14.0.1 + '@next/swc-linux-x64-gnu': 14.0.1 + '@next/swc-linux-x64-musl': 14.0.1 + '@next/swc-win32-arm64-msvc': 14.0.1 + '@next/swc-win32-ia32-msvc': 14.0.1 + '@next/swc-win32-x64-msvc': 14.0.1 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.4.1 + dev: false + + /node-fetch-native@1.0.1: + resolution: {integrity: sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==} + dev: false + + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: false + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.entries@1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + dev: true + + /object.hasown@1.1.3: + resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + dependencies: + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /octokit@3.1.2: + resolution: {integrity: sha512-MG5qmrTL5y8KYwFgE1A4JWmgfQBaIETE/lOlfwNYx1QOtCQHGVxkRJmdUJltFc1HVn73d61TlMhMyNTOtMl+ng==} + engines: {node: '>= 18'} + dependencies: + '@octokit/app': 14.0.2 + '@octokit/core': 5.0.2 + '@octokit/oauth-app': 6.0.0 + '@octokit/plugin-paginate-graphql': 4.0.0(@octokit/core@5.0.2) + '@octokit/plugin-paginate-rest': 9.1.5(@octokit/core@5.0.2) + '@octokit/plugin-rest-endpoint-methods': 10.2.0(@octokit/core@5.0.2) + '@octokit/plugin-retry': 6.0.1(@octokit/core@5.0.2) + '@octokit/plugin-throttling': 8.1.3(@octokit/core@5.0.2) + '@octokit/request-error': 5.0.1 + '@octokit/types': 12.4.0 + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /open-graph-scraper@6.3.2: + resolution: {integrity: sha512-3HbQwpSZ42hqqpDmZ3ZUOCuS1TuKqRWm6gEIw/HfqWDzwHaEJJR/WGi1prHD2gBaKYPjAHFaSTjKitJHTwMVPA==} + engines: {node: '>=18.0.0'} + dependencies: + chardet: 2.0.0 + cheerio: 1.0.0-rc.12 + undici: 5.28.2 + validator: 13.11.0 + dev: false + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.23.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + dev: false + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: false + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.1.0 + minipass: 7.0.4 + dev: true + + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: false + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /postcss-import@15.1.0(postcss@8.4.32): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.32 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + dev: true + + /postcss-js@4.0.1(postcss@8.4.32): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.32 + dev: true + + /postcss-load-config@4.0.2(postcss@8.4.32): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.0.0 + postcss: 8.4.32 + yaml: 2.3.4 + dev: true + + /postcss-nested@6.0.1(postcss@8.4.32): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.32 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-plugin-tailwindcss@0.5.9(prettier@3.1.1): + resolution: {integrity: sha512-9x3t1s2Cjbut2QiP+O0mDqV3gLXTe2CgRlQDgucopVkUdw26sQi53p/q4qvGxMLBDfk/dcTV57Aa/zYwz9l8Ew==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + prettier: ^3.0 + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + prettier-plugin-twig-melody: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-twig-melody: + optional: true + dependencies: + prettier: 3.1.1 + dev: true + + /prettier@3.1.1: + resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /pvtsutils@1.3.5: + resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} + dependencies: + tslib: 2.6.2 + dev: false + + /pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + dev: false + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: false + + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: true + + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /reflect.getprototypeof@1.0.4: + resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 + dev: true + + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true + + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 + dev: true + + /sal.js@0.8.5: + resolution: {integrity: sha512-KUb3fNrVZ1oWxxkEAfQfQ4Mrd910yboIRHqsvioBkulQInqMVeSMah+J5f7ch7KXFLicKlAaE0TzTsG/eJ02Dg==} + engines: {node: '>=12.0.0'} + dev: false + + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + dependencies: + dot-case: 3.0.4 + tslib: 2.4.1 + dev: false + + /snakecase-keys@3.2.1: + resolution: {integrity: sha512-CjU5pyRfwOtaOITYv5C8DzpZ8XA/ieRsDpr93HI2r6e3YInC6moZpSQbmUtg8cTk58tq2x3jcG2gv+p1IZGmMA==} + engines: {node: '>=8'} + dependencies: + map-obj: 4.3.0 + to-snake-case: 1.0.0 + dev: false + + /snakecase-keys@5.4.4: + resolution: {integrity: sha512-YTywJG93yxwHLgrYLZjlC75moVEX04LZM4FHfihjHe1FCXm+QaLOFfSf535aXOAd0ArVQMWUAe8ZPm4VtWyXaA==} + engines: {node: '>=12'} + dependencies: + map-obj: 4.3.0 + snake-case: 3.0.4 + type-fest: 2.19.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.16 + dev: true + + /spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + dev: true + + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: false + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 + side-channel: 1.0.4 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: false + + /styled-jsx@5.1.1(react@18.2.0): + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + dependencies: + client-only: 0.0.1 + react: 18.2.0 + dev: false + + /sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /swr@2.2.0(react@18.2.0): + resolution: {integrity: sha512-AjqHOv2lAhkuUdIiBu9xbuettzAzWXmCEcLONNKJRba87WAefz8Ca9d6ds/SzrPc235n1IxWYdhJ2zF3MNUaoQ==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) + dev: false + + /tailwindcss@3.4.0: + resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.32 + postcss-import: 15.1.0(postcss@8.4.32) + postcss-js: 4.0.1(postcss@8.4.32) + postcss-load-config: 4.0.2(postcss@8.4.32) + postcss-nested: 6.0.1(postcss@8.4.32) + postcss-selector-parser: 6.0.13 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + dev: true + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /to-no-case@1.0.2: + resolution: {integrity: sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==} + dev: false + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /to-snake-case@1.0.0: + resolution: {integrity: sha512-joRpzBAk1Bhi2eGEYBjukEWHOe/IvclOkiJl3DtA91jV6NwQ3MwXA4FHYeqk8BNp/D8bmi9tcNbRu/SozP0jbQ==} + dependencies: + to-space-case: 1.0.0 + dev: false + + /to-space-case@1.0.0: + resolution: {integrity: sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==} + dependencies: + to-no-case: 1.0.2 + dev: false + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + + /ts-api-utils@1.0.3(typescript@5.3.3): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.3.3 + dev: true + + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.4.1: + resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: false + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /undici@5.28.2: + resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.0 + dev: false + + /universal-github-app-jwt@1.1.1: + resolution: {integrity: sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w==} + dependencies: + '@types/jsonwebtoken': 9.0.5 + jsonwebtoken: 9.0.2 + dev: false + + /universal-user-agent@6.0.1: + resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + dev: false + + /update-browserslist-db@1.0.13(browserslist@4.22.2): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.2 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /use-sync-external-store@1.2.0(react@18.2.0): + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: false + + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: false + + /webcrypto-core@1.7.7: + resolution: {integrity: sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==} + dependencies: + '@peculiar/asn1-schema': 2.3.8 + '@peculiar/json-schema': 1.1.12 + asn1js: 3.0.5 + pvtsutils: 1.3.5 + tslib: 2.4.1 + dev: false + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.0 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.13 + dev: true + + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..e305dd9 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,8 @@ +const config = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; + +module.exports = config; diff --git a/prettier.config.mjs b/prettier.config.mjs new file mode 100644 index 0000000..2d2fa4c --- /dev/null +++ b/prettier.config.mjs @@ -0,0 +1,6 @@ +/** @type {import('prettier').Config & import('prettier-plugin-tailwindcss').options} */ +const config = { + plugins: ["prettier-plugin-tailwindcss"], +}; + +export default config; diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000..68b1116 Binary files /dev/null and b/public/android-chrome-192x192.png differ diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000..4e97a87 Binary files /dev/null and b/public/android-chrome-512x512.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000..31a4a08 Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000..3f358ae Binary files /dev/null and b/public/favicon-16x16.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000..8f8574f Binary files /dev/null and b/public/favicon-32x32.png differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..2dbf69e Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/images/placeholder.png b/public/images/placeholder.png new file mode 100644 index 0000000..764fecc Binary files /dev/null and b/public/images/placeholder.png differ diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png new file mode 100644 index 0000000..6c9fc75 Binary files /dev/null and b/public/mstile-150x150.png differ diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/readme.md b/readme.md index 8d58736..445dd49 100644 --- a/readme.md +++ b/readme.md @@ -10,6 +10,9 @@ [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) + +> We were incrementally moving the content to the new website. You can find the new list here: [https://awesome-morocco.dev](https://awesome-morocco.dev). Some list are still not moved yet, you can find them below. + ### Contents - [Contents](#contents) @@ -19,16 +22,16 @@ - [Podcasts](#podcasts) - [YouTube Channels](#youtube-channels) - [Open Source Projects](#open-source-projects) - - [JavaScript](#javascript) - - [Java](#java) - - [ASP.NET](#aspnet) - - [PHP](#php) - - [Python](#python) - - [Go](#go) - - [CSS](#css) - - [Flutter](#flutter) - - [AI](#ai) - - [Others](#others) + - [JavaScript](#javascript) + - [Java](#java) + - [ASP.NET](#aspnet) + - [PHP](#php) + - [Python](#python) + - [Go](#go) + - [CSS](#css) + - [Flutter](#flutter) + - [AI](#ai) + - [Others](#others) - [Books](#books) - [Contributing](#contributing) @@ -36,9 +39,7 @@ ### Communities -- [Facebook Developers Circle: Casablanca](https://www.facebook.com/groups/DevC.Casablanca) - Collaborate, ask and meet other developers from Casablanca. -- [Facebook Developers Circle: Rabat](https://web.facebook.com/groups/DevCRabat) - Collaborate, ask and meet other developers from Rabat. -- [Facebook Developers Circle: Marrakech](https://web.facebook.com/groups/DevC.Marrakech) - Collaborate, ask and meet other developers from Marrakech. +- [Geeksblabla Community](https://linkedin.com/company/geeksblabla-community) - Collaborate, ask and meet other developers from Morocco. - [Google Developers Group Casablanca](https://gdgcasablanca.com/) - Google Developers Group of Casablanca City. - [Google Developers Group Agadir](https://www.meetup.com/GDGAgadir) - Google Developers Group of Agadir City. - [Rabat.js](https://twitter.com/RabatJS) - The Rbati community of JavaScript enthusiasts and professionals. @@ -52,7 +53,7 @@ - [CNCG Casablanca](https://community.cncf.io/casablanca/) - a community of Moroccan Cloud Native Tech enthusiasts. - [JavaScript Morocco](https://twitter.com/JSMorocco) - The Moroccan JavaScript Community. - [BizTech Morocco](https://www.linkedin.com/company/biztechmorocco/) - Moroccan space for Technology And Business. -- [SoCraTes](https://www.linkedin.com/company/moroccansoftwarecrafters/) - Moroccan Software Crafters is a non-profit association that aims to stimulate and promote Software Craftsmanship values. +- [SoCraTes](https://www.linkedin.com/company/moroccansoftwarecrafters/) - Moroccan Software Crafters is a non-profit association that aims to stimulate and promote Software Craftsmanship values. - [WhoDesign.ma](https://www.linkedin.com/showcase/whodesign-ma/) - Home for all Moroccan designers. - [Blueprint](https://www.linkedin.com/company/designbleuprint/) - Empowering Moroccan designers to level up. @@ -68,51 +69,63 @@ ### Blogs +New List: https://awesome-morocco.dev/blogs + +
+Old list + - Organizations - - [xHub Blog](https://xlog.x-hub.io/) - - [Obytes Blog](https://obytes.com/blog) - - [Gemography](https://dev.to/gemography) - - [Remote.ma](https://remote.ma/) - - [Nimble Ways](https://blog.nimbleways.com/) + - [xHub Blog](https://xlog.x-hub.io/) + - [Obytes Blog](https://obytes.com/blog) + - [Gemography](https://dev.to/gemography) + - [Remote.ma](https://remote.ma/) + - [Nimble Ways](https://blog.nimbleways.com/) - Developers - - [Mohammed Aboullaite](https://aboullaite.me/) - Java , Docker... - - [El Azizi Youssouf](https://elazizi.com/) - Javascript, React, React Native... - - [Ismail Ghallou](https://smakosh.com/blog) - Javascript, React , life .... - - [Amine Hakkou](https://www.hakkou.me/) - Javascript, React Native .... - - [Abderrahim SOUBAI-ELIDRISI](https://www.soubai.me/) - Javascript, Node.js , Angular .... - - [Othmane](https://othmane.io/) - Bootstrapping, Indie Making, SaaS - - [Awaiting Bits](https://blog.zhaytam.com/) - C#, .NET Core, Python, Data Science, ... - - [Yassine ElOuafi](https://abstractfun.com/) - Javascript, Programming ... - - [Mohamed Elbahja](https://elbahja.me) - PHP, Golang, Vue.js, Sysadmin... - - [Ahmed Elazzabi](https://elazzabi.com/) - Books, tech, productivity, entrepreneurship - - [Younes Eramzi](https://eramzi.com/blog/) - wordpress, Digital branding, Web - - [Meriam Kharbat](https://medium.com/@MeriamKharbat) - software, startup - - [Hassan Azi](https://blog.pingfrommorocco.com/) - Programming, retrogaming, hacking and computer stuff - - [Hamza Belmellouki](https://hamzablm.com/blog/) - JVM Ecosystem - - [Akram Saouri](https://dev.to/akram) - Node, React and a lot of curiosity - - [Mehdi Sakout](https://mehdisakout.com) - Mobile, Android, Indie Making, SaaS ... - - [KAOUSSI Souhail](https://medium.com/@artisoft) - Javascript - Vue ... - - [Mehdi Cheracher](https://chermehdi.com) - Java, Performance... - - [Anas Mazouni](https://blog.anasmazouni.dev/) - Programming, Robotics and other random stuff ... - - [Youssef Lghoumaigui](https://lghou.com/) - C#, Vue js... - - [Rachid CHAMI](https://medium.com/@chamirachid) - Blockchain, Cryptography, Docker... - - [Ayoub Sousali](https://www.sousali.com/) - JavaScript, React, React Native, PHP, Python, ... - - [Nadia Laasri](https://nadialaasri.tech/blog/) - CSS, CSS ART, Javascript, ... - - [Aymane Mimouni](https://aymanemx.com/posts/) - Python, Django, ... - - [Ihssane Hatim](https://brightshine.io/tag/web_development/) - Web dev .... - - [Yasser Tahiri](https://blog.yezz.me/) - Security, Python, APIs, .... - - [Mounaim Zaryouhi](https://www.techandlifetips.com/) - Linux, WSL, Java, Hiking and other things... - - [Kawtar Choubari](https://choubari.com/) - Javascript, React, Next.js, NodeJS ... - - [Mohammed Daoudi](https://www.iduoad.com) - Linux, DevOps, Python, Tea, History ... - - [Mohammed chahboun](https://bento.me/m97chahboun) - Software engineering, cross-platform development, and other things... + - [Mohammed Aboullaite](https://aboullaite.me/) - Java , Docker... + - [El Azizi Youssouf](https://elazizi.com/) - Javascript, React, React Native... + - [Ismail Ghallou](https://smakosh.com/blog) - Javascript, React , life .... + - [Amine Hakkou](https://www.hakkou.me/) - Javascript, React Native .... + - [Abderrahim SOUBAI-ELIDRISI](https://www.soubai.me/) - Javascript, Node.js , Angular .... + - [Othmane](https://othmane.io/) - Bootstrapping, Indie Making, SaaS + - [Awaiting Bits](https://blog.zhaytam.com/) - C#, .NET Core, Python, Data Science, ... + - [Yassine ElOuafi](https://abstractfun.com/) - Javascript, Programming ... + - [Mohamed Elbahja](https://elbahja.me) - PHP, Golang, Vue.js, Sysadmin... + - [Ahmed Elazzabi](https://elazzabi.com/) - Books, tech, productivity, entrepreneurship + - [Younes Eramzi](https://eramzi.com/blog/) - wordpress, Digital branding, Web + - [Meriam Kharbat](https://medium.com/@MeriamKharbat) - software, startup + - [Hassan Azi](https://blog.pingfrommorocco.com/) - Programming, retrogaming, hacking and computer stuff + - [Hamza Belmellouki](https://hamzablm.com/blog/) - JVM Ecosystem + - [Akram Saouri](https://dev.to/akram) - Node, React and a lot of curiosity + - [Mehdi Sakout](https://mehdisakout.com) - Mobile, Android, Indie Making, SaaS ... + - [KAOUSSI Souhail](https://medium.com/@artisoft) - Javascript - Vue ... + - [Mehdi Cheracher](https://chermehdi.com) - Java, Performance... + - [Anas Mazouni](https://blog.anasmazouni.dev/) - Programming, Robotics and other random stuff ... + - [Youssef Lghoumaigui](https://lghou.com/) - C#, Vue js... + - [Rachid CHAMI](https://medium.com/@chamirachid) - Blockchain, Cryptography, Docker... + - [Ayoub Sousali](https://www.sousali.com/) - JavaScript, React, React Native, PHP, Python, ... + - [Nadia Laasri](https://nadialaasri.tech/blog/) - CSS, CSS ART, Javascript, ... + - [Aymane Mimouni](https://aymanemx.com/posts/) - Python, Django, ... + - [Ihssane Hatim](https://brightshine.io/tag/web_development/) - Web dev .... + - [Yasser Tahiri](https://blog.yezz.me/) - Security, Python, APIs, .... + - [Mounaim Zaryouhi](https://www.techandlifetips.com/) - Linux, WSL, Java, Hiking and other things... + - [Kawtar Choubari](https://choubari.com/) - Javascript, React, Next.js, NodeJS ... + - [Mohammed Daoudi](https://www.iduoad.com) - Linux, DevOps, Python, Tea, History ... + - [Mohammed chahboun](https://bento.me/m97chahboun) - Software engineering, cross-platform development, and other things... + +
--- ### Podcasts +New List: https://awesome-morocco.dev/podcasts + +
+Old list + - [GeeksBlabla](https://geeksblabla.com/) - [Data Maroc](https://www.youtube.com/channel/UC0eQAfZTFIvWZ9dZ45RIGEw) - [Business B nab](https://www.facebook.com/BiznessBNab) @@ -125,181 +138,191 @@ - [Lectorem - القارئ](https://www.youtube.com/channel/UCAKherxCCvXWHyGaeQKy-Jw) - [Angular In Darija](https://angularindarija.dev/) ---- - -### YouTube Channels - -- [Mohamed Youssfi](https://www.youtube.com/user/mohamedYoussfi) - Java, spring, programming, ... -- [Al-Fihriya Academy](https://www.youtube.com/channel/UC9NMlidXGKVIMMkXJsWRiyA) - Programming, Python, Web, soft skills ... -- [3arbaoui Mehdi](https://www.youtube.com/channel/UC6u-1b7VOVIC8LuJpnTNhOg) - Javascript, Web, soft skills, ... -- [ZiroToHero](https://www.youtube.com/user/web0dream1/) - HTML, Web .... -- [GeeksBlaBla](https://www.youtube.com/channel/UCW2WV7NKU0WPyuv4YoNSqBA) - Dev, Soft Skills, Meetups, Conferences ... -- [ngMorocco](https://www.youtube.com/c/ngMorocco/videos) - Angular related videos -- [Mehdi Cheracher](https://www.youtube.com/user/mehdi91611/videos) - Java ... -- [MaDrasaTech](https://www.youtube.com/user/JasonMoroccan) - Networking - Network Automation Python - Windows Server ... -- [KHALID KATKOUT](https://www.youtube.com/user/khalidnobleman) - Networking - CCNA - GNS3 - IPv6 ... -- [ARS LONGA VITA BREVIS](https://www.youtube.com/channel/UCFkWVr33NMrcfYZWXOJvKsw) - Competitive Programming - Dynamic Programming - C/C++ ... -- [CNCG Casablanca](https://www.youtube.com/channel/UC6HawQwd4jthXt1orvMIscg) - Cloud, Tech, Kubernetes, Dev-Ops... -- [Mouradouchane](https://www.youtube.com/c/undefinedprogramming/videos) - Javascript, HTML, CSS... +
--- ### Open Source Projects +New List: https://awesome-morocco.dev/open-source + +
+Old list + #### JavaScript -- [Redux-saga](https://github.com/redux-saga/redux-saga) [![Stars](https://img.shields.io/github/stars/redux-saga/redux-saga.svg?style=social)](https://github.com/redux-saga/redux-saga/stargazers) - An alternative side effect model for Redux apps by [@yelouafi](https://github.com/yelouafi) -- [reactjs-popup](https://github.com/yjose/reactjs-popup) [![Stars](https://img.shields.io/github/stars/yjose/reactjs-popup.svg?style=social)](https://github.com/yjose/reactjs-popup/stargazers) - A react popup component by [@yjose](https://github.com/yjose) -- [react-flex-ready](https://github.com/smakosh/react-flex-ready) [![Stars](https://img.shields.io/github/stars/smakosh/react-flex-ready.svg?style=social)](https://github.com/smakosh/react-flex-ready/stargazers) - Flex grid system by [@smakosh](https://github.com/smakosh) -- [gatsby-portfolio-dev](https://github.com/smakosh/gatsby-portfolio-dev) [![Stars](https://img.shields.io/github/stars/smakosh/gatsby-portfolio-dev.svg?style=social)](https://github.com/smakosh/gatsby-portfolio-dev/stargazers) - Gatsby Portfolio theme & starter for developers by [@smakosh](https://github.com/smakosh) -- [eureca.io](https://github.com/Ezelia/eureca.io) [![Stars](https://img.shields.io/github/stars/Ezelia/eureca.io.svg?style=social)](https://github.com/Ezelia/eureca.io/stargazers) - a nodejs bidirectional RPC that can use WebSocket, WebRTC or XHR fallback as transport layers. -- [react-basic-items-pagination](https://github.com/elmehdibm/react-basic-items-pagination) [![Stars](https://img.shields.io/github/stars/elmehdibm/react-basic-items-pagination.svg?style=social)](https://github.com/elmehdibm/react-basic-items-pagination/stargazers) - A react component helper to render set of items. by [@elmehdibm](https://github.com/elmehdibm) -- [kh-popover](https://github.com/khofaai/kh-popover) [![Stars](https://img.shields.io/github/stars/khofaai/kh-popover.svg?style=social)](https://github.com/khofaai/kh-popover/stargazers) - Popover build for vuejs framework. by [@khofaai](https://github.com/khofaai) -- [v-odometer](https://github.com/JefferyHus/v-odometer) [![Stars](https://img.shields.io/github/stars/JefferyHus/v-odometer.svg?style=social)](https://github.com/JefferyHus/v-odometer/stargazers) - Vue.js component to smoothly transition numbers with ease. by [@jefferyhus](https://github.com/JefferyHus) -- [es6-crawler-detect](https://github.com/JefferyHus/es6-crawler-detect) [![Stars](https://img.shields.io/github/stars/JefferyHus/es6-crawler-detect.svg?style=social)](https://github.com/JefferyHus/es6-crawler-detect/stargazers) - ES6 module to help you detected and block bots, crawlers and spiders. by [@jefferyhus](https://github.com/JefferyHus) -- [vue-dropify](https://github.com/khofaai/vue-dropify) [![Stars](https://img.shields.io/github/stars/khofaai/vue-dropify.svg?style=social)](https://github.com/khofaai/vue-dropify/stargazers) - Dropify build for vuejs framework. by [@khofaai](https://github.com/khofaai) -- [Vuejs Suglify](https://github.com/simoebenhida/vuejs-suglify) [![Stars](https://img.shields.io/github/stars/simoebenhida/vuejs-suglify.svg?style=social)](https://github.com/simoebenhida/vuejs-suglify/stargazers) - A Vue component that slugify your v-model inputs. By [@simoebenhida](https://github.com/simoebenhida) -- [Vuejs Tags](https://github.com/simoebenhida/vue-tags) [![Stars](https://img.shields.io/github/stars/simoebenhida/vue-tags.svg?style=social)](https://github.com/simoebenhida/vue-tags/stargazers) - A Flexible Vue.js 2 input Tag component where you can edit wathever you like related to HTML/CSS. By [@simoebenhida](https://github.com/simoebenhida) -- [HIBP JS](https://github.com/mehdibo/hibp-js) [![Stars](https://img.shields.io/github/stars/mehdibo/hibp-js.svg?style=social)](https://github.com/mehdibo/hibp-js/stargazers) - Library to check your password against haveibeenpwned -- [Ckeditor-uploadfile](https://github.com/mehdibo/ckeditor-uploadfile) [![Stars](https://img.shields.io/github/stars/mehdibo/ckeditor-uploadfile.svg?style=social)](https://github.com/mehdibo/ckeditor-uploadfile/stargazers) - CKEditor plugin to upload files -- [Jquery-imgedit](https://github.com/mehdibo/jquery-imgedit) [![Stars](https://img.shields.io/github/stars/mehdibo/jquery-imgedit.svg?style=social)](https://github.com/mehdibo/jquery-imgedit/stargazers) - Small jQuery plugin to edit an inline image -- [Salat-api](https://github.com/Kafiil/salat-api) [![Stars](https://img.shields.io/github/stars/Kafiil/salat-api.svg?style=social)](https://github.com/Kafiil/salat-api/stargazers) - A simple public rest api to get the prayers times for cities in Morocco based on the official data form the Moroccan Ministry. By [@kafiil](https://github.com/Kafiil) -- [Salat](https://github.com/Kafiil/salat) [![Stars](https://img.shields.io/github/stars/Kafiil/salat.svg?style=social)](https://github.com/Kafiil/salat/stargazers) - A small web app to get prayers time in cities of Morocco. By [@kafiil](https://github.com/Kafiil) -- [Corona-wash-reminder](https://github.com/akiyamaSM/corona-wash-reminder) [![Stars](https://img.shields.io/github/stars/akiyamaSM/corona-wash-reminder.svg?style=social)](https://github.com/akiyamaSM/corona-wash-reminder/stargazers) - A small A mobile app to remind you to wash your hands. By [@akiyamaSM](https://github.com/akiyamaSM) -- [Graf-it](https://github.com/akramsaouri/graf-it) [![Stars](https://img.shields.io/github/stars/akramsaouri/graf-it.svg?style=social)](https://github.com/akramsaouri/graf-it/stargazers) - Generate a mock GraphQL API without writing a single line of code. -- [Pastify](https://github.com/akramsaouri/pastify) [![Stars](https://img.shields.io/github/stars/akramsaouri/pastify.svg?style=social)](https://github.com/akramsaouri/pastify/stargazers) - Quickly create Spotify playlists. -- [xorq](https://github.com/ezzarghili/xorq) [![Stars](https://img.shields.io/github/stars/ezzarghili/xorq.svg?style=social)](https://github.com/ezzarghili/xorq/stargazers) - A minimalistic xhr javascript library. by [@ezzarghili](https://github.com/ezzarghili) -- [FireAdmin](https://github.com/AXeL-dev/FireAdmin) [![Stars](https://img.shields.io/github/stars/AXeL-dev/FireAdmin.svg?style=social)](https://github.com/AXeL-dev/FireAdmin/stargazers) - A minimalistic headless CMS around Angular & Firebase. by [@AXeL](https://github.com/AXeL-dev) -- [Firestore Manager](https://github.com/AXeL-dev/firestore-manager) [![Stars](https://img.shields.io/github/stars/AXeL-dev/firestore-manager.svg?style=social)](https://github.com/AXeL-dev/firestore-manager/stargazers) - Manage your firestore databases in ease. by [@AXeL](https://github.com/AXeL-dev) -- [Temme](https://github.com/EOussama/temmejs) [![Stars](https://img.shields.io/github/stars/EOussama/temmejs.svg?style=social)](https://github.com/EOussama/temmejs/stargazers) - JSON mapped DOM manipulation. by [@EOussama](https://github.com/Eoussama) -- [eo-translatorjs](https://github.com/EOussama/eo-translatorjs) [![Stars](https://img.shields.io/github/stars/EOussama/eo-translatorjs.svg?style=social)](https://github.com/EOussama/eo-translatorjs/stargazers) - Lightweight translation library for the web. by [@EOussama](https://github.com/Eoussama) -- [typewriterjs](https://github.com/EOussama/typewriterjs) [![Stars](https://img.shields.io/github/stars/EOussama/typewriterjs.svg?style=social)](https://github.com/EOussama/typewriterjs/stargazers) - Typewriting animator. by [@EOussama](https://github.com/Eoussama) -- [Web-merge](https://github.com/AbderrahimSoubaiElidrissi/web-merge) [![Stars](https://img.shields.io/github/stars/AbderrahimSoubaiElidrissi/web-merge.svg?style=social)](https://github.com/AbderrahimSoubaiElidrissi/web-merge/stargazers) - Declarative client-side web fragments merger for micro-frontend architectures. by [@soub4i](https://github.com/AbderrahimSoubaiElidrissi) -- [Before-Effect-Slider](https://github.com/aminejafur/before-effect-slider.js) [![Stars](https://img.shields.io/github/stars/aminejafur/before-effect-slider.js.svg?style=social)](https://github.com/aminejafur/before-effect-slider.js/stargazers) - A fully customizable before and after comparison plugin in pure JavaScript. by [@aminejafur](https://github.com/aminejafur) -- [Native-Window](https://github.com/aminejafur/native-window.js) [![Stars](https://img.shields.io/github/stars/aminejafur/native-window.js.svg?style=social)](https://github.com/aminejafur/native-window.js/stargazers) - Take your modals to next level using a powerful & fully customizable window modal plugin in pure JavaScript. by [@aminejafur](https://github.com/aminejafur) -- [Pure dots and boxes](https://github.com/aminejafur/puredotsandboxes) [![Stars](https://img.shields.io/github/stars/aminejafur/puredotsandboxes.svg?style=social)](https://github.com/aminejafur/puredotsandboxes/stargazers) - A pure HTML, CSS and JS Dots and Boxes game in Morocco 90's schools style. by [@aminejafur](https://github.com/aminejafur) -- [Data Structures](https://github.com/Riad-ENNAIM/data-structures) [![Stars](https://img.shields.io/github/stars/Riad-ENNAIM/data-structures.svg?style=social)](https://github.com/Riad-ENNAIM/data-structures/stargazers) - Some Data Structures implementation using JavaScript. by [@Riad-ENNAIM](https://github.com/Riad-ENNAIM) -- [CRA boilerplate](https://github.com/smakosh/CRA-boilerplate) [![Stars](https://img.shields.io/github/stars/smakosh/CRA-boilerplate.svg?style=social)](https://github.com/smakosh/CRA-boilerplate/stargazers) - A CRA boilerplate for large projects in JavaScript and TypeScript. By [@smakosh](https://github.com/smakosh) -- [A Gatsby i18n starter](https://github.com/smakosh/gatsby-starter-i18n) [![Stars](https://img.shields.io/github/stars/smakosh/gatsby-starter-i18n.svg?style=social)](https://github.com/smakosh/gatsby-starter-i18n/stargazers) - A Gatsby starter with i18n configured using `react-intl` and Context API. By [@smakosh](https://github.com/smakosh) -- [DolarJs](https://github.com/mboussaid/Dolar.JS) [![Stars](https://img.shields.io/github/stars/mboussaid/Dolar.JS.svg?style=social)](https://github.com/mboussaid/Dolar.JS/stargazers) - A minimal and lightweight `javascript` library By [@mboussaid](https://github.com/mboussaid) -- [JSS](https://github.com/mboussaid/JSS) [![Stars](https://img.shields.io/github/stars/mboussaid/JSS.svg?style=social)](https://github.com/mboussaid/JSS/stargazers) - A minimal `javascript` library that allows you to change the style of elements By [@mboussaid](https://github.com/mboussaid) -- [VerifyJS](https://github.com/mboussaid/VerifyJS) [![Stars](https://img.shields.io/github/stars/mboussaid/VerifyJS.svg?style=social)](https://github.com/mboussaid/VerifyJS/stargazers) - A minimal `javascript` library that allows to add verification to your inputs By [@mboussaid](https://github.com/mboussaid) -- [SeuleJs](https://github.com/ElMehdiLebbar/SeuleJs) [![Stars](https://img.shields.io/github/stars/ElMehdiLebbar/SeuleJs.svg?style=social)](https://github.com/ElMehdiLebbar/SeuleJs/stargazers) - A progressive, incrementally-adoptable JavaScript framework for building UI on the web By [@ElMehdiLebbar](https://github.com/ElMehdiLebbar) -- [vue3 infinite loading](https://github.com/oumoussa98/vue3-infinite-loading) [![Stars](https://img.shields.io/github/stars/oumoussa98/vue3-infinite-loading.svg?style=social)](https://github.com/oumoussa98/vue3-infinite-loading/stargazers) - An infinite scroll component compatible with vue.js 3 and vite, to help you implement an infinite scroll list more easily. By [@oumoussa98](https://github.com/oumoussa98) -- [Deno-Trading-Bot](https://github.com/Zizwar/deno-trading-bot) [![Stars](https://img.shields.io/github/stars/Zizwar/deno-trading-bot.svg?style=social)](https://github.com/Zizwar/deno-trading-bot/stargazers) - Technical Strategies and Indicators for Trading Crypto By [@BrahimBIDI](https://github.com/Zizwar) -- [JPT Proomy](https://github.com/Zizwar/PRoomy) [![Stars](https://img.shields.io/github/stars/Zizwar/proomy?style=social)](https://github.com/Zizwar/proomy/stargazers) - Roomy Prompt - ChatGPT Rooms. By [@BrahimBIDI](https://github.com/Zizwar) -- [Mushaf.ma](https://github.com/Zizwar/mushaf-mauri) [![Stars](https://img.shields.io/github/stars/Zizwar/mushaf-mauri?style=social)](https://github.com/Zizwar/mushaf-mauri/stargazers) - Mushaf Warsh rasm Muhammadi and warsh madina version expo react native. By [@BrahimBIDI](https://github.com/Zizwar) -- [ngx-darija](https://github.com/ngMorocco/ngx-darija) [![Stars](https://img.shields.io/github/stars/ngMorocco/ngx-darija.svg?style=social)](https://github.com/ngMorocco/ngx-darija/stargazers) - Angular in Darija Live Coding Series official Application by the [Moroccan Angular Community](https://github.com/ngMorocco). -- [Ryo.js](https://github.com/marvelbark2/ryo-js) [![Stars](https://img.shields.io/github/stars/marvelbark2/ryo-js.svg?style=social)](https://github.com/marvelbark2/ryo-js/stargazers) - JS fullstack framework, blazly fast, to create API, WS, preact components... by [marvelbark2](https://github.com/marvelbark2) -- [MySQL_WhatsApp](https://github.com/Aziz403/MySQL_WhatsApp) [![Stars](https://img.shields.io/github/stars/Aziz403/MySQL_WhatsApp.svg?style=social)](https://github.com/Aziz403/MySQL_WhatsApp/stargazers) A minimal `node.js` code allow us to run MySQL queries in your device from Whatsapp. by [@Aziz403](https://github.com/Aziz403) -- [next-salat](https://github.com/ayoubsousali/next-salat) [![Stars](https://img.shields.io/github/stars/ayoubsousali/next-salat.svg?style=social)](https://github.com/ayoubsousali/next-salat/stargazers) A simple react app to get prayer times in Morocco. by [@ayoubsousali](https://github.com/ayoubsousali) +- [Redux-saga](https://github.com/redux-saga/redux-saga) [![Stars](https://img.shields.io/github/stars/redux-saga/redux-saga.svg?style=social)](https://github.com/redux-saga/redux-saga/stargazers) - An alternative side effect model for Redux apps by [@yelouafi](https://github.com/yelouafi) +- [reactjs-popup](https://github.com/yjose/reactjs-popup) [![Stars](https://img.shields.io/github/stars/yjose/reactjs-popup.svg?style=social)](https://github.com/yjose/reactjs-popup/stargazers) - A react popup component by [@yjose](https://github.com/yjose) +- [react-flex-ready](https://github.com/smakosh/react-flex-ready) [![Stars](https://img.shields.io/github/stars/smakosh/react-flex-ready.svg?style=social)](https://github.com/smakosh/react-flex-ready/stargazers) - Flex grid system by [@smakosh](https://github.com/smakosh) +- [gatsby-portfolio-dev](https://github.com/smakosh/gatsby-portfolio-dev) [![Stars](https://img.shields.io/github/stars/smakosh/gatsby-portfolio-dev.svg?style=social)](https://github.com/smakosh/gatsby-portfolio-dev/stargazers) - Gatsby Portfolio theme & starter for developers by [@smakosh](https://github.com/smakosh) +- [eureca.io](https://github.com/Ezelia/eureca.io) [![Stars](https://img.shields.io/github/stars/Ezelia/eureca.io.svg?style=social)](https://github.com/Ezelia/eureca.io/stargazers) - a nodejs bidirectional RPC that can use WebSocket, WebRTC or XHR fallback as transport layers. +- [react-basic-items-pagination](https://github.com/elmehdibm/react-basic-items-pagination) [![Stars](https://img.shields.io/github/stars/elmehdibm/react-basic-items-pagination.svg?style=social)](https://github.com/elmehdibm/react-basic-items-pagination/stargazers) - A react component helper to render set of items. by [@elmehdibm](https://github.com/elmehdibm) +- [kh-popover](https://github.com/khofaai/kh-popover) [![Stars](https://img.shields.io/github/stars/khofaai/kh-popover.svg?style=social)](https://github.com/khofaai/kh-popover/stargazers) - Popover build for vuejs framework. by [@khofaai](https://github.com/khofaai) +- [v-odometer](https://github.com/JefferyHus/v-odometer) [![Stars](https://img.shields.io/github/stars/JefferyHus/v-odometer.svg?style=social)](https://github.com/JefferyHus/v-odometer/stargazers) - Vue.js component to smoothly transition numbers with ease. by [@jefferyhus](https://github.com/JefferyHus) +- [es6-crawler-detect](https://github.com/JefferyHus/es6-crawler-detect) [![Stars](https://img.shields.io/github/stars/JefferyHus/es6-crawler-detect.svg?style=social)](https://github.com/JefferyHus/es6-crawler-detect/stargazers) - ES6 module to help you detected and block bots, crawlers and spiders. by [@jefferyhus](https://github.com/JefferyHus) +- [vue-dropify](https://github.com/khofaai/vue-dropify) [![Stars](https://img.shields.io/github/stars/khofaai/vue-dropify.svg?style=social)](https://github.com/khofaai/vue-dropify/stargazers) - Dropify build for vuejs framework. by [@khofaai](https://github.com/khofaai) +- [Vuejs Suglify](https://github.com/simoebenhida/vuejs-suglify) [![Stars](https://img.shields.io/github/stars/simoebenhida/vuejs-suglify.svg?style=social)](https://github.com/simoebenhida/vuejs-suglify/stargazers) - A Vue component that slugify your v-model inputs. By [@simoebenhida](https://github.com/simoebenhida) +- [Vuejs Tags](https://github.com/simoebenhida/vue-tags) [![Stars](https://img.shields.io/github/stars/simoebenhida/vue-tags.svg?style=social)](https://github.com/simoebenhida/vue-tags/stargazers) - A Flexible Vue.js 2 input Tag component where you can edit wathever you like related to HTML/CSS. By [@simoebenhida](https://github.com/simoebenhida) +- [HIBP JS](https://github.com/mehdibo/hibp-js) [![Stars](https://img.shields.io/github/stars/mehdibo/hibp-js.svg?style=social)](https://github.com/mehdibo/hibp-js/stargazers) - Library to check your password against haveibeenpwned +- [Ckeditor-uploadfile](https://github.com/mehdibo/ckeditor-uploadfile) [![Stars](https://img.shields.io/github/stars/mehdibo/ckeditor-uploadfile.svg?style=social)](https://github.com/mehdibo/ckeditor-uploadfile/stargazers) - CKEditor plugin to upload files +- [Jquery-imgedit](https://github.com/mehdibo/jquery-imgedit) [![Stars](https://img.shields.io/github/stars/mehdibo/jquery-imgedit.svg?style=social)](https://github.com/mehdibo/jquery-imgedit/stargazers) - Small jQuery plugin to edit an inline image +- [Salat-api](https://github.com/Kafiil/salat-api) [![Stars](https://img.shields.io/github/stars/Kafiil/salat-api.svg?style=social)](https://github.com/Kafiil/salat-api/stargazers) - A simple public rest api to get the prayers times for cities in Morocco based on the official data form the Moroccan Ministry. By [@kafiil](https://github.com/Kafiil) +- [Salat](https://github.com/Kafiil/salat) [![Stars](https://img.shields.io/github/stars/Kafiil/salat.svg?style=social)](https://github.com/Kafiil/salat/stargazers) - A small web app to get prayers time in cities of Morocco. By [@kafiil](https://github.com/Kafiil) +- [Corona-wash-reminder](https://github.com/akiyamaSM/corona-wash-reminder) [![Stars](https://img.shields.io/github/stars/akiyamaSM/corona-wash-reminder.svg?style=social)](https://github.com/akiyamaSM/corona-wash-reminder/stargazers) - A small A mobile app to remind you to wash your hands. By [@akiyamaSM](https://github.com/akiyamaSM) +- [Graf-it](https://github.com/akramsaouri/graf-it) [![Stars](https://img.shields.io/github/stars/akramsaouri/graf-it.svg?style=social)](https://github.com/akramsaouri/graf-it/stargazers) - Generate a mock GraphQL API without writing a single line of code. +- [Pastify](https://github.com/akramsaouri/pastify) [![Stars](https://img.shields.io/github/stars/akramsaouri/pastify.svg?style=social)](https://github.com/akramsaouri/pastify/stargazers) - Quickly create Spotify playlists. +- [xorq](https://github.com/ezzarghili/xorq) [![Stars](https://img.shields.io/github/stars/ezzarghili/xorq.svg?style=social)](https://github.com/ezzarghili/xorq/stargazers) - A minimalistic xhr javascript library. by [@ezzarghili](https://github.com/ezzarghili) +- [FireAdmin](https://github.com/AXeL-dev/FireAdmin) [![Stars](https://img.shields.io/github/stars/AXeL-dev/FireAdmin.svg?style=social)](https://github.com/AXeL-dev/FireAdmin/stargazers) - A minimalistic headless CMS around Angular & Firebase. by [@AXeL](https://github.com/AXeL-dev) +- [Firestore Manager](https://github.com/AXeL-dev/firestore-manager) [![Stars](https://img.shields.io/github/stars/AXeL-dev/firestore-manager.svg?style=social)](https://github.com/AXeL-dev/firestore-manager/stargazers) - Manage your firestore databases in ease. by [@AXeL](https://github.com/AXeL-dev) +- [Temme](https://github.com/EOussama/temmejs) [![Stars](https://img.shields.io/github/stars/EOussama/temmejs.svg?style=social)](https://github.com/EOussama/temmejs/stargazers) - JSON mapped DOM manipulation. by [@EOussama](https://github.com/Eoussama) +- [eo-translatorjs](https://github.com/EOussama/eo-translatorjs) [![Stars](https://img.shields.io/github/stars/EOussama/eo-translatorjs.svg?style=social)](https://github.com/EOussama/eo-translatorjs/stargazers) - Lightweight translation library for the web. by [@EOussama](https://github.com/Eoussama) +- [typewriterjs](https://github.com/EOussama/typewriterjs) [![Stars](https://img.shields.io/github/stars/EOussama/typewriterjs.svg?style=social)](https://github.com/EOussama/typewriterjs/stargazers) - Typewriting animator. by [@EOussama](https://github.com/Eoussama) +- [Web-merge](https://github.com/AbderrahimSoubaiElidrissi/web-merge) [![Stars](https://img.shields.io/github/stars/AbderrahimSoubaiElidrissi/web-merge.svg?style=social)](https://github.com/AbderrahimSoubaiElidrissi/web-merge/stargazers) - Declarative client-side web fragments merger for micro-frontend architectures. by [@soub4i](https://github.com/AbderrahimSoubaiElidrissi) +- [Before-Effect-Slider](https://github.com/aminejafur/before-effect-slider.js) [![Stars](https://img.shields.io/github/stars/aminejafur/before-effect-slider.js.svg?style=social)](https://github.com/aminejafur/before-effect-slider.js/stargazers) - A fully customizable before and after comparison plugin in pure JavaScript. by [@aminejafur](https://github.com/aminejafur) +- [Native-Window](https://github.com/aminejafur/native-window.js) [![Stars](https://img.shields.io/github/stars/aminejafur/native-window.js.svg?style=social)](https://github.com/aminejafur/native-window.js/stargazers) - Take your modals to next level using a powerful & fully customizable window modal plugin in pure JavaScript. by [@aminejafur](https://github.com/aminejafur) +- [Pure dots and boxes](https://github.com/aminejafur/puredotsandboxes) [![Stars](https://img.shields.io/github/stars/aminejafur/puredotsandboxes.svg?style=social)](https://github.com/aminejafur/puredotsandboxes/stargazers) - A pure HTML, CSS and JS Dots and Boxes game in Morocco 90's schools style. by [@aminejafur](https://github.com/aminejafur) +- [Data Structures](https://github.com/Riad-ENNAIM/data-structures) [![Stars](https://img.shields.io/github/stars/Riad-ENNAIM/data-structures.svg?style=social)](https://github.com/Riad-ENNAIM/data-structures/stargazers) - Some Data Structures implementation using JavaScript. by [@Riad-ENNAIM](https://github.com/Riad-ENNAIM) +- [CRA boilerplate](https://github.com/smakosh/CRA-boilerplate) [![Stars](https://img.shields.io/github/stars/smakosh/CRA-boilerplate.svg?style=social)](https://github.com/smakosh/CRA-boilerplate/stargazers) - A CRA boilerplate for large projects in JavaScript and TypeScript. By [@smakosh](https://github.com/smakosh) +- [A Gatsby i18n starter](https://github.com/smakosh/gatsby-starter-i18n) [![Stars](https://img.shields.io/github/stars/smakosh/gatsby-starter-i18n.svg?style=social)](https://github.com/smakosh/gatsby-starter-i18n/stargazers) - A Gatsby starter with i18n configured using `react-intl` and Context API. By [@smakosh](https://github.com/smakosh) +- [DolarJs](https://github.com/mboussaid/Dolar.JS) [![Stars](https://img.shields.io/github/stars/mboussaid/Dolar.JS.svg?style=social)](https://github.com/mboussaid/Dolar.JS/stargazers) - A minimal and lightweight `javascript` library By [@mboussaid](https://github.com/mboussaid) +- [JSS](https://github.com/mboussaid/JSS) [![Stars](https://img.shields.io/github/stars/mboussaid/JSS.svg?style=social)](https://github.com/mboussaid/JSS/stargazers) - A minimal `javascript` library that allows you to change the style of elements By [@mboussaid](https://github.com/mboussaid) +- [VerifyJS](https://github.com/mboussaid/VerifyJS) [![Stars](https://img.shields.io/github/stars/mboussaid/VerifyJS.svg?style=social)](https://github.com/mboussaid/VerifyJS/stargazers) - A minimal `javascript` library that allows to add verification to your inputs By [@mboussaid](https://github.com/mboussaid) +- [SeuleJs](https://github.com/ElMehdiLebbar/SeuleJs) [![Stars](https://img.shields.io/github/stars/ElMehdiLebbar/SeuleJs.svg?style=social)](https://github.com/ElMehdiLebbar/SeuleJs/stargazers) - A progressive, incrementally-adoptable JavaScript framework for building UI on the web By [@ElMehdiLebbar](https://github.com/ElMehdiLebbar) +- [vue3 infinite loading](https://github.com/oumoussa98/vue3-infinite-loading) [![Stars](https://img.shields.io/github/stars/oumoussa98/vue3-infinite-loading.svg?style=social)](https://github.com/oumoussa98/vue3-infinite-loading/stargazers) - An infinite scroll component compatible with vue.js 3 and vite, to help you implement an infinite scroll list more easily. By [@oumoussa98](https://github.com/oumoussa98) +- [Deno-Trading-Bot](https://github.com/Zizwar/deno-trading-bot) [![Stars](https://img.shields.io/github/stars/Zizwar/deno-trading-bot.svg?style=social)](https://github.com/Zizwar/deno-trading-bot/stargazers) - Technical Strategies and Indicators for Trading Crypto By [@BrahimBIDI](https://github.com/Zizwar) +- [JPT Proomy](https://github.com/Zizwar/PRoomy) [![Stars](https://img.shields.io/github/stars/Zizwar/proomy?style=social)](https://github.com/Zizwar/proomy/stargazers) - Roomy Prompt - ChatGPT Rooms. By [@BrahimBIDI](https://github.com/Zizwar) +- [Mushaf.ma](https://github.com/Zizwar/mushaf-mauri) [![Stars](https://img.shields.io/github/stars/Zizwar/mushaf-mauri?style=social)](https://github.com/Zizwar/mushaf-mauri/stargazers) - Mushaf Warsh rasm Muhammadi and warsh madina version expo react native. By [@BrahimBIDI](https://github.com/Zizwar) +- [ngx-darija](https://github.com/ngMorocco/ngx-darija) [![Stars](https://img.shields.io/github/stars/ngMorocco/ngx-darija.svg?style=social)](https://github.com/ngMorocco/ngx-darija/stargazers) - Angular in Darija Live Coding Series official Application by the [Moroccan Angular Community](https://github.com/ngMorocco). +- [Ryo.js](https://github.com/marvelbark2/ryo-js) [![Stars](https://img.shields.io/github/stars/marvelbark2/ryo-js.svg?style=social)](https://github.com/marvelbark2/ryo-js/stargazers) - JS fullstack framework, blazly fast, to create API, WS, preact components... by [marvelbark2](https://github.com/marvelbark2) +- [MySQL_WhatsApp](https://github.com/Aziz403/MySQL_WhatsApp) [![Stars](https://img.shields.io/github/stars/Aziz403/MySQL_WhatsApp.svg?style=social)](https://github.com/Aziz403/MySQL_WhatsApp/stargazers) A minimal `node.js` code allow us to run MySQL queries in your device from Whatsapp. by [@Aziz403](https://github.com/Aziz403) +- [next-salat](https://github.com/ayoubsousali/next-salat) [![Stars](https://img.shields.io/github/stars/ayoubsousali/next-salat.svg?style=social)](https://github.com/ayoubsousali/next-salat/stargazers) A simple react app to get prayer times in Morocco. by [@ayoubsousali](https://github.com/ayoubsousali) - [TxtAnime.js](https://github.com/mohamedfrindi/TxtAnime.js) [![Stars](https://img.shields.io/github/stars/mohamedfrindi/TxtAnime.js.svg?style=social)](https://github.com/mohamedfrindi/TxtAnime.js) It is a JavaScript library, which contains many beautiful and free text effects. by [@mohamedfrindi](https://github.com/mohamedfrindi) - [Cmi-node.js](https://github.com/aitmiloud/cmi-node) [![Stars](https://img.shields.io/github/stars/aitmiloud/cmi-node.svg?style=social)](https://github.com/aitmiloud/cmi-node) Npm package to communicate with the CMI payment plateform in Morocco. by [@aitmiloud](https://github.com/aitmiloud) - [Nixify](https://github.com/FxOmar/Nixify) [![Stars](https://img.shields.io/github/stars/FxOmar/nixify.svg?style=social)](https://github.com/FxOmar/Nixify) 🌴 A tiny human-friendly JavaScript HTTP client library based on the browser with no dependencies. by [@FxOmar](https://github.com/FxOmar) + #### Java -- [android-about-page](https://github.com/medyo/android-about-page) [![Stars](https://img.shields.io/github/stars/medyo/android-about-page.svg?style=social)](https://github.com/medyo/android-about-page/stargazers) - Create an awesome About Page for your Android App in 2 minutes. by [@medyo](https://github.com/medyo) -- [Fancybuttons](https://github.com/medyo/Fancybuttons) [![Stars](https://img.shields.io/github/stars/medyo/Fancybuttons.svg?style=social)](https://github.com/medyo/Fancybuttons/stargazers) - Icons, Borders, Radius ... for Android buttons. by [@medyo](https://github.com/medyo) +- [android-about-page](https://github.com/medyo/android-about-page) [![Stars](https://img.shields.io/github/stars/medyo/android-about-page.svg?style=social)](https://github.com/medyo/android-about-page/stargazers) - Create an awesome About Page for your Android App in 2 minutes. by [@medyo](https://github.com/medyo) +- [Fancybuttons](https://github.com/medyo/Fancybuttons) [![Stars](https://img.shields.io/github/stars/medyo/Fancybuttons.svg?style=social)](https://github.com/medyo/Fancybuttons/stargazers) - Icons, Borders, Radius ... for Android buttons. by [@medyo](https://github.com/medyo) #### ASP.NET -- [SmartBreadcrumbs](https://github.com/zHaytam/SmartBreadcrumbs) [![Stars](https://img.shields.io/github/stars/zHaytam/SmartBreadcrumbs.svg?style=social)](https://github.com/zHaytam/SmartBreadcrumbs/stargazers) - A utility library for ASP.NET Core websites to manage breadcrumbs. By [@zHaytam](https://github.com/zHaytam) +- [SmartBreadcrumbs](https://github.com/zHaytam/SmartBreadcrumbs) [![Stars](https://img.shields.io/github/stars/zHaytam/SmartBreadcrumbs.svg?style=social)](https://github.com/zHaytam/SmartBreadcrumbs/stargazers) - A utility library for ASP.NET Core websites to manage breadcrumbs. By [@zHaytam](https://github.com/zHaytam) #### PHP -- [chibi](https://github.com/akiyamaSM/chibi) [![Stars](https://img.shields.io/github/stars/akiyamaSM/chibi.svg?style=social)](https://github.com/akiyamaSM/chibi/stargazers) - A mini PHP framework. by [@akiyamaSM](https://github.com/akiyamaSM) -- [LaravelInstaller](https://github.com/rashidlaasri/LaravelInstaller) [![Stars](https://img.shields.io/github/stars/rashidlaasri/LaravelInstaller.svg?style=social)](https://github.com/rashidlaasri/LaravelInstaller/stargazers) - A web installer for Laravel. by [@rashidlaasri](https://github.com/rashidlaasri) -- [larapoll](https://github.com/akiyamaSM/larapoll) [![Stars](https://img.shields.io/github/stars/akiyamaSM/larapoll.svg?style=social)](https://github.com/akiyamaSM/larapoll/stargazers) - A Laravel package to manage your polls. by [@akiyamaSM](https://github.com/akiyamaSM) -- [Laravel Starter](https://github.com/simoebenhida/laravel-starter) [![Stars](https://img.shields.io/github/stars/simoebenhida/laravel-starter.svg?style=social)](https://github.com/simoebenhida/laravel-starter/stargazers) - A laravel start that has all the stuff that i need when creating a fresh laravel app. By [@simoebenhida](https://github.com/simoebenhida) -- [Laravel Log Reader](https://github.com/ci-on/laravel-log-reader) [![Stars](https://img.shields.io/github/stars/ci-on/laravel-log-reader.svg?style=social)](https://github.com/ci-on/laravel-log-reader/stargazers) - An UI for laravel logs. By [@simoebenhida](https://github.com/simoebenhida) -- [Xstate](https://github.com/mouadziani/xstate) [![Stars](https://img.shields.io/github/stars/mouadziani/xstate.svg?style=social)](https://github.com/mouadziani/xstate/stargazers) - A [state machine](https://statecharts.dev/what-is-a-state-machine.html) library to play with any complex behavior of your PHP objects (inspired from [xstate.js](https://github.com/statelyai/xstate)). by [@mouadziani](https://github.com/mouadziani) -- [Laravel-merchant](https://github.com/mouadziani/laravel-mercanet) [![Stars](https://img.shields.io/github/stars/mouadziani/laravel-mercanet.svg?style=social)](https://github.com/mouadziani/laravel-mercanet/stargazers) - A Laravel package for integrating the [BnpParibas Mercanet](https://mabanquepro.bnpparibas/fr/notre-offre-pro/comptes-cartes-et-services/solutions-d-encaissement/encaissement-internet-et-mobile/offre-e-commerce-mercanet) payment gateway. by [@mouadziani](https://github.com/mouadziani) -- [Larabye](https://github.com/mouadziani/Larabye) [![Stars](https://img.shields.io/github/stars/mouadziani/Larabye.svg?style=social)](https://github.com/mouadziani/Larabye/stargazers) - A mini PHP starter / framework. by [@mouadziani](https://github.com/mouadziani) -- [laravel-model-trackable](https://github.com/MouadZIANI/laravel-model-trackable) [![Stars](https://img.shields.io/github/stars/MouadZIANI/laravel-model-trackable.svg?style=social)](https://github.com/MouadZIANI/laravel-model-trackable/stargazers) - A laravel package that allows you to track and log nested changes applied on your models. by [@mouadziani](https://github.com/mouadziani) -- [laravel-query-inspector](https://github.com/MouadZIANI/laravel-query-inspector) [![Stars](https://img.shields.io/github/stars/MouadZIANI/laravel-query-inspector.svg?style=social)](https://github.com/MouadZIANI/laravel-query-inspector/stargazers) - The missing laravel helper that allows you to inspect your eloquent queries with it's bind parameters. by [@mouadziani](https://github.com/mouadziani) -- [SlackBatch](https://github.com/mehdibo/SlackBatch) [![Stars](https://img.shields.io/github/stars/mehdibo/SlackBatch.svg?style=social)](https://github.com/mehdibo/SlackBatch/stargazers) - A CLI tool made with PHP to send Slack invitations -- [Codeigniter-recaptcha](https://github.com/mehdibo/Codeigniter-recaptcha) [![Stars](https://img.shields.io/github/stars/mehdibo/Codeigniter-recaptcha.svg?style=social)](https://github.com/mehdibo/Codeigniter-recaptcha/stargazers) - A CodeIgniter library to use Google's recaptcha -- [Codeigniter-sslhook](https://github.com/mehdibo/Codeigniter-SSLHook) [![Stars](https://img.shields.io/github/stars/mehdibo/Codeigniter-SSLHook.svg?style=social)](https://github.com/mehdibo/Codeigniter-SSLHook/stargazers) - A tool to set appropriate headers/redirection for SSL websites -- [PHPForms](https://github.com/mehdibo/PHPForms) [![Stars](https://img.shields.io/github/stars/mehdibo/PHPForms.svg?style=social)](https://github.com/mehdibo/PHPForms/stargazers) - A set of of tools to help you create forms and export data as fast as possible -- [Codeigniter-blockchain](https://github.com/mehdibo/Codeigniter-blockchain) [![Stars](https://img.shields.io/github/stars/mehdibo/Codeigniter-blockchain.svg?style=social)](https://github.com/mehdibo/Codeigniter-blockchain/stargazers) - A Codeigniter library to use the Blockchain Wallet AP -- [Bulksms-notifier](https://github.com/mehdibo/bulksms-notifier) [![Stars](https://img.shields.io/github/stars/mehdibo/bulksms-notifier.svg?style=social)](https://github.com/mehdibo/bulksms-notifier/stargazers) - A Symfony Notifier bridge for bulksms.ma -- [LbtcApi](https://github.com/marvelbark2/lbtcapi) [![Stars](https://img.shields.io/github/stars/marvelbark2/lbtcapi.svg?style=social)](https://github.com/marvelbark2/lbtcapi/stargazers) - A Laravel Package for localbitcoins Api -- [Kickstart](https://github.com/Stormix/kickstart) [![Stars](https://img.shields.io/github/stars/Stormix/kickstart.svg?style=social)](https://github.com/Stormix/kickstart/stargazers) - A very opinionated Laravel SPA boilerplate using Laravel 7.x / Typescript / Vue / TailwindCSS + Pest & Cypress for testing by [@Stormix](https://github.com/Stormix) -- [php-eyed3](https://github.com/Stormix/php-eyed3) [![Stars](https://img.shields.io/github/stars/Stormix/php-eyed3.svg?style=social)](https://github.com/Stormix/php-eyed3/stargazers) - A PHP wrapper for reading and updating ID3 meta data of (e.g.) MP3 files using eyeD3. By [@Stormix](https://github.com/Stormix) -- [laravel-intellisense](https://marketplace.visualstudio.com/items?itemName=mohamedbenhida.laravel-intellisense) - Visual Studio Code extension for Laravel Framework. By [@simoebenhida](https://github.com/simoebenhida) -- [vinala](https://github.com/vinala/vinala) [![Stars](https://img.shields.io/github/stars/vinala/vinala.svg?style=social)](https://github.com/vinala/vinala/stargazers) - An elegant and swift mini PHP Framework For Webmasters. by [@youssefhad](https://github.com/youssefhad) -- [Admin User Chatting](https://github.com/hbakouane/admin-user-chatting) [![Stars](https://img.shields.io/github/stars/hbakouane/admin-user-chatting.svg?style=social)](https://github.com/hbakouane/admin-user-chatting/stargazers) - A Live chat between users and admins made with Livewire. -- [Laravel, Vue & Admin LTE Boilerplate](https://github.com/hbakouane/adminlte-laravel-vue) [![Stars](https://img.shields.io/github/stars/hbakouane/adminlte-laravel-vue.svg?style=social)](https://github.com/hbakouane/adminlte-laravel-vue/stargazers) - Laravel, Vue and Admin LTE integrated in one project. -- [PHPFlasher](https://github.com/php-flasher/php-flasher) [![Stars](https://img.shields.io/github/stars/php-flasher/php-flasher.svg?style=social)](https://github.com/php-flasher/php-flasher/stargazers) - A powerful and flexible flash notification system for PHP - With Symfony and Laravel implementations. by [@yoeunes](https://github.com/yoeunes) -- [MyStockMaster](https://github.com/Zakarialabib/myStockMaster) [![Stars](https://img.shields.io/github/stars/Zakarialabib/myStockMaster.svg?style=social)](https://github.com/Zakarialabib/myStockMaster/stargazers) - Laravel-based inventory management system that offers an easy and straightforward way to keep track of inventory, sales, purchases, and more. It features a user-friendly dashboard, intuitive reports, made by [@zakarialabib](https://github.com/zakarialabib) -- [ux-datatable](https://github.com/Aziz403/ux-datatable) [![Stars](https://img.shields.io/github/stars/Aziz403/ux-datatable.svg?style=social)](https://github.com/Aziz403/ux-datatable/stargazers) A Datatable.net integration for Symfony. by [@Aziz403](https://github.com/Aziz403) +- [chibi](https://github.com/akiyamaSM/chibi) [![Stars](https://img.shields.io/github/stars/akiyamaSM/chibi.svg?style=social)](https://github.com/akiyamaSM/chibi/stargazers) - A mini PHP framework. by [@akiyamaSM](https://github.com/akiyamaSM) +- [LaravelInstaller](https://github.com/rashidlaasri/LaravelInstaller) [![Stars](https://img.shields.io/github/stars/rashidlaasri/LaravelInstaller.svg?style=social)](https://github.com/rashidlaasri/LaravelInstaller/stargazers) - A web installer for Laravel. by [@rashidlaasri](https://github.com/rashidlaasri) +- [larapoll](https://github.com/akiyamaSM/larapoll) [![Stars](https://img.shields.io/github/stars/akiyamaSM/larapoll.svg?style=social)](https://github.com/akiyamaSM/larapoll/stargazers) - A Laravel package to manage your polls. by [@akiyamaSM](https://github.com/akiyamaSM) +- [Laravel Starter](https://github.com/simoebenhida/laravel-starter) [![Stars](https://img.shields.io/github/stars/simoebenhida/laravel-starter.svg?style=social)](https://github.com/simoebenhida/laravel-starter/stargazers) - A laravel start that has all the stuff that i need when creating a fresh laravel app. By [@simoebenhida](https://github.com/simoebenhida) +- [Laravel Log Reader](https://github.com/ci-on/laravel-log-reader) [![Stars](https://img.shields.io/github/stars/ci-on/laravel-log-reader.svg?style=social)](https://github.com/ci-on/laravel-log-reader/stargazers) - An UI for laravel logs. By [@simoebenhida](https://github.com/simoebenhida) +- [Xstate](https://github.com/mouadziani/xstate) [![Stars](https://img.shields.io/github/stars/mouadziani/xstate.svg?style=social)](https://github.com/mouadziani/xstate/stargazers) - A [state machine](https://statecharts.dev/what-is-a-state-machine.html) library to play with any complex behavior of your PHP objects (inspired from [xstate.js](https://github.com/statelyai/xstate)). by [@mouadziani](https://github.com/mouadziani) +- [Laravel-merchant](https://github.com/mouadziani/laravel-mercanet) [![Stars](https://img.shields.io/github/stars/mouadziani/laravel-mercanet.svg?style=social)](https://github.com/mouadziani/laravel-mercanet/stargazers) - A Laravel package for integrating the [BnpParibas Mercanet](https://mabanquepro.bnpparibas/fr/notre-offre-pro/comptes-cartes-et-services/solutions-d-encaissement/encaissement-internet-et-mobile/offre-e-commerce-mercanet) payment gateway. by [@mouadziani](https://github.com/mouadziani) +- [Larabye](https://github.com/mouadziani/Larabye) [![Stars](https://img.shields.io/github/stars/mouadziani/Larabye.svg?style=social)](https://github.com/mouadziani/Larabye/stargazers) - A mini PHP starter / framework. by [@mouadziani](https://github.com/mouadziani) +- [laravel-model-trackable](https://github.com/MouadZIANI/laravel-model-trackable) [![Stars](https://img.shields.io/github/stars/MouadZIANI/laravel-model-trackable.svg?style=social)](https://github.com/MouadZIANI/laravel-model-trackable/stargazers) - A laravel package that allows you to track and log nested changes applied on your models. by [@mouadziani](https://github.com/mouadziani) +- [laravel-query-inspector](https://github.com/MouadZIANI/laravel-query-inspector) [![Stars](https://img.shields.io/github/stars/MouadZIANI/laravel-query-inspector.svg?style=social)](https://github.com/MouadZIANI/laravel-query-inspector/stargazers) - The missing laravel helper that allows you to inspect your eloquent queries with it's bind parameters. by [@mouadziani](https://github.com/mouadziani) +- [SlackBatch](https://github.com/mehdibo/SlackBatch) [![Stars](https://img.shields.io/github/stars/mehdibo/SlackBatch.svg?style=social)](https://github.com/mehdibo/SlackBatch/stargazers) - A CLI tool made with PHP to send Slack invitations +- [Codeigniter-recaptcha](https://github.com/mehdibo/Codeigniter-recaptcha) [![Stars](https://img.shields.io/github/stars/mehdibo/Codeigniter-recaptcha.svg?style=social)](https://github.com/mehdibo/Codeigniter-recaptcha/stargazers) - A CodeIgniter library to use Google's recaptcha +- [Codeigniter-sslhook](https://github.com/mehdibo/Codeigniter-SSLHook) [![Stars](https://img.shields.io/github/stars/mehdibo/Codeigniter-SSLHook.svg?style=social)](https://github.com/mehdibo/Codeigniter-SSLHook/stargazers) - A tool to set appropriate headers/redirection for SSL websites +- [PHPForms](https://github.com/mehdibo/PHPForms) [![Stars](https://img.shields.io/github/stars/mehdibo/PHPForms.svg?style=social)](https://github.com/mehdibo/PHPForms/stargazers) - A set of of tools to help you create forms and export data as fast as possible +- [Codeigniter-blockchain](https://github.com/mehdibo/Codeigniter-blockchain) [![Stars](https://img.shields.io/github/stars/mehdibo/Codeigniter-blockchain.svg?style=social)](https://github.com/mehdibo/Codeigniter-blockchain/stargazers) - A Codeigniter library to use the Blockchain Wallet AP +- [Bulksms-notifier](https://github.com/mehdibo/bulksms-notifier) [![Stars](https://img.shields.io/github/stars/mehdibo/bulksms-notifier.svg?style=social)](https://github.com/mehdibo/bulksms-notifier/stargazers) - A Symfony Notifier bridge for bulksms.ma +- [LbtcApi](https://github.com/marvelbark2/lbtcapi) [![Stars](https://img.shields.io/github/stars/marvelbark2/lbtcapi.svg?style=social)](https://github.com/marvelbark2/lbtcapi/stargazers) - A Laravel Package for localbitcoins Api +- [Kickstart](https://github.com/Stormix/kickstart) [![Stars](https://img.shields.io/github/stars/Stormix/kickstart.svg?style=social)](https://github.com/Stormix/kickstart/stargazers) - A very opinionated Laravel SPA boilerplate using Laravel 7.x / Typescript / Vue / TailwindCSS + Pest & Cypress for testing by [@Stormix](https://github.com/Stormix) +- [php-eyed3](https://github.com/Stormix/php-eyed3) [![Stars](https://img.shields.io/github/stars/Stormix/php-eyed3.svg?style=social)](https://github.com/Stormix/php-eyed3/stargazers) - A PHP wrapper for reading and updating ID3 meta data of (e.g.) MP3 files using eyeD3. By [@Stormix](https://github.com/Stormix) +- [laravel-intellisense](https://marketplace.visualstudio.com/items?itemName=mohamedbenhida.laravel-intellisense) - Visual Studio Code extension for Laravel Framework. By [@simoebenhida](https://github.com/simoebenhida) +- [vinala](https://github.com/vinala/vinala) [![Stars](https://img.shields.io/github/stars/vinala/vinala.svg?style=social)](https://github.com/vinala/vinala/stargazers) - An elegant and swift mini PHP Framework For Webmasters. by [@youssefhad](https://github.com/youssefhad) +- [Admin User Chatting](https://github.com/hbakouane/admin-user-chatting) [![Stars](https://img.shields.io/github/stars/hbakouane/admin-user-chatting.svg?style=social)](https://github.com/hbakouane/admin-user-chatting/stargazers) - A Live chat between users and admins made with Livewire. +- [Laravel, Vue & Admin LTE Boilerplate](https://github.com/hbakouane/adminlte-laravel-vue) [![Stars](https://img.shields.io/github/stars/hbakouane/adminlte-laravel-vue.svg?style=social)](https://github.com/hbakouane/adminlte-laravel-vue/stargazers) - Laravel, Vue and Admin LTE integrated in one project. +- [PHPFlasher](https://github.com/php-flasher/php-flasher) [![Stars](https://img.shields.io/github/stars/php-flasher/php-flasher.svg?style=social)](https://github.com/php-flasher/php-flasher/stargazers) - A powerful and flexible flash notification system for PHP + With Symfony and Laravel implementations. by [@yoeunes](https://github.com/yoeunes) +- [MyStockMaster](https://github.com/Zakarialabib/myStockMaster) [![Stars](https://img.shields.io/github/stars/Zakarialabib/myStockMaster.svg?style=social)](https://github.com/Zakarialabib/myStockMaster/stargazers) - Laravel-based inventory management system that offers an easy and straightforward way to keep track of inventory, sales, purchases, and more. It features a user-friendly dashboard, intuitive reports, made by [@zakarialabib](https://github.com/zakarialabib) +- [ux-datatable](https://github.com/Aziz403/ux-datatable) [![Stars](https://img.shields.io/github/stars/Aziz403/ux-datatable.svg?style=social)](https://github.com/Aziz403/ux-datatable/stargazers) A Datatable.net integration for Symfony. by [@Aziz403](https://github.com/Aziz403) #### Python -- [sourcerer-io-scrapper](https://github.com/Stormix/sourcerer-io-scrapper) [![Stars](https://img.shields.io/github/stars/Stormix/sourcerer-io-scrapper.svg?style=social)](https://github.com/Stormix/sourcerer-io-scrapper/stargazers) - Because they don't have an API. by [@Stormix](https://github.com/Stormix) -- [ping360_sonar](https://github.com/CentraleNantesRobotics/ping360_sonar) [![Stars](https://img.shields.io/github/stars/CentraleNantesRobotics/ping360_sonar.svg?style=social)](https://github.com/CentraleNantesRobotics/ping360_sonar/stargazers) - ROS package for Blue Robotics Ping360 Sonar by [@Stormix](https://github.com/Stormix) -- [Responder](https://github.com/taoufik07/responder) [![Stars](https://img.shields.io/github/stars/taoufik07/responder.svg?style=social)](https://github.com/taoufik07/responder/stargazers) - A familiar HTTP Service Framework for Python by [@taoufik07](https://github.com/taoufik07) -- [Dr_scaffold](https://github.com/Abdenasser/dr_scaffold) [![Stars](https://img.shields.io/github/stars/Abdenasser/dr_scaffold.svg?style=social)](https://github.com/Abdenasser/dr_scaffold/stargazers) - scaffold django rest apis like a champion by [@Abdenasser](https://github.com/Abdenasser) -- [AuthX](https://github.com/yezz123/authx) [![Stars](https://img.shields.io/github/stars/yezz123/authx.svg?style=social)](https://github.com/yezz123/authx/stargazers) - A customizable Authentications and Oauth2 management for FastAPI by [@yezz123](https://github.com/yezz123) -- [ORMDantic](https://github.com/yezz123/ormdantic) [![Stars](https://img.shields.io/github/stars/yezz123/ormdantic.svg?style=social)](https://github.com/yezz123/ormdantic/stargazers) - Asynchronous ORM that uses pydantic models to represent database tables by [@yezz123](https://github.com/yezz123) -- [Fastapi-lazy](https://github.com/yezz123/fastapi-lazy) [![Stars](https://img.shields.io/github/stars/yezz123/fastapi-lazy.svg?style=social)](https://github.com/yezz123/fastapi-lazy/stargazers) - A package with some utilities that you use in various projects made in FastAPI by [@yezz123](https://github.com/yezz123) -- [DogeAPI](https://github.com/yezz123/DogeAPI) [![Stars](https://img.shields.io/github/stars/yezz123/DogeAPI.svg?style=social)](https://github.com/yezz123/DogeAPI/stargazers) - An API with high performance built with FastAPI & SQLAlchemy, help to improve connection with Back-end by [@yezz123](https://github.com/yezz123) -- [My-Business](https://github.com/GDGSNF/My-Business) [![Stars](https://img.shields.io/github/stars/GDGSNF/My-Business.svg?style=social)](https://github.com/GDGSNF/My-Business/stargazers) - A business management tool featuring accounts, invoices, partners, projects, and server by [@yezz123](https://github.com/yezz123) -- [Athena](https://github.com/yezz123/Athena) [![Stars](https://img.shields.io/github/stars/yezz123/Athena.svg?style=social)](https://github.com/yezz123/Athena/stargazers) - Test your Security Skills, and Clean Code Development as a Pythonist, Hacker & Warrior by [@yezz123](https://github.com/yezz123) -- [FRDP](https://github.com/BnademOverflow/FRDP) [![Stars](https://img.shields.io/github/stars/BnademOverflow/FRDP.svg?style=social)](https://github.com/BnademOverflow/FRDP/stargazers) - Boilerplate code for quick docker implementation of REST API with JWT Authentication using FastAPI, PostgreSQL and PgAdmin by [@yezz123](https://github.com/yezz123) -- [Apollo](https://github.com/yezz123/Apollo) [![Stars](https://img.shields.io/github/stars/yezz123/Apollo.svg?style=social)](https://github.com/yezz123/Apollo/stargazers) - A basic Application with multiple functionalities built with FastAPI aim to help Users Buy New Items Provided using PaypalAPI by [@yezz123](https://github.com/yezz123) -- [Cyberowl](https://github.com/karimhabush/cyberowl) [![Stars](https://img.shields.io/github/stars/karimhabush/cyberowl.svg?style=social)](https://github.com/karimhabush/cyberowl/stargazers) - A daily updated summary of security incidents being reported from different sources by [@karimhabush](https://github.com/karimhabush) +- [sourcerer-io-scrapper](https://github.com/Stormix/sourcerer-io-scrapper) [![Stars](https://img.shields.io/github/stars/Stormix/sourcerer-io-scrapper.svg?style=social)](https://github.com/Stormix/sourcerer-io-scrapper/stargazers) - Because they don't have an API. by [@Stormix](https://github.com/Stormix) +- [ping360_sonar](https://github.com/CentraleNantesRobotics/ping360_sonar) [![Stars](https://img.shields.io/github/stars/CentraleNantesRobotics/ping360_sonar.svg?style=social)](https://github.com/CentraleNantesRobotics/ping360_sonar/stargazers) - ROS package for Blue Robotics Ping360 Sonar by [@Stormix](https://github.com/Stormix) +- [Responder](https://github.com/taoufik07/responder) [![Stars](https://img.shields.io/github/stars/taoufik07/responder.svg?style=social)](https://github.com/taoufik07/responder/stargazers) - A familiar HTTP Service Framework for Python by [@taoufik07](https://github.com/taoufik07) +- [Dr_scaffold](https://github.com/Abdenasser/dr_scaffold) [![Stars](https://img.shields.io/github/stars/Abdenasser/dr_scaffold.svg?style=social)](https://github.com/Abdenasser/dr_scaffold/stargazers) - scaffold django rest apis like a champion by [@Abdenasser](https://github.com/Abdenasser) +- [AuthX](https://github.com/yezz123/authx) [![Stars](https://img.shields.io/github/stars/yezz123/authx.svg?style=social)](https://github.com/yezz123/authx/stargazers) - A customizable Authentications and Oauth2 management for FastAPI by [@yezz123](https://github.com/yezz123) +- [ORMDantic](https://github.com/yezz123/ormdantic) [![Stars](https://img.shields.io/github/stars/yezz123/ormdantic.svg?style=social)](https://github.com/yezz123/ormdantic/stargazers) - Asynchronous ORM that uses pydantic models to represent database tables by [@yezz123](https://github.com/yezz123) +- [Fastapi-lazy](https://github.com/yezz123/fastapi-lazy) [![Stars](https://img.shields.io/github/stars/yezz123/fastapi-lazy.svg?style=social)](https://github.com/yezz123/fastapi-lazy/stargazers) - A package with some utilities that you use in various projects made in FastAPI by [@yezz123](https://github.com/yezz123) +- [DogeAPI](https://github.com/yezz123/DogeAPI) [![Stars](https://img.shields.io/github/stars/yezz123/DogeAPI.svg?style=social)](https://github.com/yezz123/DogeAPI/stargazers) - An API with high performance built with FastAPI & SQLAlchemy, help to improve connection with Back-end by [@yezz123](https://github.com/yezz123) +- [My-Business](https://github.com/GDGSNF/My-Business) [![Stars](https://img.shields.io/github/stars/GDGSNF/My-Business.svg?style=social)](https://github.com/GDGSNF/My-Business/stargazers) - A business management tool featuring accounts, invoices, partners, projects, and server by [@yezz123](https://github.com/yezz123) +- [Athena](https://github.com/yezz123/Athena) [![Stars](https://img.shields.io/github/stars/yezz123/Athena.svg?style=social)](https://github.com/yezz123/Athena/stargazers) - Test your Security Skills, and Clean Code Development as a Pythonist, Hacker & Warrior by [@yezz123](https://github.com/yezz123) +- [FRDP](https://github.com/BnademOverflow/FRDP) [![Stars](https://img.shields.io/github/stars/BnademOverflow/FRDP.svg?style=social)](https://github.com/BnademOverflow/FRDP/stargazers) - Boilerplate code for quick docker implementation of REST API with JWT Authentication using FastAPI, PostgreSQL and PgAdmin by [@yezz123](https://github.com/yezz123) +- [Apollo](https://github.com/yezz123/Apollo) [![Stars](https://img.shields.io/github/stars/yezz123/Apollo.svg?style=social)](https://github.com/yezz123/Apollo/stargazers) - A basic Application with multiple functionalities built with FastAPI aim to help Users Buy New Items Provided using PaypalAPI by [@yezz123](https://github.com/yezz123) +- [Cyberowl](https://github.com/karimhabush/cyberowl) [![Stars](https://img.shields.io/github/stars/karimhabush/cyberowl.svg?style=social)](https://github.com/karimhabush/cyberowl/stargazers) - A daily updated summary of security incidents being reported from different sources by [@karimhabush](https://github.com/karimhabush) #### Go -- [recaptcha-go](https://github.com/ezzarghili/recaptcha-go) [![Stars](https://img.shields.io/github/stars/ezzarghili/recaptcha-go.svg?style=social)](https://github.com/ezzarghili/recaptcha-go/stargazers) - Validate Google reCAPTCHA v2 & v3 form submission package in golang. by [@ezzarghili](https://github.com/ezzarghili) -- [goph](https://github.com/melbahja/goph) [![Stars](https://img.shields.io/github/stars/melbahja/goph.svg?style=social)](https://github.com/melbahja/goph/stargazers) - Native SSH client to execute commands, upload/download files. by [@melbahja](https://git.io/mohamed) -- [ctl](https://github.com/melbahja/ctl) [![Stars](https://img.shields.io/github/stars/melbahja/ctl.svg?style=social)](https://github.com/melbahja/ctl/stargazers) - A command line tool to run all systemd commands in one command `ctl`. by [@melbahja](https://git.io/mohamed) -- [comet](https://github.com/chermehdi/comet) [![Stars](https://img.shields.io/github/stars/chermehdi/comet.svg?style=social)](https://github.com/chermehdi/comet/stargazers) - A demo interpreted programming language. -- [Anusic-API](https://github.com/EOussama/anusic-api) [![Stars](https://img.shields.io/github/stars/EOussama/anusic-api.svg?style=social)](https://github.com/EOussama/anusic-api/stargazers) - Anime themes API. by [@EOussama](https://github.com/Eoussama) +- [recaptcha-go](https://github.com/ezzarghili/recaptcha-go) [![Stars](https://img.shields.io/github/stars/ezzarghili/recaptcha-go.svg?style=social)](https://github.com/ezzarghili/recaptcha-go/stargazers) - Validate Google reCAPTCHA v2 & v3 form submission package in golang. by [@ezzarghili](https://github.com/ezzarghili) +- [goph](https://github.com/melbahja/goph) [![Stars](https://img.shields.io/github/stars/melbahja/goph.svg?style=social)](https://github.com/melbahja/goph/stargazers) - Native SSH client to execute commands, upload/download files. by [@melbahja](https://git.io/mohamed) +- [ctl](https://github.com/melbahja/ctl) [![Stars](https://img.shields.io/github/stars/melbahja/ctl.svg?style=social)](https://github.com/melbahja/ctl/stargazers) - A command line tool to run all systemd commands in one command `ctl`. by [@melbahja](https://git.io/mohamed) +- [comet](https://github.com/chermehdi/comet) [![Stars](https://img.shields.io/github/stars/chermehdi/comet.svg?style=social)](https://github.com/chermehdi/comet/stargazers) - A demo interpreted programming language. +- [Anusic-API](https://github.com/EOussama/anusic-api) [![Stars](https://img.shields.io/github/stars/EOussama/anusic-api.svg?style=social)](https://github.com/EOussama/anusic-api/stargazers) - Anime themes API. by [@EOussama](https://github.com/Eoussama) #### CSS -- [Unnamed CSS](https://github.com/smakosh/unnamed-css-framework) [![Stars](https://img.shields.io/github/stars/smakosh/unnamed-css-framework.svg?style=social)](https://github.com/smakosh/unnamed-css-framework/stargazers) - Micro colorful CSS framework by [@smakosh](https://github.com/smakosh) -- [Tailwindcss Starter](https://github.com/simoebenhida/tailwindcss-starter) [![Stars](https://img.shields.io/github/stars/simoebenhida/tailwindcss-starter.svg?style=social)](https://github.com/simoebenhida/tailwindcss-starter/stargazers) - A tailwindcss boilerplate. By [@simoebenhida](https://github.com/simoebenhida) -- [Tailwindcss Twitter Page](https://github.com/simoebenhida/tailwindcss-twitter-page) [![Stars](https://img.shields.io/github/stars/simoebenhida/tailwindcss-twitter-page.svg?style=social)](https://github.com/simoebenhida/tailwindcss-twitter-page/stargazers) - A twitter profile made with tailwindcss. By [@simoebenhida](https://github.com/simoebenhida) -- [Tailwindcss Paypal Page](https://github.com/simoebenhida/tailwindcss-paypal-page) [![Stars](https://img.shields.io/github/stars/simoebenhida/tailwindcss-paypal-page.svg?style=social)](https://github.com/simoebenhida/tailwindcss-paypal-page/stargazers) - A paypal page made with tailwindcss. By [@simoebenhida](https://github.com/simoebenhida) +- [Unnamed CSS](https://github.com/smakosh/unnamed-css-framework) [![Stars](https://img.shields.io/github/stars/smakosh/unnamed-css-framework.svg?style=social)](https://github.com/smakosh/unnamed-css-framework/stargazers) - Micro colorful CSS framework by [@smakosh](https://github.com/smakosh) +- [Tailwindcss Starter](https://github.com/simoebenhida/tailwindcss-starter) [![Stars](https://img.shields.io/github/stars/simoebenhida/tailwindcss-starter.svg?style=social)](https://github.com/simoebenhida/tailwindcss-starter/stargazers) - A tailwindcss boilerplate. By [@simoebenhida](https://github.com/simoebenhida) +- [Tailwindcss Twitter Page](https://github.com/simoebenhida/tailwindcss-twitter-page) [![Stars](https://img.shields.io/github/stars/simoebenhida/tailwindcss-twitter-page.svg?style=social)](https://github.com/simoebenhida/tailwindcss-twitter-page/stargazers) - A twitter profile made with tailwindcss. By [@simoebenhida](https://github.com/simoebenhida) +- [Tailwindcss Paypal Page](https://github.com/simoebenhida/tailwindcss-paypal-page) [![Stars](https://img.shields.io/github/stars/simoebenhida/tailwindcss-paypal-page.svg?style=social)](https://github.com/simoebenhida/tailwindcss-paypal-page/stargazers) - A paypal page made with tailwindcss. By [@simoebenhida](https://github.com/simoebenhida) #### Flutter -- [Corona-Shield](https://github.com/aminejafur/corona-shield) [![Stars](https://img.shields.io/github/stars/aminejafur/corona-shield.svg?style=social)](https://github.com/aminejafur/corona-shield/stargazers) - An open sourced Corona Tracking Mobile Application with Back-end (something like [wiqaytna](https://www.wiqaytna.ma)) made using Flutter, PHP and JS. by [@aminejafur](https://github.com/aminejafur) +- [Corona-Shield](https://github.com/aminejafur/corona-shield) [![Stars](https://img.shields.io/github/stars/aminejafur/corona-shield.svg?style=social)](https://github.com/aminejafur/corona-shield/stargazers) - An open sourced Corona Tracking Mobile Application with Back-end (something like [wiqaytna](https://www.wiqaytna.ma)) made using Flutter, PHP and JS. by [@aminejafur](https://github.com/aminejafur) - [Flutter Rocket](https://pub.dev/packages/flutter_rocket) [![Stars](https://img.shields.io/github/stars/JahezAcademy/flutter_rocket.svg?style=social)](https://github.com/JahezAcademy/flutter_rocket/stargazers) Powerful package for state management & request. by [M97chahboun](https://github.com/m97chahboun) - [Github Snitch](https://pub.dev/packages/github_snitch) [![Stars](https://img.shields.io/github/stars/m97chahboun/github_snitch.svg?style=social)](https://github.com/M97Chahboun/github_snitch/stargazers) package that helps you report bugs and issues on GitHub automatically. It can also be used to submit comments on existing issues. by [M97chahboun](https://github.com/m97chahboun) - [Rocket Timer](https://pub.dev/packages/rocket_timer) [![Stars](https://img.shields.io/github/stars/m97chahboun/rocket_timer.svg?style=social)](https://github.com/m97chahboun/rocket_timer/stargazers) Timer package. by [M97chahboun](https://github.com/m97chahboun) #### AI -- [Tracking-with-darkflow](https://github.com/bendidi/Tracking-with-darkflow) [![Stars](https://img.shields.io/github/stars/bendidi/Tracking-with-darkflow.svg?style=social)](https://github.com/bendidi/Tracking-with-darkflow/stargazers) - Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow. by [@bendidi](https://github.com/bendidi) -- [PoseNet-chrome-Dinosaur](https://github.com/aminejafur/PoseNet-chromeDinosaur) [![Stars](https://img.shields.io/github/stars/aminejafur/PoseNet-chromeDinosaur.svg?style=social)](https://github.com/aminejafur/PoseNet-chromeDinosaur/stargazers) - Play the famous Chrom Dinosaur game using your body! by [@aminejafur](https://github.com/aminejafur) -- [CNN age gender](https://github.com/ChibaniMohamed/cnn_age_gender) [![Stars](https://img.shields.io/github/stars/ChibaniMohamed/cnn_age_gender.svg?style=social)](https://github.com/ChibaniMohamed/cnn_age_gender/stargazers) - Age and Gender prediction using Keras by [@XN3UR0N](https://github.com/ChibaniMohamed) -- [Polaris](https://github.com/ChibaniMohamed/Polaris) [![Stars](https://img.shields.io/github/stars/ChibaniMohamed/Polaris.svg?style=social)](https://github.com/ChibaniMohamed/Polaris/stargazers) - Face recognition system with Futuristic UI design by [@XN3UR0N](https://github.com/ChibaniMohamed) +- [Tracking-with-darkflow](https://github.com/bendidi/Tracking-with-darkflow) [![Stars](https://img.shields.io/github/stars/bendidi/Tracking-with-darkflow.svg?style=social)](https://github.com/bendidi/Tracking-with-darkflow/stargazers) - Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow. by [@bendidi](https://github.com/bendidi) +- [PoseNet-chrome-Dinosaur](https://github.com/aminejafur/PoseNet-chromeDinosaur) [![Stars](https://img.shields.io/github/stars/aminejafur/PoseNet-chromeDinosaur.svg?style=social)](https://github.com/aminejafur/PoseNet-chromeDinosaur/stargazers) - Play the famous Chrom Dinosaur game using your body! by [@aminejafur](https://github.com/aminejafur) +- [CNN age gender](https://github.com/ChibaniMohamed/cnn_age_gender) [![Stars](https://img.shields.io/github/stars/ChibaniMohamed/cnn_age_gender.svg?style=social)](https://github.com/ChibaniMohamed/cnn_age_gender/stargazers) - Age and Gender prediction using Keras by [@XN3UR0N](https://github.com/ChibaniMohamed) +- [Polaris](https://github.com/ChibaniMohamed/Polaris) [![Stars](https://img.shields.io/github/stars/ChibaniMohamed/Polaris.svg?style=social)](https://github.com/ChibaniMohamed/Polaris/stargazers) - Face recognition system with Futuristic UI design by [@XN3UR0N](https://github.com/ChibaniMohamed) - [ODC-World-Cup-2022-Predictions](https://github.com/Omaraitbenhaddi/ODC-World-Cup-2022-Predictions) [![Stars](https://img.shields.io/github/stars/Omaraitbenhaddi/ODC-World-Cup-2022-Predictions.svg?style=social)](https://github.com/Omaraitbenhaddi/ODC-World-Cup-2022-Predictions/stargazers) - Prediction of the winner of an international matches Prediction results are "Win / Lose / Draw" and Apply the model to predict the result of FIFA world cup 2022 by [@Omaraitbenhaddi](https://github.com/Omaraitbenhaddi) - [Moroccans in AI Research](https://mair.ma/) - MAIR A Platform for Collaboration and Mentorship among Moroccan AI Researchers BY [@mohamedELBAHA](https://github.com/mohamedELBAHA) #### Others -- [DevC Casa Hacktoberfest](https://github.com/geeksblabla/devc-casa-hacktoberfest) [![Stars](https://img.shields.io/github/stars/geeksblabla/devc-casa-hacktoberfest.svg?style=social)](https://github.com/geeksblabla/devc-casa-hacktoberfest/stargazers) - A repository to learn about open source code contributions flow. -- [GeeksBlabla](https://github.com/geeksblabla/geeksblabla.com) [![Stars](https://img.shields.io/github/stars/geeksblabla/geeksblabla.com.svg?style=social)](https://github.com/geeksblabla/geeksblabla.com/stargazers) - GeeksBlala website source code -- [GeeksBlabla](https://github.com/akiyamaSM/geeksblabla) [![Stars](https://img.shields.io/github/stars/akiyamaSM/geeksblabla.svg?style=social)](https://github.com/akiyamaSM/geeksblabla/stargazers) - GeeksBlala NuxtJS version -- [daktilo](https://github.com/kronik3r/daktilo) [![Stars](https://img.shields.io/github/stars/kronik3r/daktilo.svg?style=social)](https://github.com/kronik3r/daktilo/stargazers) - A Jekyll theme with a minimal design inspired by typewriters. by [@kronik3r](https://github.com/kronik3r) -- [saferwall](https://github.com/saferwall/saferwall) [![Stars](https://img.shields.io/github/stars/saferwall/saferwall.svg?style=social)](https://github.com/saferwall/saferwall/stargazers) - A hackable malware sandbox for the 21st Century. by [@LordNoteworthy](https://github.com/LordNoteworthy) -- [power-my-vscode](https://github.com/melbarch/power-my-vscode) [![Stars](https://img.shields.io/github/stars/melbarch/power-my-vscode.svg?style=social)](https://github.com/melbarch/power-my-vscode/stargazers) - Make your VS Code great again! by [@melbarch](https://github.com/melbarch) -- [phpslim-dev](https://github.com/mehdibo/phpslim-dev) [![Stars](https://img.shields.io/github/stars/mehdibo/phpslim-dev.svg?style=social)](https://github.com/mehdibo/phpslim-dev/stargazers) - Docker image for PHP Slim framework Development -- [coronapy-cli](https://github.com/MouadBH/coronapy-cli) [![Stars](https://img.shields.io/github/stars/MouadBH/coronapy-cli.svg?style=social)](https://github.com/MouadBH/coronapy-cli/stargazers) - A command line tool in python to fetch worldwide data about COVID-19. by [@MouadBH](https://github.com/MouadBH) -- [CSE](https://github.com/bilnash/CSE) [![Stars](https://img.shields.io/github/stars/bilnash/CSE.svg?style=social)](https://github.com/bilnash/CSE/stargazers) - R package for Casablanca Stock Exchange Data -- [libCplus](https://github.com/BnademOverflow/libCplus) [![Stars](https://img.shields.io/github/stars/BnademOverflow/libCplus.svg?style=social)](https://github.com/BnademOverflow/libCplus/stargazers) - Wonderful library with lots of useful functions, algorithms and data structures in C. by [@BnademOverflow](https://github.com/BnademOverflow) -- [vscode-big-sur-icons](https://github.com/mohouyizme/vscode-big-sur-icons) [![Stars](https://img.shields.io/github/stars/mohouyizme/vscode-big-sur-icons.svg?style=social)](https://github.com/mohouyizme/vscode-big-sur-icons/stargazers) - Icons for VSCode based on macOS Big Sur design. -- [HIGH TO LOW](https://github.com/zakarialaoui10/HIGH-TO-LOW) [![Stars](https://img.shields.io/github/stars/zakarialaoui10/HIGH-TO-LOW.svg?style=social)](https://github.com/zakarialaoui10/HIGH-TO-LOW/stargazers) - Codes in C and their equivalence in MIPS Assembly. by [@zakarialaoui10](https://github.com/zakarialaoui10) +- [DevC Casa Hacktoberfest](https://github.com/geeksblabla/devc-casa-hacktoberfest) [![Stars](https://img.shields.io/github/stars/geeksblabla/devc-casa-hacktoberfest.svg?style=social)](https://github.com/geeksblabla/devc-casa-hacktoberfest/stargazers) - A repository to learn about open source code contributions flow. +- [GeeksBlabla](https://github.com/geeksblabla/geeksblabla.com) [![Stars](https://img.shields.io/github/stars/geeksblabla/geeksblabla.com.svg?style=social)](https://github.com/geeksblabla/geeksblabla.com/stargazers) - GeeksBlala website source code +- [GeeksBlabla](https://github.com/akiyamaSM/geeksblabla) [![Stars](https://img.shields.io/github/stars/akiyamaSM/geeksblabla.svg?style=social)](https://github.com/akiyamaSM/geeksblabla/stargazers) - GeeksBlala NuxtJS version +- [daktilo](https://github.com/kronik3r/daktilo) [![Stars](https://img.shields.io/github/stars/kronik3r/daktilo.svg?style=social)](https://github.com/kronik3r/daktilo/stargazers) - A Jekyll theme with a minimal design inspired by typewriters. by [@kronik3r](https://github.com/kronik3r) +- [saferwall](https://github.com/saferwall/saferwall) [![Stars](https://img.shields.io/github/stars/saferwall/saferwall.svg?style=social)](https://github.com/saferwall/saferwall/stargazers) - A hackable malware sandbox for the 21st Century. by [@LordNoteworthy](https://github.com/LordNoteworthy) +- [power-my-vscode](https://github.com/melbarch/power-my-vscode) [![Stars](https://img.shields.io/github/stars/melbarch/power-my-vscode.svg?style=social)](https://github.com/melbarch/power-my-vscode/stargazers) - Make your VS Code great again! by [@melbarch](https://github.com/melbarch) +- [phpslim-dev](https://github.com/mehdibo/phpslim-dev) [![Stars](https://img.shields.io/github/stars/mehdibo/phpslim-dev.svg?style=social)](https://github.com/mehdibo/phpslim-dev/stargazers) - Docker image for PHP Slim framework Development +- [coronapy-cli](https://github.com/MouadBH/coronapy-cli) [![Stars](https://img.shields.io/github/stars/MouadBH/coronapy-cli.svg?style=social)](https://github.com/MouadBH/coronapy-cli/stargazers) - A command line tool in python to fetch worldwide data about COVID-19. by [@MouadBH](https://github.com/MouadBH) +- [CSE](https://github.com/bilnash/CSE) [![Stars](https://img.shields.io/github/stars/bilnash/CSE.svg?style=social)](https://github.com/bilnash/CSE/stargazers) - R package for Casablanca Stock Exchange Data +- [libCplus](https://github.com/BnademOverflow/libCplus) [![Stars](https://img.shields.io/github/stars/BnademOverflow/libCplus.svg?style=social)](https://github.com/BnademOverflow/libCplus/stargazers) - Wonderful library with lots of useful functions, algorithms and data structures in C. by [@BnademOverflow](https://github.com/BnademOverflow) +- [vscode-big-sur-icons](https://github.com/mohouyizme/vscode-big-sur-icons) [![Stars](https://img.shields.io/github/stars/mohouyizme/vscode-big-sur-icons.svg?style=social)](https://github.com/mohouyizme/vscode-big-sur-icons/stargazers) - Icons for VSCode based on macOS Big Sur design. +- [HIGH TO LOW](https://github.com/zakarialaoui10/HIGH-TO-LOW) [![Stars](https://img.shields.io/github/stars/zakarialaoui10/HIGH-TO-LOW.svg?style=social)](https://github.com/zakarialaoui10/HIGH-TO-LOW/stargazers) - Codes in C and their equivalence in MIPS Assembly. by [@zakarialaoui10](https://github.com/zakarialaoui10) - [Branch Timer](https://marketplace.visualstudio.com/items?itemName=vscode-branch-timer.branch-timer) [![Stars](https://img.shields.io/github/stars/m97chahboun/vscode-branch-timer.svg?style=social)](https://github.com/M97Chahboun/vscode-branch-timer/stargazers) Extension for track your work duration on every branch. by [M97chahboun](https://github.com/m97chahboun) - [PowerMonitor](https://github.com/zakarialaoui10/PowerMonitor) [![Stars](https://img.shields.io/github/stars/zakarialaoui10/PowerMonitor.svg?style=social)](https://github.com/zakarialaoui10/PowerMonitor/stargazers) A C++ library designed to measure the electrical characteristics of AC circuits, such as voltage, current, power, reactive power, and power factor, for Arduino and its alternatives. by [@zakarialaoui10](https://github.com/zakarialaoui10) - [ZikoMatrix](https://github.com/zakarialaoui10/ZikoMatrix) [![Stars](https://img.shields.io/github/stars/zakarialaoui10/ZikoMatrix.svg?style=social)](https://github.com/zakarialaoui10/Ziko%Matrix/stargazers) Create and manipule matrices of arbitrary size and data type in arduino and its alternatives. by [@zakarialaoui10](https://github.com/zakarialaoui10) +
+ +--- + +### YouTube Channels + +- [Mohamed Youssfi](https://www.youtube.com/user/mohamedYoussfi) - Java, spring, programming, ... +- [Al-Fihriya Academy](https://www.youtube.com/channel/UC9NMlidXGKVIMMkXJsWRiyA) - Programming, Python, Web, soft skills ... +- [3arbaoui Mehdi](https://www.youtube.com/channel/UC6u-1b7VOVIC8LuJpnTNhOg) - Javascript, Web, soft skills, ... +- [ZiroToHero](https://www.youtube.com/user/web0dream1/) - HTML, Web .... +- [GeeksBlaBla](https://www.youtube.com/channel/UCW2WV7NKU0WPyuv4YoNSqBA) - Dev, Soft Skills, Meetups, Conferences ... +- [ngMorocco](https://www.youtube.com/c/ngMorocco/videos) - Angular related videos +- [Mehdi Cheracher](https://www.youtube.com/user/mehdi91611/videos) - Java ... +- [MaDrasaTech](https://www.youtube.com/user/JasonMoroccan) - Networking - Network Automation Python - Windows Server ... +- [KHALID KATKOUT](https://www.youtube.com/user/khalidnobleman) - Networking - CCNA - GNS3 - IPv6 ... +- [ARS LONGA VITA BREVIS](https://www.youtube.com/channel/UCFkWVr33NMrcfYZWXOJvKsw) - Competitive Programming - Dynamic Programming - C/C++ ... +- [CNCG Casablanca](https://www.youtube.com/channel/UC6HawQwd4jthXt1orvMIscg) - Cloud, Tech, Kubernetes, Dev-Ops... +- [Mouradouchane](https://www.youtube.com/c/undefinedprogramming/videos) - Javascript, HTML, CSS... + --- ### Books diff --git a/scripts/.eslintrc.js b/scripts/.eslintrc.js deleted file mode 100644 index fa7b0ee..0000000 --- a/scripts/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - env: { - browser: true, - commonjs: true, - es2021: true, - }, - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - parser: "@typescript-eslint/parser", - parserOptions: { - ecmaVersion: "latest", - }, - plugins: ["@typescript-eslint"], - rules: {}, -}; diff --git a/scripts/.gitignore b/scripts/.gitignore deleted file mode 100644 index d61e895..0000000 --- a/scripts/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -coverage -node_modules - -**.log -.env - diff --git a/scripts/__tests__/__snapshots__/blog.spec.ts.snap b/scripts/__tests__/__snapshots__/blog.spec.ts.snap deleted file mode 100644 index ec809f4..0000000 --- a/scripts/__tests__/__snapshots__/blog.spec.ts.snap +++ /dev/null @@ -1,9 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Blog posts generation from rss feeds reporting should return the correct message 1`] = ` -" -✅ 30 blog posts has been collected from 4 RSS feeds -❌ Error message 1 -❌ Error message 2 - " -`; diff --git a/scripts/__tests__/blog.spec.ts b/scripts/__tests__/blog.spec.ts deleted file mode 100644 index 3aadc61..0000000 --- a/scripts/__tests__/blog.spec.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { - EMPTY_LIST_ERROR, - NO_ITEMS_ERROR, - RSS_URL_ERROR, -} from "../src/constants"; -import { feedPromise } from "../src/blog/feed-url-promise"; -import { generatePostsFromRssUrls } from "../src/blog/generate-posts-from-rss-urls"; -import { getErrorReporting } from "../src/blog/get-errors-reporting"; - -const BLOG_1 = { - title: "blog 1", - link: "http://blog1.me/", - items: [ - { - title: "Blog 1 Article title ", - link: "http://blog1.me/article-1/", - pubDate: "2020-01-08T13:04:30.000Z", - }, - { - title: "Blog 1 Article title 2", - link: "http://blog1.me/article-2/", - pubDate: "2020-01-09T13:04:30.000Z", - }, - ], -}; - -const BLOG_2 = { - title: "blog 2", - link: "http://blog2.me/", - items: [ - { - title: "Blog 2 Article title 1", - link: "http://blog2.me/article-1/", - pubDate: "2020-01-10T13:04:30.000Z", - }, - { - title: "Blog 2 Article title 2", - link: "http://blog2.me/article-2/", - pubDate: "2020-01-12T13:04:30.000Z", - }, - ], -}; - -const NO_ITEMS_BLOG = { - title: "No Items Blog", - link: "http://no-items-blog.me/", -}; - -jest.mock("../src/blog/get-rss-urls-list", () => ({ - getRssUrlsList: () => { - return ["http://blog1.me/", "http://blog2.me/"]; - }, -})); - -jest.mock("../src/blog/parser", () => ({ - parseUrl: (url: string) => { - const blog = [BLOG_1, BLOG_2, NO_ITEMS_BLOG].find( - (blog) => blog.link === url - ); - if (blog !== undefined) return Promise.resolve(blog); - else throw new Error("error!"); - }, -})); - -describe("Blog posts generation from rss feeds ", () => { - test("return error when list is empty", async () => { - const { posts, logs } = await generatePostsFromRssUrls([]); - expect(posts.length).toBe(0); - expect(logs).toBe(EMPTY_LIST_ERROR); - }); - - test("reporting should return the correct message", () => { - const logs = getErrorReporting(6, 30, [ - "Error message 1", - "Error message 2", - ]); - expect(logs).toMatchSnapshot(); - }); - - test("Return the correct items as posts from url ", async () => { - const rss = await feedPromise(BLOG_1.link); - expect(rss[0].link).toBe(BLOG_1.items[0].link); - expect(rss[1].link).toBe(BLOG_1.items[1].link); - }); - - test("should return errors for no items rss", async () => { - await expect(feedPromise(NO_ITEMS_BLOG.link)).rejects.toBe(NO_ITEMS_ERROR); - }); - - test("should return error for invalid rss links", async () => { - const invalidURL = "https://myinvalidlink.com/"; - await expect(feedPromise(invalidURL)).rejects.toBe( - `${invalidURL}: ${RSS_URL_ERROR}` - ); - }); - - test("Return the correct items as posts from url ", async () => { - const { posts } = await generatePostsFromRssUrls([ - BLOG_1.link, - BLOG_2.link, - ]); - expect(posts.length).toBe(4); - expect(posts[0].link).toBe(BLOG_2.items[1].link); - expect( - posts[0].pubDate.valueOf() - posts[1].pubDate.valueOf() - ).toBeGreaterThan(0); - }); - - test("return valid posts and correct errors for real use cases", async () => { - const invalidURL = "https://myinvalidlink.com/"; - const { posts, errors } = await generatePostsFromRssUrls([ - BLOG_1.link, - BLOG_2.link, - invalidURL, - ]); - expect(posts.length).toBe(4); - expect(errors.length).toBe(1); - expect(errors[0]).toBe(`${invalidURL}: ${RSS_URL_ERROR}`); - }); -}); diff --git a/scripts/__tests__/case-1.spec.ts b/scripts/__tests__/case-1.spec.ts deleted file mode 100644 index 50979cd..0000000 --- a/scripts/__tests__/case-1.spec.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { formatKey, isKey, getType, parseAttributes } from "../src/utils"; - -describe("Utils functions", () => { - test("Testing getType", () => { - const labels = [ - { - name: "new", - color: "#fafafa", - }, - { - name: "project", - color: "#fafafa", - }, - ]; - - expect(getType(labels)).toBe("project"); - }); - - test("Testing formatKey", () => { - const condidateKey = "### Project"; - - expect(formatKey(condidateKey)).toBe("project"); - }); - - test("Testing isKey", () => { - const condidateKey = "### Project"; - expect(isKey(condidateKey)).toBe(true); - }); - - test("Testing parseAttributes", () => { - const body = `### Project\\n\\nProject name\\n\\n### Description\\n\\nProject description`; - - const payload = parseAttributes(body); - - expect(Boolean(payload["project"])).toBe(true); - expect(Boolean(payload["description"])).toBe(true); - - expect(payload).toMatchObject({ - project: "Project name", - description: "Project description", - }); - }); -}); diff --git a/scripts/__tests__/case-2.spec.ts b/scripts/__tests__/case-2.spec.ts deleted file mode 100644 index a18fbc5..0000000 --- a/scripts/__tests__/case-2.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import parse from "../src/index"; - -describe("Parse functions", () => { - test("Testing parseAttributes", () => { - const body = `### Project\\n\\nProject name\\n\\n### Description\\n\\nProject description`; - const labels = [ - { - name: "new", - color: "#fafafa", - }, - { - name: "project", - color: "#fafafa", - }, - ]; - - const [path, payload] = parse(body, labels, "content/data"); - - expect(path).toContain("content/data"); - expect(path).toContain(".json"); - expect(Boolean(payload["project"])).toBe(true); - expect(Boolean(payload["description"])).toBe(true); - }); -}); diff --git a/scripts/package.json b/scripts/package.json deleted file mode 100644 index 5e71f0f..0000000 --- a/scripts/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "scripts", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "devDependencies": { - "@babel/cli": "^7.16.8", - "@babel/core": "^7.16.12", - "@babel/node": "^7.16.8", - "@babel/preset-env": "^7.16.11", - "@babel/preset-typescript": "^7.16.7", - "@types/jest": "^27.4.0", - "@types/mocha": "^9.1.0", - "@types/promise-retry": "^1.1.3", - "@typescript-eslint/eslint-plugin": "^5.10.1", - "@typescript-eslint/parser": "^5.10.1", - "eslint": "^8.7.0" - }, - "dependencies": { - "async-await-retry": "^1.2.4", - "dateformat": "^5.0.2", - "jest": "^27.4.7", - "promise-retry": "^2.0.1", - "rss-parser": "^3.12.0", - "tsm": "^2.2.1", - "typescript": "^4.5.5" - }, - "scripts": { - "lint": "eslint . --ext .ts", - "test": "jest --coverage", - "test:ci": "jest" - }, - "babel": { - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "node": "current" - } - } - ], - "@babel/preset-typescript" - ] - } -} diff --git a/scripts/src/blog/feed-url-promise.ts b/scripts/src/blog/feed-url-promise.ts deleted file mode 100644 index 06d8ae8..0000000 --- a/scripts/src/blog/feed-url-promise.ts +++ /dev/null @@ -1,41 +0,0 @@ -import promiseRetry from "promise-retry"; -import { retryConfig } from "../config"; -import { Post, RssItem } from "../types"; -import { - MAX_BLOG_POSTS_BY_RSS_URL, - NO_ITEMS_ERROR, - RSS_URL_ERROR, -} from "../constants"; -import { isValidPost } from "./filters"; -import { parseUrl } from "./parser"; - -/** - * This func generate a promise based on rssUrl that reject an error on fail and return normalized posts on success - * @param rssUrl - * @returns - */ -export const feedPromise = (rssUrl: string) => { - return new Promise((resolve, reject) => { - promiseRetry((retry) => parseUrl(rssUrl).catch(retry), retryConfig) - .then((data) => { - if (!data.items) reject(NO_ITEMS_ERROR); - else resolve(parseItemToPost(data.items)); - }) - .catch(() => reject(`${rssUrl}: ${RSS_URL_ERROR}`)); - }); -}; - -const parseItemToPost = (items: RssItem[]) => { - const posts = items - .filter(isValidPost) - .map((item) => ({ - title: item.title.trim(), - link: item.link.trim(), - pubDate: new Date(item.pubDate.trim()), - image: "", - author: "", - })) - .slice(0, MAX_BLOG_POSTS_BY_RSS_URL); - - return posts as Post[]; -}; diff --git a/scripts/src/blog/filters.ts b/scripts/src/blog/filters.ts deleted file mode 100644 index ea74ec7..0000000 --- a/scripts/src/blog/filters.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { RssItem, ValidRssItem } from "../types"; - -export function isValidPost(item: RssItem): item is ValidRssItem { - return ( - item.title !== undefined && - item.link !== undefined && - item.pubDate !== undefined - ); -} - -export function isFulfilled( - res: PromiseSettledResult -): res is PromiseFulfilledResult { - return res.status === "fulfilled" && typeof res.value !== "string"; -} -export function isRejected( - res: PromiseSettledResult -): res is Omit & { reason: string } { - return res.status === "rejected" && typeof res.reason === "string"; -} diff --git a/scripts/src/blog/generate-posts-from-rss-urls.ts b/scripts/src/blog/generate-posts-from-rss-urls.ts deleted file mode 100644 index 7ab5389..0000000 --- a/scripts/src/blog/generate-posts-from-rss-urls.ts +++ /dev/null @@ -1,44 +0,0 @@ -// This script is highly inspired: by https://github.com/gautamkrishnar/blog-post-workflow/blob/master/blog-post-workflow.js -import { EMPTY_LIST_ERROR } from "../constants"; -import { feedPromise } from "./feed-url-promise"; -import { isFulfilled, isRejected } from "./filters"; -import { getErrorReporting } from "./get-errors-reporting"; - -/** - * - * @param rssUrls - * @returns - * - * 1. Check if the rssUrls in not empty, if its the case we should return error - * 2. Create promise to fetch and normalize rss items to post objects for every rssUrl - * 3. Filter settle all Promises to return data - * 3. Based on results filters errors and sort posts - * 4. Select the first 100 posts and return it - * 5. Get open graph for the first 100 article to get images and all data we need : https://github.com/jshemas/openGraphScraper - * 6. Return logs and posts - */ - -export const generatePostsFromRssUrls = async (rssUrls: string[]) => { - if (rssUrls.length === 0) { - return { - posts: [], - logs: EMPTY_LIST_ERROR, - }; - } - - const promiseArray = rssUrls.map((rssUrl) => feedPromise(rssUrl)); - const results = await Promise.allSettled(promiseArray); - - const posts = results - .filter(isFulfilled) - .map((t) => t.value) - .reduce((prev, current) => { - return [...prev, ...current]; - }, []) - .sort((a, b) => b.pubDate.valueOf() - a.pubDate.valueOf()); - - const errors = results.filter(isRejected).map((res) => res.reason); - - const logs = getErrorReporting(rssUrls.length, posts.length, errors); - return { posts, logs, errors }; -}; diff --git a/scripts/src/blog/get-errors-reporting.ts b/scripts/src/blog/get-errors-reporting.ts deleted file mode 100644 index ac746cb..0000000 --- a/scripts/src/blog/get-errors-reporting.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * should return number of rss feed collected successfully - * rss feed with errors - */ -export const getErrorReporting = ( - numberOfRssUrls: number, - numberOfPosts: number, - errors: string[] -) => { - return ` -✅ ${numberOfPosts} blog posts has been collected from ${ - numberOfRssUrls - errors.length - } RSS feeds -${errors.map((e) => `❌ ${e}`).join("\n")} - `; -}; diff --git a/scripts/src/blog/get-rss-urls-list.ts b/scripts/src/blog/get-rss-urls-list.ts deleted file mode 100644 index 3ee52f3..0000000 --- a/scripts/src/blog/get-rss-urls-list.ts +++ /dev/null @@ -1,19 +0,0 @@ -//TODO: migrate this function to read urls from 'data/blog' - -import fs from "fs"; -import { BLOGS_SOURCE_DIR_PATH } from "../constants"; - -export const getRssUrlsList = () => { - try { - const files: string[] = fs.readdirSync(BLOGS_SOURCE_DIR_PATH); - const urls: string[] = files - .map((file) => - JSON.parse(fs.readFileSync(`${BLOGS_SOURCE_DIR_PATH}/${file}`, "utf8")) - ) - .map((item) => item.rssUrl); - - return urls; - } catch (err) { - throw new Error("Error extracting urls from blog/data"); - } -}; diff --git a/scripts/src/blog/index.ts b/scripts/src/blog/index.ts deleted file mode 100644 index c1a5094..0000000 --- a/scripts/src/blog/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/local/bin/tsm -import { POSTS_GENERATED_DIR_FILE } from "../constants"; -import { writeToJSONFile } from "../utils"; -import { generatePostsFromRssUrls } from "./generate-posts-from-rss-urls"; -import { getRssUrlsList } from "./get-rss-urls-list"; - -/** - * Read blog folder and generate a list for rss urls - * Use generatePostsFromFeedList to generate posts and logs - * Create a Json file with posts and log logs - */ - -(async () => { - try { - const urls = getRssUrlsList(); - const { posts, logs } = await generatePostsFromRssUrls(urls); - writeToJSONFile(posts, POSTS_GENERATED_DIR_FILE); - console.log(logs); - } catch (e) { - console.error("Error generating blog posts", e); - process.exit(1); - } -})(); diff --git a/scripts/src/blog/parser.ts b/scripts/src/blog/parser.ts deleted file mode 100644 index fce6dae..0000000 --- a/scripts/src/blog/parser.ts +++ /dev/null @@ -1,6 +0,0 @@ -import Parser from "rss-parser"; - -const parser = new Parser(); -export const parseUrl = (url: string) => { - return parser.parseURL(url); -}; diff --git a/scripts/src/config.ts b/scripts/src/config.ts deleted file mode 100644 index 639f8ba..0000000 --- a/scripts/src/config.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const retryConfig = { - retries: 2, - factor: 1, - minTimeout: 3 * 1000, -}; diff --git a/scripts/src/constants.ts b/scripts/src/constants.ts deleted file mode 100644 index c64096b..0000000 --- a/scripts/src/constants.ts +++ /dev/null @@ -1,26 +0,0 @@ -import path from "path"; - -// path constants - -export const DATA_SOURCE_DIR_PATH = path.join( - __dirname, - "../../content/source" -); -export const DATA_GENERATED_DIR_PATH = path.join( - __dirname, - "../../content/generated" -); - -export const PROJECTS_GENERATED_DIR_PATH = path.join( - __dirname, - "../../content/generated/projects" -); - -// blog constants -export const EMPTY_LIST_ERROR = `Empty feed List, please check and try again`; -export const NO_ITEMS_ERROR = "Cannot read response->item"; -export const RSS_URL_ERROR = "Rss feed Lading failed"; -export const MAX_BLOG_POSTS_BY_RSS_URL = 10; // max by blog - -export const BLOGS_SOURCE_DIR_PATH = `${DATA_SOURCE_DIR_PATH}/blog/`; -export const POSTS_GENERATED_DIR_FILE = `${DATA_GENERATED_DIR_PATH}/posts.json`; diff --git a/scripts/src/index.ts b/scripts/src/index.ts deleted file mode 100644 index 6ec66d7..0000000 --- a/scripts/src/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Label } from "./types"; -import { parseAttributes, getType } from "./utils"; - -export default function parse(body: string, labels: Array