repos / neovimcraft

website that makes it easy to find neovim plugins
git clone https://github.com/neurosnap/neovimcraft.git

commit
702ca72
parent
6b73374
author
Eric Bower
date
2022-11-27 01:38:46 +0000 UTC
chore: remove sveltekit and use deno (#201)

50 files changed,  +5728, -5569
D .npmrc
A dev.ts
D .eslintrc.cjs
+0, -20
 1@@ -1,20 +0,0 @@
 2-module.exports = {
 3-  root: true,
 4-  parser: '@typescript-eslint/parser',
 5-  extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
 6-  plugins: ['svelte3', '@typescript-eslint'],
 7-  ignorePatterns: ['*.cjs'],
 8-  overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
 9-  settings: {
10-    'svelte3/typescript': () => require('typescript'),
11-  },
12-  parserOptions: {
13-    sourceType: 'module',
14-    ecmaVersion: 2019,
15-  },
16-  env: {
17-    browser: true,
18-    es2017: true,
19-    node: true,
20-  },
21-};
M .github/workflows/deploy.yml
+7, -17
 1@@ -1,8 +1,5 @@
 2-name: "Fetch resources and deploy on interval"
 3+name: "deploy neovimcraft cron"
 4 
 5-#on:
 6-#  push:
 7-#    branches: [main]
 8 on:
 9   schedule:
10   - cron: "0 */6 * * *"
11@@ -14,20 +11,13 @@ env:
12 jobs:
13   build:
14     runs-on: ubuntu-latest
15-    strategy:
16-      matrix:
17-        node-version: [16.14.0]
18     steps:
19     - uses: actions/checkout@v3
20-
21-    - name: use node.js ${{matrix.node-version}}
22-      uses: actions/setup-node@v1
23+    - uses: denoland/setup-deno@v1
24       with:
25-        node-version: ${{matrix.node-version}}
26-
27-    - run: yarn
28-
29-    - run: yarn build:all
30+        deno-version: "~1.28"
31+    - run: make scrape
32+    - run: make build
33 
34     - name: 'gcp auth'
35       uses: 'google-github-actions/auth@v0'
36@@ -38,12 +28,12 @@ jobs:
37       uses: 'google-github-actions/setup-gcloud@v0'
38 
39     - name: 'Upload Site'
40-      run: 'gsutil -m -h "Cache-Control:private, max-age=0, no-transform" rsync -d -r ./build gs://neovimcraft.com'
41+      run: 'gsutil -m -h "Cache-Control:private, max-age=0, no-transform" rsync -d -r ./static gs://neovimcraft.com'
42 
43     - name: 'upload-file'
44       uses: 'google-github-actions/upload-cloud-storage@v0'
45       with:
46-        path: './src/lib/db.json'
47+        path: './data/db.json'
48         destination: 'neovimcraft.com/db.json'
49         parent: false
50         headers: |-
M .gitignore
+9, -4
 1@@ -5,9 +5,14 @@ node_modules
 2 .envrc
 3 .eslintcache
 4 build
 5-src/lib/db.json
 6-src/lib/markdown.json
 7-src/lib/html.json
 8+data/db.json
 9+data/markdown.json
10+data/html.json
11+data/scrape.json
12 .direnv
13-src/lib/scrape.json
14 gha-creds-*
15+static/*.html
16+static/plugin/
17+static/about/
18+static/created/
19+static/updated/
D .husky/.gitignore
+0, -1
1@@ -1 +0,0 @@
2-_
D .husky/pre-commit
+0, -4
1@@ -1,4 +0,0 @@
2-#!/bin/sh
3-. "$(dirname "$0")/_/husky.sh"
4-
5-npx lint-staged
D .npmrc
+0, -1
1@@ -1 +0,0 @@
2-engine-strict=true
D .prettierignore
+0, -4
1@@ -1,4 +0,0 @@
2-.svelte-kit/**
3-static/**
4-build/**
5-node_modules/**
D .prettierrc
+0, -6
1@@ -1,6 +0,0 @@
2-{
3-  "singleQuote": true,
4-  "trailingComma": "all",
5-  "arrowParens": "always",
6-  "printWidth": 100
7-}
A Makefile
+35, -0
 1@@ -0,0 +1,35 @@
 2+dev:
 3+	deno run --allow-read --allow-net dev.ts
 4+.PHONY: dev
 5+
 6+resource:
 7+	deno run --allow-write scripts/resource.ts
 8+.PHONY: resource
 9+
10+scrape:
11+	deno run --allow-write --allow-net scripts/scrape.ts
12+	deno run --allow-write scripts/patch.ts
13+	deno run --allow-env --allow-net scripts/process.ts
14+	deno run --allow-write --allow-read scripts/html.ts
15+.PHONY: scrape
16+
17+clean:
18+	rm static/*.html
19+	rm -rf static/plugin
20+	rm -rf static/about
21+	rm -rf static/created
22+	rm -rf static/updated
23+.PHONY: clean
24+
25+build: clean
26+	deno run --allow-write scripts/static.ts
27+.PHONY: build
28+
29+upload:
30+	gsutil -m rm -r gs://neovimcraft.com/*
31+	gsutil -m -h 'Cache-Control:private, max-age=0, no-transform' rsync -r ./static gs://neovimcraft.com
32+	gsutil -m -h 'Cache-Control:private, max-age=0, no-transform' cp ./data/db.json gs://neovimcraft.com/db.json
33+.PHONY: upload
34+
35+deploy: scrape build upload
36+.PHONY: deploy
M README.md
+11, -59
 1@@ -1,21 +1,18 @@
 2-# neovimcraft.com
 3+# [neovimcraft.com](https://neovimcraft.com)
 4 
 5-[neovimcraft](https://neovimcraft.com)
 6-
 7-A site dedicated to finding the best neovim plugins and other resources for
 8-building neovim plugins
 9+A site dedicated to finding the best neovim plugins.
10 
11 ## Requirements
12 
13-- node v16.14.0
14+- deno 
15 
16 ## Want to submit a plugin?
17 
18-If you'd like to suggest a plugin to add to `neovimcraft` then feel free to
19-open a github issue or submit a PR after running the following command:
20+If you'd like to suggest a plugin to add to `neovimcraft` then feel free to open
21+a github issue or submit a PR after running the following command:
22 
23 ```bash
24-yarn resource
25+make resource
26 ```
27 
28 This command will step through the requirements for adding a resource to the
29@@ -35,64 +32,19 @@ https://github.com/neurosnap/nvim.sh
30 
31 You need to add a couple environment variables related to using the github api:
32 
33-```
34+```bash
35 export GITHUB_ACCESS_TOKEN='xxx'
36 export GITHUB_USERNAME='my-user'
37 ```
38 
39-To run the scraper
40-
41-```bash
42-yarn scrape
43-```
44-
45-This will fetch data from remote sources and then save them to our
46-`resources.json` file. This file is our source-of-truth for the plugins we
47-eventually save.
48-
49-To fetch and process the results in our `results.json` file
50-
51-```bash
52-yarn process
53-```
54-
55-This will use the github api to fetch information about the resources and also
56-fetch the associated readme for each resource and save them to `db.json` and
57-`markdown.json`
58-
59-To only process missing resources:
60-
61-```bash
62-yarn process missing
63-```
64-
65-To convert markdown files to html
66-
67-```bash
68-yarn html
69-```
70-
71-This will create an `html.json` file which contains the readme html which we
72-use for each plugin page.
73-
74-Once you've created a project and installed dependencies with `yarn`, start a development server:
75+To scrape and process all plugins, run:
76 
77 ```bash
78-yarn dev
79+make scrape
80 ```
81 
82-## Building
83-
84-Before creating a production version of your app, install an [adapter](https://kit.svelte.dev/docs#adapters) for your target environment. Then:
85-
86-```bash
87-yarn build
88-```
89-
90-> You can preview the built app with `yarn preview`, regardless of whether you installed an adapter. This should _not_ be used to serve your app in production.
91-
92-## Deploy
93+To build the static site, run:
94 
95 ```bash
96-yarn deploy
97+make build
98 ```
R src/lib/articles.json => data/articles.json
+0, -0
R src/lib/manual.json => data/manual.json
+53, -9
  1@@ -1,7 +1,17 @@
  2 {
  3   "resources": [
  4-    { "type": "github", "username": "frabjous", "repo": "knap", "tags": ["latex", "markdown"] },
  5-    { "type": "github", "username": "jceb", "repo": "blinds.nvim", "tags": ["color"] },
  6+    {
  7+      "type": "github",
  8+      "username": "frabjous",
  9+      "repo": "knap",
 10+      "tags": ["latex", "markdown"]
 11+    },
 12+    {
 13+      "type": "github",
 14+      "username": "jceb",
 15+      "repo": "blinds.nvim",
 16+      "tags": ["color"]
 17+    },
 18     {
 19       "type": "github",
 20       "username": "theory-of-everything",
 21@@ -14,7 +24,12 @@
 22       "repo": "neo-tree.nvim",
 23       "tags": ["file-explorer"]
 24     },
 25-    { "type": "github", "username": "j-hui", "repo": "fidget.nvim", "tags": ["neovim-0.5"] },
 26+    {
 27+      "type": "github",
 28+      "username": "j-hui",
 29+      "repo": "fidget.nvim",
 30+      "tags": ["neovim-0.5"]
 31+    },
 32     {
 33       "type": "github",
 34       "username": "slugbyte",
 35@@ -39,14 +54,24 @@
 36       "repo": "readline.nvim",
 37       "tags": ["editing-support"]
 38     },
 39-    { "type": "github", "username": "linty-org", "repo": "key-menu.nvim", "tags": ["keybinding"] },
 40+    {
 41+      "type": "github",
 42+      "username": "linty-org",
 43+      "repo": "key-menu.nvim",
 44+      "tags": ["keybinding"]
 45+    },
 46     {
 47       "type": "github",
 48       "username": "koenverburg",
 49       "repo": "minimal-tabline.nvim",
 50       "tags": ["tabline"]
 51     },
 52-    { "type": "github", "username": "koenverburg", "repo": "peepsight.nvim", "tags": ["color"] },
 53+    {
 54+      "type": "github",
 55+      "username": "koenverburg",
 56+      "repo": "peepsight.nvim",
 57+      "tags": ["color"]
 58+    },
 59     {
 60       "type": "github",
 61       "username": "koenverburg",
 62@@ -65,8 +90,18 @@
 63       "repo": "everybody-wants-that-line.nvim",
 64       "tags": ["statusline"]
 65     },
 66-    { "type": "github", "username": "Massolari", "repo": "forem.nvim", "tags": ["utility"] },
 67-    { "type": "github", "username": "kylechui", "repo": "nvim-surround", "tags": ["formatting"] },
 68+    {
 69+      "type": "github",
 70+      "username": "Massolari",
 71+      "repo": "forem.nvim",
 72+      "tags": ["utility"]
 73+    },
 74+    {
 75+      "type": "github",
 76+      "username": "kylechui",
 77+      "repo": "nvim-surround",
 78+      "tags": ["formatting"]
 79+    },
 80     {
 81       "type": "github",
 82       "username": "ktunprasert",
 83@@ -83,7 +118,11 @@
 84       "type": "github",
 85       "username": "ThePrimeagen",
 86       "repo": "refactoring.nvim",
 87-      "tags": ["treesitter-based", "programming-languages-support", "editing-support"]
 88+      "tags": [
 89+        "treesitter-based",
 90+        "programming-languages-support",
 91+        "editing-support"
 92+      ]
 93     },
 94     {
 95       "type": "github",
 96@@ -109,7 +148,12 @@
 97       "repo": "music.nvim",
 98       "tags": ["media", "utility"]
 99     },
100-    { "type": "github", "username": "Vonr", "repo": "align.nvim", "tags": ["formatting"] },
101+    {
102+      "type": "github",
103+      "username": "Vonr",
104+      "repo": "align.nvim",
105+      "tags": ["formatting"]
106+    },
107     {
108       "type": "github",
109       "username": "Wansmer",
A data/resources.json
+4365, -0
   1@@ -0,0 +1,4365 @@
   2+{
   3+  "resources": [
   4+    {
   5+      "type": "github",
   6+      "username": "0styx0",
   7+      "repo": "abbreinder.nvim",
   8+      "tags": [
   9+        "note-taking"
  10+      ]
  11+    },
  12+    {
  13+      "type": "github",
  14+      "username": "abecodes",
  15+      "repo": "tabout.nvim",
  16+      "tags": [
  17+        "motion"
  18+      ]
  19+    },
  20+    {
  21+      "type": "github",
  22+      "username": "Abstract-IDE",
  23+      "repo": "Abstract",
  24+      "tags": [
  25+        "preconfigured-configuration"
  26+      ]
  27+    },
  28+    {
  29+      "type": "github",
  30+      "username": "Abstract-IDE",
  31+      "repo": "penvim",
  32+      "tags": [
  33+        "indent"
  34+      ]
  35+    },
  36+    {
  37+      "type": "github",
  38+      "username": "AckslD",
  39+      "repo": "messages.nvim",
  40+      "tags": [
  41+        "utility"
  42+      ]
  43+    },
  44+    {
  45+      "type": "github",
  46+      "username": "AckslD",
  47+      "repo": "nvim-FeMaco.lua",
  48+      "tags": [
  49+        "markdown-and-latex"
  50+      ]
  51+    },
  52+    {
  53+      "type": "github",
  54+      "username": "AckslD",
  55+      "repo": "nvim-gfold.lua",
  56+      "tags": [
  57+        "git"
  58+      ]
  59+    },
  60+    {
  61+      "type": "github",
  62+      "username": "AckslD",
  63+      "repo": "nvim-neoclip.lua",
  64+      "tags": [
  65+        "register"
  66+      ]
  67+    },
  68+    {
  69+      "type": "github",
  70+      "username": "AckslD",
  71+      "repo": "nvim-revJ.lua",
  72+      "tags": [
  73+        "editing-support"
  74+      ]
  75+    },
  76+    {
  77+      "type": "github",
  78+      "username": "AckslD",
  79+      "repo": "swenv.nvim",
  80+      "tags": [
  81+        "programming-languages-support"
  82+      ]
  83+    },
  84+    {
  85+      "type": "github",
  86+      "username": "adelarsq",
  87+      "repo": "image_preview.nvim",
  88+      "tags": [
  89+        "media"
  90+      ]
  91+    },
  92+    {
  93+      "type": "github",
  94+      "username": "adelarsq",
  95+      "repo": "neoline.vim",
  96+      "tags": [
  97+        "statusline"
  98+      ]
  99+    },
 100+    {
 101+      "type": "github",
 102+      "username": "adisen99",
 103+      "repo": "apprentice.nvim",
 104+      "tags": [
 105+        "tree-sitter-supported-colorscheme"
 106+      ]
 107+    },
 108+    {
 109+      "type": "github",
 110+      "username": "adisen99",
 111+      "repo": "codeschool.nvim",
 112+      "tags": [
 113+        "tree-sitter-supported-colorscheme"
 114+      ]
 115+    },
 116+    {
 117+      "type": "github",
 118+      "username": "ahmedkhalf",
 119+      "repo": "project.nvim",
 120+      "tags": [
 121+        "project"
 122+      ]
 123+    },
 124+    {
 125+      "type": "github",
 126+      "username": "akinsho",
 127+      "repo": "bufferline.nvim",
 128+      "tags": [
 129+        "tabline"
 130+      ]
 131+    },
 132+    {
 133+      "type": "github",
 134+      "username": "akinsho",
 135+      "repo": "flutter-tools.nvim",
 136+      "tags": [
 137+        "programming-languages-support"
 138+      ]
 139+    },
 140+    {
 141+      "type": "github",
 142+      "username": "akinsho",
 143+      "repo": "git-conflict.nvim",
 144+      "tags": [
 145+        "git"
 146+      ]
 147+    },
 148+    {
 149+      "type": "github",
 150+      "username": "akinsho",
 151+      "repo": "nvim-toggleterm.lua",
 152+      "tags": [
 153+        "terminal-integration"
 154+      ]
 155+    },
 156+    {
 157+      "type": "github",
 158+      "username": "alec-gibson",
 159+      "repo": "nvim-tetris",
 160+      "tags": [
 161+        "game"
 162+      ]
 163+    },
 164+    {
 165+      "type": "github",
 166+      "username": "alexaandru",
 167+      "repo": "nvim-lspupdate",
 168+      "tags": [
 169+        "lsp-installer"
 170+      ]
 171+    },
 172+    {
 173+      "type": "github",
 174+      "username": "AllenDang",
 175+      "repo": "nvim-expand-expr",
 176+      "tags": [
 177+        "editing-support"
 178+      ]
 179+    },
 180+    {
 181+      "type": "github",
 182+      "username": "alvarosevilla95",
 183+      "repo": "luatab.nvim",
 184+      "tags": [
 185+        "tabline"
 186+      ]
 187+    },
 188+    {
 189+      "type": "github",
 190+      "username": "amrbashir",
 191+      "repo": "nvim-docs-view",
 192+      "tags": [
 193+        "neovim-0.5"
 194+      ]
 195+    },
 196+    {
 197+      "type": "github",
 198+      "username": "andersevenrud",
 199+      "repo": "nordic.nvim",
 200+      "tags": [
 201+        "tree-sitter-supported-colorscheme"
 202+      ]
 203+    },
 204+    {
 205+      "type": "github",
 206+      "username": "andrewferrier",
 207+      "repo": "debugprint.nvim",
 208+      "tags": [
 209+        "debugging"
 210+      ]
 211+    },
 212+    {
 213+      "type": "github",
 214+      "username": "andrewferrier",
 215+      "repo": "textobj-diagnostic.nvim",
 216+      "tags": [
 217+        "diagnostics"
 218+      ]
 219+    },
 220+    {
 221+      "type": "github",
 222+      "username": "andweeb",
 223+      "repo": "presence.nvim",
 224+      "tags": [
 225+        "media"
 226+      ]
 227+    },
 228+    {
 229+      "type": "github",
 230+      "username": "andythigpen",
 231+      "repo": "nvim-coverage",
 232+      "tags": [
 233+        "test"
 234+      ]
 235+    },
 236+    {
 237+      "type": "github",
 238+      "username": "anott03",
 239+      "repo": "nvim-lspinstall",
 240+      "tags": [
 241+        "lsp-installer"
 242+      ]
 243+    },
 244+    {
 245+      "type": "github",
 246+      "username": "anuvyklack",
 247+      "repo": "animation.nvim",
 248+      "tags": [
 249+        "neovim-lua-development"
 250+      ]
 251+    },
 252+    {
 253+      "type": "github",
 254+      "username": "anuvyklack",
 255+      "repo": "fold-preview.nvim",
 256+      "tags": [
 257+        "utility"
 258+      ]
 259+    },
 260+    {
 261+      "type": "github",
 262+      "username": "anuvyklack",
 263+      "repo": "hydra.nvim",
 264+      "tags": [
 265+        "keybinding"
 266+      ]
 267+    },
 268+    {
 269+      "type": "github",
 270+      "username": "anuvyklack",
 271+      "repo": "keymap-amend.nvim",
 272+      "tags": [
 273+        "keybinding"
 274+      ]
 275+    },
 276+    {
 277+      "type": "github",
 278+      "username": "anuvyklack",
 279+      "repo": "pretty-fold.nvim",
 280+      "tags": [
 281+        "editing-support"
 282+      ]
 283+    },
 284+    {
 285+      "type": "github",
 286+      "username": "anuvyklack",
 287+      "repo": "windows.nvim",
 288+      "tags": [
 289+        "split-and-window"
 290+      ]
 291+    },
 292+    {
 293+      "type": "github",
 294+      "username": "artart222",
 295+      "repo": "CodeArt",
 296+      "tags": [
 297+        "preconfigured-configuration"
 298+      ]
 299+    },
 300+    {
 301+      "type": "github",
 302+      "username": "aserowy",
 303+      "repo": "tmux.nvim",
 304+      "tags": [
 305+        "tmux"
 306+      ]
 307+    },
 308+    {
 309+      "type": "github",
 310+      "username": "askfiy",
 311+      "repo": "nvim",
 312+      "tags": [
 313+        "preconfigured-configuration"
 314+      ]
 315+    },
 316+    {
 317+      "type": "github",
 318+      "username": "askfiy",
 319+      "repo": "nvim-picgo",
 320+      "tags": [
 321+        "media"
 322+      ]
 323+    },
 324+    {
 325+      "type": "github",
 326+      "username": "AstroNvim",
 327+      "repo": "AstroNvim",
 328+      "tags": [
 329+        "preconfigured-configuration"
 330+      ]
 331+    },
 332+    {
 333+      "type": "github",
 334+      "username": "axieax",
 335+      "repo": "urlview.nvim",
 336+      "tags": [
 337+        "utility"
 338+      ]
 339+    },
 340+    {
 341+      "type": "github",
 342+      "username": "b0o",
 343+      "repo": "incline.nvim",
 344+      "tags": [
 345+        "statusline"
 346+      ]
 347+    },
 348+    {
 349+      "type": "github",
 350+      "username": "b0o",
 351+      "repo": "mapx.nvim",
 352+      "tags": [
 353+        "keybinding"
 354+      ]
 355+    },
 356+    {
 357+      "type": "github",
 358+      "username": "b0o",
 359+      "repo": "SchemaStore.nvim",
 360+      "tags": [
 361+        "neovim-0.5"
 362+      ]
 363+    },
 364+    {
 365+      "type": "github",
 366+      "username": "b3nj5m1n",
 367+      "repo": "kommentary",
 368+      "tags": [
 369+        "comment"
 370+      ]
 371+    },
 372+    {
 373+      "type": "github",
 374+      "username": "beauwilliams",
 375+      "repo": "focus.nvim",
 376+      "tags": [
 377+        "split-and-window"
 378+      ]
 379+    },
 380+    {
 381+      "type": "github",
 382+      "username": "beauwilliams",
 383+      "repo": "statusline.lua",
 384+      "tags": [
 385+        "statusline"
 386+      ]
 387+    },
 388+    {
 389+      "type": "github",
 390+      "username": "bennypowers",
 391+      "repo": "nvim-regexplainer",
 392+      "tags": [
 393+        "editing-support"
 394+      ]
 395+    },
 396+    {
 397+      "type": "github",
 398+      "username": "bfredl",
 399+      "repo": "nvim-luadev",
 400+      "tags": [
 401+        "neovim-lua-development"
 402+      ]
 403+    },
 404+    {
 405+      "type": "github",
 406+      "username": "bfredl",
 407+      "repo": "nvim-miniyank",
 408+      "tags": [
 409+        "utility"
 410+      ]
 411+    },
 412+    {
 413+      "type": "github",
 414+      "username": "bkegley",
 415+      "repo": "gloombuddy",
 416+      "tags": [
 417+        "tree-sitter-supported-colorscheme"
 418+      ]
 419+    },
 420+    {
 421+      "type": "github",
 422+      "username": "bluz71",
 423+      "repo": "vim-moonfly-colors",
 424+      "tags": [
 425+        "tree-sitter-supported-colorscheme"
 426+      ]
 427+    },
 428+    {
 429+      "type": "github",
 430+      "username": "bluz71",
 431+      "repo": "vim-nightfly-colors",
 432+      "tags": [
 433+        "tree-sitter-supported-colorscheme"
 434+      ]
 435+    },
 436+    {
 437+      "type": "github",
 438+      "username": "booperlv",
 439+      "repo": "nvim-gomove",
 440+      "tags": [
 441+        "editing-support"
 442+      ]
 443+    },
 444+    {
 445+      "type": "github",
 446+      "username": "brendalf",
 447+      "repo": "mix.nvim",
 448+      "tags": [
 449+        "programming-languages-support"
 450+      ]
 451+    },
 452+    {
 453+      "type": "github",
 454+      "username": "brenoprata10",
 455+      "repo": "nvim-highlight-colors",
 456+      "tags": [
 457+        "color"
 458+      ]
 459+    },
 460+    {
 461+      "type": "github",
 462+      "username": "camspiers",
 463+      "repo": "snap",
 464+      "tags": [
 465+        "fuzzy-finder"
 466+      ]
 467+    },
 468+    {
 469+      "type": "github",
 470+      "username": "CanKolay3499",
 471+      "repo": "CNvim",
 472+      "tags": [
 473+        "preconfigured-configuration"
 474+      ]
 475+    },
 476+    {
 477+      "type": "github",
 478+      "username": "cappyzawa",
 479+      "repo": "trim.nvim",
 480+      "tags": [
 481+        "formatting"
 482+      ]
 483+    },
 484+    {
 485+      "type": "github",
 486+      "username": "catppuccin",
 487+      "repo": "nvim",
 488+      "tags": [
 489+        "tree-sitter-supported-colorscheme"
 490+      ]
 491+    },
 492+    {
 493+      "type": "github",
 494+      "username": "Chaitanyabsprip",
 495+      "repo": "present.nvim",
 496+      "tags": [
 497+        "media"
 498+      ]
 499+    },
 500+    {
 501+      "type": "github",
 502+      "username": "chentoast",
 503+      "repo": "marks.nvim",
 504+      "tags": [
 505+        "marks"
 506+      ]
 507+    },
 508+    {
 509+      "type": "github",
 510+      "username": "chipsenkbeil",
 511+      "repo": "distant.nvim",
 512+      "tags": [
 513+        "remote-development"
 514+      ]
 515+    },
 516+    {
 517+      "type": "github",
 518+      "username": "chiyadev",
 519+      "repo": "dep",
 520+      "tags": [
 521+        "plugin-manager"
 522+      ]
 523+    },
 524+    {
 525+      "type": "github",
 526+      "username": "ChristianChiarulli",
 527+      "repo": "nvcode-color-schemes.vim",
 528+      "tags": [
 529+        "tree-sitter-supported-colorscheme"
 530+      ]
 531+    },
 532+    {
 533+      "type": "github",
 534+      "username": "chrsm",
 535+      "repo": "impulse.nvim",
 536+      "tags": [
 537+        "note-taking"
 538+      ]
 539+    },
 540+    {
 541+      "type": "github",
 542+      "username": "chrsm",
 543+      "repo": "paramount-ng.nvim",
 544+      "tags": [
 545+        "tree-sitter-supported-colorscheme"
 546+      ]
 547+    },
 548+    {
 549+      "type": "github",
 550+      "username": "clojure-vim",
 551+      "repo": "jazz.nvim",
 552+      "tags": [
 553+        "utility"
 554+      ]
 555+    },
 556+    {
 557+      "type": "github",
 558+      "username": "code-biscuits",
 559+      "repo": "nvim-biscuits",
 560+      "tags": [
 561+        "utility"
 562+      ]
 563+    },
 564+    {
 565+      "type": "github",
 566+      "username": "CosmicNvim",
 567+      "repo": "cosmic-ui",
 568+      "tags": [
 569+        "utility"
 570+      ]
 571+    },
 572+    {
 573+      "type": "github",
 574+      "username": "CosmicNvim",
 575+      "repo": "CosmicNvim",
 576+      "tags": [
 577+        "preconfigured-configuration"
 578+      ]
 579+    },
 580+    {
 581+      "type": "github",
 582+      "username": "cpea2506",
 583+      "repo": "one_monokai.nvim",
 584+      "tags": [
 585+        "tree-sitter-supported-colorscheme"
 586+      ]
 587+    },
 588+    {
 589+      "type": "github",
 590+      "username": "CRAG666",
 591+      "repo": "code_runner.nvim",
 592+      "tags": [
 593+        "code-runner"
 594+      ]
 595+    },
 596+    {
 597+      "type": "github",
 598+      "username": "crispgm",
 599+      "repo": "nvim-go",
 600+      "tags": [
 601+        "golang"
 602+      ]
 603+    },
 604+    {
 605+      "type": "github",
 606+      "username": "crispgm",
 607+      "repo": "nvim-tabline",
 608+      "tags": [
 609+        "tabline"
 610+      ]
 611+    },
 612+    {
 613+      "type": "github",
 614+      "username": "crivotz",
 615+      "repo": "nv-ide",
 616+      "tags": [
 617+        "preconfigured-configuration"
 618+      ]
 619+    },
 620+    {
 621+      "type": "github",
 622+      "username": "crusj",
 623+      "repo": "bookmarks.nvim",
 624+      "tags": [
 625+        "utility"
 626+      ]
 627+    },
 628+    {
 629+      "type": "github",
 630+      "username": "crusj",
 631+      "repo": "hierarchy-tree-go.nvim",
 632+      "tags": [
 633+        "golang"
 634+      ]
 635+    },
 636+    {
 637+      "type": "github",
 638+      "username": "crusj",
 639+      "repo": "structrue-go.nvim",
 640+      "tags": [
 641+        "golang"
 642+      ]
 643+    },
 644+    {
 645+      "type": "github",
 646+      "username": "cstsunfu",
 647+      "repo": ".sea.nvim",
 648+      "tags": [
 649+        "preconfigured-configuration"
 650+      ]
 651+    },
 652+    {
 653+      "type": "github",
 654+      "username": "cuducos",
 655+      "repo": "yaml.nvim",
 656+      "tags": [
 657+        "yaml"
 658+      ]
 659+    },
 660+    {
 661+      "type": "github",
 662+      "username": "cunderw",
 663+      "repo": "nvim",
 664+      "tags": [
 665+        "preconfigured-configuration"
 666+      ]
 667+    },
 668+    {
 669+      "type": "github",
 670+      "username": "danielfalk",
 671+      "repo": "smart-open.nvim",
 672+      "tags": [
 673+        "fuzzy-finder"
 674+      ]
 675+    },
 676+    {
 677+      "type": "github",
 678+      "username": "danielpieper",
 679+      "repo": "telescope-tmuxinator.nvim",
 680+      "tags": [
 681+        "tmux"
 682+      ]
 683+    },
 684+    {
 685+      "type": "github",
 686+      "username": "danymat",
 687+      "repo": "neogen",
 688+      "tags": [
 689+        "comment"
 690+      ]
 691+    },
 692+    {
 693+      "type": "github",
 694+      "username": "Darazaki",
 695+      "repo": "indent-o-matic",
 696+      "tags": [
 697+        "indent"
 698+      ]
 699+    },
 700+    {
 701+      "type": "github",
 702+      "username": "datwaft",
 703+      "repo": "bubbly.nvim",
 704+      "tags": [
 705+        "statusline"
 706+      ]
 707+    },
 708+    {
 709+      "type": "github",
 710+      "username": "David-Kunz",
 711+      "repo": "jester",
 712+      "tags": [
 713+        "test"
 714+      ]
 715+    },
 716+    {
 717+      "type": "github",
 718+      "username": "davidgranstrom",
 719+      "repo": "nvim-markdown-preview",
 720+      "tags": [
 721+        "markdown-and-latex"
 722+      ]
 723+    },
 724+    {
 725+      "type": "github",
 726+      "username": "davidgranstrom",
 727+      "repo": "scnvim",
 728+      "tags": [
 729+        "media"
 730+      ]
 731+    },
 732+    {
 733+      "type": "github",
 734+      "username": "dcampos",
 735+      "repo": "nvim-snippy",
 736+      "tags": [
 737+        "snippet"
 738+      ]
 739+    },
 740+    {
 741+      "type": "github",
 742+      "username": "declancm",
 743+      "repo": "cinnamon.nvim",
 744+      "tags": [
 745+        "scrolling"
 746+      ]
 747+    },
 748+    {
 749+      "type": "github",
 750+      "username": "declancm",
 751+      "repo": "windex.nvim",
 752+      "tags": [
 753+        "tmux"
 754+      ]
 755+    },
 756+    {
 757+      "type": "github",
 758+      "username": "desdic",
 759+      "repo": "greyjoy.nvim",
 760+      "tags": [
 761+        "code-runner"
 762+      ]
 763+    },
 764+    {
 765+      "type": "github",
 766+      "username": "dracula",
 767+      "repo": "vim",
 768+      "tags": [
 769+        "tree-sitter-supported-colorscheme"
 770+      ]
 771+    },
 772+    {
 773+      "type": "github",
 774+      "username": "drybalka",
 775+      "repo": "tree-climber.nvim",
 776+      "tags": [
 777+        "treesitter-based"
 778+      ]
 779+    },
 780+    {
 781+      "type": "github",
 782+      "username": "dstein64",
 783+      "repo": "nvim-scrollview",
 784+      "tags": [
 785+        "scrollbar"
 786+      ]
 787+    },
 788+    {
 789+      "type": "github",
 790+      "username": "echasnovski",
 791+      "repo": "mini.nvim",
 792+      "tags": [
 793+        "split-and-window"
 794+      ]
 795+    },
 796+    {
 797+      "type": "github",
 798+      "username": "EdenEast",
 799+      "repo": "nightfox.nvim",
 800+      "tags": [
 801+        "tree-sitter-supported-colorscheme"
 802+      ]
 803+    },
 804+    {
 805+      "type": "github",
 806+      "username": "edluffy",
 807+      "repo": "specs.nvim",
 808+      "tags": [
 809+        "motion"
 810+      ]
 811+    },
 812+    {
 813+      "type": "github",
 814+      "username": "edolphin-ydf",
 815+      "repo": "goimpl.nvim",
 816+      "tags": [
 817+        "golang"
 818+      ]
 819+    },
 820+    {
 821+      "type": "github",
 822+      "username": "ekickx",
 823+      "repo": "clipboard-image.nvim",
 824+      "tags": [
 825+        "media"
 826+      ]
 827+    },
 828+    {
 829+      "type": "github",
 830+      "username": "elihunter173",
 831+      "repo": "dirbuf.nvim",
 832+      "tags": [
 833+        "file-explorer"
 834+      ]
 835+    },
 836+    {
 837+      "type": "github",
 838+      "username": "ellisonleao",
 839+      "repo": "carbon-now.nvim",
 840+      "tags": [
 841+        "snippet"
 842+      ]
 843+    },
 844+    {
 845+      "type": "github",
 846+      "username": "ellisonleao",
 847+      "repo": "glow.nvim",
 848+      "tags": [
 849+        "markdown-and-latex"
 850+      ]
 851+    },
 852+    {
 853+      "type": "github",
 854+      "username": "ellisonleao",
 855+      "repo": "gruvbox.nvim",
 856+      "tags": [
 857+        "lua-colorscheme"
 858+      ]
 859+    },
 860+    {
 861+      "type": "github",
 862+      "username": "ellisonleao",
 863+      "repo": "nvim-plugin-template",
 864+      "tags": [
 865+        "boilerplate"
 866+      ]
 867+    },
 868+    {
 869+      "type": "github",
 870+      "username": "epwalsh",
 871+      "repo": "obsidian.nvim",
 872+      "tags": [
 873+        "note-taking"
 874+      ]
 875+    },
 876+    {
 877+      "type": "github",
 878+      "username": "esensar",
 879+      "repo": "nvim-dev-container",
 880+      "tags": [
 881+        "remote-development"
 882+      ]
 883+    },
 884+    {
 885+      "type": "github",
 886+      "username": "ethanholz",
 887+      "repo": "nvim-lastplace",
 888+      "tags": [
 889+        "editing-support"
 890+      ]
 891+    },
 892+    {
 893+      "type": "github",
 894+      "username": "EthanJWright",
 895+      "repo": "vs-tasks.nvim",
 896+      "tags": [
 897+        "code-runner"
 898+      ]
 899+    },
 900+    {
 901+      "type": "github",
 902+      "username": "Everblush",
 903+      "repo": "everblush.nvim",
 904+      "tags": [
 905+        "tree-sitter-supported-colorscheme"
 906+      ]
 907+    },
 908+    {
 909+      "type": "github",
 910+      "username": "f-person",
 911+      "repo": "git-blame.nvim",
 912+      "tags": [
 913+        "git"
 914+      ]
 915+    },
 916+    {
 917+      "type": "github",
 918+      "username": "famiu",
 919+      "repo": "bufdelete.nvim",
 920+      "tags": [
 921+        "split-and-window"
 922+      ]
 923+    },
 924+    {
 925+      "type": "github",
 926+      "username": "FeiyouG",
 927+      "repo": "command_center.nvim",
 928+      "tags": [
 929+        "keybinding"
 930+      ]
 931+    },
 932+    {
 933+      "type": "github",
 934+      "username": "feline-nvim",
 935+      "repo": "feline.nvim",
 936+      "tags": [
 937+        "statusline"
 938+      ]
 939+    },
 940+    {
 941+      "type": "github",
 942+      "username": "fenetikm",
 943+      "repo": "falcon",
 944+      "tags": [
 945+        "tree-sitter-supported-colorscheme"
 946+      ]
 947+    },
 948+    {
 949+      "type": "github",
 950+      "username": "filipdutescu",
 951+      "repo": "renamer.nvim",
 952+      "tags": [
 953+        "editing-support"
 954+      ]
 955+    },
 956+    {
 957+      "type": "github",
 958+      "username": "folke",
 959+      "repo": "lsp-colors.nvim",
 960+      "tags": [
 961+        "diagnostics"
 962+      ]
 963+    },
 964+    {
 965+      "type": "github",
 966+      "username": "folke",
 967+      "repo": "lua-dev.nvim",
 968+      "tags": [
 969+        "neovim-lua-development"
 970+      ]
 971+    },
 972+    {
 973+      "type": "github",
 974+      "username": "folke",
 975+      "repo": "noice.nvim",
 976+      "tags": [
 977+        "utility"
 978+      ]
 979+    },
 980+    {
 981+      "type": "github",
 982+      "username": "folke",
 983+      "repo": "todo-comments.nvim",
 984+      "tags": [
 985+        "comment"
 986+      ]
 987+    },
 988+    {
 989+      "type": "github",
 990+      "username": "folke",
 991+      "repo": "tokyonight.nvim",
 992+      "tags": [
 993+        "tree-sitter-supported-colorscheme"
 994+      ]
 995+    },
 996+    {
 997+      "type": "github",
 998+      "username": "folke",
 999+      "repo": "trouble.nvim",
1000+      "tags": [
1001+        "diagnostics"
1002+      ]
1003+    },
1004+    {
1005+      "type": "github",
1006+      "username": "folke",
1007+      "repo": "twilight.nvim",
1008+      "tags": [
1009+        "color"
1010+      ]
1011+    },
1012+    {
1013+      "type": "github",
1014+      "username": "folke",
1015+      "repo": "which-key.nvim",
1016+      "tags": [
1017+        "keybinding"
1018+      ]
1019+    },
1020+    {
1021+      "type": "github",
1022+      "username": "folke",
1023+      "repo": "zen-mode.nvim",
1024+      "tags": [
1025+        "editing-support"
1026+      ]
1027+    },
1028+    {
1029+      "type": "github",
1030+      "username": "frabjous",
1031+      "repo": "knap",
1032+      "tags": [
1033+        "latex",
1034+        "markdown"
1035+      ]
1036+    },
1037+    {
1038+      "type": "github",
1039+      "username": "FrenzyExists",
1040+      "repo": "aquarium-vim",
1041+      "tags": [
1042+        "tree-sitter-supported-colorscheme"
1043+      ]
1044+    },
1045+    {
1046+      "type": "github",
1047+      "username": "gaborvecsei",
1048+      "repo": "cryptoprice.nvim",
1049+      "tags": [
1050+        "utility"
1051+      ]
1052+    },
1053+    {
1054+      "type": "github",
1055+      "username": "gaborvecsei",
1056+      "repo": "memento.nvim",
1057+      "tags": [
1058+        "search"
1059+      ]
1060+    },
1061+    {
1062+      "type": "github",
1063+      "username": "gbprod",
1064+      "repo": "cutlass.nvim",
1065+      "tags": [
1066+        "editing-support"
1067+      ]
1068+    },
1069+    {
1070+      "type": "github",
1071+      "username": "gbprod",
1072+      "repo": "phpactor.nvim",
1073+      "tags": [
1074+        "programming-languages-support"
1075+      ]
1076+    },
1077+    {
1078+      "type": "github",
1079+      "username": "gbprod",
1080+      "repo": "stay-in-place.nvim",
1081+      "tags": [
1082+        "editing-support"
1083+      ]
1084+    },
1085+    {
1086+      "type": "github",
1087+      "username": "gbprod",
1088+      "repo": "substitute.nvim",
1089+      "tags": [
1090+        "editing-support"
1091+      ]
1092+    },
1093+    {
1094+      "type": "github",
1095+      "username": "gbprod",
1096+      "repo": "yanky.nvim",
1097+      "tags": [
1098+        "editing-support"
1099+      ]
1100+    },
1101+    {
1102+      "type": "github",
1103+      "username": "gelguy",
1104+      "repo": "wilder.nvim",
1105+      "tags": [
1106+        "command-line"
1107+      ]
1108+    },
1109+    {
1110+      "type": "github",
1111+      "username": "gen740",
1112+      "repo": "SmoothCursor.nvim",
1113+      "tags": [
1114+        "motion"
1115+      ]
1116+    },
1117+    {
1118+      "type": "github",
1119+      "username": "gennaro-tedesco",
1120+      "repo": "boilit",
1121+      "tags": [
1122+        "boilerplate"
1123+      ]
1124+    },
1125+    {
1126+      "type": "github",
1127+      "username": "gennaro-tedesco",
1128+      "repo": "nvim-commaround",
1129+      "tags": [
1130+        "comment"
1131+      ]
1132+    },
1133+    {
1134+      "type": "github",
1135+      "username": "gennaro-tedesco",
1136+      "repo": "nvim-jqx",
1137+      "tags": [
1138+        "programming-languages-support"
1139+      ]
1140+    },
1141+    {
1142+      "type": "github",
1143+      "username": "gennaro-tedesco",
1144+      "repo": "nvim-peekup",
1145+      "tags": [
1146+        "register"
1147+      ]
1148+    },
1149+    {
1150+      "type": "github",
1151+      "username": "gfanto",
1152+      "repo": "fzf-lsp.nvim",
1153+      "tags": [
1154+        "neovim-0.5"
1155+      ]
1156+    },
1157+    {
1158+      "type": "github",
1159+      "username": "ggandor",
1160+      "repo": "leap.nvim",
1161+      "tags": [
1162+        "motion"
1163+      ]
1164+    },
1165+    {
1166+      "type": "github",
1167+      "username": "ggandor",
1168+      "repo": "lightspeed.nvim",
1169+      "tags": [
1170+        "motion"
1171+      ]
1172+    },
1173+    {
1174+      "type": "github",
1175+      "username": "ghillb",
1176+      "repo": "cybu.nvim",
1177+      "tags": [
1178+        "utility"
1179+      ]
1180+    },
1181+    {
1182+      "type": "github",
1183+      "username": "github",
1184+      "repo": "copilot.vim",
1185+      "tags": [
1186+        "completion"
1187+      ]
1188+    },
1189+    {
1190+      "type": "github",
1191+      "username": "glepnir",
1192+      "repo": "dashboard-nvim",
1193+      "tags": [
1194+        "startup"
1195+      ]
1196+    },
1197+    {
1198+      "type": "github",
1199+      "username": "glepnir",
1200+      "repo": "indent-guides.nvim",
1201+      "tags": [
1202+        "indent"
1203+      ]
1204+    },
1205+    {
1206+      "type": "github",
1207+      "username": "glepnir",
1208+      "repo": "lspsaga.nvim",
1209+      "tags": [
1210+        "neovim-0.5"
1211+      ]
1212+    },
1213+    {
1214+      "type": "github",
1215+      "username": "glepnir",
1216+      "repo": "zephyr-nvim",
1217+      "tags": [
1218+        "tree-sitter-supported-colorscheme"
1219+      ]
1220+    },
1221+    {
1222+      "type": "github",
1223+      "username": "goolord",
1224+      "repo": "alpha-nvim",
1225+      "tags": [
1226+        "startup"
1227+      ]
1228+    },
1229+    {
1230+      "type": "github",
1231+      "username": "gorbit99",
1232+      "repo": "codewindow.nvim",
1233+      "tags": [
1234+        "scrollbar"
1235+      ]
1236+    },
1237+    {
1238+      "type": "github",
1239+      "username": "gpanders",
1240+      "repo": "editorconfig.nvim",
1241+      "tags": [
1242+        "formatting"
1243+      ]
1244+    },
1245+    {
1246+      "type": "github",
1247+      "username": "gwatcha",
1248+      "repo": "reaper-keys",
1249+      "tags": [
1250+        "media"
1251+      ]
1252+    },
1253+    {
1254+      "type": "github",
1255+      "username": "h-hg",
1256+      "repo": "fcitx.nvim",
1257+      "tags": [
1258+        "editing-support"
1259+      ]
1260+    },
1261+    {
1262+      "type": "github",
1263+      "username": "hackorum",
1264+      "repo": "VapourNvim",
1265+      "tags": [
1266+        "preconfigured-configuration"
1267+      ]
1268+    },
1269+    {
1270+      "type": "github",
1271+      "username": "haringsrob",
1272+      "repo": "nvim_context_vt",
1273+      "tags": [
1274+        "editing-support"
1275+      ]
1276+    },
1277+    {
1278+      "type": "github",
1279+      "username": "hkupty",
1280+      "repo": "iron.nvim",
1281+      "tags": [
1282+        "code-runner"
1283+      ]
1284+    },
1285+    {
1286+      "type": "github",
1287+      "username": "hkupty",
1288+      "repo": "nvimux",
1289+      "tags": [
1290+        "tmux"
1291+      ]
1292+    },
1293+    {
1294+      "type": "github",
1295+      "username": "hrsh7th",
1296+      "repo": "nvim-cmp",
1297+      "tags": [
1298+        "completion"
1299+      ]
1300+    },
1301+    {
1302+      "type": "github",
1303+      "username": "ibhagwan",
1304+      "repo": "fzf-lua",
1305+      "tags": [
1306+        "fuzzy-finder"
1307+      ]
1308+    },
1309+    {
1310+      "type": "github",
1311+      "username": "imbacraft",
1312+      "repo": "dusk.nvim",
1313+      "tags": [
1314+        "preconfigured-configuration"
1315+      ]
1316+    },
1317+    {
1318+      "type": "github",
1319+      "username": "Iron-E",
1320+      "repo": "nvim-cartographer",
1321+      "tags": [
1322+        "keybinding"
1323+      ]
1324+    },
1325+    {
1326+      "type": "github",
1327+      "username": "Iron-E",
1328+      "repo": "nvim-highlite",
1329+      "tags": [
1330+        "colorscheme-creation"
1331+      ]
1332+    },
1333+    {
1334+      "type": "github",
1335+      "username": "is0n",
1336+      "repo": "fm-nvim",
1337+      "tags": [
1338+        "file-explorer"
1339+      ]
1340+    },
1341+    {
1342+      "type": "github",
1343+      "username": "is0n",
1344+      "repo": "jaq-nvim",
1345+      "tags": [
1346+        "code-runner"
1347+      ]
1348+    },
1349+    {
1350+      "type": "github",
1351+      "username": "ishan9299",
1352+      "repo": "modus-theme-vim",
1353+      "tags": [
1354+        "tree-sitter-supported-colorscheme"
1355+      ]
1356+    },
1357+    {
1358+      "type": "github",
1359+      "username": "ishan9299",
1360+      "repo": "nvim-solarized-lua",
1361+      "tags": [
1362+        "tree-sitter-supported-colorscheme"
1363+      ]
1364+    },
1365+    {
1366+      "type": "github",
1367+      "username": "j-hui",
1368+      "repo": "fidget.nvim",
1369+      "tags": [
1370+        "neovim-0.5"
1371+      ]
1372+    },
1373+    {
1374+      "type": "github",
1375+      "username": "jakewvincent",
1376+      "repo": "mkdnflow.nvim",
1377+      "tags": [
1378+        "note-taking"
1379+      ]
1380+    },
1381+    {
1382+      "type": "github",
1383+      "username": "jakewvincent",
1384+      "repo": "texmagic.nvim",
1385+      "tags": [
1386+        "neovim-0.5"
1387+      ]
1388+    },
1389+    {
1390+      "type": "github",
1391+      "username": "jameshiew",
1392+      "repo": "nvim-magic",
1393+      "tags": [
1394+        "completion"
1395+      ]
1396+    },
1397+    {
1398+      "type": "github",
1399+      "username": "jamestthompson3",
1400+      "repo": "nvim-remote-containers",
1401+      "tags": [
1402+        "remote-development"
1403+      ]
1404+    },
1405+    {
1406+      "type": "github",
1407+      "username": "jbyuki",
1408+      "repo": "carrot.nvim",
1409+      "tags": [
1410+        "markdown-and-latex"
1411+      ]
1412+    },
1413+    {
1414+      "type": "github",
1415+      "username": "jbyuki",
1416+      "repo": "instant.nvim",
1417+      "tags": [
1418+        "utility"
1419+      ]
1420+    },
1421+    {
1422+      "type": "github",
1423+      "username": "jbyuki",
1424+      "repo": "nabla.nvim",
1425+      "tags": [
1426+        "note-taking"
1427+      ]
1428+    },
1429+    {
1430+      "type": "github",
1431+      "username": "jbyuki",
1432+      "repo": "one-small-step-for-vimkind",
1433+      "tags": [
1434+        "neovim-lua-development"
1435+      ]
1436+    },
1437+    {
1438+      "type": "github",
1439+      "username": "jbyuki",
1440+      "repo": "venn.nvim",
1441+      "tags": [
1442+        "note-taking"
1443+      ]
1444+    },
1445+    {
1446+      "type": "github",
1447+      "username": "jceb",
1448+      "repo": "blinds.nvim",
1449+      "tags": [
1450+        "color"
1451+      ]
1452+    },
1453+    {
1454+      "type": "github",
1455+      "username": "jedrzejboczar",
1456+      "repo": "possession.nvim",
1457+      "tags": [
1458+        "session"
1459+      ]
1460+    },
1461+    {
1462+      "type": "github",
1463+      "username": "jedrzejboczar",
1464+      "repo": "toggletasks.nvim",
1465+      "tags": [
1466+        "code-runner"
1467+      ]
1468+    },
1469+    {
1470+      "type": "github",
1471+      "username": "jghauser",
1472+      "repo": "auto-pandoc.nvim",
1473+      "tags": [
1474+        "markdown-and-latex"
1475+      ]
1476+    },
1477+    {
1478+      "type": "github",
1479+      "username": "jghauser",
1480+      "repo": "fold-cycle.nvim",
1481+      "tags": [
1482+        "utility"
1483+      ]
1484+    },
1485+    {
1486+      "type": "github",
1487+      "username": "jghauser",
1488+      "repo": "follow-md-links.nvim",
1489+      "tags": [
1490+        "markdown-and-latex"
1491+      ]
1492+    },
1493+    {
1494+      "type": "github",
1495+      "username": "jghauser",
1496+      "repo": "kitty-runner.nvim",
1497+      "tags": [
1498+        "terminal-integration"
1499+      ]
1500+    },
1501+    {
1502+      "type": "github",
1503+      "username": "jghauser",
1504+      "repo": "mkdir.nvim",
1505+      "tags": [
1506+        "utility"
1507+      ]
1508+    },
1509+    {
1510+      "type": "github",
1511+      "username": "jghauser",
1512+      "repo": "papis.nvim",
1513+      "tags": [
1514+        "note-taking"
1515+      ]
1516+    },
1517+    {
1518+      "type": "github",
1519+      "username": "jim-at-jibba",
1520+      "repo": "ariake-vim-colors",
1521+      "tags": [
1522+        "tree-sitter-supported-colorscheme"
1523+      ]
1524+    },
1525+    {
1526+      "type": "github",
1527+      "username": "jlesquembre",
1528+      "repo": "nterm.nvim",
1529+      "tags": [
1530+        "terminal-integration"
1531+      ]
1532+    },
1533+    {
1534+      "type": "github",
1535+      "username": "johann2357",
1536+      "repo": "nvim-smartbufs",
1537+      "tags": [
1538+        "tabline"
1539+      ]
1540+    },
1541+    {
1542+      "type": "github",
1543+      "username": "JoosepAlviste",
1544+      "repo": "nvim-ts-context-commentstring",
1545+      "tags": [
1546+        "comment"
1547+      ]
1548+    },
1549+    {
1550+      "type": "github",
1551+      "username": "jose-elias-alvarez",
1552+      "repo": "null-ls.nvim",
1553+      "tags": [
1554+        "neovim-0.5"
1555+      ]
1556+    },
1557+    {
1558+      "type": "github",
1559+      "username": "jose-elias-alvarez",
1560+      "repo": "typescript.nvim",
1561+      "tags": [
1562+        "neovim-0.5"
1563+      ]
1564+    },
1565+    {
1566+      "type": "github",
1567+      "username": "jrychn",
1568+      "repo": "ModuleVim",
1569+      "tags": [
1570+        "preconfigured-configuration"
1571+      ]
1572+    },
1573+    {
1574+      "type": "github",
1575+      "username": "jubnzv",
1576+      "repo": "mdeval.nvim",
1577+      "tags": [
1578+        "markdown-and-latex"
1579+      ]
1580+    },
1581+    {
1582+      "type": "github",
1583+      "username": "jubnzv",
1584+      "repo": "virtual-types.nvim",
1585+      "tags": [
1586+        "neovim-0.5"
1587+      ]
1588+    },
1589+    {
1590+      "type": "github",
1591+      "username": "Julian",
1592+      "repo": "lean.nvim",
1593+      "tags": [
1594+        "programming-languages-support"
1595+      ]
1596+    },
1597+    {
1598+      "type": "github",
1599+      "username": "Junnplus",
1600+      "repo": "nvim-lsp-setup",
1601+      "tags": [
1602+        "neovim-0.5"
1603+      ]
1604+    },
1605+    {
1606+      "type": "github",
1607+      "username": "justinhj",
1608+      "repo": "battery.nvim",
1609+      "tags": [
1610+        "statusline",
1611+        "diagnostics"
1612+      ]
1613+    },
1614+    {
1615+      "type": "github",
1616+      "username": "jvgrootveld",
1617+      "repo": "telescope-zoxide",
1618+      "tags": [
1619+        "fuzzy-finder"
1620+      ]
1621+    },
1622+    {
1623+      "type": "github",
1624+      "username": "kaiuri",
1625+      "repo": "nvim-juliana",
1626+      "tags": [
1627+        "tree-sitter-supported-colorscheme"
1628+      ]
1629+    },
1630+    {
1631+      "type": "github",
1632+      "username": "karb94",
1633+      "repo": "neoscroll.nvim",
1634+      "tags": [
1635+        "scrolling"
1636+      ]
1637+    },
1638+    {
1639+      "type": "github",
1640+      "username": "Kasama",
1641+      "repo": "nvim-custom-diagnostic-highlight",
1642+      "tags": [
1643+        "neovim-0.5"
1644+      ]
1645+    },
1646+    {
1647+      "type": "github",
1648+      "username": "kazhala",
1649+      "repo": "close-buffers.nvim",
1650+      "tags": [
1651+        "utility"
1652+      ]
1653+    },
1654+    {
1655+      "type": "github",
1656+      "username": "kdheepak",
1657+      "repo": "lazygit.nvim",
1658+      "tags": [
1659+        "git"
1660+      ]
1661+    },
1662+    {
1663+      "type": "github",
1664+      "username": "kdheepak",
1665+      "repo": "monochrome.nvim",
1666+      "tags": [
1667+        "tree-sitter-supported-colorscheme"
1668+      ]
1669+    },
1670+    {
1671+      "type": "github",
1672+      "username": "kdheepak",
1673+      "repo": "panvimdoc",
1674+      "tags": [
1675+        "markdown-and-latex"
1676+      ]
1677+    },
1678+    {
1679+      "type": "github",
1680+      "username": "kdheepak",
1681+      "repo": "tabline.nvim",
1682+      "tags": [
1683+        "tabline"
1684+      ]
1685+    },
1686+    {
1687+      "type": "github",
1688+      "username": "keaising",
1689+      "repo": "im-select.nvim",
1690+      "tags": [
1691+        "editing-support"
1692+      ]
1693+    },
1694+    {
1695+      "type": "github",
1696+      "username": "kevinhwang91",
1697+      "repo": "nvim-bqf",
1698+      "tags": [
1699+        "quickfix"
1700+      ]
1701+    },
1702+    {
1703+      "type": "github",
1704+      "username": "kevinhwang91",
1705+      "repo": "nvim-hlslens",
1706+      "tags": [
1707+        "search"
1708+      ]
1709+    },
1710+    {
1711+      "type": "github",
1712+      "username": "kevinhwang91",
1713+      "repo": "nvim-ufo",
1714+      "tags": [
1715+        "utility"
1716+      ]
1717+    },
1718+    {
1719+      "type": "github",
1720+      "username": "kevinhwang91",
1721+      "repo": "rnvimr",
1722+      "tags": [
1723+        "file-explorer"
1724+      ]
1725+    },
1726+    {
1727+      "type": "github",
1728+      "username": "kiran94",
1729+      "repo": "s3edit.nvim",
1730+      "tags": [
1731+        "file-explorer"
1732+      ]
1733+    },
1734+    {
1735+      "type": "github",
1736+      "username": "kkharji",
1737+      "repo": "sqlite.lua",
1738+      "tags": [
1739+        "neovim-lua-development"
1740+      ]
1741+    },
1742+    {
1743+      "type": "github",
1744+      "username": "klen",
1745+      "repo": "nvim-config-local",
1746+      "tags": [
1747+        "project"
1748+      ]
1749+    },
1750+    {
1751+      "type": "github",
1752+      "username": "klen",
1753+      "repo": "nvim-test",
1754+      "tags": [
1755+        "test"
1756+      ]
1757+    },
1758+    {
1759+      "type": "github",
1760+      "username": "koenverburg",
1761+      "repo": "cmd-palette.nvim",
1762+      "tags": [
1763+        "utility"
1764+      ]
1765+    },
1766+    {
1767+      "type": "github",
1768+      "username": "koenverburg",
1769+      "repo": "minimal-tabline.nvim",
1770+      "tags": [
1771+        "tabline"
1772+      ]
1773+    },
1774+    {
1775+      "type": "github",
1776+      "username": "koenverburg",
1777+      "repo": "peepsight.nvim",
1778+      "tags": [
1779+        "color"
1780+      ]
1781+    },
1782+    {
1783+      "type": "github",
1784+      "username": "konapun",
1785+      "repo": "vacuumline.nvim",
1786+      "tags": [
1787+        "statusline"
1788+      ]
1789+    },
1790+    {
1791+      "type": "github",
1792+      "username": "kosayoda",
1793+      "repo": "nvim-lightbulb",
1794+      "tags": [
1795+        "neovim-0.5"
1796+      ]
1797+    },
1798+    {
1799+      "type": "github",
1800+      "username": "krady21",
1801+      "repo": "compiler-explorer.nvim",
1802+      "tags": [
1803+        "media"
1804+      ]
1805+    },
1806+    {
1807+      "type": "github",
1808+      "username": "ktunprasert",
1809+      "repo": "gui-font-resize.nvim",
1810+      "tags": [
1811+        "utility"
1812+      ]
1813+    },
1814+    {
1815+      "type": "github",
1816+      "username": "kvrohit",
1817+      "repo": "mellow.nvim",
1818+      "tags": [
1819+        "tree-sitter-supported-colorscheme"
1820+      ]
1821+    },
1822+    {
1823+      "type": "github",
1824+      "username": "kvrohit",
1825+      "repo": "rasmus.nvim",
1826+      "tags": [
1827+        "tree-sitter-supported-colorscheme"
1828+      ]
1829+    },
1830+    {
1831+      "type": "github",
1832+      "username": "kvrohit",
1833+      "repo": "substrata.nvim",
1834+      "tags": [
1835+        "tree-sitter-supported-colorscheme"
1836+      ]
1837+    },
1838+    {
1839+      "type": "github",
1840+      "username": "kyazdani42",
1841+      "repo": "blue-moon",
1842+      "tags": [
1843+        "tree-sitter-supported-colorscheme"
1844+      ]
1845+    },
1846+    {
1847+      "type": "github",
1848+      "username": "kyazdani42",
1849+      "repo": "nvim-tree.lua",
1850+      "tags": [
1851+        "file-explorer"
1852+      ]
1853+    },
1854+    {
1855+      "type": "github",
1856+      "username": "kyazdani42",
1857+      "repo": "nvim-web-devicons",
1858+      "tags": [
1859+        "icon"
1860+      ]
1861+    },
1862+    {
1863+      "type": "github",
1864+      "username": "kylechui",
1865+      "repo": "nvim-surround",
1866+      "tags": [
1867+        "formatting"
1868+      ]
1869+    },
1870+    {
1871+      "type": "github",
1872+      "username": "L3MON4D3",
1873+      "repo": "LuaSnip",
1874+      "tags": [
1875+        "snippet"
1876+      ]
1877+    },
1878+    {
1879+      "type": "github",
1880+      "username": "lalitmee",
1881+      "repo": "cobalt2.nvim",
1882+      "tags": [
1883+        "lua-colorscheme"
1884+      ]
1885+    },
1886+    {
1887+      "type": "github",
1888+      "username": "lcheylus",
1889+      "repo": "overlength.nvim",
1890+      "tags": [
1891+        "editing-support"
1892+      ]
1893+    },
1894+    {
1895+      "type": "github",
1896+      "username": "ldelossa",
1897+      "repo": "gh.nvim",
1898+      "tags": [
1899+        "github"
1900+      ]
1901+    },
1902+    {
1903+      "type": "github",
1904+      "username": "ldelossa",
1905+      "repo": "litee.nvim",
1906+      "tags": [
1907+        "neovim-0.5"
1908+      ]
1909+    },
1910+    {
1911+      "type": "github",
1912+      "username": "ldelossa",
1913+      "repo": "vimdark",
1914+      "tags": [
1915+        "tree-sitter-supported-colorscheme"
1916+      ]
1917+    },
1918+    {
1919+      "type": "github",
1920+      "username": "lewis6991",
1921+      "repo": "gitsigns.nvim",
1922+      "tags": [
1923+        "git"
1924+      ]
1925+    },
1926+    {
1927+      "type": "github",
1928+      "username": "lewpoly",
1929+      "repo": "sherbet.nvim",
1930+      "tags": [
1931+        "tree-sitter-supported-colorscheme"
1932+      ]
1933+    },
1934+    {
1935+      "type": "github",
1936+      "username": "LinArcX",
1937+      "repo": "telescope-command-palette.nvim",
1938+      "tags": [
1939+        "keybinding"
1940+      ]
1941+    },
1942+    {
1943+      "type": "github",
1944+      "username": "linty-org",
1945+      "repo": "key-menu.nvim",
1946+      "tags": [
1947+        "keybinding"
1948+      ]
1949+    },
1950+    {
1951+      "type": "github",
1952+      "username": "linty-org",
1953+      "repo": "readline.nvim",
1954+      "tags": [
1955+        "editing-support"
1956+      ]
1957+    },
1958+    {
1959+      "type": "github",
1960+      "username": "LionC",
1961+      "repo": "nest.nvim",
1962+      "tags": [
1963+        "keybinding"
1964+      ]
1965+    },
1966+    {
1967+      "type": "github",
1968+      "username": "lmburns",
1969+      "repo": "kimbox",
1970+      "tags": [
1971+        "tree-sitter-supported-colorscheme"
1972+      ]
1973+    },
1974+    {
1975+      "type": "github",
1976+      "username": "LoricAndre",
1977+      "repo": "OneTerm.nvim",
1978+      "tags": [
1979+        "terminal-integration"
1980+      ]
1981+    },
1982+    {
1983+      "type": "github",
1984+      "username": "lourenci",
1985+      "repo": "github-colors",
1986+      "tags": [
1987+        "tree-sitter-supported-colorscheme"
1988+      ]
1989+    },
1990+    {
1991+      "type": "github",
1992+      "username": "LudoPinelli",
1993+      "repo": "comment-box.nvim",
1994+      "tags": [
1995+        "comment"
1996+      ]
1997+    },
1998+    {
1999+      "type": "github",
2000+      "username": "luisiacc",
2001+      "repo": "gruvbox-baby",
2002+      "tags": [
2003+        "tree-sitter-supported-colorscheme"
2004+      ]
2005+    },
2006+    {
2007+      "type": "github",
2008+      "username": "lukas-reineke",
2009+      "repo": "indent-blankline.nvim",
2010+      "tags": [
2011+        "indent"
2012+      ]
2013+    },
2014+    {
2015+      "type": "github",
2016+      "username": "lukas-reineke",
2017+      "repo": "lsp-format.nvim",
2018+      "tags": [
2019+        "formatting"
2020+      ]
2021+    },
2022+    {
2023+      "type": "github",
2024+      "username": "LunarVim",
2025+      "repo": "LunarVim",
2026+      "tags": [
2027+        "preconfigured-configuration"
2028+      ]
2029+    },
2030+    {
2031+      "type": "github",
2032+      "username": "luukvbaal",
2033+      "repo": "nnn.nvim",
2034+      "tags": [
2035+        "file-explorer"
2036+      ]
2037+    },
2038+    {
2039+      "type": "github",
2040+      "username": "luukvbaal",
2041+      "repo": "stabilize.nvim",
2042+      "tags": [
2043+        "split-and-window"
2044+      ]
2045+    },
2046+    {
2047+      "type": "github",
2048+      "username": "lvim-tech",
2049+      "repo": "lvim",
2050+      "tags": [
2051+        "preconfigured-configuration"
2052+      ]
2053+    },
2054+    {
2055+      "type": "github",
2056+      "username": "m-demare",
2057+      "repo": "attempt.nvim",
2058+      "tags": [
2059+        "utility"
2060+      ]
2061+    },
2062+    {
2063+      "type": "github",
2064+      "username": "m-demare",
2065+      "repo": "hlargs.nvim",
2066+      "tags": [
2067+        "syntax"
2068+      ]
2069+    },
2070+    {
2071+      "type": "github",
2072+      "username": "m00qek",
2073+      "repo": "baleia.nvim",
2074+      "tags": [
2075+        "terminal-integration"
2076+      ]
2077+    },
2078+    {
2079+      "type": "github",
2080+      "username": "m00qek",
2081+      "repo": "plugin-template.nvim",
2082+      "tags": [
2083+        "boilerplate"
2084+      ]
2085+    },
2086+    {
2087+      "type": "github",
2088+      "username": "m4xshen",
2089+      "repo": "autoclose.nvim",
2090+      "tags": [
2091+        "editing-support"
2092+      ]
2093+    },
2094+    {
2095+      "type": "github",
2096+      "username": "madskjeldgaard",
2097+      "repo": "reaper-nvim",
2098+      "tags": [
2099+        "media"
2100+      ]
2101+    },
2102+    {
2103+      "type": "github",
2104+      "username": "marko-cerovac",
2105+      "repo": "material.nvim",
2106+      "tags": [
2107+        "tree-sitter-supported-colorscheme"
2108+      ]
2109+    },
2110+    {
2111+      "type": "github",
2112+      "username": "Massolari",
2113+      "repo": "forem.nvim",
2114+      "tags": [
2115+        "utility"
2116+      ]
2117+    },
2118+    {
2119+      "type": "github",
2120+      "username": "matbme",
2121+      "repo": "JABS.nvim",
2122+      "tags": [
2123+        "utility"
2124+      ]
2125+    },
2126+    {
2127+      "type": "github",
2128+      "username": "max397574",
2129+      "repo": "better-escape.nvim",
2130+      "tags": [
2131+        "keybinding"
2132+      ]
2133+    },
2134+    {
2135+      "type": "github",
2136+      "username": "mcauley-penney",
2137+      "repo": "tidy.nvim",
2138+      "tags": [
2139+        "formatting"
2140+      ]
2141+    },
2142+    {
2143+      "type": "github",
2144+      "username": "mcchrish",
2145+      "repo": "zenbones.nvim",
2146+      "tags": [
2147+        "tree-sitter-supported-colorscheme"
2148+      ]
2149+    },
2150+    {
2151+      "type": "github",
2152+      "username": "meliora-theme",
2153+      "repo": "neovim",
2154+      "tags": [
2155+        "tree-sitter-supported-colorscheme"
2156+      ]
2157+    },
2158+    {
2159+      "type": "github",
2160+      "username": "melkster",
2161+      "repo": "modicator.nvim",
2162+      "tags": [
2163+        "cursorline"
2164+      ]
2165+    },
2166+    {
2167+      "type": "github",
2168+      "username": "metalelf0",
2169+      "repo": "jellybeans-nvim",
2170+      "tags": [
2171+        "lua-colorscheme"
2172+      ]
2173+    },
2174+    {
2175+      "type": "github",
2176+      "username": "mfussenegger",
2177+      "repo": "nvim-dap",
2178+      "tags": [
2179+        "debugging"
2180+      ]
2181+    },
2182+    {
2183+      "type": "github",
2184+      "username": "mfussenegger",
2185+      "repo": "nvim-jdtls",
2186+      "tags": [
2187+        "neovim-0.5"
2188+      ]
2189+    },
2190+    {
2191+      "type": "github",
2192+      "username": "mfussenegger",
2193+      "repo": "nvim-lint",
2194+      "tags": [
2195+        "neovim-0.5"
2196+      ]
2197+    },
2198+    {
2199+      "type": "github",
2200+      "username": "mfussenegger",
2201+      "repo": "nvim-ts-hint-textobject",
2202+      "tags": [
2203+        "treesitter-based"
2204+      ]
2205+    },
2206+    {
2207+      "type": "github",
2208+      "username": "mhartington",
2209+      "repo": "formatter.nvim",
2210+      "tags": [
2211+        "formatting"
2212+      ]
2213+    },
2214+    {
2215+      "type": "github",
2216+      "username": "mhartington",
2217+      "repo": "oceanic-next",
2218+      "tags": [
2219+        "tree-sitter-supported-colorscheme"
2220+      ]
2221+    },
2222+    {
2223+      "type": "github",
2224+      "username": "michaelb",
2225+      "repo": "sniprun",
2226+      "tags": [
2227+        "code-runner"
2228+      ]
2229+    },
2230+    {
2231+      "type": "github",
2232+      "username": "mickael-menu",
2233+      "repo": "zk-nvim",
2234+      "tags": [
2235+        "note-taking"
2236+      ]
2237+    },
2238+    {
2239+      "type": "github",
2240+      "username": "milisims",
2241+      "repo": "nvim-luaref",
2242+      "tags": [
2243+        "neovim-lua-development"
2244+      ]
2245+    },
2246+    {
2247+      "type": "github",
2248+      "username": "miversen33",
2249+      "repo": "import.nvim",
2250+      "tags": [
2251+        "neovim-lua-development"
2252+      ]
2253+    },
2254+    {
2255+      "type": "github",
2256+      "username": "mizlan",
2257+      "repo": "iswap.nvim",
2258+      "tags": [
2259+        "editing-support"
2260+      ]
2261+    },
2262+    {
2263+      "type": "github",
2264+      "username": "Mofiqul",
2265+      "repo": "adwaita.nvim",
2266+      "tags": [
2267+        "tree-sitter-supported-colorscheme"
2268+      ]
2269+    },
2270+    {
2271+      "type": "github",
2272+      "username": "Mofiqul",
2273+      "repo": "dracula.nvim",
2274+      "tags": [
2275+        "tree-sitter-supported-colorscheme"
2276+      ]
2277+    },
2278+    {
2279+      "type": "github",
2280+      "username": "Mofiqul",
2281+      "repo": "vscode.nvim",
2282+      "tags": [
2283+        "tree-sitter-supported-colorscheme"
2284+      ]
2285+    },
2286+    {
2287+      "type": "github",
2288+      "username": "monaqa",
2289+      "repo": "dial.nvim",
2290+      "tags": [
2291+        "editing-support"
2292+      ]
2293+    },
2294+    {
2295+      "type": "github",
2296+      "username": "MordechaiHadad",
2297+      "repo": "bob",
2298+      "tags": [
2299+        "version-manager"
2300+      ]
2301+    },
2302+    {
2303+      "type": "github",
2304+      "username": "MrcJkb",
2305+      "repo": "haskell-tools.nvim",
2306+      "tags": [
2307+        "neovim-0.5"
2308+      ]
2309+    },
2310+    {
2311+      "type": "github",
2312+      "username": "mrjones2014",
2313+      "repo": "legendary.nvim",
2314+      "tags": [
2315+        "keybinding"
2316+      ]
2317+    },
2318+    {
2319+      "type": "github",
2320+      "username": "mrjones2014",
2321+      "repo": "smart-splits.nvim",
2322+      "tags": [
2323+        "split-and-window"
2324+      ]
2325+    },
2326+    {
2327+      "type": "github",
2328+      "username": "ms-jpq",
2329+      "repo": "chadtree",
2330+      "tags": [
2331+        "file-explorer"
2332+      ]
2333+    },
2334+    {
2335+      "type": "github",
2336+      "username": "ms-jpq",
2337+      "repo": "coq_nvim",
2338+      "tags": [
2339+        "completion"
2340+      ]
2341+    },
2342+    {
2343+      "type": "github",
2344+      "username": "MunifTanjim",
2345+      "repo": "exrc.nvim",
2346+      "tags": [
2347+        "project"
2348+      ]
2349+    },
2350+    {
2351+      "type": "github",
2352+      "username": "MunifTanjim",
2353+      "repo": "nui.nvim",
2354+      "tags": [
2355+        "neovim-lua-development"
2356+      ]
2357+    },
2358+    {
2359+      "type": "github",
2360+      "username": "MunifTanjim",
2361+      "repo": "prettier.nvim",
2362+      "tags": [
2363+        "formatting"
2364+      ]
2365+    },
2366+    {
2367+      "type": "github",
2368+      "username": "nacro90",
2369+      "repo": "numb.nvim",
2370+      "tags": [
2371+        "editing-support"
2372+      ]
2373+    },
2374+    {
2375+      "type": "github",
2376+      "username": "nanotee",
2377+      "repo": "luv-vimdocs",
2378+      "tags": [
2379+        "neovim-lua-development"
2380+      ]
2381+    },
2382+    {
2383+      "type": "github",
2384+      "username": "nanotee",
2385+      "repo": "nvim-lsp-basics",
2386+      "tags": [
2387+        "neovim-0.5"
2388+      ]
2389+    },
2390+    {
2391+      "type": "github",
2392+      "username": "nanotee",
2393+      "repo": "nvim-lua-guide",
2394+      "tags": [
2395+        "neovim-lua-development"
2396+      ]
2397+    },
2398+    {
2399+      "type": "github",
2400+      "username": "nanotee",
2401+      "repo": "sqls.nvim",
2402+      "tags": [
2403+        "programming-languages-support"
2404+      ]
2405+    },
2406+    {
2407+      "type": "github",
2408+      "username": "nanozuki",
2409+      "repo": "tabby.nvim",
2410+      "tags": [
2411+        "tabline"
2412+      ]
2413+    },
2414+    {
2415+      "type": "github",
2416+      "username": "navarasu",
2417+      "repo": "onedark.nvim",
2418+      "tags": [
2419+        "tree-sitter-supported-colorscheme"
2420+      ]
2421+    },
2422+    {
2423+      "type": "github",
2424+      "username": "neovim",
2425+      "repo": "nvim-lspconfig",
2426+      "tags": [
2427+        "neovim-0.5"
2428+      ]
2429+    },
2430+    {
2431+      "type": "github",
2432+      "username": "NFrid",
2433+      "repo": "due.nvim",
2434+      "tags": [
2435+        "note-taking"
2436+      ]
2437+    },
2438+    {
2439+      "type": "github",
2440+      "username": "NFrid",
2441+      "repo": "markdown-togglecheck",
2442+      "tags": [
2443+        "markdown-and-latex"
2444+      ]
2445+    },
2446+    {
2447+      "type": "github",
2448+      "username": "NFrid",
2449+      "repo": "treesitter-utils",
2450+      "tags": [
2451+        "neovim-lua-development"
2452+      ]
2453+    },
2454+    {
2455+      "type": "github",
2456+      "username": "nguyenvukhang",
2457+      "repo": "nvim-toggler",
2458+      "tags": [
2459+        "utility"
2460+      ]
2461+    },
2462+    {
2463+      "type": "github",
2464+      "username": "nikvdp",
2465+      "repo": "neomux",
2466+      "tags": [
2467+        "terminal-integration"
2468+      ]
2469+    },
2470+    {
2471+      "type": "github",
2472+      "username": "nkakouros-original",
2473+      "repo": "numbers.nvim",
2474+      "tags": [
2475+        "utility"
2476+      ]
2477+    },
2478+    {
2479+      "type": "github",
2480+      "username": "NMAC427",
2481+      "repo": "guess-indent.nvim",
2482+      "tags": [
2483+        "indent"
2484+      ]
2485+    },
2486+    {
2487+      "type": "github",
2488+      "username": "noib3",
2489+      "repo": "cokeline.nvim",
2490+      "tags": [
2491+        "tabline"
2492+      ]
2493+    },
2494+    {
2495+      "type": "github",
2496+      "username": "noib3",
2497+      "repo": "nvim-compleet",
2498+      "tags": [
2499+        "completion"
2500+      ]
2501+    },
2502+    {
2503+      "type": "github",
2504+      "username": "norcalli",
2505+      "repo": "nvim-base16.lua",
2506+      "tags": [
2507+        "colorscheme-creation"
2508+      ]
2509+    },
2510+    {
2511+      "type": "github",
2512+      "username": "norcalli",
2513+      "repo": "nvim-terminal.lua",
2514+      "tags": [
2515+        "terminal-integration"
2516+      ]
2517+    },
2518+    {
2519+      "type": "github",
2520+      "username": "norcalli",
2521+      "repo": "snippets.nvim",
2522+      "tags": [
2523+        "snippet"
2524+      ]
2525+    },
2526+    {
2527+      "type": "github",
2528+      "username": "notomo",
2529+      "repo": "cmdbuf.nvim",
2530+      "tags": [
2531+        "command-line"
2532+      ]
2533+    },
2534+    {
2535+      "type": "github",
2536+      "username": "notomo",
2537+      "repo": "gesture.nvim",
2538+      "tags": [
2539+        "mouse"
2540+      ]
2541+    },
2542+    {
2543+      "type": "github",
2544+      "username": "NTBBloodbath",
2545+      "repo": "cheovim",
2546+      "tags": [
2547+        "plugin-manager"
2548+      ]
2549+    },
2550+    {
2551+      "type": "github",
2552+      "username": "NTBBloodbath",
2553+      "repo": "doom-nvim",
2554+      "tags": [
2555+        "preconfigured-configuration"
2556+      ]
2557+    },
2558+    {
2559+      "type": "github",
2560+      "username": "NTBBloodbath",
2561+      "repo": "doom-one.nvim",
2562+      "tags": [
2563+        "tree-sitter-supported-colorscheme"
2564+      ]
2565+    },
2566+    {
2567+      "type": "github",
2568+      "username": "NTBBloodbath",
2569+      "repo": "galaxyline.nvim",
2570+      "tags": [
2571+        "statusline"
2572+      ]
2573+    },
2574+    {
2575+      "type": "github",
2576+      "username": "NTBBloodbath",
2577+      "repo": "nvenv",
2578+      "tags": [
2579+        "version-manager"
2580+      ]
2581+    },
2582+    {
2583+      "type": "github",
2584+      "username": "NTBBloodbath",
2585+      "repo": "rest.nvim",
2586+      "tags": [
2587+        "web-development"
2588+      ]
2589+    },
2590+    {
2591+      "type": "github",
2592+      "username": "numToStr",
2593+      "repo": "BufOnly.nvim",
2594+      "tags": [
2595+        "utility"
2596+      ]
2597+    },
2598+    {
2599+      "type": "github",
2600+      "username": "numToStr",
2601+      "repo": "Comment.nvim",
2602+      "tags": [
2603+        "comment"
2604+      ]
2605+    },
2606+    {
2607+      "type": "github",
2608+      "username": "numToStr",
2609+      "repo": "FTerm.nvim",
2610+      "tags": [
2611+        "terminal-integration"
2612+      ]
2613+    },
2614+    {
2615+      "type": "github",
2616+      "username": "numToStr",
2617+      "repo": "Navigator.nvim",
2618+      "tags": [
2619+        "tmux"
2620+      ]
2621+    },
2622+    {
2623+      "type": "github",
2624+      "username": "NvChad",
2625+      "repo": "nvim-colorizer.lua",
2626+      "tags": [
2627+        "color"
2628+      ]
2629+    },
2630+    {
2631+      "type": "github",
2632+      "username": "nvim-colortils",
2633+      "repo": "colortils.nvim",
2634+      "tags": [
2635+        "color"
2636+      ]
2637+    },
2638+    {
2639+      "type": "github",
2640+      "username": "nvim-lua",
2641+      "repo": "kickstart.nvim",
2642+      "tags": [
2643+        "preconfigured-configuration"
2644+      ]
2645+    },
2646+    {
2647+      "type": "github",
2648+      "username": "nvim-lua",
2649+      "repo": "lsp-status.nvim",
2650+      "tags": [
2651+        "neovim-0.5"
2652+      ]
2653+    },
2654+    {
2655+      "type": "github",
2656+      "username": "nvim-lua",
2657+      "repo": "plenary.nvim",
2658+      "tags": [
2659+        "neovim-lua-development"
2660+      ]
2661+    },
2662+    {
2663+      "type": "github",
2664+      "username": "nvim-lua",
2665+      "repo": "popup.nvim",
2666+      "tags": [
2667+        "neovim-lua-development"
2668+      ]
2669+    },
2670+    {
2671+      "type": "github",
2672+      "username": "nvim-lualine",
2673+      "repo": "lualine.nvim",
2674+      "tags": [
2675+        "statusline"
2676+      ]
2677+    },
2678+    {
2679+      "type": "github",
2680+      "username": "nvim-neo-tree",
2681+      "repo": "neo-tree.nvim",
2682+      "tags": [
2683+        "file-explorer"
2684+      ]
2685+    },
2686+    {
2687+      "type": "github",
2688+      "username": "nvim-neorg",
2689+      "repo": "neorg",
2690+      "tags": [
2691+        "note-taking"
2692+      ]
2693+    },
2694+    {
2695+      "type": "github",
2696+      "username": "nvim-neotest",
2697+      "repo": "neotest",
2698+      "tags": [
2699+        "test"
2700+      ]
2701+    },
2702+    {
2703+      "type": "github",
2704+      "username": "nvim-orgmode",
2705+      "repo": "orgmode",
2706+      "tags": [
2707+        "note-taking"
2708+      ]
2709+    },
2710+    {
2711+      "type": "github",
2712+      "username": "nvim-telescope",
2713+      "repo": "telescope.nvim",
2714+      "tags": [
2715+        "fuzzy-finder"
2716+      ]
2717+    },
2718+    {
2719+      "type": "github",
2720+      "username": "nvim-treesitter",
2721+      "repo": "nvim-treesitter",
2722+      "tags": [
2723+        "syntax"
2724+      ]
2725+    },
2726+    {
2727+      "type": "github",
2728+      "username": "nvim-treesitter",
2729+      "repo": "nvim-treesitter-context",
2730+      "tags": [
2731+        "editing-support"
2732+      ]
2733+    },
2734+    {
2735+      "type": "github",
2736+      "username": "nvim-treesitter",
2737+      "repo": "nvim-treesitter-textobjects",
2738+      "tags": [
2739+        "syntax"
2740+      ]
2741+    },
2742+    {
2743+      "type": "github",
2744+      "username": "nvim-zh",
2745+      "repo": "colorful-winsep.nvim",
2746+      "tags": [
2747+        "split-and-window"
2748+      ]
2749+    },
2750+    {
2751+      "type": "github",
2752+      "username": "nvoid-lua",
2753+      "repo": "nvoid",
2754+      "tags": [
2755+        "preconfigured-configuration"
2756+      ]
2757+    },
2758+    {
2759+      "type": "github",
2760+      "username": "nxvu699134",
2761+      "repo": "vn-night.nvim",
2762+      "tags": [
2763+        "tree-sitter-supported-colorscheme"
2764+      ]
2765+    },
2766+    {
2767+      "type": "github",
2768+      "username": "nyngwang",
2769+      "repo": "NeoNoName.lua",
2770+      "tags": [
2771+        "split-and-window"
2772+      ]
2773+    },
2774+    {
2775+      "type": "github",
2776+      "username": "nyngwang",
2777+      "repo": "NeoRoot.lua",
2778+      "tags": [
2779+        "project"
2780+      ]
2781+    },
2782+    {
2783+      "type": "github",
2784+      "username": "oberblastmeister",
2785+      "repo": "neuron.nvim",
2786+      "tags": [
2787+        "note-taking"
2788+      ]
2789+    },
2790+    {
2791+      "type": "github",
2792+      "username": "ofirgall",
2793+      "repo": "goto-breakpoints.nvim",
2794+      "tags": [
2795+        "debugging"
2796+      ]
2797+    },
2798+    {
2799+      "type": "github",
2800+      "username": "ofirgall",
2801+      "repo": "ofirkai.nvim",
2802+      "tags": [
2803+        "tree-sitter-supported-colorscheme"
2804+      ]
2805+    },
2806+    {
2807+      "type": "github",
2808+      "username": "ofirgall",
2809+      "repo": "open.nvim",
2810+      "tags": [
2811+        "marks"
2812+      ]
2813+    },
2814+    {
2815+      "type": "github",
2816+      "username": "ojroques",
2817+      "repo": "nvim-hardline",
2818+      "tags": [
2819+        "statusline"
2820+      ]
2821+    },
2822+    {
2823+      "type": "github",
2824+      "username": "ojroques",
2825+      "repo": "nvim-lspfuzzy",
2826+      "tags": [
2827+        "neovim-0.5"
2828+      ]
2829+    },
2830+    {
2831+      "type": "github",
2832+      "username": "olexsmir",
2833+      "repo": "gopher.nvim",
2834+      "tags": [
2835+        "golang"
2836+      ]
2837+    },
2838+    {
2839+      "type": "github",
2840+      "username": "Olical",
2841+      "repo": "aniseed",
2842+      "tags": [
2843+        "fennel"
2844+      ]
2845+    },
2846+    {
2847+      "type": "github",
2848+      "username": "Olical",
2849+      "repo": "conjure",
2850+      "tags": [
2851+        "fennel"
2852+      ]
2853+    },
2854+    {
2855+      "type": "github",
2856+      "username": "olimorris",
2857+      "repo": "onedarkpro.nvim",
2858+      "tags": [
2859+        "tree-sitter-supported-colorscheme"
2860+      ]
2861+    },
2862+    {
2863+      "type": "github",
2864+      "username": "olimorris",
2865+      "repo": "persisted.nvim",
2866+      "tags": [
2867+        "session"
2868+      ]
2869+    },
2870+    {
2871+      "type": "github",
2872+      "username": "olivercederborg",
2873+      "repo": "poimandres.nvim",
2874+      "tags": [
2875+        "tree-sitter-supported-colorscheme"
2876+      ]
2877+    },
2878+    {
2879+      "type": "github",
2880+      "username": "onsails",
2881+      "repo": "diaglist.nvim",
2882+      "tags": [
2883+        "diagnostics"
2884+      ]
2885+    },
2886+    {
2887+      "type": "github",
2888+      "username": "onsails",
2889+      "repo": "lspkind.nvim",
2890+      "tags": [
2891+        "neovim-0.5"
2892+      ]
2893+    },
2894+    {
2895+      "type": "github",
2896+      "username": "ostralyan",
2897+      "repo": "scribe.nvim",
2898+      "tags": [
2899+        "note-taking"
2900+      ]
2901+    },
2902+    {
2903+      "type": "github",
2904+      "username": "p00f",
2905+      "repo": "cphelper.nvim",
2906+      "tags": [
2907+        "competitive-programming"
2908+      ]
2909+    },
2910+    {
2911+      "type": "github",
2912+      "username": "p00f",
2913+      "repo": "nvim-ts-rainbow",
2914+      "tags": [
2915+        "editing-support"
2916+      ]
2917+    },
2918+    {
2919+      "type": "github",
2920+      "username": "petertriho",
2921+      "repo": "nvim-scrollbar",
2922+      "tags": [
2923+        "scrollbar"
2924+      ]
2925+    },
2926+    {
2927+      "type": "github",
2928+      "username": "phaazon",
2929+      "repo": "hop.nvim",
2930+      "tags": [
2931+        "motion"
2932+      ]
2933+    },
2934+    {
2935+      "type": "github",
2936+      "username": "phha",
2937+      "repo": "zenburn.nvim",
2938+      "tags": [
2939+        "tree-sitter-supported-colorscheme"
2940+      ]
2941+    },
2942+    {
2943+      "type": "github",
2944+      "username": "PHSix",
2945+      "repo": "nvim-hybrid",
2946+      "tags": [
2947+        "tree-sitter-supported-colorscheme"
2948+      ]
2949+    },
2950+    {
2951+      "type": "github",
2952+      "username": "pianocomposer321",
2953+      "repo": "consolation.nvim",
2954+      "tags": [
2955+        "terminal-integration"
2956+      ]
2957+    },
2958+    {
2959+      "type": "github",
2960+      "username": "pianocomposer321",
2961+      "repo": "yabs.nvim",
2962+      "tags": [
2963+        "code-runner"
2964+      ]
2965+    },
2966+    {
2967+      "type": "github",
2968+      "username": "Pocco81",
2969+      "repo": "AbbrevMan.nvim",
2970+      "tags": [
2971+        "utility"
2972+      ]
2973+    },
2974+    {
2975+      "type": "github",
2976+      "username": "Pocco81",
2977+      "repo": "AutoSave.nvim",
2978+      "tags": [
2979+        "editing-support"
2980+      ]
2981+    },
2982+    {
2983+      "type": "github",
2984+      "username": "Pocco81",
2985+      "repo": "DAPInstall.nvim",
2986+      "tags": [
2987+        "debugging"
2988+      ]
2989+    },
2990+    {
2991+      "type": "github",
2992+      "username": "Pocco81",
2993+      "repo": "HighStr.nvim",
2994+      "tags": [
2995+        "editing-support"
2996+      ]
2997+    },
2998+    {
2999+      "type": "github",
3000+      "username": "Pocco81",
3001+      "repo": "TrueZen.nvim",
3002+      "tags": [
3003+        "editing-support"
3004+      ]
3005+    },
3006+    {
3007+      "type": "github",
3008+      "username": "potamides",
3009+      "repo": "pantran.nvim",
3010+      "tags": [
3011+        "language"
3012+      ]
3013+    },
3014+    {
3015+      "type": "github",
3016+      "username": "projekt0n",
3017+      "repo": "github-nvim-theme",
3018+      "tags": [
3019+        "tree-sitter-supported-colorscheme"
3020+      ]
3021+    },
3022+    {
3023+      "type": "github",
3024+      "username": "pwntester",
3025+      "repo": "codeql.nvim",
3026+      "tags": [
3027+        "github"
3028+      ]
3029+    },
3030+    {
3031+      "type": "github",
3032+      "username": "pwntester",
3033+      "repo": "octo.nvim",
3034+      "tags": [
3035+        "github"
3036+      ]
3037+    },
3038+    {
3039+      "type": "github",
3040+      "username": "rafaelsq",
3041+      "repo": "nvim-goc.lua",
3042+      "tags": [
3043+        "golang"
3044+      ]
3045+    },
3046+    {
3047+      "type": "github",
3048+      "username": "rafamadriz",
3049+      "repo": "neon",
3050+      "tags": [
3051+        "tree-sitter-supported-colorscheme"
3052+      ]
3053+    },
3054+    {
3055+      "type": "github",
3056+      "username": "rafcamlet",
3057+      "repo": "nvim-luapad",
3058+      "tags": [
3059+        "neovim-lua-development"
3060+      ]
3061+    },
3062+    {
3063+      "type": "github",
3064+      "username": "rafcamlet",
3065+      "repo": "tabline-framework.nvim",
3066+      "tags": [
3067+        "tabline"
3068+      ]
3069+    },
3070+    {
3071+      "type": "github",
3072+      "username": "ranjithshegde",
3073+      "repo": "ccls.nvim",
3074+      "tags": [
3075+        "neovim-0.5"
3076+      ]
3077+    },
3078+    {
3079+      "type": "github",
3080+      "username": "ray-x",
3081+      "repo": "aurora",
3082+      "tags": [
3083+        "tree-sitter-supported-colorscheme"
3084+      ]
3085+    },
3086+    {
3087+      "type": "github",
3088+      "username": "ray-x",
3089+      "repo": "go.nvim",
3090+      "tags": [
3091+        "golang"
3092+      ]
3093+    },
3094+    {
3095+      "type": "github",
3096+      "username": "ray-x",
3097+      "repo": "guihua.lua",
3098+      "tags": [
3099+        "neovim-lua-development"
3100+      ]
3101+    },
3102+    {
3103+      "type": "github",
3104+      "username": "ray-x",
3105+      "repo": "lsp_signature.nvim",
3106+      "tags": [
3107+        "neovim-0.5"
3108+      ]
3109+    },
3110+    {
3111+      "type": "github",
3112+      "username": "ray-x",
3113+      "repo": "navigator.lua",
3114+      "tags": [
3115+        "neovim-0.5"
3116+      ]
3117+    },
3118+    {
3119+      "type": "github",
3120+      "username": "ray-x",
3121+      "repo": "sad.nvim",
3122+      "tags": [
3123+        "search"
3124+      ]
3125+    },
3126+    {
3127+      "type": "github",
3128+      "username": "ray-x",
3129+      "repo": "starry.nvim",
3130+      "tags": [
3131+        "tree-sitter-supported-colorscheme"
3132+      ]
3133+    },
3134+    {
3135+      "type": "github",
3136+      "username": "ray-x",
3137+      "repo": "web-tools.nvim",
3138+      "tags": [
3139+        "web-development"
3140+      ]
3141+    },
3142+    {
3143+      "type": "github",
3144+      "username": "rcarriga",
3145+      "repo": "nvim-dap-ui",
3146+      "tags": [
3147+        "debugging"
3148+      ]
3149+    },
3150+    {
3151+      "type": "github",
3152+      "username": "rcarriga",
3153+      "repo": "nvim-notify",
3154+      "tags": [
3155+        "utility"
3156+      ]
3157+    },
3158+    {
3159+      "type": "github",
3160+      "username": "rebelot",
3161+      "repo": "heirline.nvim",
3162+      "tags": [
3163+        "statusline"
3164+      ]
3165+    },
3166+    {
3167+      "type": "github",
3168+      "username": "rebelot",
3169+      "repo": "kanagawa.nvim",
3170+      "tags": [
3171+        "tree-sitter-supported-colorscheme"
3172+      ]
3173+    },
3174+    {
3175+      "type": "github",
3176+      "username": "renerocksai",
3177+      "repo": "telekasten.nvim",
3178+      "tags": [
3179+        "note-taking"
3180+      ]
3181+    },
3182+    {
3183+      "type": "github",
3184+      "username": "rgroli",
3185+      "repo": "other.nvim",
3186+      "tags": [
3187+        "utility"
3188+      ]
3189+    },
3190+    {
3191+      "type": "github",
3192+      "username": "RishabhRD",
3193+      "repo": "gruvy",
3194+      "tags": [
3195+        "tree-sitter-supported-colorscheme"
3196+      ]
3197+    },
3198+    {
3199+      "type": "github",
3200+      "username": "RishabhRD",
3201+      "repo": "nvim-lsputils",
3202+      "tags": [
3203+        "neovim-0.5"
3204+      ]
3205+    },
3206+    {
3207+      "type": "github",
3208+      "username": "rktjmp",
3209+      "repo": "highlight-current-n.nvim",
3210+      "tags": [
3211+        "search"
3212+      ]
3213+    },
3214+    {
3215+      "type": "github",
3216+      "username": "rktjmp",
3217+      "repo": "hotpot.nvim",
3218+      "tags": [
3219+        "fennel"
3220+      ]
3221+    },
3222+    {
3223+      "type": "github",
3224+      "username": "rktjmp",
3225+      "repo": "lush.nvim",
3226+      "tags": [
3227+        "colorscheme-creation"
3228+      ]
3229+    },
3230+    {
3231+      "type": "github",
3232+      "username": "rktjmp",
3233+      "repo": "paperplanes.nvim",
3234+      "tags": [
3235+        "utility"
3236+      ]
3237+    },
3238+    {
3239+      "type": "github",
3240+      "username": "rktjmp",
3241+      "repo": "shenzhen-solitaire.nvim",
3242+      "tags": [
3243+        "game"
3244+      ]
3245+    },
3246+    {
3247+      "type": "github",
3248+      "username": "rlane",
3249+      "repo": "pounce.nvim",
3250+      "tags": [
3251+        "motion"
3252+      ]
3253+    },
3254+    {
3255+      "type": "github",
3256+      "username": "rmagatti",
3257+      "repo": "auto-session",
3258+      "tags": [
3259+        "session"
3260+      ]
3261+    },
3262+    {
3263+      "type": "github",
3264+      "username": "rmagatti",
3265+      "repo": "goto-preview",
3266+      "tags": [
3267+        "neovim-0.5"
3268+      ]
3269+    },
3270+    {
3271+      "type": "github",
3272+      "username": "rmehri01",
3273+      "repo": "onenord.nvim",
3274+      "tags": [
3275+        "tree-sitter-supported-colorscheme"
3276+      ]
3277+    },
3278+    {
3279+      "type": "github",
3280+      "username": "rockerBOO",
3281+      "repo": "boo-colorscheme-nvim",
3282+      "tags": [
3283+        "tree-sitter-supported-colorscheme"
3284+      ]
3285+    },
3286+    {
3287+      "type": "github",
3288+      "username": "rockyzhang24",
3289+      "repo": "arctic.nvim",
3290+      "tags": [
3291+        "tree-sitter-supported-colorscheme"
3292+      ]
3293+    },
3294+    {
3295+      "type": "github",
3296+      "username": "romgrk",
3297+      "repo": "barbar.nvim",
3298+      "tags": [
3299+        "tabline"
3300+      ]
3301+    },
3302+    {
3303+      "type": "github",
3304+      "username": "rose-pine",
3305+      "repo": "neovim",
3306+      "tags": [
3307+        "tree-sitter-supported-colorscheme"
3308+      ]
3309+    },
3310+    {
3311+      "type": "github",
3312+      "username": "RRethy",
3313+      "repo": "nvim-base16",
3314+      "tags": [
3315+        "tree-sitter-supported-colorscheme"
3316+      ]
3317+    },
3318+    {
3319+      "type": "github",
3320+      "username": "RRethy",
3321+      "repo": "nvim-treesitter-textsubjects",
3322+      "tags": [
3323+        "syntax"
3324+      ]
3325+    },
3326+    {
3327+      "type": "github",
3328+      "username": "RRethy",
3329+      "repo": "vim-illuminate",
3330+      "tags": [
3331+        "cursorline"
3332+      ]
3333+    },
3334+    {
3335+      "type": "github",
3336+      "username": "ruifm",
3337+      "repo": "gitlinker.nvim",
3338+      "tags": [
3339+        "git"
3340+      ]
3341+    },
3342+    {
3343+      "type": "github",
3344+      "username": "s1n7ax",
3345+      "repo": "nvim-comment-frame",
3346+      "tags": [
3347+        "comment"
3348+      ]
3349+    },
3350+    {
3351+      "type": "github",
3352+      "username": "s1n7ax",
3353+      "repo": "nvim-terminal",
3354+      "tags": [
3355+        "terminal-integration"
3356+      ]
3357+    },
3358+    {
3359+      "type": "github",
3360+      "username": "Saecki",
3361+      "repo": "crates.nvim",
3362+      "tags": [
3363+        "dependency-management"
3364+      ]
3365+    },
3366+    {
3367+      "type": "github",
3368+      "username": "saifulapm",
3369+      "repo": "chartoggle.nvim",
3370+      "tags": [
3371+        "utility"
3372+      ]
3373+    },
3374+    {
3375+      "type": "github",
3376+      "username": "sainnhe",
3377+      "repo": "edge",
3378+      "tags": [
3379+        "tree-sitter-supported-colorscheme"
3380+      ]
3381+    },
3382+    {
3383+      "type": "github",
3384+      "username": "sainnhe",
3385+      "repo": "everforest",
3386+      "tags": [
3387+        "tree-sitter-supported-colorscheme"
3388+      ]
3389+    },
3390+    {
3391+      "type": "github",
3392+      "username": "sainnhe",
3393+      "repo": "gruvbox-material",
3394+      "tags": [
3395+        "tree-sitter-supported-colorscheme"
3396+      ]
3397+    },
3398+    {
3399+      "type": "github",
3400+      "username": "sainnhe",
3401+      "repo": "sonokai",
3402+      "tags": [
3403+        "tree-sitter-supported-colorscheme"
3404+      ]
3405+    },
3406+    {
3407+      "type": "github",
3408+      "username": "sakhnik",
3409+      "repo": "nvim-gdb",
3410+      "tags": [
3411+        "debugging"
3412+      ]
3413+    },
3414+    {
3415+      "type": "github",
3416+      "username": "samjwill",
3417+      "repo": "nvim-unception",
3418+      "tags": [
3419+        "terminal-integration"
3420+      ]
3421+    },
3422+    {
3423+      "type": "github",
3424+      "username": "samodostal",
3425+      "repo": "image.nvim",
3426+      "tags": [
3427+        "media"
3428+      ]
3429+    },
3430+    {
3431+      "type": "github",
3432+      "username": "Saverio976",
3433+      "repo": "music.nvim",
3434+      "tags": [
3435+        "media",
3436+        "utility"
3437+      ]
3438+    },
3439+    {
3440+      "type": "github",
3441+      "username": "savq",
3442+      "repo": "melange",
3443+      "tags": [
3444+        "tree-sitter-supported-colorscheme"
3445+      ]
3446+    },
3447+    {
3448+      "type": "github",
3449+      "username": "savq",
3450+      "repo": "paq-nvim",
3451+      "tags": [
3452+        "plugin-manager"
3453+      ]
3454+    },
3455+    {
3456+      "type": "github",
3457+      "username": "sbdchd",
3458+      "repo": "neoformat",
3459+      "tags": [
3460+        "formatting"
3461+      ]
3462+    },
3463+    {
3464+      "type": "github",
3465+      "username": "scalameta",
3466+      "repo": "nvim-metals",
3467+      "tags": [
3468+        "neovim-0.5"
3469+      ]
3470+    },
3471+    {
3472+      "type": "github",
3473+      "username": "seandewar",
3474+      "repo": "killersheep.nvim",
3475+      "tags": [
3476+        "game"
3477+      ]
3478+    },
3479+    {
3480+      "type": "github",
3481+      "username": "seandewar",
3482+      "repo": "nvimesweeper",
3483+      "tags": [
3484+        "game"
3485+      ]
3486+    },
3487+    {
3488+      "type": "github",
3489+      "username": "shaeinst",
3490+      "repo": "penvim",
3491+      "tags": [
3492+        "project"
3493+      ]
3494+    },
3495+    {
3496+      "type": "github",
3497+      "username": "shaeinst",
3498+      "repo": "roshnivim",
3499+      "tags": [
3500+        "preconfigured-configuration"
3501+      ]
3502+    },
3503+    {
3504+      "type": "github",
3505+      "username": "shaeinst",
3506+      "repo": "roshnivim-cs",
3507+      "tags": [
3508+        "tree-sitter-supported-colorscheme"
3509+      ]
3510+    },
3511+    {
3512+      "type": "github",
3513+      "username": "Shatur",
3514+      "repo": "neovim-session-manager",
3515+      "tags": [
3516+        "session"
3517+      ]
3518+    },
3519+    {
3520+      "type": "github",
3521+      "username": "Shatur",
3522+      "repo": "neovim-tasks",
3523+      "tags": [
3524+        "code-runner"
3525+      ]
3526+    },
3527+    {
3528+      "type": "github",
3529+      "username": "shaunsingh",
3530+      "repo": "moonlight.nvim",
3531+      "tags": [
3532+        "tree-sitter-supported-colorscheme"
3533+      ]
3534+    },
3535+    {
3536+      "type": "github",
3537+      "username": "shaunsingh",
3538+      "repo": "nord.nvim",
3539+      "tags": [
3540+        "tree-sitter-supported-colorscheme"
3541+      ]
3542+    },
3543+    {
3544+      "type": "github",
3545+      "username": "shaunsingh",
3546+      "repo": "nyoom.nvim",
3547+      "tags": [
3548+        "preconfigured-configuration"
3549+      ]
3550+    },
3551+    {
3552+      "type": "github",
3553+      "username": "shohi",
3554+      "repo": "neva",
3555+      "tags": [
3556+        "version-manager"
3557+      ]
3558+    },
3559+    {
3560+      "type": "github",
3561+      "username": "SidOfc",
3562+      "repo": "carbon.nvim",
3563+      "tags": [
3564+        "file-explorer"
3565+      ]
3566+    },
3567+    {
3568+      "type": "github",
3569+      "username": "siduck76",
3570+      "repo": "NvChad",
3571+      "tags": [
3572+        "preconfigured-configuration"
3573+      ]
3574+    },
3575+    {
3576+      "type": "github",
3577+      "username": "simrat39",
3578+      "repo": "rust-tools.nvim",
3579+      "tags": [
3580+        "completion"
3581+      ]
3582+    },
3583+    {
3584+      "type": "github",
3585+      "username": "simrat39",
3586+      "repo": "symbols-outline.nvim",
3587+      "tags": [
3588+        "neovim-0.5"
3589+      ]
3590+    },
3591+    {
3592+      "type": "github",
3593+      "username": "sindrets",
3594+      "repo": "diffview.nvim",
3595+      "tags": [
3596+        "git"
3597+      ]
3598+    },
3599+    {
3600+      "type": "github",
3601+      "username": "sindrets",
3602+      "repo": "winshift.nvim",
3603+      "tags": [
3604+        "split-and-window"
3605+      ]
3606+    },
3607+    {
3608+      "type": "github",
3609+      "username": "sitiom",
3610+      "repo": "nvim-numbertoggle",
3611+      "tags": [
3612+        "utility"
3613+      ]
3614+    },
3615+    {
3616+      "type": "github",
3617+      "username": "slugbyte",
3618+      "repo": "unruly-worker",
3619+      "tags": [
3620+        "keybinding",
3621+        "workman-layout"
3622+      ]
3623+    },
3624+    {
3625+      "type": "github",
3626+      "username": "SmiteshP",
3627+      "repo": "nvim-navic",
3628+      "tags": [
3629+        "bars-and-lines"
3630+      ]
3631+    },
3632+    {
3633+      "type": "github",
3634+      "username": "smjonas",
3635+      "repo": "inc-rename.nvim",
3636+      "tags": [
3637+        "neovim-0.5"
3638+      ]
3639+    },
3640+    {
3641+      "type": "github",
3642+      "username": "smjonas",
3643+      "repo": "live-command.nvim",
3644+      "tags": [
3645+        "editing-support"
3646+      ]
3647+    },
3648+    {
3649+      "type": "github",
3650+      "username": "smjonas",
3651+      "repo": "snippet-converter.nvim",
3652+      "tags": [
3653+        "snippet"
3654+      ]
3655+    },
3656+    {
3657+      "type": "github",
3658+      "username": "smzm",
3659+      "repo": "hydrovim",
3660+      "tags": [
3661+        "code-runner"
3662+      ]
3663+    },
3664+    {
3665+      "type": "github",
3666+      "username": "someone-stole-my-name",
3667+      "repo": "yaml-companion.nvim",
3668+      "tags": [
3669+        "yaml"
3670+      ]
3671+    },
3672+    {
3673+      "type": "github",
3674+      "username": "sQVe",
3675+      "repo": "sort.nvim",
3676+      "tags": [
3677+        "editing-support"
3678+      ]
3679+    },
3680+    {
3681+      "type": "github",
3682+      "username": "startup-nvim",
3683+      "repo": "startup.nvim",
3684+      "tags": [
3685+        "startup"
3686+      ]
3687+    },
3688+    {
3689+      "type": "github",
3690+      "username": "stevearc",
3691+      "repo": "aerial.nvim",
3692+      "tags": [
3693+        "neovim-0.5"
3694+      ]
3695+    },
3696+    {
3697+      "type": "github",
3698+      "username": "stevearc",
3699+      "repo": "dressing.nvim",
3700+      "tags": [
3701+        "utility"
3702+      ]
3703+    },
3704+    {
3705+      "type": "github",
3706+      "username": "stevearc",
3707+      "repo": "gkeep.nvim",
3708+      "tags": [
3709+        "note-taking"
3710+      ]
3711+    },
3712+    {
3713+      "type": "github",
3714+      "username": "stevearc",
3715+      "repo": "overseer.nvim",
3716+      "tags": [
3717+        "code-runner"
3718+      ]
3719+    },
3720+    {
3721+      "type": "github",
3722+      "username": "strash",
3723+      "repo": "everybody-wants-that-line.nvim",
3724+      "tags": [
3725+        "statusline"
3726+      ]
3727+    },
3728+    {
3729+      "type": "github",
3730+      "username": "sudormrfbin",
3731+      "repo": "cheatsheet.nvim",
3732+      "tags": [
3733+        "utility"
3734+      ]
3735+    },
3736+    {
3737+      "type": "github",
3738+      "username": "sunjon",
3739+      "repo": "Shade.nvim",
3740+      "tags": [
3741+        "color"
3742+      ]
3743+    },
3744+    {
3745+      "type": "github",
3746+      "username": "svermeulen",
3747+      "repo": "vimpeccable",
3748+      "tags": [
3749+        "neovim-lua-development"
3750+      ]
3751+    },
3752+    {
3753+      "type": "github",
3754+      "username": "tamago324",
3755+      "repo": "lir.nvim",
3756+      "tags": [
3757+        "file-explorer"
3758+      ]
3759+    },
3760+    {
3761+      "type": "github",
3762+      "username": "tamago324",
3763+      "repo": "nlsp-settings.nvim",
3764+      "tags": [
3765+        "neovim-0.5"
3766+      ]
3767+    },
3768+    {
3769+      "type": "github",
3770+      "username": "tamton-aquib",
3771+      "repo": "staline.nvim",
3772+      "tags": [
3773+        "statusline"
3774+      ]
3775+    },
3776+    {
3777+      "type": "github",
3778+      "username": "tanvirtin",
3779+      "repo": "monokai.nvim",
3780+      "tags": [
3781+        "tree-sitter-supported-colorscheme"
3782+      ]
3783+    },
3784+    {
3785+      "type": "github",
3786+      "username": "tanvirtin",
3787+      "repo": "vgit.nvim",
3788+      "tags": [
3789+        "git"
3790+      ]
3791+    },
3792+    {
3793+      "type": "github",
3794+      "username": "terrortylor",
3795+      "repo": "nvim-comment",
3796+      "tags": [
3797+        "comment"
3798+      ]
3799+    },
3800+    {
3801+      "type": "github",
3802+      "username": "Th3Whit3Wolf",
3803+      "repo": "one-nvim",
3804+      "tags": [
3805+        "tree-sitter-supported-colorscheme"
3806+      ]
3807+    },
3808+    {
3809+      "type": "github",
3810+      "username": "Th3Whit3Wolf",
3811+      "repo": "onebuddy",
3812+      "tags": [
3813+        "tree-sitter-supported-colorscheme"
3814+      ]
3815+    },
3816+    {
3817+      "type": "github",
3818+      "username": "Th3Whit3Wolf",
3819+      "repo": "space-nvim",
3820+      "tags": [
3821+        "tree-sitter-supported-colorscheme"
3822+      ]
3823+    },
3824+    {
3825+      "type": "github",
3826+      "username": "TheBlob42",
3827+      "repo": "drex.nvim",
3828+      "tags": [
3829+        "file-explorer"
3830+      ]
3831+    },
3832+    {
3833+      "type": "github",
3834+      "username": "themercorp",
3835+      "repo": "themer.lua",
3836+      "tags": [
3837+        "colorscheme-creation"
3838+      ]
3839+    },
3840+    {
3841+      "type": "github",
3842+      "username": "theniceboy",
3843+      "repo": "nvim-deus",
3844+      "tags": [
3845+        "tree-sitter-supported-colorscheme"
3846+      ]
3847+    },
3848+    {
3849+      "type": "github",
3850+      "username": "theory-of-everything",
3851+      "repo": "nii-nvim",
3852+      "tags": [
3853+        "preconfigured-configuration"
3854+      ]
3855+    },
3856+    {
3857+      "type": "github",
3858+      "username": "ThePrimeagen",
3859+      "repo": "harpoon",
3860+      "tags": [
3861+        "marks"
3862+      ]
3863+    },
3864+    {
3865+      "type": "github",
3866+      "username": "ThePrimeagen",
3867+      "repo": "refactoring.nvim",
3868+      "tags": [
3869+        "treesitter-based",
3870+        "programming-languages-support",
3871+        "editing-support"
3872+      ]
3873+    },
3874+    {
3875+      "type": "github",
3876+      "username": "ThePrimeagen",
3877+      "repo": "vim-be-good",
3878+      "tags": [
3879+        "game"
3880+      ]
3881+    },
3882+    {
3883+      "type": "github",
3884+      "username": "tiagovla",
3885+      "repo": "tokyodark.nvim",
3886+      "tags": [
3887+        "tree-sitter-supported-colorscheme"
3888+      ]
3889+    },
3890+    {
3891+      "type": "github",
3892+      "username": "TimotheeSai",
3893+      "repo": "git-sessions.nvim",
3894+      "tags": [
3895+        "session",
3896+        "git"
3897+      ]
3898+    },
3899+    {
3900+      "type": "github",
3901+      "username": "TimUntersberger",
3902+      "repo": "neofs",
3903+      "tags": [
3904+        "file-explorer"
3905+      ]
3906+    },
3907+    {
3908+      "type": "github",
3909+      "username": "TimUntersberger",
3910+      "repo": "neogit",
3911+      "tags": [
3912+        "git"
3913+      ]
3914+    },
3915+    {
3916+      "type": "github",
3917+      "username": "titanzero",
3918+      "repo": "zephyrium",
3919+      "tags": [
3920+        "tree-sitter-supported-colorscheme"
3921+      ]
3922+    },
3923+    {
3924+      "type": "github",
3925+      "username": "tjdevries",
3926+      "repo": "colorbuddy.nvim",
3927+      "tags": [
3928+        "colorscheme-creation"
3929+      ]
3930+    },
3931+    {
3932+      "type": "github",
3933+      "username": "tjdevries",
3934+      "repo": "express_line.nvim",
3935+      "tags": [
3936+        "statusline"
3937+      ]
3938+    },
3939+    {
3940+      "type": "github",
3941+      "username": "tjdevries",
3942+      "repo": "gruvbuddy.nvim",
3943+      "tags": [
3944+        "lua-colorscheme"
3945+      ]
3946+    },
3947+    {
3948+      "type": "github",
3949+      "username": "tjdevries",
3950+      "repo": "nlua.nvim",
3951+      "tags": [
3952+        "neovim-lua-development"
3953+      ]
3954+    },
3955+    {
3956+      "type": "github",
3957+      "username": "tjdevries",
3958+      "repo": "vlog.nvim",
3959+      "tags": [
3960+        "neovim-lua-development"
3961+      ]
3962+    },
3963+    {
3964+      "type": "github",
3965+      "username": "tomasiser",
3966+      "repo": "vim-code-dark",
3967+      "tags": [
3968+        "tree-sitter-supported-colorscheme"
3969+      ]
3970+    },
3971+    {
3972+      "type": "github",
3973+      "username": "toppair",
3974+      "repo": "peek.nvim",
3975+      "tags": [
3976+        "markdown-and-latex"
3977+      ]
3978+    },
3979+    {
3980+      "type": "github",
3981+      "username": "toppair",
3982+      "repo": "reach.nvim",
3983+      "tags": [
3984+        "utility"
3985+      ]
3986+    },
3987+    {
3988+      "type": "github",
3989+      "username": "tversteeg",
3990+      "repo": "registers.nvim",
3991+      "tags": [
3992+        "register"
3993+      ]
3994+    },
3995+    {
3996+      "type": "github",
3997+      "username": "tveskag",
3998+      "repo": "nvim-blame-line",
3999+      "tags": [
4000+        "git"
4001+      ]
4002+    },
4003+    {
4004+      "type": "github",
4005+      "username": "udayvir-singh",
4006+      "repo": "hibiscus.nvim",
4007+      "tags": [
4008+        "fennel"
4009+      ]
4010+    },
4011+    {
4012+      "type": "github",
4013+      "username": "udayvir-singh",
4014+      "repo": "tangerine.nvim",
4015+      "tags": [
4016+        "fennel"
4017+      ]
4018+    },
4019+    {
4020+      "type": "github",
4021+      "username": "uga-rosa",
4022+      "repo": "ccc.nvim",
4023+      "tags": [
4024+        "color"
4025+      ]
4026+    },
4027+    {
4028+      "type": "github",
4029+      "username": "utilyre",
4030+      "repo": "barbecue.nvim",
4031+      "tags": [
4032+        "winbar"
4033+      ]
4034+    },
4035+    {
4036+      "type": "github",
4037+      "username": "vi-tality",
4038+      "repo": "neovitality",
4039+      "tags": [
4040+        "preconfigured-configuration"
4041+      ]
4042+    },
4043+    {
4044+      "type": "github",
4045+      "username": "vigoux",
4046+      "repo": "complementree.nvim",
4047+      "tags": [
4048+        "completion"
4049+      ]
4050+    },
4051+    {
4052+      "type": "github",
4053+      "username": "vijaymarupudi",
4054+      "repo": "nvim-fzf",
4055+      "tags": [
4056+        "fuzzy-finder"
4057+      ]
4058+    },
4059+    {
4060+      "type": "github",
4061+      "username": "Vonr",
4062+      "repo": "align.nvim",
4063+      "tags": [
4064+        "formatting"
4065+      ]
4066+    },
4067+    {
4068+      "type": "github",
4069+      "username": "vuki656",
4070+      "repo": "package-info.nvim",
4071+      "tags": [
4072+        "dependency-management"
4073+      ]
4074+    },
4075+    {
4076+      "type": "github",
4077+      "username": "Wansmer",
4078+      "repo": "binary-swap.nvim",
4079+      "tags": [
4080+        "editing-support"
4081+      ]
4082+    },
4083+    {
4084+      "type": "github",
4085+      "username": "Wansmer",
4086+      "repo": "sibling-swap.nvim",
4087+      "tags": [
4088+        "editing-support"
4089+      ]
4090+    },
4091+    {
4092+      "type": "github",
4093+      "username": "Wansmer",
4094+      "repo": "treesj",
4095+      "tags": [
4096+        "refactoring",
4097+        "treesitter",
4098+        "splitjoin"
4099+      ]
4100+    },
4101+    {
4102+      "type": "github",
4103+      "username": "wbthomason",
4104+      "repo": "packer.nvim",
4105+      "tags": [
4106+        "plugin-manager"
4107+      ]
4108+    },
4109+    {
4110+      "type": "github",
4111+      "username": "weilbith",
4112+      "repo": "nvim-code-action-menu",
4113+      "tags": [
4114+        "neovim-0.5"
4115+      ]
4116+    },
4117+    {
4118+      "type": "github",
4119+      "username": "Weissle",
4120+      "repo": "easy-action",
4121+      "tags": [
4122+        "motion"
4123+      ]
4124+    },
4125+    {
4126+      "type": "github",
4127+      "username": "Weissle",
4128+      "repo": "persistent-breakpoints.nvim",
4129+      "tags": [
4130+        "debugging"
4131+      ]
4132+    },
4133+    {
4134+      "type": "github",
4135+      "username": "williamboman",
4136+      "repo": "mason.nvim",
4137+      "tags": [
4138+        "lsp-installer"
4139+      ]
4140+    },
4141+    {
4142+      "type": "github",
4143+      "username": "windwp",
4144+      "repo": "nvim-autopairs",
4145+      "tags": [
4146+        "editing-support"
4147+      ]
4148+    },
4149+    {
4150+      "type": "github",
4151+      "username": "windwp",
4152+      "repo": "nvim-projectconfig",
4153+      "tags": [
4154+        "project"
4155+      ]
4156+    },
4157+    {
4158+      "type": "github",
4159+      "username": "windwp",
4160+      "repo": "nvim-spectre",
4161+      "tags": [
4162+        "project"
4163+      ]
4164+    },
4165+    {
4166+      "type": "github",
4167+      "username": "windwp",
4168+      "repo": "nvim-ts-autotag",
4169+      "tags": [
4170+        "editing-support"
4171+      ]
4172+    },
4173+    {
4174+      "type": "github",
4175+      "username": "windwp",
4176+      "repo": "windline.nvim",
4177+      "tags": [
4178+        "statusline"
4179+      ]
4180+    },
4181+    {
4182+      "type": "github",
4183+      "username": "winston0410",
4184+      "repo": "commented.nvim",
4185+      "tags": [
4186+        "comment"
4187+      ]
4188+    },
4189+    {
4190+      "type": "github",
4191+      "username": "winston0410",
4192+      "repo": "range-highlight.nvim",
4193+      "tags": [
4194+        "color"
4195+      ]
4196+    },
4197+    {
4198+      "type": "github",
4199+      "username": "woosaaahh",
4200+      "repo": "sj.nvim",
4201+      "tags": [
4202+        "motion"
4203+      ]
4204+    },
4205+    {
4206+      "type": "github",
4207+      "username": "wuelnerdotexe",
4208+      "repo": "vim-enfocado",
4209+      "tags": [
4210+        "tree-sitter-supported-colorscheme"
4211+      ]
4212+    },
4213+    {
4214+      "type": "github",
4215+      "username": "xeluxee",
4216+      "repo": "competitest.nvim",
4217+      "tags": [
4218+        "competitive-programming"
4219+      ]
4220+    },
4221+    {
4222+      "type": "github",
4223+      "username": "xiyaowong",
4224+      "repo": "link-visitor.nvim",
4225+      "tags": [
4226+        "utility"
4227+      ]
4228+    },
4229+    {
4230+      "type": "github",
4231+      "username": "xiyaowong",
4232+      "repo": "nvim-cursorword",
4233+      "tags": [
4234+        "cursorline"
4235+      ]
4236+    },
4237+    {
4238+      "type": "github",
4239+      "username": "xiyaowong",
4240+      "repo": "nvim-transparent",
4241+      "tags": [
4242+        "color"
4243+      ]
4244+    },
4245+    {
4246+      "type": "github",
4247+      "username": "xiyaowong",
4248+      "repo": "virtcolumn.nvim",
4249+      "tags": [
4250+        "utility"
4251+      ]
4252+    },
4253+    {
4254+      "type": "github",
4255+      "username": "Xuyuanp",
4256+      "repo": "scrollbar.nvim",
4257+      "tags": [
4258+        "scrollbar"
4259+      ]
4260+    },
4261+    {
4262+      "type": "github",
4263+      "username": "Xuyuanp",
4264+      "repo": "yanil",
4265+      "tags": [
4266+        "file-explorer"
4267+      ]
4268+    },
4269+    {
4270+      "type": "github",
4271+      "username": "yamatsum",
4272+      "repo": "nvim-cursorline",
4273+      "tags": [
4274+        "cursorline"
4275+      ]
4276+    },
4277+    {
4278+      "type": "github",
4279+      "username": "yamatsum",
4280+      "repo": "nvim-nonicons",
4281+      "tags": [
4282+        "icon"
4283+      ]
4284+    },
4285+    {
4286+      "type": "github",
4287+      "username": "yaocccc",
4288+      "repo": "nvim-hlchunk",
4289+      "tags": [
4290+        "indent"
4291+      ]
4292+    },
4293+    {
4294+      "type": "github",
4295+      "username": "yaocccc",
4296+      "repo": "nvim-lines.lua",
4297+      "tags": [
4298+        "statusline"
4299+      ]
4300+    },
4301+    {
4302+      "type": "github",
4303+      "username": "yashguptaz",
4304+      "repo": "calvera-dark.nvim",
4305+      "tags": [
4306+        "tree-sitter-supported-colorscheme"
4307+      ]
4308+    },
4309+    {
4310+      "type": "github",
4311+      "username": "yazeed1s",
4312+      "repo": "minimal.nvim",
4313+      "tags": [
4314+        "tree-sitter-supported-colorscheme"
4315+      ]
4316+    },
4317+    {
4318+      "type": "github",
4319+      "username": "yonlu",
4320+      "repo": "omni.vim",
4321+      "tags": [
4322+        "tree-sitter-supported-colorscheme"
4323+      ]
4324+    },
4325+    {
4326+      "type": "github",
4327+      "username": "zbirenbaum",
4328+      "repo": "neodim",
4329+      "tags": [
4330+        "utility"
4331+      ]
4332+    },
4333+    {
4334+      "type": "github",
4335+      "username": "ZhiyuanLck",
4336+      "repo": "smart-pairs",
4337+      "tags": [
4338+        "editing-support"
4339+      ]
4340+    },
4341+    {
4342+      "type": "github",
4343+      "username": "ziontee113",
4344+      "repo": "color-picker.nvim",
4345+      "tags": [
4346+        "color"
4347+      ]
4348+    },
4349+    {
4350+      "type": "github",
4351+      "username": "ziontee113",
4352+      "repo": "icon-picker.nvim",
4353+      "tags": [
4354+        "icon"
4355+      ]
4356+    },
4357+    {
4358+      "type": "github",
4359+      "username": "ziontee113",
4360+      "repo": "syntax-tree-surfer",
4361+      "tags": [
4362+        "treesitter-based"
4363+      ]
4364+    }
4365+  ]
4366+}
A deno.json
+16, -0
 1@@ -0,0 +1,16 @@
 2+{
 3+  "lint": {
 4+    "files": {
 5+      "include": ["src/", "scripts/"]
 6+    },
 7+    "rules": {
 8+      "tags": ["recommended"],
 9+      "exclude": ["no-explicit-any"]
10+    }
11+  },
12+  "fmt": {
13+    "files": {
14+      "include": ["src/", "scripts/"]
15+    }
16+  }
17+}
A deno.lock
+102, -0
  1@@ -0,0 +1,102 @@
  2+{
  3+  "version": "2",
  4+  "remote": {
  5+    "https://deno.land/std@0.152.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74",
  6+    "https://deno.land/std@0.152.0/_util/os.ts": "3b4c6e27febd119d36a416d7a97bd3b0251b77c88942c8f16ee5953ea13e2e49",
  7+    "https://deno.land/std@0.152.0/async/deferred.ts": "bc18e28108252c9f67dfca2bbc4587c3cbf3aeb6e155f8c864ca8ecff992b98a",
  8+    "https://deno.land/std@0.152.0/bytes/bytes_list.ts": "aba5e2369e77d426b10af1de0dcc4531acecec27f9b9056f4f7bfbf8ac147ab4",
  9+    "https://deno.land/std@0.152.0/bytes/equals.ts": "3c3558c3ae85526f84510aa2b48ab2ad7bdd899e2e0f5b7a8ffc85acb3a6043a",
 10+    "https://deno.land/std@0.152.0/bytes/mod.ts": "763f97d33051cc3f28af1a688dfe2830841192a9fea0cbaa55f927b49d49d0bf",
 11+    "https://deno.land/std@0.152.0/crypto/timing_safe_equal.ts": "82a29b737bc8932d75d7a20c404136089d5d23629e94ba14efa98a8cc066c73e",
 12+    "https://deno.land/std@0.152.0/encoding/base64.ts": "c57868ca7fa2fbe919f57f88a623ad34e3d970d675bdc1ff3a9d02bba7409db2",
 13+    "https://deno.land/std@0.152.0/fmt/colors.ts": "6f9340b7fb8cc25a993a99e5efc56fe81bb5af284ff412129dd06df06f53c0b4",
 14+    "https://deno.land/std@0.152.0/http/_negotiation/common.ts": "410e902f01cdd324e4746e8017595be4fc357d6fc4cd6044f2f808a943d7eaf7",
 15+    "https://deno.land/std@0.152.0/http/_negotiation/encoding.ts": "f749c1d539d139af783e8a7741de5a47a98a5e3c9af82b8af512567ccf5fe632",
 16+    "https://deno.land/std@0.152.0/http/_negotiation/language.ts": "53c306186904d2dace4c624a8822542866ad332a7f40ac90e0af1504f95c63d0",
 17+    "https://deno.land/std@0.152.0/http/_negotiation/media_type.ts": "ecdda87286495f7ff25116858f5088856953e2f1585e593d314e0c71b826a137",
 18+    "https://deno.land/std@0.152.0/http/http_errors.ts": "fe9b7f95f7ee0592c3306f8c7aed03ba53d55d1ef81e00041c1171b9588f46d9",
 19+    "https://deno.land/std@0.152.0/http/http_status.ts": "897575a7d6bc2b9123f6a38ecbc0f03d95a532c5d92029315dc9f508e12526b8",
 20+    "https://deno.land/std@0.152.0/http/negotiation.ts": "f35b1ff2ad4ff9feaa00ac234960b398172768205c8eceaef7f2eafe34716ba2",
 21+    "https://deno.land/std@0.152.0/io/buffer.ts": "bd0c4bf53db4b4be916ca5963e454bddfd3fcd45039041ea161dbf826817822b",
 22+    "https://deno.land/std@0.152.0/io/readers.ts": "45847ad404afd2f605eae1cff193f223462bc55eeb9ae313c2f3db28aada0fd6",
 23+    "https://deno.land/std@0.152.0/io/types.d.ts": "0cae3a62da7a37043661746c65c021058bae020b54e50c0e774916e5d4baee43",
 24+    "https://deno.land/std@0.152.0/media_types/_util.ts": "ce9b4fc4ba1c447dafab619055e20fd88236ca6bdd7834a21f98bd193c3fbfa1",
 25+    "https://deno.land/std@0.152.0/media_types/mod.ts": "3829264ca0610cac40f3214f939d7733483523f82bc1041c51045d7c75fb93b8",
 26+    "https://deno.land/std@0.152.0/media_types/vendor/mime-db.v1.52.0.ts": "724cee25fa40f1a52d3937d6b4fbbfdd7791ff55e1b7ac08d9319d5632c7f5af",
 27+    "https://deno.land/std@0.152.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3",
 28+    "https://deno.land/std@0.152.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09",
 29+    "https://deno.land/std@0.152.0/path/_util.ts": "c1e9686d0164e29f7d880b2158971d805b6e0efc3110d0b3e24e4b8af2190d2b",
 30+    "https://deno.land/std@0.152.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633",
 31+    "https://deno.land/std@0.152.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee",
 32+    "https://deno.land/std@0.152.0/path/mod.ts": "56fec03ad0ebd61b6ab39ddb9b0ddb4c4a5c9f2f4f632e09dd37ec9ebfd722ac",
 33+    "https://deno.land/std@0.152.0/path/posix.ts": "c1f7afe274290ea0b51da07ee205653b2964bd74909a82deb07b69a6cc383aaa",
 34+    "https://deno.land/std@0.152.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9",
 35+    "https://deno.land/std@0.152.0/path/win32.ts": "bd7549042e37879c68ff2f8576a25950abbfca1d696d41d82c7bca0b7e6f452c",
 36+    "https://deno.land/std@0.152.0/streams/conversion.ts": "fc3db02026183da795fa32ac7549868e9f19c75ba029d4b4c3739af62b48517a",
 37+    "https://deno.land/std@0.152.0/testing/_diff.ts": "029a00560b0d534bc0046f1bce4bd36b3b41ada3f2a3178c85686eb2ff5f1413",
 38+    "https://deno.land/std@0.152.0/testing/_format.ts": "0d8dc79eab15b67cdc532826213bbe05bccfd276ca473a50a3fc7bbfb7260642",
 39+    "https://deno.land/std@0.152.0/testing/asserts.ts": "093735c88f52bbead7f60a1f7a97a2ce4df3c2d5fab00a46956f20b4a5793ccd",
 40+    "https://deno.land/std@0.166.0/_util/asserts.ts": "d0844e9b62510f89ce1f9878b046f6a57bf88f208a10304aab50efcb48365272",
 41+    "https://deno.land/std@0.166.0/_util/os.ts": "8a33345f74990e627b9dfe2de9b040004b08ea5146c7c9e8fe9a29070d193934",
 42+    "https://deno.land/std@0.166.0/bytes/bytes_list.ts": "aba5e2369e77d426b10af1de0dcc4531acecec27f9b9056f4f7bfbf8ac147ab4",
 43+    "https://deno.land/std@0.166.0/bytes/equals.ts": "3c3558c3ae85526f84510aa2b48ab2ad7bdd899e2e0f5b7a8ffc85acb3a6043a",
 44+    "https://deno.land/std@0.166.0/bytes/mod.ts": "b2e342fd3669176a27a4e15061e9d588b89c1aaf5008ab71766e23669565d179",
 45+    "https://deno.land/std@0.166.0/encoding/base64.ts": "c57868ca7fa2fbe919f57f88a623ad34e3d970d675bdc1ff3a9d02bba7409db2",
 46+    "https://deno.land/std@0.166.0/io/buffer.ts": "245f1762a949082ddc0a6e9b15589d0be2d29c150266decd04320b8a8318f9f6",
 47+    "https://deno.land/std@0.166.0/io/mod.ts": "6e781ebafd5cdccf9ab4afa1f499b08c513602d023cb08ceebc58758501f78bd",
 48+    "https://deno.land/std@0.166.0/io/readers.ts": "45847ad404afd2f605eae1cff193f223462bc55eeb9ae313c2f3db28aada0fd6",
 49+    "https://deno.land/std@0.166.0/io/types.d.ts": "107e1e64834c5ba917c783f446b407d33432c5d612c4b3430df64fc2b4ecf091",
 50+    "https://deno.land/std@0.166.0/io/util.ts": "294d163962e3310bd9485d3315c183dc3d0da1e6ddf23495c682f8e17e0413a8",
 51+    "https://deno.land/std@0.166.0/io/writers.ts": "2e1c63ffd0cfba411b1fd8374609abff9ea86187c9d4d885d42e6fc20325ef0e",
 52+    "https://deno.land/std@0.166.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3",
 53+    "https://deno.land/std@0.166.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09",
 54+    "https://deno.land/std@0.166.0/path/_util.ts": "d16be2a16e1204b65f9d0dfc54a9bc472cafe5f4a190b3c8471ec2016ccd1677",
 55+    "https://deno.land/std@0.166.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633",
 56+    "https://deno.land/std@0.166.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee",
 57+    "https://deno.land/std@0.166.0/path/mod.ts": "56fec03ad0ebd61b6ab39ddb9b0ddb4c4a5c9f2f4f632e09dd37ec9ebfd722ac",
 58+    "https://deno.land/std@0.166.0/path/posix.ts": "6b63de7097e68c8663c84ccedc0fd977656eb134432d818ecd3a4e122638ac24",
 59+    "https://deno.land/std@0.166.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9",
 60+    "https://deno.land/std@0.166.0/path/win32.ts": "7cebd2bda6657371adc00061a1d23fdd87bcdf64b4843bb148b0b24c11b40f69",
 61+    "https://deno.land/x/oak@v11.1.0/application.ts": "0a728331822b8e27727ceec48a8499657c3163fc48fd379a8a9578a75f3cdb62",
 62+    "https://deno.land/x/oak@v11.1.0/body.ts": "78402a4936accb80372c4944384658105604352d6783de7ff1e36b8832dd93c9",
 63+    "https://deno.land/x/oak@v11.1.0/buf_reader.ts": "7cf96aa0ac670b75098113cf88a291a68332cc45efa8a9698f064ac5b8098a0f",
 64+    "https://deno.land/x/oak@v11.1.0/content_disposition.ts": "8b8c3cb2fba7138cd5b7f82fc3b5ea39b33db924a824b28261659db7e164621e",
 65+    "https://deno.land/x/oak@v11.1.0/context.ts": "014d1ce40e62a7901411425541b0d5a08018968a330595bd686f8d00222a35bb",
 66+    "https://deno.land/x/oak@v11.1.0/cookies.ts": "d9f94b99f26c6169c6982ce12323c41a548d001bfc28f464264c22dc3dbf2181",
 67+    "https://deno.land/x/oak@v11.1.0/deps.ts": "b897b0f2bec99cd8b402b279b7f21de955d98cbd72835b6c912be5e11c26148b",
 68+    "https://deno.land/x/oak@v11.1.0/etag.ts": "19918f5e1964e3fe6c9fe524a88ffbf9900ce1dfe4146b187b2a86256bb6b663",
 69+    "https://deno.land/x/oak@v11.1.0/headers.ts": "f50fb05614432bda971021633129aa2e8737e0844e0f01c27a937997b4d8dd4f",
 70+    "https://deno.land/x/oak@v11.1.0/helpers.ts": "42212afa07a560b2958359cc19577417e89d9574d6579551a0af36ff7f00cc6e",
 71+    "https://deno.land/x/oak@v11.1.0/http_request.ts": "0831c828816fcb58a5aa8361c6865c4151f4c8b59fabcef2e2cd235bb28170c5",
 72+    "https://deno.land/x/oak@v11.1.0/http_server_flash.ts": "e312754acad26d3d70f243d657547e697921f67f0a2179dbec41a20a3228fd79",
 73+    "https://deno.land/x/oak@v11.1.0/http_server_native.ts": "549dffcd2db5cbb0e44ad50cf9c54956b42a10450b1ac66e1362e32a073c8c1b",
 74+    "https://deno.land/x/oak@v11.1.0/http_server_native_request.ts": "07910ea2ed51af6c4e69addf9015cdd8d2b5c9ee03fd4993e386834a129a9eb6",
 75+    "https://deno.land/x/oak@v11.1.0/isMediaType.ts": "62d638abcf837ece3a8f07a4b7ca59794135cb0d4b73194c7d5837efd4161005",
 76+    "https://deno.land/x/oak@v11.1.0/keyStack.ts": "fa0d5898fb8ba34de1c9cdcf4b2e8434952dc9931671858d33560368784a22ef",
 77+    "https://deno.land/x/oak@v11.1.0/mediaTyper.ts": "042b853fc8e9c3f6c628dd389e03ef481552bf07242efc3f8a1af042102a6105",
 78+    "https://deno.land/x/oak@v11.1.0/middleware.ts": "de14f045a2ddfe845d89b5d3140ff52cbcc6f3b3965391106ce04480f9786737",
 79+    "https://deno.land/x/oak@v11.1.0/middleware/proxy.ts": "b927232f97ec18af4185d7912e45b1191e3ffe24a9c875262ad524211b1274c9",
 80+    "https://deno.land/x/oak@v11.1.0/mod.ts": "de52855c8f626e30ba683fb265c0a0773ba2f5f117b3549b7d9c857edba58338",
 81+    "https://deno.land/x/oak@v11.1.0/multipart.ts": "98fe9f226de8c26a16d067027b69fb1e34ad8c4055767dd157907d06cea36f9a",
 82+    "https://deno.land/x/oak@v11.1.0/range.ts": "68a6df7ab3b868843e33f52deb94c3d4cab25cb9ef369691990c2ac15b04fafb",
 83+    "https://deno.land/x/oak@v11.1.0/request.ts": "5852ad36389b48e0428a6f3c90854d01f10d1b15949b56001e1e75c2a00ef0f9",
 84+    "https://deno.land/x/oak@v11.1.0/response.ts": "867d81f7eb0c65c7b8e0e0e9e145ededd5b6daa9ad922e6adc6a36a525f439a6",
 85+    "https://deno.land/x/oak@v11.1.0/router.ts": "187522a549f6c179ff01d321882a8bfacbfb7f3e24b004ec4534a3613c7f9b0e",
 86+    "https://deno.land/x/oak@v11.1.0/send.ts": "7ef2591792426d62add91536bb434566d4b224247ca343fdd63e486f9d4e9446",
 87+    "https://deno.land/x/oak@v11.1.0/server_sent_event.ts": "948b0fe4cb3fe38c7db15e476eb3b7671ef20e566d130e9f701d7c0146aa47dd",
 88+    "https://deno.land/x/oak@v11.1.0/structured_clone.ts": "ecf42598652b8082f37252cb873d6e257ad728e6fe73c6bd61f343d94501fbde",
 89+    "https://deno.land/x/oak@v11.1.0/testing.ts": "7612656efd2975f7a2e6848609f5971922dbec46b76372c5c623202fdd7b9a85",
 90+    "https://deno.land/x/oak@v11.1.0/types.d.ts": "41951a18c3bfdb11e40707cab75da078ba8a4907cd7d4e11d8536bc2db0dde05",
 91+    "https://deno.land/x/oak@v11.1.0/util.ts": "3af8c4ed04c6cc2bedbe66e562a77fc59c72df31c55a902a63885861ca1639d6",
 92+    "https://deno.land/x/path_to_regexp@v6.2.1/index.ts": "894060567837bae8fc9c5cbd4d0a05e9024672083d5883b525c031eea940e556"
 93+  },
 94+  "npm": {
 95+    "specifiers": { "marked": "marked@4.2.3" },
 96+    "packages": {
 97+      "marked@4.2.3": {
 98+        "integrity": "sha512-slWRdJkbTZ+PjkyJnE30Uid64eHwbwa1Q25INCAYfZlK4o6ylagBy/Le9eWntqJFoFT93ikUKMv47GZ4gTwHkw==",
 99+        "dependencies": {}
100+      }
101+    }
102+  }
103+}
D deploy.sh
+0, -11
 1@@ -1,11 +0,0 @@
 2-#!/bin/bash
 3-set -x
 4-set -e
 5-
 6-$NODE --experimental-specifier-resolution=node --loader ts-node/esm scripts/scrape.ts
 7-$NODE --experimental-specifier-resolution=node --loader ts-node/esm scripts/process.ts
 8-$NODE --loader ts-node/esm scripts/html.ts
 9-rm -rf build
10-./node_modules/.bin/svelte-kit build && $NODE scripts/postbuild.js
11-gsutil -m rm -r gs://neovimcraft.com/*
12-gsutil -m -h 'Cache-Control:private, max-age=0, no-transform' rsync -r ./build gs://neovimcraft.com
A dev.ts
+16, -0
 1@@ -0,0 +1,16 @@
 2+import { Application } from "https://deno.land/x/oak/mod.ts";
 3+
 4+const app = new Application();
 5+
 6+app.use(async (context, next) => {
 7+  try {
 8+    await context.send({
 9+      root: `${Deno.cwd()}/static`,
10+      index: "index.html",
11+    });
12+  } catch {
13+    await next();
14+  }
15+});
16+
17+await app.listen({ port: 8080 });
D package.json
+0, -61
 1@@ -1,61 +0,0 @@
 2-{
 3-  "name": "neovimcraft",
 4-  "version": "0.0.0",
 5-  "scripts": {
 6-    "dev": "svelte-kit dev --host 0.0.0.0",
 7-    "build:clean": "rm -rf build",
 8-    "build": "svelte-kit build && node scripts/postbuild.js",
 9-    "preview": "svelte-kit preview --host 0.0.0.0",
10-    "check": "svelte-check --tsconfig ./tsconfig.json",
11-    "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
12-    "lint": "prettier --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
13-    "format": "prettier --write --plugin-search-dir=. .",
14-    "prepare": "husky install",
15-    "scrape": "node --no-warnings --es-module-specifier-resolution=node --loader ts-node/esm scripts/scrape.ts",
16-    "patch": "node --no-warnings --es-module-specifier-resolution=node --loader ts-node/esm scripts/patch.ts",
17-    "process": "node --no-warnings --es-module-specifier-resolution=node --loader ts-node/esm scripts/process.ts",
18-    "html": "node --no-warnings --es-module-specifier-resolution=node --loader ts-node/esm scripts/html.ts",
19-    "resource": "node --no-warnings --es-module-specifier-resolution=node --loader ts-node/esm scripts/resource.ts",
20-    "resource:clean": "node --no-warnings --es-module-specifier-resolution=node --loader ts-node/esm scripts/resource-clean.ts",
21-    "upload:clean": "gsutil -m rm -r gs://neovimcraft.com/*",
22-    "upload": "gsutil -m -h 'Cache-Control:private, max-age=0, no-transform' rsync -r ./build gs://neovimcraft.com",
23-    "upload:db": "gsutil -m -h 'Cache-Control:private, max-age=0, no-transform' cp ./src/lib/db.json gs://neovimcraft.com/db.json",
24-    "build:all": "yarn scrape && yarn patch && yarn process && yarn html && yarn build:clean && yarn build",
25-    "deploy": "yarn build:clean && yarn build && yarn upload:clean && yarn upload && yarn upload:db",
26-    "deploy:all": "yarn scrape && yarn patch && yarn process && yarn html && yarn deploy"
27-  },
28-  "devDependencies": {
29-    "@sveltejs/adapter-static": "^1.0.0-next.13",
30-    "@sveltejs/kit": "^1.0.0-next.139",
31-    "@types/marked": "^2.0.4",
32-    "@types/node": "^16.4.10",
33-    "@types/node-fetch": "^2.5.12",
34-    "@types/prettier": "^2.3.2",
35-    "@typescript-eslint/eslint-plugin": "^4.19.0",
36-    "@typescript-eslint/parser": "^4.19.0",
37-    "eslint": "^7.22.0",
38-    "eslint-config-prettier": "^8.1.0",
39-    "eslint-plugin-svelte3": "^3.2.0",
40-    "husky": ">=6",
41-    "just-throttle": "^2.3.1",
42-    "lint-staged": ">=10",
43-    "marked": "^2.1.3",
44-    "node-fetch": "^2.6.1",
45-    "prettier": "~2.2.1",
46-    "prettier-plugin-svelte": "^2.2.0",
47-    "query-string": "^7.0.1",
48-    "replace": "^1.2.1",
49-    "svelte": "3.34.0",
50-    "svelte-check": "2.0.0",
51-    "svelte-preprocess": "^4.0.0",
52-    "ts-node": "^10.7.0",
53-    "tslib": "^2.0.0",
54-    "typescript": "^4.6.3"
55-  },
56-  "type": "module",
57-  "lint-staged": {
58-    "*.js": "eslint --cache --fix",
59-    "*.{js,css,md}": "prettier --write"
60-  },
61-  "dependencies": {}
62-}
M scripts/html.ts
+22, -28
 1@@ -1,37 +1,34 @@
 2-import fs from 'fs';
 3-import util from 'util';
 4-import marked from 'marked';
 5-import prettier from 'prettier';
 6+import { marked } from "npm:marked";
 7 
 8-import type { Plugin } from '../src/lib/types';
 9-
10-const writeFile = util.promisify(fs.writeFile);
11-const readFile = util.promisify(fs.readFile);
12+import type { Plugin } from "../src/types.ts";
13 
14 clean().catch(console.error);
15 
16 async function clean() {
17-  const file = await readFile('./src/lib/db.json', 'utf-8');
18+  const file = await Deno.readTextFile("./data/db.json");
19   const db = JSON.parse(file.toString());
20-  const markdownFile = await readFile('./src/lib/markdown.json', 'utf-8');
21+  const markdownFile = await Deno.readTextFile("./data/markdown.json");
22   const markdownDb = JSON.parse(markdownFile.toString());
23 
24-  const plugins = Object.values(db.plugins);
25-  const nextDb = {};
26-  plugins.forEach((plugin: Plugin) => {
27+  const plugins = Object.values(db.plugins) as Plugin[];
28+  const nextDb: { [key: string]: string } = {};
29+  plugins.forEach((plugin) => {
30     console.log(`processing ${plugin.id}`);
31     marked.use({
32-      walkTokens: (token) => {
33-        const domain = 'https://github.com';
34-        const pre = `${domain}/${plugin.username}/${plugin.repo}/blob/${plugin.branch}`;
35-
36-        if (token.type === 'link' || token.type === 'image') {
37-          if (token.href && !token.href.startsWith('http') && !token.href.startsWith('#')) {
38-            token.href = `${pre}/${token.href.replace('./', ``)}`;
39+      walkTokens: (token: any) => {
40+        const domain = "https://github.com";
41+        const pre =
42+          `${domain}/${plugin.username}/${plugin.repo}/blob/${plugin.branch}`;
43+
44+        if (token.type === "link" || token.type === "image") {
45+          if (
46+            token.href && !token.href.startsWith("http") &&
47+            !token.href.startsWith("#")
48+          ) {
49+            token.href = `${pre}/${token.href.replace("./", ``)}`;
50           }
51-        } else if (token.type === 'html') {
52-          token.text = '';
53-          // token.text = token.text.replace(/\.\//g, `${pre}/`);
54+        } else if (token.type === "html") {
55+          token.text = "";
56         }
57       },
58     });
59@@ -43,11 +40,8 @@ async function clean() {
60   });
61 
62   try {
63-    const json = prettier.format(JSON.stringify({ html: nextDb }), {
64-      parser: 'json',
65-      printWidth: 100,
66-    });
67-    await writeFile('./src/lib/html.json', json);
68+    const json = JSON.stringify({ html: nextDb }, null, 2);
69+    await Deno.writeTextFile("./data/html.json", json);
70   } catch (err) {
71     console.error(err);
72   }
M scripts/patch.ts
+10, -16
 1@@ -1,24 +1,21 @@
 2-import fs from 'fs';
 3-import util from 'util';
 4-import prettier from 'prettier';
 5+import scrapeData from "../data/scrape.json" assert { type: "json" };
 6+import manualData from "../data/manual.json" assert { type: "json" };
 7 
 8-import scrapeData from '../src/lib/scrape.json';
 9-import manualData from '../src/lib/manual.json';
10-
11-import type { Resource, ResourceMap } from '../src/lib/types';
12-
13-const writeFile = util.promisify(fs.writeFile);
14+import type { Resource, ResourceMap } from "../src/types.ts";
15 
16 patch().then(console.log).catch(console.error);
17 
18 async function patch() {
19   const db: ResourceMap = {};
20   const getId = (r: Resource) => `${r.username}/${r.repo}`;
21-  scrapeData.resources.forEach((r: Resource) => {
22+  const scrapeResources = scrapeData.resources as Resource[];
23+  scrapeResources.forEach((r: Resource) => {
24     db[getId(r)] = r;
25   });
26+
27+  const manualResources = manualData.resources as Resource[];
28   // resource file trumps what we scrape so we can make changes to things like the tags
29-  manualData.resources.forEach((r: Resource) => {
30+  manualResources.forEach((r) => {
31     db[getId(r)] = r;
32   });
33 
34@@ -29,10 +26,7 @@ async function patch() {
35     return a.username.localeCompare(b.username);
36   });
37   const data = { resources: newResources };
38-  const json = prettier.format(JSON.stringify(data), {
39-    parser: 'json',
40-    printWidth: 100,
41-  });
42+  const json = JSON.stringify(data, null, 2);
43 
44-  await writeFile('./src/lib/resources.json', json);
45+  await Deno.writeTextFile("./data/resources.json", json);
46 }
D scripts/postbuild.js
+0, -8
1@@ -1,8 +0,0 @@
2-import replace from 'replace';
3-
4-replace({
5-  regex: 'query: new URLSearchParams(.+),',
6-  replacement: 'query: new URLSearchParams(location.search),',
7-  paths: ['build'],
8-  recursive: true,
9-});
M scripts/process.ts
+49, -46
  1@@ -1,24 +1,19 @@
  2-import fs from 'fs';
  3-import util from 'util';
  4-import fetch from 'node-fetch';
  5-import prettier from 'prettier';
  6-
  7-import type { Plugin, Resource } from '../src/lib/types';
  8-import { createPlugin } from '../src/lib/entities';
  9-import resourceFile from '../src/lib/resources.json';
 10-
 11-const readFile = util.promisify(fs.readFile);
 12-const writeFile = util.promisify(fs.writeFile);
 13-const accessToken = process.env.GITHUB_ACCESS_TOKEN || '';
 14-const accessUsername = process.env.GITHUB_USERNAME || '';
 15-
 16-const args = process.argv;
 17-const option = args[2];
 18-if (option === 'missing') {
 19-  console.log('PROCESSING MISSING RESOURCES');
 20+import { encode } from "https://deno.land/std/encoding/base64.ts";
 21+
 22+import resourceFile from "../data/resources.json" assert { type: "json" };
 23+
 24+import type { Plugin, Resource } from "../src/types.ts";
 25+import { createPlugin } from "../src/entities.ts";
 26+
 27+const accessToken = Deno.env.get("GITHUB_ACCESS_TOKEN") || "";
 28+const accessUsername = Deno.env.get("GITHUB_USERNAME") || "";
 29+
 30+const option = Deno.args[0];
 31+if (option === "missing") {
 32+  console.log("PROCESSING MISSING RESOURCES");
 33   processMissingResources().then(saveData).catch(console.error);
 34 } else {
 35-  console.log('PROCESSING ALL RESOURCES');
 36+  console.log("PROCESSING ALL RESOURCES");
 37   processResources(resourceFile.resources as Resource[])
 38     .then(saveData)
 39     .catch(console.error);
 40@@ -30,10 +25,11 @@ interface Props {
 41 }
 42 
 43 async function processMissingResources() {
 44-  const dbFile = await readFile('./src/lib/db.json');
 45+  const dbFile = await Deno.readTextFile("./data/db.json");
 46   const db = JSON.parse(dbFile.toString());
 47   const missing: Resource[] = [];
 48-  resourceFile.resources.forEach((r: Resource) => {
 49+  const resources = resourceFile.resources as Resource[];
 50+  resources.forEach((r) => {
 51     if (db.plugins[`${r.username}/${r.repo}`]) {
 52       return;
 53     }
 54@@ -43,33 +39,39 @@ async function processMissingResources() {
 55   console.log(`Missing ${missing.length} resources`);
 56 
 57   const results = await processResources(missing);
 58-  const markdownFile = await readFile('./src/lib/markdown.json');
 59+  const markdownFile = await Deno.readTextFile("./data/markdown.json");
 60   const markdownJson = JSON.parse(markdownFile.toString());
 61   const plugins = { ...db.plugins, ...results.plugins };
 62   const markdown = { ...markdownJson.markdown, ...results.markdown };
 63   return { plugins, markdown };
 64 }
 65 
 66-async function delay(ms: number): Promise<void> {
 67+function delay(ms: number): Promise<void> {
 68   return new Promise((resolve) => setTimeout(() => resolve(), ms));
 69 }
 70 
 71-async function githubApi(endpoint: string): Promise<Resp<{ [key: string]: any }>> {
 72+async function githubApi(
 73+  endpoint: string,
 74+): Promise<Resp<{ [key: string]: any }>> {
 75   const url = `https://api.github.com${endpoint}`;
 76   console.log(`Fetching ${url}`);
 77-  const token = Buffer.from(`${accessUsername}:${accessToken}`).toString('base64');
 78+  const token = encode(`${accessUsername}:${accessToken}`);
 79   const res = await fetch(url, {
 80     headers: { Authorization: `Basic ${token}` },
 81   });
 82 
 83-  const rateLimitRemaining = parseInt(res.headers.get('X-RateLimit-Remaining'));
 84-  const rateLimitReset = parseInt(res.headers.get('X-RateLimit-Reset'));
 85+  const rateLimitRemaining = parseInt(
 86+    res.headers.get("X-RateLimit-Remaining") || "0",
 87+  );
 88+  const rateLimitReset = parseInt(res.headers.get("X-RateLimit-Reset") || "0");
 89   console.log(`rate limit remaining: ${rateLimitRemaining}`);
 90   if (rateLimitRemaining === 1) {
 91     const now = Date.now();
 92     const RESET_BUFFER = 500;
 93     const wait = rateLimitReset + RESET_BUFFER - now;
 94-    console.log(`About to hit github rate limit, waiting ${wait * 1000} seconds`);
 95+    console.log(
 96+      `About to hit github rate limit, waiting ${wait * 1000} seconds`,
 97+    );
 98     await delay(wait);
 99   }
100 
101@@ -81,9 +83,9 @@ async function githubApi(endpoint: string): Promise<Resp<{ [key: string]: any }>
102       ok: false,
103       data: {
104         status: res.status,
105-        error: new Error(`JSON parsing error [${url}]`)
106-      }
107-    }
108+        error: new Error(`JSON parsing error [${url}]`),
109+      },
110+    };
111   }
112 
113   if (res.ok) {
114@@ -121,7 +123,9 @@ async function fetchReadme({ username, repo }: Props): Promise<Resp<string>> {
115   };
116 }
117 
118-async function fetchRepo({ username, repo }: Props): Promise<Resp<{ [key: string]: any }>> {
119+async function fetchRepo(
120+  { username, repo }: Props,
121+): Promise<Resp<{ [key: string]: any }>> {
122   const result = await githubApi(`/repos/${username}/${repo}`);
123   return result;
124 }
125@@ -131,7 +135,9 @@ async function fetchBranch({
126   repo,
127   branch,
128 }: Props & { branch: string }): Promise<Resp<{ [key: string]: any }>> {
129-  const result = await githubApi(`/repos/${username}/${repo}/branches/${branch}`);
130+  const result = await githubApi(
131+    `/repos/${username}/${repo}/branches/${branch}`,
132+  );
133   return result;
134 }
135 
136@@ -154,7 +160,10 @@ async function fetchGithubData(props: Props): Promise<Resp<any>> {
137     return repo;
138   }
139 
140-  const branch = await fetchBranch({ ...props, branch: repo.data.default_branch });
141+  const branch = await fetchBranch({
142+    ...props,
143+    branch: repo.data.default_branch,
144+  });
145   if (branch.ok === false) {
146     console.log(`${branch.data.status}: ${branch.data.error.message}`);
147   }
148@@ -170,7 +179,7 @@ async function fetchGithubData(props: Props): Promise<Resp<any>> {
149   return {
150     ok: true,
151     data: {
152-      readme: readme.ok ? readme.data : '',
153+      readme: readme.ok ? readme.data : "",
154       repo: repo.data,
155       branch: branch.data,
156     },
157@@ -186,7 +195,7 @@ async function processResources(resources: Resource[]) {
158   for (let i = 0; i < resources.length; i += 1) {
159     const d = resources[i];
160 
161-    if (d.type === 'github') {
162+    if (d.type === "github") {
163       const result = await fetchGithubData(d);
164       if (result.ok) {
165         const resp = result.data;
166@@ -226,14 +235,8 @@ async function saveData({
167   plugins: { [key: string]: Plugin };
168   markdown: { [key: string]: string };
169 }) {
170-  const pluginJson = prettier.format(JSON.stringify({ plugins }), {
171-    parser: 'json',
172-    printWidth: 100,
173-  });
174-  const markdownJson = prettier.format(JSON.stringify({ markdown }), {
175-    parser: 'json',
176-    printWidth: 100,
177-  });
178-  await writeFile('./src/lib/db.json', pluginJson);
179-  await writeFile('./src/lib/markdown.json', markdownJson);
180+  const pluginJson = JSON.stringify({ plugins }, null, 2);
181+  const markdownJson = JSON.stringify({ markdown });
182+  await Deno.writeTextFile("./data/db.json", pluginJson);
183+  await Deno.writeTextFile("./data/markdown.json", markdownJson);
184 }
M scripts/resource.ts
+11, -37
 1@@ -1,60 +1,34 @@
 2-import fs from 'fs';
 3-import util from 'util';
 4-import readline from 'readline';
 5-import prettier from 'prettier';
 6+import resourceFile from "../data/resources.json" assert { type: "json" };
 7+import manualFile from "../data/manual.json" assert { type: "json" };
 8 
 9-import resourceFile from '../src/lib/resources.json';
10-import manualFile from '../src/lib/manual.json';
11-import type { Resource } from '../src/lib/types';
12-import { createResource } from '../src/lib/entities';
13-
14-const writeFile = util.promisify(fs.writeFile);
15-
16-const rl = readline.createInterface({
17-  input: process.stdin,
18-  output: process.stdout,
19-});
20-
21-rl.on('close', function () {
22-  process.exit(0);
23-});
24-
25-const question = (inp: string) =>
26-  new Promise<string>((resolve) => {
27-    rl.question(inp, resolve);
28-  });
29+import type { Resource } from "../src/types.ts";
30+import { createResource } from "../src/entities.ts";
31 
32 async function init() {
33-  const name = await question('name (username/repo): ');
34-  const [username, repo] = name.split('/');
35-  const tagsRes = await question('tags (comma separated): ');
36-  const tags = tagsRes.split(',');
37+  const name = prompt("name (username/repo):") || "";
38+  const [username, repo] = name.split("/");
39+  const tagsRes = prompt("tags (comma separated):") || "";
40+  const tags = tagsRes.split(",");
41   const foundResource = (resourceFile.resources as Resource[]).find(
42     (r) => `${r.username}/${r.repo}` === name,
43   );
44   if (foundResource) {
45     console.log(`${name} aleady found in resources, not adding`);
46-    rl.close();
47     return;
48   }
49 
50   manualFile.resources.push(
51     createResource({
52-      type: 'github',
53+      type: "github",
54       username,
55       repo,
56       tags,
57     }),
58   );
59 
60-  const json = prettier.format(JSON.stringify(manualFile), {
61-    parser: 'json',
62-    printWidth: 100,
63-  });
64-
65-  await writeFile('./src/lib/manual.json', json);
66+  const json = JSON.stringify(manualFile, null, 2);
67 
68-  rl.close();
69+  await Deno.writeTextFile("./data/manual.json", json);
70 }
71 
72 init().catch(console.error);
M scripts/scrape.ts
+28, -31
 1@@ -1,16 +1,11 @@
 2-import fs from 'fs';
 3-import util from 'util';
 4+import { marked } from "npm:marked";
 5 
 6-import prettier from 'prettier';
 7-import fetch from 'node-fetch';
 8-import marked from 'marked';
 9+import type { Resource } from "../src/types.ts";
10+import { createResource } from "../src/entities.ts";
11 
12-import type { Resource } from '../src/lib/types';
13-import { createResource } from '../src/lib/entities';
14-
15-const writeFile = util.promisify(fs.writeFile);
16-
17-const URLS = ['https://raw.githubusercontent.com/rockerBOO/awesome-neovim/main/README.md'];
18+const URLS = [
19+  "https://raw.githubusercontent.com/rockerBOO/awesome-neovim/main/README.md",
20+];
21 
22 Promise.all(URLS.map((url) => fetchMarkdown(url).then(processMarkdown)))
23   .then((resources) => {
24@@ -30,29 +25,31 @@ async function fetchMarkdown(url: string) {
25 }
26 
27 function sanitizeTag(tag: string) {
28-  if (tag === '(requires neovim 0.5)') return 'neovim-0.5';
29-  if (tag === 'treesitter supported colorschemes') return 'treesitter-colorschemes';
30-  return tag.toLocaleLowerCase().replace(/\s/g, '-');
31+  if (tag === "(requires neovim 0.5)") return "neovim-0.5";
32+  if (tag === "treesitter supported colorschemes") {
33+    return "treesitter-colorschemes";
34+  }
35+  return tag.toLocaleLowerCase().replace(/\s/g, "-");
36 }
37 
38-async function processMarkdown(text: string) {
39+function processMarkdown(text: string) {
40   const resources: Resource[] = [];
41   const tree = marked.lexer(text);
42-  let heading = '';
43-  tree.forEach((token) => {
44-    if (token.type === 'heading') {
45+  let heading = "";
46+  tree.forEach((token: any) => {
47+    if (token.type === "heading") {
48       heading = token.text.toLocaleLowerCase();
49     }
50 
51-    if (token.type === 'list') {
52-      token.items.forEach((t) => {
53+    if (token.type === "list") {
54+      token.items.forEach((t: any) => {
55         (t as any).tokens.forEach((tt: any) => {
56           if (!tt.tokens) return;
57 
58           // hardcoded deny-list for headings
59-          if (['contents', 'vim'].includes(heading)) return;
60+          if (["contents", "vim"].includes(heading)) return;
61           const resource = createResource({ tags: [sanitizeTag(heading)] });
62-          let link = '';
63+          let link = "";
64 
65           // first token is always a link
66           const token = tt.tokens[0];
67@@ -61,12 +58,15 @@ async function processMarkdown(text: string) {
68 
69           link = token.href;
70           // skip non-github links
71-          if (!link.includes('github.com')) return;
72+          if (!link.includes("github.com")) return;
73 
74-          const href = link.replace('https://github.com/', '').replace('http://github.com', '');
75-          const d = href.split('/');
76+          const href = link.replace("https://github.com/", "").replace(
77+            "http://github.com",
78+            "",
79+          );
80+          const d = href.split("/");
81           resource.username = d[0];
82-          resource.repo = d[1].replace(/#.+/, '');
83+          resource.repo = d[1].replace(/#.+/, "");
84           resources.push(resource);
85         });
86       });
87@@ -84,9 +84,6 @@ async function saveScrapeData(resources: Resource[]) {
88     return a.username.localeCompare(b.username);
89   });
90   const data = { resources: newResources };
91-  const json = prettier.format(JSON.stringify(data), {
92-    parser: 'json',
93-    printWidth: 100,
94-  });
95-  await writeFile('./src/lib/scrape.json', json);
96+  const json = JSON.stringify(data, null, 2);
97+  await Deno.writeTextFile("./data/scrape.json", json);
98 }
A scripts/static.ts
+436, -0
  1@@ -0,0 +1,436 @@
  2+import { dirname } from "https://deno.land/std/path/mod.ts";
  3+
  4+import dbFile from "../data/db.json" assert { type: "json" };
  5+import htmlFile from "../data/html.json" assert { type: "json" };
  6+
  7+import { format, relativeTimeFromDates } from "../src/date.ts";
  8+import { derivePluginData } from "../src/plugin-data.ts";
  9+import type {
 10+  Plugin,
 11+  PluginData,
 12+  PluginMap,
 13+  Tag,
 14+  TagMap,
 15+} from "../src/types.ts";
 16+
 17+async function createFile(fname: string, data: string) {
 18+  await Deno.mkdir(dirname(fname), { recursive: true });
 19+  await Deno.writeTextFile(fname, data);
 20+}
 21+
 22+const sortNum = (a: number, b: number) => b - a;
 23+const sortDateStr = (a: string, b: string) => {
 24+  const dateA = new Date(a).getTime();
 25+  const dateB = new Date(b).getTime();
 26+  return dateB - dateA;
 27+};
 28+
 29+function onSort(by: keyof Plugin) {
 30+  if (by === "createdAt") {
 31+    return (a: Plugin, b: Plugin) => sortDateStr(a.createdAt, b.createdAt);
 32+  }
 33+  if (by === "updatedAt") {
 34+    return (a: Plugin, b: Plugin) => sortDateStr(a.updatedAt, b.updatedAt);
 35+  }
 36+  return (a: Plugin, b: Plugin) => sortNum(a.stars, b.stars);
 37+}
 38+
 39+const createHtmlFile = ({ head, body }: { head: string; body: string }) => {
 40+  return `
 41+<!DOCTYPE html>
 42+<html lang="en" data-theme="theme-dark">
 43+  <head>
 44+    <meta charset="utf-8" />
 45+    <link rel="icon" href="/favicon.ico" />
 46+    <meta name="viewport" content="width=device-width, initial-scale=1" />
 47+    <link rel="stylesheet" type="text/css" href="/reset.css" />
 48+    <link rel="stylesheet" type="text/css" href="/main.css" />
 49+    <meta property="og:image:width" content="1200" />
 50+    <meta property="og:image:height" content="600" />
 51+    <meta name="twitter:card" content="summary_large_image" />
 52+    <meta property="og:url" content="https://neovimcraft.com" />
 53+    <meta property="og:image" content="https://neovimcraft.com/neovimcraft.png" />
 54+    <meta
 55+      name="description"
 56+      content="Search through our curated neovim plugin directory."
 57+    />
 58+    <meta property="og:title" content="neovimcraft" />
 59+    <meta
 60+      property="og:description"
 61+      content="Search through our curated neovim plugin directory."
 62+    />
 63+    <meta name="twitter:image:src" content="https://neovimcraft.com/neovimcraft.png" />
 64+
 65+    ${head}
 66+  </head>
 67+  <body>
 68+    <div id="app">${body}</div>
 69+  </body>
 70+</html>`;
 71+};
 72+
 73+const createNav = () => {
 74+  const links = [
 75+    ["/", "plugins"],
 76+    ["/about", "about"],
 77+  ];
 78+
 79+  const linksStr = links.reduce((acc, link) => {
 80+    acc += `<a href="${link[0]}" class="link">${link[1]}</a>\n`;
 81+    return acc;
 82+  }, "");
 83+
 84+  return `
 85+<div class="nav">
 86+  <h1 id="logo">
 87+    <a href="/" class="logo-header">neovimcraft</a>
 88+    <a href="https://github.com/neurosnap/neovimcraft" class="gh">
 89+      ${createIcon("github")}
 90+    </a>
 91+  </h1>
 92+  <div class="links">
 93+    ${linksStr}
 94+  </div>
 95+  <div class="menu-btn" id="menu-btn"><img src="/menu.svg" alt="menu" /></div>
 96+
 97+  <div class="menu-container hidden" id="menu">
 98+    <div class="menu-overlay menu-close"></div>
 99+    <div class="menu">
100+      <div class="menu-header">
101+        <h1><a href="/" class="logo-header">neovimcraft</a></h1>
102+        <div class="menu-btn menu-close"><img src="/menu.svg" alt="menu" /></div>
103+      </div>
104+      <div class="menu-body">
105+        ${linksStr}
106+      </div>
107+    </div>
108+  </div>
109+</div>`;
110+};
111+
112+const createIcon = (icon: string) => {
113+  return `<img class="icon" src="/${icon}.svg" alt=${icon} />`;
114+};
115+
116+function findColor(tag: Tag) {
117+  if (tag.count === 1) return "pink";
118+  if (tag.count > 1 && tag.count <= 3) return "yellow";
119+  if (tag.count > 3 && tag.count <= 10) return "orange";
120+  if (tag.count > 10 && tag.count <= 15) return "green";
121+  return "purple";
122+}
123+
124+const createTag = (tag: Tag, showCount = true) => {
125+  const countStr = showCount ? `&nbsp;x&nbsp;${tag.count}` : "";
126+  const color = findColor(tag);
127+  return `<span class="tag ${color}" data-id="${tag.id}">${tag.id}${countStr}</span>`;
128+};
129+
130+const createPluginItem = (plugin: Plugin, tags: Tag[]) => {
131+  const tagsStr = tags.reduce((acc, tag) => {
132+    acc += createTag(tag, false);
133+    return acc;
134+  }, "");
135+  const dataRepo = plugin.repo.toLocaleLowerCase();
136+  const dataDesc = (plugin.description || "").toLocaleLowerCase();
137+  const dataTags = tags
138+    .map((t) => t.id)
139+    .join(",")
140+    .toLocaleLowerCase();
141+
142+  return `
143+<div class="container plugin" data-repo="${dataRepo}" data-desc="${dataDesc}" data-tags="${dataTags}">
144+  <div class="header">
145+    <h2 class="item_header">
146+      <a href="/plugin/${plugin.username}/${plugin.repo}">${plugin.repo}</a>
147+    </h2>
148+    <div class="metrics">
149+      <Tooltip tip="github repo" bottom>
150+        <a href=${plugin.link}>${createIcon("github")}</a>
151+      </Tooltip>
152+      <Tooltip tip="stars" bottom>
153+        <div class="metric-item">${
154+    createIcon("star")
155+  } <span>${plugin.stars}</span></div>
156+      </Tooltip>
157+      <Tooltip tip="open issues" bottom>
158+        <div class="metric-item">
159+          ${createIcon("alert-circle")} <span>${plugin.openIssues}</span>
160+        </div>
161+      </Tooltip>
162+    </div>
163+  </div>
164+  <div class="date">
165+    updated ${relativeTimeFromDates(new Date(plugin.updatedAt))}
166+  </div>
167+  <div class="desc">
168+    ${plugin.description}
169+  </div>
170+  <div class="tags">
171+    ${tagsStr}
172+  </div>
173+</div>`;
174+};
175+
176+function getTags(tagDb: TagMap, tags: string[]): Tag[] {
177+  return tags.map((t) => tagDb[t]).filter(Boolean);
178+}
179+
180+const createAboutPage = () => {
181+  const head = `
182+<title>neovimcraft - about</title>
183+<meta name="description" content="About neovimcraft" />
184+<meta property="og:description" content="About neovimcraft" />
185+<meta property="og:title" content="neovimcraft - about" />`;
186+  const nav = createNav();
187+  const body = `${nav}
188+<div class="about_container">
189+  <div class="about_view">
190+    <div class="intro">
191+      <div class="blurb">
192+        <h1>Hey all!</h1>
193+        <p>
194+          My name is <strong>Eric Bower</strong> and I built this site because neovim is awesome and
195+          I want to provide resources for searching an building neovim plugins.
196+        </p>
197+      </div>
198+      <img class="profile" src="/me.jpg" alt="Eric Bower" />
199+    </div>
200+    <div>
201+      <p>
202+        I&apos;m a professional software engineer who has been programming since I was 13 years old.
203+        I love building software as much as I love building something that people find useful. Most
204+        of my time is devoted to growing my ability to build products.
205+      </p>
206+      <p>
207+        I also care deeply about open-source code and have an active
208+        <a href="https://github.com/neurosnap">Github</a>
209+        , check it out if you&apos;re interested. I also write
210+        <a href="https://erock.io">blog articles about software</a>.
211+      </p>
212+      <p>
213+        I&apos;m happy to read feedback about neovimcraft so please feel free to
214+        <a href="mailto:neovimcraft@erock.io">email me</a>.
215+      </p>
216+    </div>
217+    <div>
218+      <h2>FAQ</h2>
219+      <p>Do you have questions not answered here? Email me!</p>
220+      <h3>Where do we get our content from?</h3>
221+      <p>
222+        As of right now, most of our data is scraped from github. You can find our scrape script
223+        <a
224+          href="https://github.com/neurosnap/neovimcraft/blob/main/scripts/scrape.ts"
225+         >here</a
226+        >.
227+      </p>
228+      <h3>How can I submit a plugin or resource to this project?</h3>
229+      <p>
230+        Please read the <a href="https://github.com/neurosnap/neovimcraft#want-to-submit-a-plugin">neovimcraft README</a>.
231+      </p>
232+    </div>
233+  </div>
234+</div>`;
235+
236+  return createHtmlFile({ head, body });
237+};
238+
239+const createSearchPage = (data: PluginData, by: keyof Plugin) => {
240+  const pluginsStr = data.plugins.sort(onSort(by)).reduce((acc, plugin) => {
241+    const plug = createPluginItem(plugin, getTags(data.tagDb, plugin.tags));
242+    return `${acc}\n${plug}`;
243+  }, "");
244+  const tagListStr = data.tags.reduce(
245+    (acc, tag) => `${acc}\n${createTag(tag)}`,
246+    "",
247+  );
248+  const sortStr = () => {
249+    let str = "";
250+    if (by === "stars") {
251+      str += "stars\n";
252+    } else {
253+      str += '<a href="/">stars</a>\n';
254+    }
255+
256+    if (by === "createdAt") {
257+      str += "created\n";
258+    } else {
259+      str += '<a href="/created">created</a>\n';
260+    }
261+
262+    if (by === "updatedAt") {
263+      str += "updated\n";
264+    } else {
265+      str += '<a href="/updated">updated</a>\n';
266+    }
267+
268+    return str;
269+  };
270+
271+  const head = `
272+<title>neovimcraft</title>
273+  <meta property="og:title" content="neovimcraft" />
274+  <meta
275+    name="description"
276+    content="Search through our curated neovim plugin directory."
277+  />
278+  <meta
279+    property="og:description"
280+    content="Search through our curated neovim plugin directory."
281+  />
282+  <script src="/client.js" type="text/javascript"></script>
283+`;
284+  const nav = createNav();
285+  const body = `${nav}
286+<div class="search_container">
287+  <div class="search_view">
288+    <span class="search_icon">${createIcon("search")}</span>
289+    <input
290+      id="search"
291+      value=""
292+      placeholder="search to find a plugin"
293+      autocapitalize="off"
294+    />
295+    <span class="search_clear_icon" id="search_clear">
296+      ${createIcon("x-circle")}
297+    </span>
298+  </div>
299+  <div class="desc">
300+    Search through our curated list of neovim plugins
301+  </div>
302+
303+  <div class="sidebar">
304+    ${tagListStr}
305+  </div>
306+  <div class="rightbar">
307+    <div>Want to search for plugins in the terminal? <a href="https://nvim.sh">https://nvim.sh</a></div>
308+  </div>
309+  <div class="plugins">
310+    <div class="plugins_container">
311+      <div class="search_results">${data.plugins.length} results</div>
312+      <div>
313+        ${sortStr()}
314+      </div>
315+      <div id="plugins_list">
316+        ${pluginsStr}
317+      </div>
318+    </div>
319+  </div>
320+</div>`;
321+
322+  return createHtmlFile({ head, body });
323+};
324+
325+const createPluginView = (plugin: Plugin, tags: Tag[]) => {
326+  const tagsStr = tags.reduce((acc, tag) => {
327+    acc += createTag(tag, false);
328+    return acc;
329+  }, "");
330+
331+  return `
332+<div class="meta">
333+  <div class="tags_view">
334+    ${tagsStr}
335+  </div>
336+  <div class="metrics_view">
337+    <Tooltip tip="stars" bottom>
338+      <div class="metric">${
339+    createIcon("star")
340+  } <span>${plugin.stars}</span></div>
341+    </Tooltip>
342+    <Tooltip tip="open issues" bottom>
343+      <div class="metric">${
344+    createIcon("alert-circle")
345+  } <span>${plugin.openIssues}</span></div>
346+    </Tooltip>
347+    <Tooltip tip="subscribers" bottom>
348+      <div class="metric">${
349+    createIcon("users")
350+  } <span>${plugin.subscribers}</span></div>
351+    </Tooltip>
352+    <Tooltip tip="forks" bottom>
353+      <div class="metric">${
354+    createIcon("git-branch")
355+  } <span>${plugin.forks}</span></div>
356+    </Tooltip>
357+  </div>
358+  <div class="timestamps">
359+    <div>
360+      <h5 class="ts_header">CREATED</h5>
361+      <h2>${format(new Date(plugin.createdAt))}</h2>
362+    </div>
363+    <div>
364+      <h5 class="ts_header">UPDATED</h5>
365+      <h2>${relativeTimeFromDates(new Date(plugin.updatedAt))}</h2>
366+    </div>
367+  </div>
368+  <hr />
369+</div>
370+`;
371+};
372+
373+const createPluginPage = (plugin: Plugin, tags: Tag[], html: string) => {
374+  const head = `
375+<title>
376+  ${plugin.id}: ${plugin.description}
377+</title>
378+<meta property="og:title" content=${plugin.id} />
379+<meta name="twitter:title" content=${plugin.id} />
380+<meta itemprop="name" content=${plugin.id} />
381+
382+<meta name="description" content="${plugin.id}: ${plugin.description}" />
383+<meta itemprop="description" content="${plugin.id}: ${plugin.description}" />
384+<meta property="og:description" content="${plugin.id}: ${plugin.description}" />
385+<meta name="twitter:description" content="${plugin.id}: ${plugin.description}" />`;
386+  const nav = createNav();
387+  const body = `${nav}
388+<div class="plugin_container">
389+  <div class="view">
390+    <div class="header">
391+      <h1>${plugin.id}</h1>
392+      ${plugin.homepage ? `<a href=${plugin.homepage}>website</a>` : ""}
393+      <a href=${plugin.link}>${createIcon("github")} <span>github</span></a>
394+    </div>
395+    ${createPluginView(plugin, tags)}
396+    ${html}
397+  </div>
398+</div>
399+`;
400+  return createHtmlFile({ head, body });
401+};
402+
403+async function render(data: PluginData, htmlData: { [key: string]: string }) {
404+  const files = [
405+    createFile("./static/index.html", createSearchPage(data, "stars")),
406+    createFile(
407+      "./static/created/index.html",
408+      createSearchPage(data, "createdAt"),
409+    ),
410+    createFile(
411+      "./static/updated/index.html",
412+      createSearchPage(data, "updatedAt"),
413+    ),
414+    createFile("./static/about/index.html", createAboutPage()),
415+  ];
416+
417+  data.plugins.forEach((plugin) => {
418+    const tags = getTags(data.tagDb, plugin.tags);
419+    const id = `${plugin.username}/${plugin.repo}`;
420+    const html = htmlData[id] || "";
421+    const fname =
422+      `./static/plugin/${plugin.username}/${plugin.repo}/index.html`;
423+    const page = createPluginPage(plugin, tags, html);
424+    files.push(createFile(fname, page));
425+  });
426+
427+  await Promise.all(files);
428+}
429+
430+interface HTMLFile {
431+  html: { [key: string]: string };
432+}
433+
434+const htmlData = (htmlFile as HTMLFile).html;
435+const pluginMap = (dbFile as any).plugins as PluginMap;
436+const pluginData = derivePluginData(pluginMap);
437+render(pluginData, htmlData).then(console.log).catch(console.error);
D src/404.html
+0, -14
 1@@ -1,14 +0,0 @@
 2-<!DOCTYPE html>
 3-<html lang="en" data-theme="theme-dark">
 4-  <head>
 5-    <title>404 - not found</title>
 6-    <meta charset="utf-8" />
 7-    <link rel="icon" href="/favicon.ico" />
 8-    <meta name="viewport" content="width=device-width, initial-scale=1" />
 9-    <link rel="stylesheet" type="text/css" href="/main.css" />
10-    %svelte.head%
11-  </head>
12-  <body>
13-    <div>404 - not found</div>
14-  </body>
15-</html>
D src/app.html
+0, -30
 1@@ -1,30 +0,0 @@
 2-<!DOCTYPE html>
 3-<html lang="en" data-theme="theme-dark">
 4-  <head>
 5-    <meta charset="utf-8" />
 6-    <link rel="icon" href="/favicon.ico" />
 7-    <meta name="viewport" content="width=device-width, initial-scale=1" />
 8-    <link rel="stylesheet" type="text/css" href="/reset.css" />
 9-    <link rel="stylesheet" type="text/css" href="/main.css" />
10-    <meta property="og:image:width" content="1200" />
11-    <meta property="og:image:height" content="600" />
12-    <meta name="twitter:card" content="summary_large_image" />
13-    <meta property="og:url" content="https://neovimcraft.com" />
14-    <meta property="og:image" content="https://neovimcraft.com/neovimcraft.png" />
15-    <meta
16-      name="description"
17-      content="Search through our curated neovim plugin directory and read our guides on creating plugins."
18-    />
19-    <meta property="og:title" content="neovimcraft" />
20-    <meta
21-      property="og:description"
22-      content="Search through our curated neovim plugin directory and read our guides on creating plugins."
23-    />
24-    <meta name="twitter:image:src" content="https://neovimcraft.com/neovimcraft.png" />
25-
26-    %svelte.head%
27-  </head>
28-  <body>
29-    <div id="svelte">%svelte.body%</div>
30-  </body>
31-</html>
R src/lib/date.ts => src/date.ts
+17, -12
 1@@ -1,25 +1,30 @@
 2 const zero = (num: number) => (num < 10 ? `0${num}` : `${num}`);
 3 export const format = (date: Date) => {
 4-  return `${date.getFullYear()}-${zero(date.getMonth() + 1)}-${zero(date.getDate())}`;
 5+  return `${date.getFullYear()}-${zero(date.getMonth() + 1)}-${
 6+    zero(date.getDate())
 7+  }`;
 8 };
 9 
10 const units: { unit: Intl.RelativeTimeFormatUnit; ms: number }[] = [
11-  { unit: 'year', ms: 31536000000 },
12-  { unit: 'month', ms: 2628000000 },
13-  { unit: 'day', ms: 86400000 },
14-  { unit: 'hour', ms: 3600000 },
15-  { unit: 'minute', ms: 60000 },
16-  { unit: 'second', ms: 1000 },
17+  { unit: "year", ms: 31536000000 },
18+  { unit: "month", ms: 2628000000 },
19+  { unit: "day", ms: 86400000 },
20+  { unit: "hour", ms: 3600000 },
21+  { unit: "minute", ms: 60000 },
22+  { unit: "second", ms: 1000 },
23 ];
24-const rtf = new Intl.RelativeTimeFormat('en', { numeric: 'auto' });
25+const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
26 
27 /**
28  * Get language-sensitive relative time message from Dates.
29  * @param relative  - the relative dateTime, generally is in the past or future
30  * @param pivot     - the dateTime of reference, generally is the current time
31  */
32-export function relativeTimeFromDates(relative: Date | null, pivot: Date = new Date()): string {
33-  if (!relative) return '';
34+export function relativeTimeFromDates(
35+  relative: Date | null,
36+  pivot: Date = new Date(),
37+): string {
38+  if (!relative) return "";
39   const elapsed = relative.getTime() - pivot.getTime();
40   return relativeTimeFromElapsed(elapsed);
41 }
42@@ -30,9 +35,9 @@ export function relativeTimeFromDates(relative: Date | null, pivot: Date = new D
43  */
44 export function relativeTimeFromElapsed(elapsed: number): string {
45   for (const { unit, ms } of units) {
46-    if (Math.abs(elapsed) >= ms || unit === 'second') {
47+    if (Math.abs(elapsed) >= ms || unit === "second") {
48       return rtf.format(Math.round(elapsed / ms), unit);
49     }
50   }
51-  return '';
52+  return "";
53 }
R src/lib/entities.ts => src/entities.ts
+14, -14
 1@@ -1,33 +1,33 @@
 2-import type { Plugin, Resource } from './types';
 3+import type { Plugin, Resource } from "./types.ts";
 4 
 5 export const createPlugin = (p: Partial<Plugin> = {}): Plugin => {
 6   return {
 7-    id: '',
 8-    name: '',
 9-    username: '',
10-    repo: '',
11-    link: '',
12+    id: "",
13+    name: "",
14+    username: "",
15+    repo: "",
16+    link: "",
17     tags: [],
18-    homepage: '',
19-    description: '',
20-    branch: 'main',
21+    homepage: "",
22+    description: "",
23+    branch: "main",
24     openIssues: 0,
25     watchers: 0,
26     forks: 0,
27     stars: 0,
28     subscribers: 0,
29     network: 0,
30-    createdAt: '',
31-    updatedAt: '',
32+    createdAt: "",
33+    updatedAt: "",
34     ...p,
35   };
36 };
37 
38 export function createResource(p: Partial<Resource> = {}): Resource {
39   return {
40-    type: 'github',
41-    username: '',
42-    repo: '',
43+    type: "github",
44+    username: "",
45+    repo: "",
46     tags: [],
47     ...p,
48   };
D src/global.d.ts
+0, -1
1@@ -1 +0,0 @@
2-/// <reference types="@sveltejs/kit" />
D src/lib/icon.svelte
+0, -14
 1@@ -1,14 +0,0 @@
 2-<script lang="ts">
 3-  type Icon = 'github' | 'alert-circle' | 'git-branch' | 'star' | 'x-circle' | 'users' | 'search';
 4-  export let icon: Icon;
 5-</script>
 6-
 7-<img class="icon" src="/{icon}.svg" alt={icon} />
 8-
 9-<style>
10-  .icon {
11-    width: 24px;
12-    height: 24px;
13-    margin-right: 5px;
14-  }
15-</style>
D src/lib/nav.svelte
+0, -170
  1@@ -1,170 +0,0 @@
  2-<script lang="ts">
  3-  import Icon from '$lib/icon.svelte';
  4-  import { page } from '$app/stores';
  5-  let path = '';
  6-  page.subscribe((store) => {
  7-    path = store.path;
  8-  });
  9-  const links = [
 10-    ['/', 'plugins'],
 11-    ['/guides', 'guides'],
 12-    ['/about', 'about'],
 13-  ];
 14-  let isOpen = false;
 15-  const open = () => {
 16-    isOpen = true;
 17-  };
 18-  const close = () => {
 19-    isOpen = false;
 20-  };
 21-</script>
 22-
 23-<div class="nav">
 24-  <h1 id="logo">
 25-    <a href="/" class="logo-header">neovimcraft</a>
 26-    <a href="https://github.com/neurosnap/neovimcraft" class="gh">
 27-      <Icon icon="github" />
 28-    </a>
 29-  </h1>
 30-  <div class="links">
 31-    {#each links as link}
 32-      <a href={link[0]} class="link" class:active={path === link[0]}>{link[1]}</a>
 33-    {/each}
 34-  </div>
 35-  <div class="menu-btn" on:click={open}><img src="/menu.svg" alt="menu" /></div>
 36-  {#if isOpen}
 37-    <div class="menu-container">
 38-      <div class="menu-overlay" on:click={close} />
 39-      <div class="menu">
 40-        <div class="menu-header">
 41-          <h1><a href="/" class="logo-header">neovimcraft</a></h1>
 42-          <div class="menu-btn" on:click={close}><img src="/menu.svg" alt="menu" /></div>
 43-        </div>
 44-        <div class="menu-body">
 45-          {#each links as link}
 46-            <a href={link[0]} class="link" class:active={path === link[0]}>{link[1]}</a>
 47-          {/each}
 48-        </div>
 49-      </div>
 50-    </div>
 51-  {/if}
 52-</div>
 53-
 54-<style>
 55-  .nav {
 56-    display: flex;
 57-    justify-content: space-between;
 58-    align-items: center;
 59-    padding: 0 25px 15px 25px;
 60-  }
 61-
 62-  .links {
 63-    display: flex;
 64-    justify-content: space-between;
 65-    width: 250px;
 66-  }
 67-
 68-  .link {
 69-    font-size: 20px;
 70-    text-decoration: none;
 71-    color: var(--text-color);
 72-  }
 73-
 74-  .link:hover {
 75-    color: var(--highlight-color);
 76-    text-decoration: underline;
 77-  }
 78-
 79-  .menu-overlay {
 80-    position: fixed;
 81-    top: 0;
 82-    left: 0;
 83-    width: 100vw;
 84-    height: 100vh;
 85-    background-color: rgba(0, 0, 0, 0.6);
 86-    z-index: 1;
 87-  }
 88-
 89-  .menu-container {
 90-    display: none;
 91-  }
 92-
 93-  .menu {
 94-    position: fixed;
 95-    top: 0;
 96-    right: 0;
 97-    width: 80vw;
 98-    height: 100vh;
 99-    flex-direction: column;
100-    align-items: end;
101-    background-color: var(--bg-color);
102-    z-index: 1;
103-    padding: 0 15px;
104-    padding-top: 0;
105-    border-left: 1px solid var(--primary-color);
106-  }
107-
108-  .menu-header {
109-    display: flex;
110-    justify-content: space-between;
111-    align-items: center;
112-  }
113-
114-  .menu-body {
115-    display: flex;
116-    flex-direction: column;
117-  }
118-
119-  .menu-body a {
120-    margin: 10px 0;
121-  }
122-
123-  .menu-btn {
124-    display: none;
125-    cursor: pointer;
126-    width: 24px;
127-    height: 24px;
128-  }
129-
130-  #logo {
131-    display: flex;
132-    align-items: center;
133-  }
134-
135-  .gh {
136-    margin-left: 15px;
137-  }
138-
139-  .logo-header {
140-    text-decoration: none;
141-    color: var(--text-color);
142-  }
143-
144-  .logo-header:visited {
145-    color: var(--text-color);
146-  }
147-
148-  @media only screen and (max-width: 700px) {
149-    .nav {
150-      padding: 0 15px;
151-    }
152-
153-    .links {
154-      display: none;
155-    }
156-
157-    .link {
158-      margin: 10px 0;
159-    }
160-
161-    .menu-btn {
162-      display: block;
163-    }
164-
165-    .menu-container {
166-      display: flex;
167-      justify-content: center;
168-      align-items: center;
169-    }
170-  }
171-</style>
D src/lib/plugin-view.svelte
+0, -93
 1@@ -1,93 +0,0 @@
 2-<script lang="ts">
 3-  import qs from 'query-string';
 4-  import { goto } from '$app/navigation';
 5-
 6-  import type { Plugin, Tag } from './types';
 7-  import TagItem from './tag.svelte';
 8-  import Icon from './icon.svelte';
 9-  import Tooltip from '$lib/tooltip.svelte';
10-  import { format, relativeTimeFromDates } from '$lib/date';
11-
12-  export let plugin: Plugin;
13-  export let tags: Tag[];
14-  export let html: string = '<div>readme not found</div>';
15-
16-  function onSearch(curSearch: string) {
17-    const query = qs.parseUrl(window.location.search);
18-    const s = encodeURIComponent(curSearch);
19-    query.query.search = s;
20-    goto(`/${qs.stringifyUrl(query)}`);
21-  }
22-</script>
23-
24-<div class="meta">
25-  <div class="tags_view">
26-    {#each tags as tag}
27-      <TagItem {tag} {onSearch} showCount={false} />
28-    {/each}
29-  </div>
30-  <div class="metrics">
31-    <Tooltip tip="stars" bottom>
32-      <div class="metric"><Icon icon="star" /> <span>{plugin.stars}</span></div>
33-    </Tooltip>
34-    <Tooltip tip="open issues" bottom>
35-      <div class="metric"><Icon icon="alert-circle" /> <span>{plugin.openIssues}</span></div>
36-    </Tooltip>
37-    <Tooltip tip="subscribers" bottom>
38-      <div class="metric"><Icon icon="users" /> <span>{plugin.subscribers}</span></div>
39-    </Tooltip>
40-    <Tooltip tip="forks" bottom>
41-      <div class="metric"><Icon icon="git-branch" /> <span>{plugin.forks}</span></div>
42-    </Tooltip>
43-  </div>
44-  <div class="timestamps">
45-    <div>
46-      <h5 class="ts-header">CREATED</h5>
47-      <h2>{format(new Date(plugin.createdAt))}</h2>
48-    </div>
49-    <div>
50-      <h5 class="ts-header">UPDATED</h5>
51-      <h2>{relativeTimeFromDates(new Date(plugin.updatedAt))}</h2>
52-    </div>
53-  </div>
54-  <hr />
55-</div>
56-{@html html}
57-
58-<style>
59-  :global(img) {
60-    max-width: 100%;
61-    height: auto;
62-  }
63-
64-  .timestamps {
65-    display: flex;
66-    justify-content: space-between;
67-    background-color: var(--primary-color);
68-    padding: 15px;
69-    margin: 15px 0;
70-  }
71-
72-  .ts-header {
73-    margin-bottom: 10px;
74-  }
75-
76-  .meta {
77-    margin-bottom: 20px;
78-  }
79-
80-  .metrics {
81-    display: flex;
82-    justify-content: space-between;
83-  }
84-
85-  .metric {
86-    display: flex;
87-    align-items: center;
88-    cursor: pointer;
89-  }
90-
91-  .tags_view {
92-    margin-bottom: 10px;
93-  }
94-</style>
D src/lib/plugin.svelte
+0, -91
 1@@ -1,91 +0,0 @@
 2-<script lang="ts">
 3-  import type { Plugin, Tag } from './types';
 4-  import Tooltip from './tooltip.svelte';
 5-  import Icon from './icon.svelte';
 6-  import TagItem from './tag.svelte';
 7-  import { relativeTimeFromDates } from './date';
 8-  export let plugin: Plugin;
 9-  export let tags: Tag[];
10-  export let onSearch: (t: string) => any = (_: string) => {};
11-</script>
12-
13-<div class="container">
14-  <div class="header">
15-    <h2 class="item_header">
16-      <a href="/plugin/{plugin.username}/{plugin.repo}">{plugin.repo}</a>
17-    </h2>
18-    <div class="metrics">
19-      <Tooltip tip="github repo" bottom>
20-        <a href={plugin.link}><Icon icon="github" /></a>
21-      </Tooltip>
22-      <Tooltip tip="stars" bottom>
23-        <div class="metric-item"><Icon icon="star" /> <span>{plugin.stars}</span></div>
24-      </Tooltip>
25-      <Tooltip tip="open issues" bottom>
26-        <div class="metric-item">
27-          <Icon icon="alert-circle" /> <span>{plugin.openIssues}</span>
28-        </div>
29-      </Tooltip>
30-    </div>
31-  </div>
32-  <div class="date">
33-    updated {relativeTimeFromDates(new Date(plugin.updatedAt))}
34-  </div>
35-  <div class="desc">
36-    {plugin.description}
37-  </div>
38-  <div class="tags">
39-    {#each tags as tag}
40-      <TagItem {tag} showCount={false} {onSearch} />
41-    {/each}
42-  </div>
43-</div>
44-
45-<style>
46-  .container {
47-    display: flex;
48-    flex-direction: column;
49-    padding: 15px 0;
50-    min-height: 170px;
51-    width: 100%;
52-    border-bottom: 1px solid var(--primary-color);
53-  }
54-
55-  .date {
56-    font-size: 14px;
57-  }
58-
59-  .header {
60-    display: flex;
61-    align-items: center;
62-    margin-bottom: 5px;
63-  }
64-
65-  .desc {
66-    margin-top: 5px;
67-  }
68-
69-  .item_header {
70-    flex: 1;
71-    display: flex;
72-    align-items: center;
73-  }
74-
75-  .metrics {
76-    width: 175px;
77-    min-width: 175px;
78-    display: flex;
79-    justify-content: space-between;
80-  }
81-
82-  .metric-item {
83-    display: flex;
84-    justify-content: center;
85-    align-items: center;
86-    cursor: pointer;
87-  }
88-
89-  .tags {
90-    margin-top: 5px;
91-  }
92-</style>
D src/lib/resources.json
+0, -1933
   1@@ -1,1933 +0,0 @@
   2-{
   3-  "resources": [
   4-    { "type": "github", "username": "0styx0", "repo": "abbreinder.nvim", "tags": ["note-taking"] },
   5-    { "type": "github", "username": "abecodes", "repo": "tabout.nvim", "tags": ["motion"] },
   6-    {
   7-      "type": "github",
   8-      "username": "Abstract-IDE",
   9-      "repo": "Abstract",
  10-      "tags": ["preconfigured-configuration"]
  11-    },
  12-    { "type": "github", "username": "Abstract-IDE", "repo": "penvim", "tags": ["indent"] },
  13-    { "type": "github", "username": "AckslD", "repo": "messages.nvim", "tags": ["utility"] },
  14-    {
  15-      "type": "github",
  16-      "username": "AckslD",
  17-      "repo": "nvim-FeMaco.lua",
  18-      "tags": ["markdown-and-latex"]
  19-    },
  20-    { "type": "github", "username": "AckslD", "repo": "nvim-gfold.lua", "tags": ["git"] },
  21-    { "type": "github", "username": "AckslD", "repo": "nvim-neoclip.lua", "tags": ["register"] },
  22-    {
  23-      "type": "github",
  24-      "username": "AckslD",
  25-      "repo": "nvim-revJ.lua",
  26-      "tags": ["editing-support"]
  27-    },
  28-    {
  29-      "type": "github",
  30-      "username": "AckslD",
  31-      "repo": "swenv.nvim",
  32-      "tags": ["programming-languages-support"]
  33-    },
  34-    { "type": "github", "username": "adelarsq", "repo": "image_preview.nvim", "tags": ["media"] },
  35-    { "type": "github", "username": "adelarsq", "repo": "neoline.vim", "tags": ["statusline"] },
  36-    {
  37-      "type": "github",
  38-      "username": "adisen99",
  39-      "repo": "apprentice.nvim",
  40-      "tags": ["tree-sitter-supported-colorscheme"]
  41-    },
  42-    {
  43-      "type": "github",
  44-      "username": "adisen99",
  45-      "repo": "codeschool.nvim",
  46-      "tags": ["tree-sitter-supported-colorscheme"]
  47-    },
  48-    { "type": "github", "username": "ahmedkhalf", "repo": "project.nvim", "tags": ["project"] },
  49-    { "type": "github", "username": "akinsho", "repo": "bufferline.nvim", "tags": ["tabline"] },
  50-    {
  51-      "type": "github",
  52-      "username": "akinsho",
  53-      "repo": "flutter-tools.nvim",
  54-      "tags": ["programming-languages-support"]
  55-    },
  56-    { "type": "github", "username": "akinsho", "repo": "git-conflict.nvim", "tags": ["git"] },
  57-    {
  58-      "type": "github",
  59-      "username": "akinsho",
  60-      "repo": "nvim-toggleterm.lua",
  61-      "tags": ["terminal-integration"]
  62-    },
  63-    { "type": "github", "username": "alec-gibson", "repo": "nvim-tetris", "tags": ["game"] },
  64-    {
  65-      "type": "github",
  66-      "username": "alexaandru",
  67-      "repo": "nvim-lspupdate",
  68-      "tags": ["lsp-installer"]
  69-    },
  70-    {
  71-      "type": "github",
  72-      "username": "AllenDang",
  73-      "repo": "nvim-expand-expr",
  74-      "tags": ["editing-support"]
  75-    },
  76-    { "type": "github", "username": "alvarosevilla95", "repo": "luatab.nvim", "tags": ["tabline"] },
  77-    { "type": "github", "username": "amrbashir", "repo": "nvim-docs-view", "tags": ["neovim-0.5"] },
  78-    {
  79-      "type": "github",
  80-      "username": "andersevenrud",
  81-      "repo": "nordic.nvim",
  82-      "tags": ["tree-sitter-supported-colorscheme"]
  83-    },
  84-    {
  85-      "type": "github",
  86-      "username": "andrewferrier",
  87-      "repo": "debugprint.nvim",
  88-      "tags": ["debugging"]
  89-    },
  90-    {
  91-      "type": "github",
  92-      "username": "andrewferrier",
  93-      "repo": "textobj-diagnostic.nvim",
  94-      "tags": ["diagnostics"]
  95-    },
  96-    { "type": "github", "username": "andweeb", "repo": "presence.nvim", "tags": ["media"] },
  97-    { "type": "github", "username": "andythigpen", "repo": "nvim-coverage", "tags": ["test"] },
  98-    {
  99-      "type": "github",
 100-      "username": "anott03",
 101-      "repo": "nvim-lspinstall",
 102-      "tags": ["lsp-installer"]
 103-    },
 104-    {
 105-      "type": "github",
 106-      "username": "anuvyklack",
 107-      "repo": "animation.nvim",
 108-      "tags": ["neovim-lua-development"]
 109-    },
 110-    {
 111-      "type": "github",
 112-      "username": "anuvyklack",
 113-      "repo": "fold-preview.nvim",
 114-      "tags": ["utility"]
 115-    },
 116-    { "type": "github", "username": "anuvyklack", "repo": "hydra.nvim", "tags": ["keybinding"] },
 117-    {
 118-      "type": "github",
 119-      "username": "anuvyklack",
 120-      "repo": "keymap-amend.nvim",
 121-      "tags": ["keybinding"]
 122-    },
 123-    {
 124-      "type": "github",
 125-      "username": "anuvyklack",
 126-      "repo": "pretty-fold.nvim",
 127-      "tags": ["editing-support"]
 128-    },
 129-    {
 130-      "type": "github",
 131-      "username": "anuvyklack",
 132-      "repo": "windows.nvim",
 133-      "tags": ["split-and-window"]
 134-    },
 135-    {
 136-      "type": "github",
 137-      "username": "artart222",
 138-      "repo": "CodeArt",
 139-      "tags": ["preconfigured-configuration"]
 140-    },
 141-    { "type": "github", "username": "aserowy", "repo": "tmux.nvim", "tags": ["tmux"] },
 142-    {
 143-      "type": "github",
 144-      "username": "askfiy",
 145-      "repo": "nvim",
 146-      "tags": ["preconfigured-configuration"]
 147-    },
 148-    { "type": "github", "username": "askfiy", "repo": "nvim-picgo", "tags": ["media"] },
 149-    {
 150-      "type": "github",
 151-      "username": "AstroNvim",
 152-      "repo": "AstroNvim",
 153-      "tags": ["preconfigured-configuration"]
 154-    },
 155-    { "type": "github", "username": "axieax", "repo": "urlview.nvim", "tags": ["utility"] },
 156-    { "type": "github", "username": "b0o", "repo": "incline.nvim", "tags": ["statusline"] },
 157-    { "type": "github", "username": "b0o", "repo": "mapx.nvim", "tags": ["keybinding"] },
 158-    { "type": "github", "username": "b0o", "repo": "SchemaStore.nvim", "tags": ["neovim-0.5"] },
 159-    { "type": "github", "username": "b3nj5m1n", "repo": "kommentary", "tags": ["comment"] },
 160-    {
 161-      "type": "github",
 162-      "username": "beauwilliams",
 163-      "repo": "focus.nvim",
 164-      "tags": ["split-and-window"]
 165-    },
 166-    {
 167-      "type": "github",
 168-      "username": "beauwilliams",
 169-      "repo": "statusline.lua",
 170-      "tags": ["statusline"]
 171-    },
 172-    {
 173-      "type": "github",
 174-      "username": "bennypowers",
 175-      "repo": "nvim-regexplainer",
 176-      "tags": ["editing-support"]
 177-    },
 178-    {
 179-      "type": "github",
 180-      "username": "bfredl",
 181-      "repo": "nvim-luadev",
 182-      "tags": ["neovim-lua-development"]
 183-    },
 184-    { "type": "github", "username": "bfredl", "repo": "nvim-miniyank", "tags": ["utility"] },
 185-    {
 186-      "type": "github",
 187-      "username": "bkegley",
 188-      "repo": "gloombuddy",
 189-      "tags": ["tree-sitter-supported-colorscheme"]
 190-    },
 191-    {
 192-      "type": "github",
 193-      "username": "bluz71",
 194-      "repo": "vim-moonfly-colors",
 195-      "tags": ["tree-sitter-supported-colorscheme"]
 196-    },
 197-    {
 198-      "type": "github",
 199-      "username": "bluz71",
 200-      "repo": "vim-nightfly-colors",
 201-      "tags": ["tree-sitter-supported-colorscheme"]
 202-    },
 203-    {
 204-      "type": "github",
 205-      "username": "booperlv",
 206-      "repo": "nvim-gomove",
 207-      "tags": ["editing-support"]
 208-    },
 209-    {
 210-      "type": "github",
 211-      "username": "brendalf",
 212-      "repo": "mix.nvim",
 213-      "tags": ["programming-languages-support"]
 214-    },
 215-    {
 216-      "type": "github",
 217-      "username": "brenoprata10",
 218-      "repo": "nvim-highlight-colors",
 219-      "tags": ["color"]
 220-    },
 221-    { "type": "github", "username": "camspiers", "repo": "snap", "tags": ["fuzzy-finder"] },
 222-    {
 223-      "type": "github",
 224-      "username": "CanKolay3499",
 225-      "repo": "CNvim",
 226-      "tags": ["preconfigured-configuration"]
 227-    },
 228-    { "type": "github", "username": "cappyzawa", "repo": "trim.nvim", "tags": ["formatting"] },
 229-    {
 230-      "type": "github",
 231-      "username": "catppuccin",
 232-      "repo": "nvim",
 233-      "tags": ["tree-sitter-supported-colorscheme"]
 234-    },
 235-    { "type": "github", "username": "Chaitanyabsprip", "repo": "present.nvim", "tags": ["media"] },
 236-    { "type": "github", "username": "chentoast", "repo": "marks.nvim", "tags": ["marks"] },
 237-    {
 238-      "type": "github",
 239-      "username": "chipsenkbeil",
 240-      "repo": "distant.nvim",
 241-      "tags": ["remote-development"]
 242-    },
 243-    { "type": "github", "username": "chiyadev", "repo": "dep", "tags": ["plugin-manager"] },
 244-    {
 245-      "type": "github",
 246-      "username": "ChristianChiarulli",
 247-      "repo": "nvcode-color-schemes.vim",
 248-      "tags": ["tree-sitter-supported-colorscheme"]
 249-    },
 250-    { "type": "github", "username": "chrsm", "repo": "impulse.nvim", "tags": ["note-taking"] },
 251-    {
 252-      "type": "github",
 253-      "username": "chrsm",
 254-      "repo": "paramount-ng.nvim",
 255-      "tags": ["tree-sitter-supported-colorscheme"]
 256-    },
 257-    { "type": "github", "username": "clojure-vim", "repo": "jazz.nvim", "tags": ["utility"] },
 258-    { "type": "github", "username": "code-biscuits", "repo": "nvim-biscuits", "tags": ["utility"] },
 259-    { "type": "github", "username": "CosmicNvim", "repo": "cosmic-ui", "tags": ["utility"] },
 260-    {
 261-      "type": "github",
 262-      "username": "CosmicNvim",
 263-      "repo": "CosmicNvim",
 264-      "tags": ["preconfigured-configuration"]
 265-    },
 266-    {
 267-      "type": "github",
 268-      "username": "cpea2506",
 269-      "repo": "one_monokai.nvim",
 270-      "tags": ["tree-sitter-supported-colorscheme"]
 271-    },
 272-    {
 273-      "type": "github",
 274-      "username": "CRAG666",
 275-      "repo": "code_runner.nvim",
 276-      "tags": ["code-runner"]
 277-    },
 278-    { "type": "github", "username": "crispgm", "repo": "nvim-go", "tags": ["golang"] },
 279-    { "type": "github", "username": "crispgm", "repo": "nvim-tabline", "tags": ["tabline"] },
 280-    {
 281-      "type": "github",
 282-      "username": "crivotz",
 283-      "repo": "nv-ide",
 284-      "tags": ["preconfigured-configuration"]
 285-    },
 286-    { "type": "github", "username": "crusj", "repo": "bookmarks.nvim", "tags": ["utility"] },
 287-    { "type": "github", "username": "crusj", "repo": "hierarchy-tree-go.nvim", "tags": ["golang"] },
 288-    { "type": "github", "username": "crusj", "repo": "structrue-go.nvim", "tags": ["golang"] },
 289-    {
 290-      "type": "github",
 291-      "username": "cstsunfu",
 292-      "repo": ".sea.nvim",
 293-      "tags": ["preconfigured-configuration"]
 294-    },
 295-    { "type": "github", "username": "cuducos", "repo": "yaml.nvim", "tags": ["yaml"] },
 296-    {
 297-      "type": "github",
 298-      "username": "cunderw",
 299-      "repo": "nvim",
 300-      "tags": ["preconfigured-configuration"]
 301-    },
 302-    {
 303-      "type": "github",
 304-      "username": "danielfalk",
 305-      "repo": "smart-open.nvim",
 306-      "tags": ["fuzzy-finder"]
 307-    },
 308-    {
 309-      "type": "github",
 310-      "username": "danielpieper",
 311-      "repo": "telescope-tmuxinator.nvim",
 312-      "tags": ["tmux"]
 313-    },
 314-    { "type": "github", "username": "danymat", "repo": "neogen", "tags": ["comment"] },
 315-    { "type": "github", "username": "Darazaki", "repo": "indent-o-matic", "tags": ["indent"] },
 316-    { "type": "github", "username": "datwaft", "repo": "bubbly.nvim", "tags": ["statusline"] },
 317-    { "type": "github", "username": "David-Kunz", "repo": "jester", "tags": ["test"] },
 318-    {
 319-      "type": "github",
 320-      "username": "davidgranstrom",
 321-      "repo": "nvim-markdown-preview",
 322-      "tags": ["markdown-and-latex"]
 323-    },
 324-    { "type": "github", "username": "davidgranstrom", "repo": "scnvim", "tags": ["media"] },
 325-    { "type": "github", "username": "dcampos", "repo": "nvim-snippy", "tags": ["snippet"] },
 326-    { "type": "github", "username": "declancm", "repo": "cinnamon.nvim", "tags": ["scrolling"] },
 327-    { "type": "github", "username": "declancm", "repo": "windex.nvim", "tags": ["tmux"] },
 328-    { "type": "github", "username": "desdic", "repo": "greyjoy.nvim", "tags": ["code-runner"] },
 329-    {
 330-      "type": "github",
 331-      "username": "dracula",
 332-      "repo": "vim",
 333-      "tags": ["tree-sitter-supported-colorscheme"]
 334-    },
 335-    {
 336-      "type": "github",
 337-      "username": "drybalka",
 338-      "repo": "tree-climber.nvim",
 339-      "tags": ["treesitter-based"]
 340-    },
 341-    { "type": "github", "username": "dstein64", "repo": "nvim-scrollview", "tags": ["scrollbar"] },
 342-    {
 343-      "type": "github",
 344-      "username": "echasnovski",
 345-      "repo": "mini.nvim",
 346-      "tags": ["split-and-window"]
 347-    },
 348-    {
 349-      "type": "github",
 350-      "username": "EdenEast",
 351-      "repo": "nightfox.nvim",
 352-      "tags": ["tree-sitter-supported-colorscheme"]
 353-    },
 354-    { "type": "github", "username": "edluffy", "repo": "specs.nvim", "tags": ["motion"] },
 355-    { "type": "github", "username": "edolphin-ydf", "repo": "goimpl.nvim", "tags": ["golang"] },
 356-    { "type": "github", "username": "ekickx", "repo": "clipboard-image.nvim", "tags": ["media"] },
 357-    {
 358-      "type": "github",
 359-      "username": "elihunter173",
 360-      "repo": "dirbuf.nvim",
 361-      "tags": ["file-explorer"]
 362-    },
 363-    { "type": "github", "username": "ellisonleao", "repo": "carbon-now.nvim", "tags": ["snippet"] },
 364-    {
 365-      "type": "github",
 366-      "username": "ellisonleao",
 367-      "repo": "glow.nvim",
 368-      "tags": ["markdown-and-latex"]
 369-    },
 370-    {
 371-      "type": "github",
 372-      "username": "ellisonleao",
 373-      "repo": "gruvbox.nvim",
 374-      "tags": ["lua-colorscheme"]
 375-    },
 376-    {
 377-      "type": "github",
 378-      "username": "ellisonleao",
 379-      "repo": "nvim-plugin-template",
 380-      "tags": ["boilerplate"]
 381-    },
 382-    { "type": "github", "username": "epwalsh", "repo": "obsidian.nvim", "tags": ["note-taking"] },
 383-    {
 384-      "type": "github",
 385-      "username": "esensar",
 386-      "repo": "nvim-dev-container",
 387-      "tags": ["remote-development"]
 388-    },
 389-    {
 390-      "type": "github",
 391-      "username": "ethanholz",
 392-      "repo": "nvim-lastplace",
 393-      "tags": ["editing-support"]
 394-    },
 395-    {
 396-      "type": "github",
 397-      "username": "EthanJWright",
 398-      "repo": "vs-tasks.nvim",
 399-      "tags": ["code-runner"]
 400-    },
 401-    {
 402-      "type": "github",
 403-      "username": "Everblush",
 404-      "repo": "everblush.nvim",
 405-      "tags": ["tree-sitter-supported-colorscheme"]
 406-    },
 407-    { "type": "github", "username": "f-person", "repo": "git-blame.nvim", "tags": ["git"] },
 408-    {
 409-      "type": "github",
 410-      "username": "famiu",
 411-      "repo": "bufdelete.nvim",
 412-      "tags": ["split-and-window"]
 413-    },
 414-    {
 415-      "type": "github",
 416-      "username": "FeiyouG",
 417-      "repo": "command_center.nvim",
 418-      "tags": ["keybinding"]
 419-    },
 420-    { "type": "github", "username": "feline-nvim", "repo": "feline.nvim", "tags": ["statusline"] },
 421-    {
 422-      "type": "github",
 423-      "username": "fenetikm",
 424-      "repo": "falcon",
 425-      "tags": ["tree-sitter-supported-colorscheme"]
 426-    },
 427-    {
 428-      "type": "github",
 429-      "username": "filipdutescu",
 430-      "repo": "renamer.nvim",
 431-      "tags": ["editing-support"]
 432-    },
 433-    { "type": "github", "username": "folke", "repo": "lsp-colors.nvim", "tags": ["diagnostics"] },
 434-    {
 435-      "type": "github",
 436-      "username": "folke",
 437-      "repo": "lua-dev.nvim",
 438-      "tags": ["neovim-lua-development"]
 439-    },
 440-    { "type": "github", "username": "folke", "repo": "noice.nvim", "tags": ["utility"] },
 441-    { "type": "github", "username": "folke", "repo": "todo-comments.nvim", "tags": ["comment"] },
 442-    {
 443-      "type": "github",
 444-      "username": "folke",
 445-      "repo": "tokyonight.nvim",
 446-      "tags": ["tree-sitter-supported-colorscheme"]
 447-    },
 448-    { "type": "github", "username": "folke", "repo": "trouble.nvim", "tags": ["diagnostics"] },
 449-    { "type": "github", "username": "folke", "repo": "twilight.nvim", "tags": ["color"] },
 450-    { "type": "github", "username": "folke", "repo": "which-key.nvim", "tags": ["keybinding"] },
 451-    { "type": "github", "username": "folke", "repo": "zen-mode.nvim", "tags": ["editing-support"] },
 452-    { "type": "github", "username": "frabjous", "repo": "knap", "tags": ["latex", "markdown"] },
 453-    {
 454-      "type": "github",
 455-      "username": "FrenzyExists",
 456-      "repo": "aquarium-vim",
 457-      "tags": ["tree-sitter-supported-colorscheme"]
 458-    },
 459-    {
 460-      "type": "github",
 461-      "username": "gaborvecsei",
 462-      "repo": "cryptoprice.nvim",
 463-      "tags": ["utility"]
 464-    },
 465-    { "type": "github", "username": "gaborvecsei", "repo": "memento.nvim", "tags": ["search"] },
 466-    { "type": "github", "username": "gbprod", "repo": "cutlass.nvim", "tags": ["editing-support"] },
 467-    {
 468-      "type": "github",
 469-      "username": "gbprod",
 470-      "repo": "phpactor.nvim",
 471-      "tags": ["programming-languages-support"]
 472-    },
 473-    {
 474-      "type": "github",
 475-      "username": "gbprod",
 476-      "repo": "stay-in-place.nvim",
 477-      "tags": ["editing-support"]
 478-    },
 479-    {
 480-      "type": "github",
 481-      "username": "gbprod",
 482-      "repo": "substitute.nvim",
 483-      "tags": ["editing-support"]
 484-    },
 485-    { "type": "github", "username": "gbprod", "repo": "yanky.nvim", "tags": ["editing-support"] },
 486-    { "type": "github", "username": "gelguy", "repo": "wilder.nvim", "tags": ["command-line"] },
 487-    { "type": "github", "username": "gen740", "repo": "SmoothCursor.nvim", "tags": ["motion"] },
 488-    { "type": "github", "username": "gennaro-tedesco", "repo": "boilit", "tags": ["boilerplate"] },
 489-    {
 490-      "type": "github",
 491-      "username": "gennaro-tedesco",
 492-      "repo": "nvim-commaround",
 493-      "tags": ["comment"]
 494-    },
 495-    {
 496-      "type": "github",
 497-      "username": "gennaro-tedesco",
 498-      "repo": "nvim-jqx",
 499-      "tags": ["programming-languages-support"]
 500-    },
 501-    {
 502-      "type": "github",
 503-      "username": "gennaro-tedesco",
 504-      "repo": "nvim-peekup",
 505-      "tags": ["register"]
 506-    },
 507-    { "type": "github", "username": "gfanto", "repo": "fzf-lsp.nvim", "tags": ["neovim-0.5"] },
 508-    { "type": "github", "username": "ggandor", "repo": "leap.nvim", "tags": ["motion"] },
 509-    { "type": "github", "username": "ggandor", "repo": "lightspeed.nvim", "tags": ["motion"] },
 510-    { "type": "github", "username": "ghillb", "repo": "cybu.nvim", "tags": ["utility"] },
 511-    { "type": "github", "username": "github", "repo": "copilot.vim", "tags": ["completion"] },
 512-    { "type": "github", "username": "glepnir", "repo": "dashboard-nvim", "tags": ["startup"] },
 513-    { "type": "github", "username": "glepnir", "repo": "indent-guides.nvim", "tags": ["indent"] },
 514-    { "type": "github", "username": "glepnir", "repo": "lspsaga.nvim", "tags": ["neovim-0.5"] },
 515-    {
 516-      "type": "github",
 517-      "username": "glepnir",
 518-      "repo": "zephyr-nvim",
 519-      "tags": ["tree-sitter-supported-colorscheme"]
 520-    },
 521-    { "type": "github", "username": "goolord", "repo": "alpha-nvim", "tags": ["startup"] },
 522-    { "type": "github", "username": "gorbit99", "repo": "codewindow.nvim", "tags": ["scrollbar"] },
 523-    {
 524-      "type": "github",
 525-      "username": "gpanders",
 526-      "repo": "editorconfig.nvim",
 527-      "tags": ["formatting"]
 528-    },
 529-    { "type": "github", "username": "gwatcha", "repo": "reaper-keys", "tags": ["media"] },
 530-    { "type": "github", "username": "h-hg", "repo": "fcitx.nvim", "tags": ["editing-support"] },
 531-    {
 532-      "type": "github",
 533-      "username": "hackorum",
 534-      "repo": "VapourNvim",
 535-      "tags": ["preconfigured-configuration"]
 536-    },
 537-    {
 538-      "type": "github",
 539-      "username": "haringsrob",
 540-      "repo": "nvim_context_vt",
 541-      "tags": ["editing-support"]
 542-    },
 543-    { "type": "github", "username": "hkupty", "repo": "iron.nvim", "tags": ["code-runner"] },
 544-    { "type": "github", "username": "hkupty", "repo": "nvimux", "tags": ["tmux"] },
 545-    { "type": "github", "username": "hrsh7th", "repo": "nvim-cmp", "tags": ["completion"] },
 546-    { "type": "github", "username": "ibhagwan", "repo": "fzf-lua", "tags": ["fuzzy-finder"] },
 547-    {
 548-      "type": "github",
 549-      "username": "imbacraft",
 550-      "repo": "dusk.nvim",
 551-      "tags": ["preconfigured-configuration"]
 552-    },
 553-    { "type": "github", "username": "Iron-E", "repo": "nvim-cartographer", "tags": ["keybinding"] },
 554-    {
 555-      "type": "github",
 556-      "username": "Iron-E",
 557-      "repo": "nvim-highlite",
 558-      "tags": ["colorscheme-creation"]
 559-    },
 560-    { "type": "github", "username": "is0n", "repo": "fm-nvim", "tags": ["file-explorer"] },
 561-    { "type": "github", "username": "is0n", "repo": "jaq-nvim", "tags": ["code-runner"] },
 562-    {
 563-      "type": "github",
 564-      "username": "ishan9299",
 565-      "repo": "modus-theme-vim",
 566-      "tags": ["tree-sitter-supported-colorscheme"]
 567-    },
 568-    {
 569-      "type": "github",
 570-      "username": "ishan9299",
 571-      "repo": "nvim-solarized-lua",
 572-      "tags": ["tree-sitter-supported-colorscheme"]
 573-    },
 574-    { "type": "github", "username": "j-hui", "repo": "fidget.nvim", "tags": ["neovim-0.5"] },
 575-    {
 576-      "type": "github",
 577-      "username": "jakewvincent",
 578-      "repo": "mkdnflow.nvim",
 579-      "tags": ["note-taking"]
 580-    },
 581-    {
 582-      "type": "github",
 583-      "username": "jakewvincent",
 584-      "repo": "texmagic.nvim",
 585-      "tags": ["neovim-0.5"]
 586-    },
 587-    { "type": "github", "username": "jameshiew", "repo": "nvim-magic", "tags": ["completion"] },
 588-    {
 589-      "type": "github",
 590-      "username": "jamestthompson3",
 591-      "repo": "nvim-remote-containers",
 592-      "tags": ["remote-development"]
 593-    },
 594-    {
 595-      "type": "github",
 596-      "username": "jbyuki",
 597-      "repo": "carrot.nvim",
 598-      "tags": ["markdown-and-latex"]
 599-    },
 600-    { "type": "github", "username": "jbyuki", "repo": "instant.nvim", "tags": ["utility"] },
 601-    { "type": "github", "username": "jbyuki", "repo": "nabla.nvim", "tags": ["note-taking"] },
 602-    {
 603-      "type": "github",
 604-      "username": "jbyuki",
 605-      "repo": "one-small-step-for-vimkind",
 606-      "tags": ["neovim-lua-development"]
 607-    },
 608-    { "type": "github", "username": "jbyuki", "repo": "venn.nvim", "tags": ["note-taking"] },
 609-    { "type": "github", "username": "jceb", "repo": "blinds.nvim", "tags": ["color"] },
 610-    {
 611-      "type": "github",
 612-      "username": "jedrzejboczar",
 613-      "repo": "possession.nvim",
 614-      "tags": ["session"]
 615-    },
 616-    {
 617-      "type": "github",
 618-      "username": "jedrzejboczar",
 619-      "repo": "toggletasks.nvim",
 620-      "tags": ["code-runner"]
 621-    },
 622-    {
 623-      "type": "github",
 624-      "username": "jghauser",
 625-      "repo": "auto-pandoc.nvim",
 626-      "tags": ["markdown-and-latex"]
 627-    },
 628-    { "type": "github", "username": "jghauser", "repo": "fold-cycle.nvim", "tags": ["utility"] },
 629-    {
 630-      "type": "github",
 631-      "username": "jghauser",
 632-      "repo": "follow-md-links.nvim",
 633-      "tags": ["markdown-and-latex"]
 634-    },
 635-    {
 636-      "type": "github",
 637-      "username": "jghauser",
 638-      "repo": "kitty-runner.nvim",
 639-      "tags": ["terminal-integration"]
 640-    },
 641-    { "type": "github", "username": "jghauser", "repo": "mkdir.nvim", "tags": ["utility"] },
 642-    { "type": "github", "username": "jghauser", "repo": "papis.nvim", "tags": ["note-taking"] },
 643-    {
 644-      "type": "github",
 645-      "username": "jim-at-jibba",
 646-      "repo": "ariake-vim-colors",
 647-      "tags": ["tree-sitter-supported-colorscheme"]
 648-    },
 649-    {
 650-      "type": "github",
 651-      "username": "jlesquembre",
 652-      "repo": "nterm.nvim",
 653-      "tags": ["terminal-integration"]
 654-    },
 655-    { "type": "github", "username": "johann2357", "repo": "nvim-smartbufs", "tags": ["tabline"] },
 656-    {
 657-      "type": "github",
 658-      "username": "JoosepAlviste",
 659-      "repo": "nvim-ts-context-commentstring",
 660-      "tags": ["comment"]
 661-    },
 662-    {
 663-      "type": "github",
 664-      "username": "jose-elias-alvarez",
 665-      "repo": "null-ls.nvim",
 666-      "tags": ["neovim-0.5"]
 667-    },
 668-    {
 669-      "type": "github",
 670-      "username": "jose-elias-alvarez",
 671-      "repo": "typescript.nvim",
 672-      "tags": ["neovim-0.5"]
 673-    },
 674-    {
 675-      "type": "github",
 676-      "username": "jrychn",
 677-      "repo": "ModuleVim",
 678-      "tags": ["preconfigured-configuration"]
 679-    },
 680-    {
 681-      "type": "github",
 682-      "username": "jubnzv",
 683-      "repo": "mdeval.nvim",
 684-      "tags": ["markdown-and-latex"]
 685-    },
 686-    {
 687-      "type": "github",
 688-      "username": "jubnzv",
 689-      "repo": "virtual-types.nvim",
 690-      "tags": ["neovim-0.5"]
 691-    },
 692-    {
 693-      "type": "github",
 694-      "username": "Julian",
 695-      "repo": "lean.nvim",
 696-      "tags": ["programming-languages-support"]
 697-    },
 698-    { "type": "github", "username": "Junnplus", "repo": "nvim-lsp-setup", "tags": ["neovim-0.5"] },
 699-    {
 700-      "type": "github",
 701-      "username": "justinhj",
 702-      "repo": "battery.nvim",
 703-      "tags": ["statusline", "diagnostics"]
 704-    },
 705-    {
 706-      "type": "github",
 707-      "username": "jvgrootveld",
 708-      "repo": "telescope-zoxide",
 709-      "tags": ["fuzzy-finder"]
 710-    },
 711-    {
 712-      "type": "github",
 713-      "username": "kaiuri",
 714-      "repo": "nvim-juliana",
 715-      "tags": ["tree-sitter-supported-colorscheme"]
 716-    },
 717-    { "type": "github", "username": "karb94", "repo": "neoscroll.nvim", "tags": ["scrolling"] },
 718-    {
 719-      "type": "github",
 720-      "username": "Kasama",
 721-      "repo": "nvim-custom-diagnostic-highlight",
 722-      "tags": ["neovim-0.5"]
 723-    },
 724-    { "type": "github", "username": "kazhala", "repo": "close-buffers.nvim", "tags": ["utility"] },
 725-    { "type": "github", "username": "kdheepak", "repo": "lazygit.nvim", "tags": ["git"] },
 726-    {
 727-      "type": "github",
 728-      "username": "kdheepak",
 729-      "repo": "monochrome.nvim",
 730-      "tags": ["tree-sitter-supported-colorscheme"]
 731-    },
 732-    {
 733-      "type": "github",
 734-      "username": "kdheepak",
 735-      "repo": "panvimdoc",
 736-      "tags": ["markdown-and-latex"]
 737-    },
 738-    { "type": "github", "username": "kdheepak", "repo": "tabline.nvim", "tags": ["tabline"] },
 739-    {
 740-      "type": "github",
 741-      "username": "keaising",
 742-      "repo": "im-select.nvim",
 743-      "tags": ["editing-support"]
 744-    },
 745-    { "type": "github", "username": "kevinhwang91", "repo": "nvim-bqf", "tags": ["quickfix"] },
 746-    { "type": "github", "username": "kevinhwang91", "repo": "nvim-hlslens", "tags": ["search"] },
 747-    { "type": "github", "username": "kevinhwang91", "repo": "nvim-ufo", "tags": ["utility"] },
 748-    { "type": "github", "username": "kevinhwang91", "repo": "rnvimr", "tags": ["file-explorer"] },
 749-    { "type": "github", "username": "kiran94", "repo": "s3edit.nvim", "tags": ["file-explorer"] },
 750-    {
 751-      "type": "github",
 752-      "username": "kkharji",
 753-      "repo": "sqlite.lua",
 754-      "tags": ["neovim-lua-development"]
 755-    },
 756-    { "type": "github", "username": "klen", "repo": "nvim-config-local", "tags": ["project"] },
 757-    { "type": "github", "username": "klen", "repo": "nvim-test", "tags": ["test"] },
 758-    {
 759-      "type": "github",
 760-      "username": "koenverburg",
 761-      "repo": "cmd-palette.nvim",
 762-      "tags": ["utility"]
 763-    },
 764-    {
 765-      "type": "github",
 766-      "username": "koenverburg",
 767-      "repo": "minimal-tabline.nvim",
 768-      "tags": ["tabline"]
 769-    },
 770-    { "type": "github", "username": "koenverburg", "repo": "peepsight.nvim", "tags": ["color"] },
 771-    { "type": "github", "username": "konapun", "repo": "vacuumline.nvim", "tags": ["statusline"] },
 772-    { "type": "github", "username": "kosayoda", "repo": "nvim-lightbulb", "tags": ["neovim-0.5"] },
 773-    {
 774-      "type": "github",
 775-      "username": "krady21",
 776-      "repo": "compiler-explorer.nvim",
 777-      "tags": ["media"]
 778-    },
 779-    {
 780-      "type": "github",
 781-      "username": "ktunprasert",
 782-      "repo": "gui-font-resize.nvim",
 783-      "tags": ["utility"]
 784-    },
 785-    {
 786-      "type": "github",
 787-      "username": "kvrohit",
 788-      "repo": "mellow.nvim",
 789-      "tags": ["tree-sitter-supported-colorscheme"]
 790-    },
 791-    {
 792-      "type": "github",
 793-      "username": "kvrohit",
 794-      "repo": "rasmus.nvim",
 795-      "tags": ["tree-sitter-supported-colorscheme"]
 796-    },
 797-    {
 798-      "type": "github",
 799-      "username": "kvrohit",
 800-      "repo": "substrata.nvim",
 801-      "tags": ["tree-sitter-supported-colorscheme"]
 802-    },
 803-    {
 804-      "type": "github",
 805-      "username": "kyazdani42",
 806-      "repo": "blue-moon",
 807-      "tags": ["tree-sitter-supported-colorscheme"]
 808-    },
 809-    {
 810-      "type": "github",
 811-      "username": "kyazdani42",
 812-      "repo": "nvim-tree.lua",
 813-      "tags": ["file-explorer"]
 814-    },
 815-    { "type": "github", "username": "kyazdani42", "repo": "nvim-web-devicons", "tags": ["icon"] },
 816-    { "type": "github", "username": "kylechui", "repo": "nvim-surround", "tags": ["formatting"] },
 817-    { "type": "github", "username": "L3MON4D3", "repo": "LuaSnip", "tags": ["snippet"] },
 818-    {
 819-      "type": "github",
 820-      "username": "lalitmee",
 821-      "repo": "cobalt2.nvim",
 822-      "tags": ["lua-colorscheme"]
 823-    },
 824-    {
 825-      "type": "github",
 826-      "username": "lcheylus",
 827-      "repo": "overlength.nvim",
 828-      "tags": ["editing-support"]
 829-    },
 830-    { "type": "github", "username": "ldelossa", "repo": "gh.nvim", "tags": ["github"] },
 831-    { "type": "github", "username": "ldelossa", "repo": "litee.nvim", "tags": ["neovim-0.5"] },
 832-    {
 833-      "type": "github",
 834-      "username": "ldelossa",
 835-      "repo": "vimdark",
 836-      "tags": ["tree-sitter-supported-colorscheme"]
 837-    },
 838-    { "type": "github", "username": "lewis6991", "repo": "gitsigns.nvim", "tags": ["git"] },
 839-    { "type": "github", "username": "lewis6991", "repo": "spellsitter.nvim", "tags": ["language"] },
 840-    {
 841-      "type": "github",
 842-      "username": "lewpoly",
 843-      "repo": "sherbet.nvim",
 844-      "tags": ["tree-sitter-supported-colorscheme"]
 845-    },
 846-    {
 847-      "type": "github",
 848-      "username": "LinArcX",
 849-      "repo": "telescope-command-palette.nvim",
 850-      "tags": ["keybinding"]
 851-    },
 852-    { "type": "github", "username": "linty-org", "repo": "key-menu.nvim", "tags": ["keybinding"] },
 853-    {
 854-      "type": "github",
 855-      "username": "linty-org",
 856-      "repo": "readline.nvim",
 857-      "tags": ["editing-support"]
 858-    },
 859-    { "type": "github", "username": "LionC", "repo": "nest.nvim", "tags": ["keybinding"] },
 860-    {
 861-      "type": "github",
 862-      "username": "lmburns",
 863-      "repo": "kimbox",
 864-      "tags": ["tree-sitter-supported-colorscheme"]
 865-    },
 866-    {
 867-      "type": "github",
 868-      "username": "LoricAndre",
 869-      "repo": "OneTerm.nvim",
 870-      "tags": ["terminal-integration"]
 871-    },
 872-    {
 873-      "type": "github",
 874-      "username": "lourenci",
 875-      "repo": "github-colors",
 876-      "tags": ["tree-sitter-supported-colorscheme"]
 877-    },
 878-    {
 879-      "type": "github",
 880-      "username": "LudoPinelli",
 881-      "repo": "comment-box.nvim",
 882-      "tags": ["comment"]
 883-    },
 884-    {
 885-      "type": "github",
 886-      "username": "luisiacc",
 887-      "repo": "gruvbox-baby",
 888-      "tags": ["tree-sitter-supported-colorscheme"]
 889-    },
 890-    {
 891-      "type": "github",
 892-      "username": "lukas-reineke",
 893-      "repo": "indent-blankline.nvim",
 894-      "tags": ["indent"]
 895-    },
 896-    {
 897-      "type": "github",
 898-      "username": "lukas-reineke",
 899-      "repo": "lsp-format.nvim",
 900-      "tags": ["formatting"]
 901-    },
 902-    {
 903-      "type": "github",
 904-      "username": "LunarVim",
 905-      "repo": "LunarVim",
 906-      "tags": ["preconfigured-configuration"]
 907-    },
 908-    { "type": "github", "username": "luukvbaal", "repo": "nnn.nvim", "tags": ["file-explorer"] },
 909-    {
 910-      "type": "github",
 911-      "username": "luukvbaal",
 912-      "repo": "stabilize.nvim",
 913-      "tags": ["split-and-window"]
 914-    },
 915-    {
 916-      "type": "github",
 917-      "username": "lvim-tech",
 918-      "repo": "lvim",
 919-      "tags": ["preconfigured-configuration"]
 920-    },
 921-    { "type": "github", "username": "m-demare", "repo": "attempt.nvim", "tags": ["utility"] },
 922-    { "type": "github", "username": "m-demare", "repo": "hlargs.nvim", "tags": ["syntax"] },
 923-    {
 924-      "type": "github",
 925-      "username": "m00qek",
 926-      "repo": "baleia.nvim",
 927-      "tags": ["terminal-integration"]
 928-    },
 929-    {
 930-      "type": "github",
 931-      "username": "m00qek",
 932-      "repo": "plugin-template.nvim",
 933-      "tags": ["boilerplate"]
 934-    },
 935-    {
 936-      "type": "github",
 937-      "username": "m4xshen",
 938-      "repo": "autoclose.nvim",
 939-      "tags": ["editing-support"]
 940-    },
 941-    { "type": "github", "username": "madskjeldgaard", "repo": "reaper-nvim", "tags": ["media"] },
 942-    {
 943-      "type": "github",
 944-      "username": "marko-cerovac",
 945-      "repo": "material.nvim",
 946-      "tags": ["tree-sitter-supported-colorscheme"]
 947-    },
 948-    { "type": "github", "username": "Massolari", "repo": "forem.nvim", "tags": ["utility"] },
 949-    { "type": "github", "username": "matbme", "repo": "JABS.nvim", "tags": ["utility"] },
 950-    {
 951-      "type": "github",
 952-      "username": "max397574",
 953-      "repo": "better-escape.nvim",
 954-      "tags": ["keybinding"]
 955-    },
 956-    { "type": "github", "username": "mcauley-penney", "repo": "tidy.nvim", "tags": ["formatting"] },
 957-    {
 958-      "type": "github",
 959-      "username": "mcchrish",
 960-      "repo": "zenbones.nvim",
 961-      "tags": ["tree-sitter-supported-colorscheme"]
 962-    },
 963-    {
 964-      "type": "github",
 965-      "username": "meliora-theme",
 966-      "repo": "neovim",
 967-      "tags": ["tree-sitter-supported-colorscheme"]
 968-    },
 969-    { "type": "github", "username": "melkster", "repo": "modicator.nvim", "tags": ["cursorline"] },
 970-    {
 971-      "type": "github",
 972-      "username": "metalelf0",
 973-      "repo": "jellybeans-nvim",
 974-      "tags": ["lua-colorscheme"]
 975-    },
 976-    { "type": "github", "username": "mfussenegger", "repo": "nvim-dap", "tags": ["debugging"] },
 977-    { "type": "github", "username": "mfussenegger", "repo": "nvim-jdtls", "tags": ["neovim-0.5"] },
 978-    { "type": "github", "username": "mfussenegger", "repo": "nvim-lint", "tags": ["neovim-0.5"] },
 979-    {
 980-      "type": "github",
 981-      "username": "mfussenegger",
 982-      "repo": "nvim-ts-hint-textobject",
 983-      "tags": ["treesitter-based"]
 984-    },
 985-    {
 986-      "type": "github",
 987-      "username": "mhartington",
 988-      "repo": "formatter.nvim",
 989-      "tags": ["formatting"]
 990-    },
 991-    {
 992-      "type": "github",
 993-      "username": "mhartington",
 994-      "repo": "oceanic-next",
 995-      "tags": ["tree-sitter-supported-colorscheme"]
 996-    },
 997-    { "type": "github", "username": "michaelb", "repo": "sniprun", "tags": ["code-runner"] },
 998-    { "type": "github", "username": "mickael-menu", "repo": "zk-nvim", "tags": ["note-taking"] },
 999-    {
1000-      "type": "github",
1001-      "username": "milisims",
1002-      "repo": "nvim-luaref",
1003-      "tags": ["neovim-lua-development"]
1004-    },
1005-    {
1006-      "type": "github",
1007-      "username": "miversen33",
1008-      "repo": "import.nvim",
1009-      "tags": ["neovim-lua-development"]
1010-    },
1011-    { "type": "github", "username": "mizlan", "repo": "iswap.nvim", "tags": ["editing-support"] },
1012-    {
1013-      "type": "github",
1014-      "username": "Mofiqul",
1015-      "repo": "adwaita.nvim",
1016-      "tags": ["tree-sitter-supported-colorscheme"]
1017-    },
1018-    {
1019-      "type": "github",
1020-      "username": "Mofiqul",
1021-      "repo": "dracula.nvim",
1022-      "tags": ["tree-sitter-supported-colorscheme"]
1023-    },
1024-    {
1025-      "type": "github",
1026-      "username": "Mofiqul",
1027-      "repo": "vscode.nvim",
1028-      "tags": ["tree-sitter-supported-colorscheme"]
1029-    },
1030-    { "type": "github", "username": "monaqa", "repo": "dial.nvim", "tags": ["editing-support"] },
1031-    { "type": "github", "username": "MordechaiHadad", "repo": "bob", "tags": ["version-manager"] },
1032-    {
1033-      "type": "github",
1034-      "username": "MrcJkb",
1035-      "repo": "haskell-tools.nvim",
1036-      "tags": ["neovim-0.5"]
1037-    },
1038-    {
1039-      "type": "github",
1040-      "username": "mrjones2014",
1041-      "repo": "legendary.nvim",
1042-      "tags": ["keybinding"]
1043-    },
1044-    {
1045-      "type": "github",
1046-      "username": "mrjones2014",
1047-      "repo": "smart-splits.nvim",
1048-      "tags": ["split-and-window"]
1049-    },
1050-    { "type": "github", "username": "ms-jpq", "repo": "chadtree", "tags": ["file-explorer"] },
1051-    { "type": "github", "username": "ms-jpq", "repo": "coq_nvim", "tags": ["completion"] },
1052-    { "type": "github", "username": "MunifTanjim", "repo": "exrc.nvim", "tags": ["project"] },
1053-    {
1054-      "type": "github",
1055-      "username": "MunifTanjim",
1056-      "repo": "nui.nvim",
1057-      "tags": ["neovim-lua-development"]
1058-    },
1059-    {
1060-      "type": "github",
1061-      "username": "MunifTanjim",
1062-      "repo": "prettier.nvim",
1063-      "tags": ["formatting"]
1064-    },
1065-    { "type": "github", "username": "nacro90", "repo": "numb.nvim", "tags": ["editing-support"] },
1066-    {
1067-      "type": "github",
1068-      "username": "nanotee",
1069-      "repo": "luv-vimdocs",
1070-      "tags": ["neovim-lua-development"]
1071-    },
1072-    { "type": "github", "username": "nanotee", "repo": "nvim-lsp-basics", "tags": ["neovim-0.5"] },
1073-    {
1074-      "type": "github",
1075-      "username": "nanotee",
1076-      "repo": "nvim-lua-guide",
1077-      "tags": ["neovim-lua-development"]
1078-    },
1079-    {
1080-      "type": "github",
1081-      "username": "nanotee",
1082-      "repo": "sqls.nvim",
1083-      "tags": ["programming-languages-support"]
1084-    },
1085-    { "type": "github", "username": "nanozuki", "repo": "tabby.nvim", "tags": ["tabline"] },
1086-    {
1087-      "type": "github",
1088-      "username": "navarasu",
1089-      "repo": "onedark.nvim",
1090-      "tags": ["tree-sitter-supported-colorscheme"]
1091-    },
1092-    { "type": "github", "username": "neovim", "repo": "nvim-lspconfig", "tags": ["neovim-0.5"] },
1093-    { "type": "github", "username": "NFrid", "repo": "due.nvim", "tags": ["note-taking"] },
1094-    {
1095-      "type": "github",
1096-      "username": "NFrid",
1097-      "repo": "markdown-togglecheck",
1098-      "tags": ["markdown-and-latex"]
1099-    },
1100-    {
1101-      "type": "github",
1102-      "username": "NFrid",
1103-      "repo": "treesitter-utils",
1104-      "tags": ["neovim-lua-development"]
1105-    },
1106-    { "type": "github", "username": "nguyenvukhang", "repo": "nvim-toggler", "tags": ["utility"] },
1107-    { "type": "github", "username": "nikvdp", "repo": "neomux", "tags": ["terminal-integration"] },
1108-    {
1109-      "type": "github",
1110-      "username": "nkakouros-original",
1111-      "repo": "numbers.nvim",
1112-      "tags": ["utility"]
1113-    },
1114-    { "type": "github", "username": "NMAC427", "repo": "guess-indent.nvim", "tags": ["indent"] },
1115-    { "type": "github", "username": "noib3", "repo": "cokeline.nvim", "tags": ["tabline"] },
1116-    { "type": "github", "username": "noib3", "repo": "nvim-compleet", "tags": ["completion"] },
1117-    {
1118-      "type": "github",
1119-      "username": "norcalli",
1120-      "repo": "nvim-base16.lua",
1121-      "tags": ["colorscheme-creation"]
1122-    },
1123-    {
1124-      "type": "github",
1125-      "username": "norcalli",
1126-      "repo": "nvim-terminal.lua",
1127-      "tags": ["terminal-integration"]
1128-    },
1129-    { "type": "github", "username": "norcalli", "repo": "snippets.nvim", "tags": ["snippet"] },
1130-    { "type": "github", "username": "notomo", "repo": "cmdbuf.nvim", "tags": ["command-line"] },
1131-    { "type": "github", "username": "notomo", "repo": "gesture.nvim", "tags": ["mouse"] },
1132-    { "type": "github", "username": "NTBBloodbath", "repo": "cheovim", "tags": ["plugin-manager"] },
1133-    {
1134-      "type": "github",
1135-      "username": "NTBBloodbath",
1136-      "repo": "doom-nvim",
1137-      "tags": ["preconfigured-configuration"]
1138-    },
1139-    {
1140-      "type": "github",
1141-      "username": "NTBBloodbath",
1142-      "repo": "doom-one.nvim",
1143-      "tags": ["tree-sitter-supported-colorscheme"]
1144-    },
1145-    {
1146-      "type": "github",
1147-      "username": "NTBBloodbath",
1148-      "repo": "galaxyline.nvim",
1149-      "tags": ["statusline"]
1150-    },
1151-    { "type": "github", "username": "NTBBloodbath", "repo": "nvenv", "tags": ["version-manager"] },
1152-    {
1153-      "type": "github",
1154-      "username": "NTBBloodbath",
1155-      "repo": "rest.nvim",
1156-      "tags": ["web-development"]
1157-    },
1158-    { "type": "github", "username": "numToStr", "repo": "BufOnly.nvim", "tags": ["utility"] },
1159-    { "type": "github", "username": "numToStr", "repo": "Comment.nvim", "tags": ["comment"] },
1160-    {
1161-      "type": "github",
1162-      "username": "numToStr",
1163-      "repo": "FTerm.nvim",
1164-      "tags": ["terminal-integration"]
1165-    },
1166-    { "type": "github", "username": "numToStr", "repo": "Navigator.nvim", "tags": ["tmux"] },
1167-    { "type": "github", "username": "NvChad", "repo": "nvim-colorizer.lua", "tags": ["color"] },
1168-    { "type": "github", "username": "nvim-colortils", "repo": "colortils.nvim", "tags": ["color"] },
1169-    {
1170-      "type": "github",
1171-      "username": "nvim-lua",
1172-      "repo": "kickstart.nvim",
1173-      "tags": ["preconfigured-configuration"]
1174-    },
1175-    { "type": "github", "username": "nvim-lua", "repo": "lsp-status.nvim", "tags": ["neovim-0.5"] },
1176-    {
1177-      "type": "github",
1178-      "username": "nvim-lua",
1179-      "repo": "plenary.nvim",
1180-      "tags": ["neovim-lua-development"]
1181-    },
1182-    {
1183-      "type": "github",
1184-      "username": "nvim-lua",
1185-      "repo": "popup.nvim",
1186-      "tags": ["neovim-lua-development"]
1187-    },
1188-    {
1189-      "type": "github",
1190-      "username": "nvim-lualine",
1191-      "repo": "lualine.nvim",
1192-      "tags": ["statusline"]
1193-    },
1194-    {
1195-      "type": "github",
1196-      "username": "nvim-neo-tree",
1197-      "repo": "neo-tree.nvim",
1198-      "tags": ["file-explorer"]
1199-    },
1200-    { "type": "github", "username": "nvim-neorg", "repo": "neorg", "tags": ["note-taking"] },
1201-    { "type": "github", "username": "nvim-neotest", "repo": "neotest", "tags": ["test"] },
1202-    { "type": "github", "username": "nvim-orgmode", "repo": "orgmode", "tags": ["note-taking"] },
1203-    {
1204-      "type": "github",
1205-      "username": "nvim-telescope",
1206-      "repo": "telescope.nvim",
1207-      "tags": ["fuzzy-finder"]
1208-    },
1209-    {
1210-      "type": "github",
1211-      "username": "nvim-treesitter",
1212-      "repo": "nvim-treesitter",
1213-      "tags": ["syntax"]
1214-    },
1215-    {
1216-      "type": "github",
1217-      "username": "nvim-treesitter",
1218-      "repo": "nvim-treesitter-context",
1219-      "tags": ["editing-support"]
1220-    },
1221-    {
1222-      "type": "github",
1223-      "username": "nvim-treesitter",
1224-      "repo": "nvim-treesitter-textobjects",
1225-      "tags": ["syntax"]
1226-    },
1227-    {
1228-      "type": "github",
1229-      "username": "nvim-zh",
1230-      "repo": "colorful-winsep.nvim",
1231-      "tags": ["split-and-window"]
1232-    },
1233-    {
1234-      "type": "github",
1235-      "username": "nvoid-lua",
1236-      "repo": "nvoid",
1237-      "tags": ["preconfigured-configuration"]
1238-    },
1239-    {
1240-      "type": "github",
1241-      "username": "nxvu699134",
1242-      "repo": "vn-night.nvim",
1243-      "tags": ["tree-sitter-supported-colorscheme"]
1244-    },
1245-    {
1246-      "type": "github",
1247-      "username": "nyngwang",
1248-      "repo": "NeoNoName.lua",
1249-      "tags": ["split-and-window"]
1250-    },
1251-    { "type": "github", "username": "nyngwang", "repo": "NeoRoot.lua", "tags": ["project"] },
1252-    {
1253-      "type": "github",
1254-      "username": "oberblastmeister",
1255-      "repo": "neuron.nvim",
1256-      "tags": ["note-taking"]
1257-    },
1258-    {
1259-      "type": "github",
1260-      "username": "ofirgall",
1261-      "repo": "goto-breakpoints.nvim",
1262-      "tags": ["debugging"]
1263-    },
1264-    {
1265-      "type": "github",
1266-      "username": "ofirgall",
1267-      "repo": "ofirkai.nvim",
1268-      "tags": ["tree-sitter-supported-colorscheme"]
1269-    },
1270-    { "type": "github", "username": "ofirgall", "repo": "open.nvim", "tags": ["marks"] },
1271-    { "type": "github", "username": "ojroques", "repo": "nvim-hardline", "tags": ["statusline"] },
1272-    { "type": "github", "username": "ojroques", "repo": "nvim-lspfuzzy", "tags": ["neovim-0.5"] },
1273-    { "type": "github", "username": "olexsmir", "repo": "gopher.nvim", "tags": ["golang"] },
1274-    { "type": "github", "username": "Olical", "repo": "aniseed", "tags": ["fennel"] },
1275-    { "type": "github", "username": "Olical", "repo": "conjure", "tags": ["fennel"] },
1276-    {
1277-      "type": "github",
1278-      "username": "olimorris",
1279-      "repo": "onedarkpro.nvim",
1280-      "tags": ["tree-sitter-supported-colorscheme"]
1281-    },
1282-    { "type": "github", "username": "olimorris", "repo": "persisted.nvim", "tags": ["session"] },
1283-    {
1284-      "type": "github",
1285-      "username": "olivercederborg",
1286-      "repo": "poimandres.nvim",
1287-      "tags": ["tree-sitter-supported-colorscheme"]
1288-    },
1289-    { "type": "github", "username": "onsails", "repo": "diaglist.nvim", "tags": ["diagnostics"] },
1290-    { "type": "github", "username": "onsails", "repo": "lspkind.nvim", "tags": ["neovim-0.5"] },
1291-    { "type": "github", "username": "ostralyan", "repo": "scribe.nvim", "tags": ["note-taking"] },
1292-    {
1293-      "type": "github",
1294-      "username": "p00f",
1295-      "repo": "cphelper.nvim",
1296-      "tags": ["competitive-programming"]
1297-    },
1298-    {
1299-      "type": "github",
1300-      "username": "p00f",
1301-      "repo": "nvim-ts-rainbow",
1302-      "tags": ["editing-support"]
1303-    },
1304-    { "type": "github", "username": "petertriho", "repo": "nvim-scrollbar", "tags": ["scrollbar"] },
1305-    { "type": "github", "username": "phaazon", "repo": "hop.nvim", "tags": ["motion"] },
1306-    {
1307-      "type": "github",
1308-      "username": "phha",
1309-      "repo": "zenburn.nvim",
1310-      "tags": ["tree-sitter-supported-colorscheme"]
1311-    },
1312-    {
1313-      "type": "github",
1314-      "username": "PHSix",
1315-      "repo": "nvim-hybrid",
1316-      "tags": ["tree-sitter-supported-colorscheme"]
1317-    },
1318-    {
1319-      "type": "github",
1320-      "username": "pianocomposer321",
1321-      "repo": "consolation.nvim",
1322-      "tags": ["terminal-integration"]
1323-    },
1324-    {
1325-      "type": "github",
1326-      "username": "pianocomposer321",
1327-      "repo": "yabs.nvim",
1328-      "tags": ["code-runner"]
1329-    },
1330-    { "type": "github", "username": "Pocco81", "repo": "AbbrevMan.nvim", "tags": ["utility"] },
1331-    {
1332-      "type": "github",
1333-      "username": "Pocco81",
1334-      "repo": "AutoSave.nvim",
1335-      "tags": ["editing-support"]
1336-    },
1337-    { "type": "github", "username": "Pocco81", "repo": "DAPInstall.nvim", "tags": ["debugging"] },
1338-    {
1339-      "type": "github",
1340-      "username": "Pocco81",
1341-      "repo": "HighStr.nvim",
1342-      "tags": ["editing-support"]
1343-    },
1344-    {
1345-      "type": "github",
1346-      "username": "Pocco81",
1347-      "repo": "TrueZen.nvim",
1348-      "tags": ["editing-support"]
1349-    },
1350-    { "type": "github", "username": "potamides", "repo": "pantran.nvim", "tags": ["language"] },
1351-    {
1352-      "type": "github",
1353-      "username": "projekt0n",
1354-      "repo": "github-nvim-theme",
1355-      "tags": ["tree-sitter-supported-colorscheme"]
1356-    },
1357-    { "type": "github", "username": "pwntester", "repo": "codeql.nvim", "tags": ["github"] },
1358-    { "type": "github", "username": "pwntester", "repo": "octo.nvim", "tags": ["github"] },
1359-    { "type": "github", "username": "rafaelsq", "repo": "nvim-goc.lua", "tags": ["golang"] },
1360-    {
1361-      "type": "github",
1362-      "username": "rafamadriz",
1363-      "repo": "neon",
1364-      "tags": ["tree-sitter-supported-colorscheme"]
1365-    },
1366-    {
1367-      "type": "github",
1368-      "username": "rafcamlet",
1369-      "repo": "nvim-luapad",
1370-      "tags": ["neovim-lua-development"]
1371-    },
1372-    {
1373-      "type": "github",
1374-      "username": "rafcamlet",
1375-      "repo": "tabline-framework.nvim",
1376-      "tags": ["tabline"]
1377-    },
1378-    { "type": "github", "username": "ranjithshegde", "repo": "ccls.nvim", "tags": ["neovim-0.5"] },
1379-    {
1380-      "type": "github",
1381-      "username": "ray-x",
1382-      "repo": "aurora",
1383-      "tags": ["tree-sitter-supported-colorscheme"]
1384-    },
1385-    { "type": "github", "username": "ray-x", "repo": "go.nvim", "tags": ["golang"] },
1386-    {
1387-      "type": "github",
1388-      "username": "ray-x",
1389-      "repo": "guihua.lua",
1390-      "tags": ["neovim-lua-development"]
1391-    },
1392-    { "type": "github", "username": "ray-x", "repo": "lsp_signature.nvim", "tags": ["neovim-0.5"] },
1393-    { "type": "github", "username": "ray-x", "repo": "navigator.lua", "tags": ["neovim-0.5"] },
1394-    { "type": "github", "username": "ray-x", "repo": "sad.nvim", "tags": ["search"] },
1395-    {
1396-      "type": "github",
1397-      "username": "ray-x",
1398-      "repo": "starry.nvim",
1399-      "tags": ["tree-sitter-supported-colorscheme"]
1400-    },
1401-    {
1402-      "type": "github",
1403-      "username": "ray-x",
1404-      "repo": "web-tools.nvim",
1405-      "tags": ["web-development"]
1406-    },
1407-    { "type": "github", "username": "rcarriga", "repo": "nvim-dap-ui", "tags": ["debugging"] },
1408-    { "type": "github", "username": "rcarriga", "repo": "nvim-notify", "tags": ["utility"] },
1409-    { "type": "github", "username": "rebelot", "repo": "heirline.nvim", "tags": ["statusline"] },
1410-    {
1411-      "type": "github",
1412-      "username": "rebelot",
1413-      "repo": "kanagawa.nvim",
1414-      "tags": ["tree-sitter-supported-colorscheme"]
1415-    },
1416-    {
1417-      "type": "github",
1418-      "username": "renerocksai",
1419-      "repo": "telekasten.nvim",
1420-      "tags": ["note-taking"]
1421-    },
1422-    { "type": "github", "username": "rgroli", "repo": "other.nvim", "tags": ["utility"] },
1423-    {
1424-      "type": "github",
1425-      "username": "RishabhRD",
1426-      "repo": "gruvy",
1427-      "tags": ["tree-sitter-supported-colorscheme"]
1428-    },
1429-    { "type": "github", "username": "RishabhRD", "repo": "nvim-lsputils", "tags": ["neovim-0.5"] },
1430-    {
1431-      "type": "github",
1432-      "username": "rktjmp",
1433-      "repo": "highlight-current-n.nvim",
1434-      "tags": ["search"]
1435-    },
1436-    { "type": "github", "username": "rktjmp", "repo": "hotpot.nvim", "tags": ["fennel"] },
1437-    {
1438-      "type": "github",
1439-      "username": "rktjmp",
1440-      "repo": "lush.nvim",
1441-      "tags": ["colorscheme-creation"]
1442-    },
1443-    { "type": "github", "username": "rktjmp", "repo": "paperplanes.nvim", "tags": ["utility"] },
1444-    { "type": "github", "username": "rktjmp", "repo": "shenzhen-solitaire.nvim", "tags": ["game"] },
1445-    { "type": "github", "username": "rlane", "repo": "pounce.nvim", "tags": ["motion"] },
1446-    { "type": "github", "username": "rmagatti", "repo": "auto-session", "tags": ["session"] },
1447-    { "type": "github", "username": "rmagatti", "repo": "goto-preview", "tags": ["neovim-0.5"] },
1448-    {
1449-      "type": "github",
1450-      "username": "rmehri01",
1451-      "repo": "onenord.nvim",
1452-      "tags": ["tree-sitter-supported-colorscheme"]
1453-    },
1454-    {
1455-      "type": "github",
1456-      "username": "rockerBOO",
1457-      "repo": "boo-colorscheme-nvim",
1458-      "tags": ["tree-sitter-supported-colorscheme"]
1459-    },
1460-    {
1461-      "type": "github",
1462-      "username": "rockyzhang24",
1463-      "repo": "arctic.nvim",
1464-      "tags": ["tree-sitter-supported-colorscheme"]
1465-    },
1466-    { "type": "github", "username": "romgrk", "repo": "barbar.nvim", "tags": ["tabline"] },
1467-    {
1468-      "type": "github",
1469-      "username": "rose-pine",
1470-      "repo": "neovim",
1471-      "tags": ["tree-sitter-supported-colorscheme"]
1472-    },
1473-    {
1474-      "type": "github",
1475-      "username": "RRethy",
1476-      "repo": "nvim-base16",
1477-      "tags": ["tree-sitter-supported-colorscheme"]
1478-    },
1479-    {
1480-      "type": "github",
1481-      "username": "RRethy",
1482-      "repo": "nvim-treesitter-textsubjects",
1483-      "tags": ["syntax"]
1484-    },
1485-    { "type": "github", "username": "RRethy", "repo": "vim-illuminate", "tags": ["cursorline"] },
1486-    { "type": "github", "username": "ruifm", "repo": "gitlinker.nvim", "tags": ["git"] },
1487-    { "type": "github", "username": "s1n7ax", "repo": "nvim-comment-frame", "tags": ["comment"] },
1488-    {
1489-      "type": "github",
1490-      "username": "s1n7ax",
1491-      "repo": "nvim-terminal",
1492-      "tags": ["terminal-integration"]
1493-    },
1494-    {
1495-      "type": "github",
1496-      "username": "Saecki",
1497-      "repo": "crates.nvim",
1498-      "tags": ["dependency-management"]
1499-    },
1500-    { "type": "github", "username": "saifulapm", "repo": "chartoggle.nvim", "tags": ["utility"] },
1501-    {
1502-      "type": "github",
1503-      "username": "sainnhe",
1504-      "repo": "edge",
1505-      "tags": ["tree-sitter-supported-colorscheme"]
1506-    },
1507-    {
1508-      "type": "github",
1509-      "username": "sainnhe",
1510-      "repo": "everforest",
1511-      "tags": ["tree-sitter-supported-colorscheme"]
1512-    },
1513-    {
1514-      "type": "github",
1515-      "username": "sainnhe",
1516-      "repo": "gruvbox-material",
1517-      "tags": ["tree-sitter-supported-colorscheme"]
1518-    },
1519-    {
1520-      "type": "github",
1521-      "username": "sainnhe",
1522-      "repo": "sonokai",
1523-      "tags": ["tree-sitter-supported-colorscheme"]
1524-    },
1525-    { "type": "github", "username": "sakhnik", "repo": "nvim-gdb", "tags": ["debugging"] },
1526-    {
1527-      "type": "github",
1528-      "username": "samjwill",
1529-      "repo": "nvim-unception",
1530-      "tags": ["terminal-integration"]
1531-    },
1532-    { "type": "github", "username": "samodostal", "repo": "image.nvim", "tags": ["media"] },
1533-    {
1534-      "type": "github",
1535-      "username": "Saverio976",
1536-      "repo": "music.nvim",
1537-      "tags": ["media", "utility"]
1538-    },
1539-    {
1540-      "type": "github",
1541-      "username": "savq",
1542-      "repo": "melange",
1543-      "tags": ["tree-sitter-supported-colorscheme"]
1544-    },
1545-    { "type": "github", "username": "savq", "repo": "paq-nvim", "tags": ["plugin-manager"] },
1546-    { "type": "github", "username": "sbdchd", "repo": "neoformat", "tags": ["formatting"] },
1547-    { "type": "github", "username": "scalameta", "repo": "nvim-metals", "tags": ["neovim-0.5"] },
1548-    { "type": "github", "username": "seandewar", "repo": "killersheep.nvim", "tags": ["game"] },
1549-    { "type": "github", "username": "seandewar", "repo": "nvimesweeper", "tags": ["game"] },
1550-    { "type": "github", "username": "shaeinst", "repo": "penvim", "tags": ["project"] },
1551-    {
1552-      "type": "github",
1553-      "username": "shaeinst",
1554-      "repo": "roshnivim",
1555-      "tags": ["preconfigured-configuration"]
1556-    },
1557-    {
1558-      "type": "github",
1559-      "username": "shaeinst",
1560-      "repo": "roshnivim-cs",
1561-      "tags": ["tree-sitter-supported-colorscheme"]
1562-    },
1563-    {
1564-      "type": "github",
1565-      "username": "Shatur",
1566-      "repo": "neovim-session-manager",
1567-      "tags": ["session"]
1568-    },
1569-    { "type": "github", "username": "Shatur", "repo": "neovim-tasks", "tags": ["code-runner"] },
1570-    {
1571-      "type": "github",
1572-      "username": "shaunsingh",
1573-      "repo": "moonlight.nvim",
1574-      "tags": ["tree-sitter-supported-colorscheme"]
1575-    },
1576-    {
1577-      "type": "github",
1578-      "username": "shaunsingh",
1579-      "repo": "nord.nvim",
1580-      "tags": ["tree-sitter-supported-colorscheme"]
1581-    },
1582-    {
1583-      "type": "github",
1584-      "username": "shaunsingh",
1585-      "repo": "nyoom.nvim",
1586-      "tags": ["preconfigured-configuration"]
1587-    },
1588-    { "type": "github", "username": "shohi", "repo": "neva", "tags": ["version-manager"] },
1589-    { "type": "github", "username": "SidOfc", "repo": "carbon.nvim", "tags": ["file-explorer"] },
1590-    {
1591-      "type": "github",
1592-      "username": "siduck76",
1593-      "repo": "NvChad",
1594-      "tags": ["preconfigured-configuration"]
1595-    },
1596-    { "type": "github", "username": "simrat39", "repo": "rust-tools.nvim", "tags": ["completion"] },
1597-    {
1598-      "type": "github",
1599-      "username": "simrat39",
1600-      "repo": "symbols-outline.nvim",
1601-      "tags": ["neovim-0.5"]
1602-    },
1603-    { "type": "github", "username": "sindrets", "repo": "diffview.nvim", "tags": ["git"] },
1604-    {
1605-      "type": "github",
1606-      "username": "sindrets",
1607-      "repo": "winshift.nvim",
1608-      "tags": ["split-and-window"]
1609-    },
1610-    { "type": "github", "username": "sitiom", "repo": "nvim-numbertoggle", "tags": ["utility"] },
1611-    {
1612-      "type": "github",
1613-      "username": "slugbyte",
1614-      "repo": "unruly-worker",
1615-      "tags": ["keybinding", "workman-layout"]
1616-    },
1617-    { "type": "github", "username": "SmiteshP", "repo": "nvim-navic", "tags": ["bars-and-lines"] },
1618-    { "type": "github", "username": "smjonas", "repo": "inc-rename.nvim", "tags": ["neovim-0.5"] },
1619-    {
1620-      "type": "github",
1621-      "username": "smjonas",
1622-      "repo": "live-command.nvim",
1623-      "tags": ["editing-support"]
1624-    },
1625-    {
1626-      "type": "github",
1627-      "username": "smjonas",
1628-      "repo": "snippet-converter.nvim",
1629-      "tags": ["snippet"]
1630-    },
1631-    { "type": "github", "username": "smzm", "repo": "hydrovim", "tags": ["code-runner"] },
1632-    {
1633-      "type": "github",
1634-      "username": "someone-stole-my-name",
1635-      "repo": "yaml-companion.nvim",
1636-      "tags": ["yaml"]
1637-    },
1638-    { "type": "github", "username": "sQVe", "repo": "sort.nvim", "tags": ["editing-support"] },
1639-    { "type": "github", "username": "startup-nvim", "repo": "startup.nvim", "tags": ["startup"] },
1640-    { "type": "github", "username": "stevearc", "repo": "aerial.nvim", "tags": ["neovim-0.5"] },
1641-    { "type": "github", "username": "stevearc", "repo": "dressing.nvim", "tags": ["utility"] },
1642-    { "type": "github", "username": "stevearc", "repo": "gkeep.nvim", "tags": ["note-taking"] },
1643-    { "type": "github", "username": "stevearc", "repo": "overseer.nvim", "tags": ["code-runner"] },
1644-    {
1645-      "type": "github",
1646-      "username": "strash",
1647-      "repo": "everybody-wants-that-line.nvim",
1648-      "tags": ["statusline"]
1649-    },
1650-    { "type": "github", "username": "sudormrfbin", "repo": "cheatsheet.nvim", "tags": ["utility"] },
1651-    { "type": "github", "username": "sunjon", "repo": "Shade.nvim", "tags": ["color"] },
1652-    {
1653-      "type": "github",
1654-      "username": "svermeulen",
1655-      "repo": "vimpeccable",
1656-      "tags": ["neovim-lua-development"]
1657-    },
1658-    { "type": "github", "username": "tamago324", "repo": "lir.nvim", "tags": ["file-explorer"] },
1659-    {
1660-      "type": "github",
1661-      "username": "tamago324",
1662-      "repo": "nlsp-settings.nvim",
1663-      "tags": ["neovim-0.5"]
1664-    },
1665-    {
1666-      "type": "github",
1667-      "username": "tamton-aquib",
1668-      "repo": "staline.nvim",
1669-      "tags": ["statusline"]
1670-    },
1671-    {
1672-      "type": "github",
1673-      "username": "tanvirtin",
1674-      "repo": "monokai.nvim",
1675-      "tags": ["tree-sitter-supported-colorscheme"]
1676-    },
1677-    { "type": "github", "username": "tanvirtin", "repo": "vgit.nvim", "tags": ["git"] },
1678-    { "type": "github", "username": "terrortylor", "repo": "nvim-comment", "tags": ["comment"] },
1679-    {
1680-      "type": "github",
1681-      "username": "Th3Whit3Wolf",
1682-      "repo": "one-nvim",
1683-      "tags": ["tree-sitter-supported-colorscheme"]
1684-    },
1685-    {
1686-      "type": "github",
1687-      "username": "Th3Whit3Wolf",
1688-      "repo": "onebuddy",
1689-      "tags": ["tree-sitter-supported-colorscheme"]
1690-    },
1691-    {
1692-      "type": "github",
1693-      "username": "Th3Whit3Wolf",
1694-      "repo": "space-nvim",
1695-      "tags": ["tree-sitter-supported-colorscheme"]
1696-    },
1697-    { "type": "github", "username": "TheBlob42", "repo": "drex.nvim", "tags": ["file-explorer"] },
1698-    {
1699-      "type": "github",
1700-      "username": "themercorp",
1701-      "repo": "themer.lua",
1702-      "tags": ["colorscheme-creation"]
1703-    },
1704-    {
1705-      "type": "github",
1706-      "username": "theniceboy",
1707-      "repo": "nvim-deus",
1708-      "tags": ["tree-sitter-supported-colorscheme"]
1709-    },
1710-    {
1711-      "type": "github",
1712-      "username": "theory-of-everything",
1713-      "repo": "nii-nvim",
1714-      "tags": ["preconfigured-configuration"]
1715-    },
1716-    { "type": "github", "username": "ThePrimeagen", "repo": "harpoon", "tags": ["marks"] },
1717-    {
1718-      "type": "github",
1719-      "username": "ThePrimeagen",
1720-      "repo": "refactoring.nvim",
1721-      "tags": ["treesitter-based", "programming-languages-support", "editing-support"]
1722-    },
1723-    { "type": "github", "username": "ThePrimeagen", "repo": "vim-be-good", "tags": ["game"] },
1724-    {
1725-      "type": "github",
1726-      "username": "tiagovla",
1727-      "repo": "tokyodark.nvim",
1728-      "tags": ["tree-sitter-supported-colorscheme"]
1729-    },
1730-    { "type": "github", "username": "TimUntersberger", "repo": "neofs", "tags": ["file-explorer"] },
1731-    { "type": "github", "username": "TimUntersberger", "repo": "neogit", "tags": ["git"] },
1732-    {
1733-      "type": "github",
1734-      "username": "titanzero",
1735-      "repo": "zephyrium",
1736-      "tags": ["tree-sitter-supported-colorscheme"]
1737-    },
1738-    {
1739-      "type": "github",
1740-      "username": "tjdevries",
1741-      "repo": "colorbuddy.nvim",
1742-      "tags": ["colorscheme-creation"]
1743-    },
1744-    {
1745-      "type": "github",
1746-      "username": "tjdevries",
1747-      "repo": "express_line.nvim",
1748-      "tags": ["statusline"]
1749-    },
1750-    {
1751-      "type": "github",
1752-      "username": "tjdevries",
1753-      "repo": "gruvbuddy.nvim",
1754-      "tags": ["lua-colorscheme"]
1755-    },
1756-    {
1757-      "type": "github",
1758-      "username": "tjdevries",
1759-      "repo": "nlua.nvim",
1760-      "tags": ["neovim-lua-development"]
1761-    },
1762-    {
1763-      "type": "github",
1764-      "username": "tjdevries",
1765-      "repo": "vlog.nvim",
1766-      "tags": ["neovim-lua-development"]
1767-    },
1768-    {
1769-      "type": "github",
1770-      "username": "tomasiser",
1771-      "repo": "vim-code-dark",
1772-      "tags": ["tree-sitter-supported-colorscheme"]
1773-    },
1774-    {
1775-      "type": "github",
1776-      "username": "toppair",
1777-      "repo": "peek.nvim",
1778-      "tags": ["markdown-and-latex"]
1779-    },
1780-    { "type": "github", "username": "toppair", "repo": "reach.nvim", "tags": ["utility"] },
1781-    { "type": "github", "username": "tversteeg", "repo": "registers.nvim", "tags": ["register"] },
1782-    { "type": "github", "username": "tveskag", "repo": "nvim-blame-line", "tags": ["git"] },
1783-    { "type": "github", "username": "udayvir-singh", "repo": "hibiscus.nvim", "tags": ["fennel"] },
1784-    { "type": "github", "username": "udayvir-singh", "repo": "tangerine.nvim", "tags": ["fennel"] },
1785-    { "type": "github", "username": "uga-rosa", "repo": "ccc.nvim", "tags": ["color"] },
1786-    { "type": "github", "username": "utilyre", "repo": "barbecue.nvim", "tags": ["winbar"] },
1787-    {
1788-      "type": "github",
1789-      "username": "vi-tality",
1790-      "repo": "neovitality",
1791-      "tags": ["preconfigured-configuration"]
1792-    },
1793-    {
1794-      "type": "github",
1795-      "username": "vigoux",
1796-      "repo": "complementree.nvim",
1797-      "tags": ["completion"]
1798-    },
1799-    { "type": "github", "username": "vijaymarupudi", "repo": "nvim-fzf", "tags": ["fuzzy-finder"] },
1800-    { "type": "github", "username": "Vonr", "repo": "align.nvim", "tags": ["formatting"] },
1801-    {
1802-      "type": "github",
1803-      "username": "vuki656",
1804-      "repo": "package-info.nvim",
1805-      "tags": ["dependency-management"]
1806-    },
1807-    {
1808-      "type": "github",
1809-      "username": "Wansmer",
1810-      "repo": "binary-swap.nvim",
1811-      "tags": ["editing-support"]
1812-    },
1813-    {
1814-      "type": "github",
1815-      "username": "Wansmer",
1816-      "repo": "sibling-swap.nvim",
1817-      "tags": ["editing-support"]
1818-    },
1819-    {
1820-      "type": "github",
1821-      "username": "Wansmer",
1822-      "repo": "treesj",
1823-      "tags": ["refactoring", "treesitter", "splitjoin"]
1824-    },
1825-    {
1826-      "type": "github",
1827-      "username": "wbthomason",
1828-      "repo": "packer.nvim",
1829-      "tags": ["plugin-manager"]
1830-    },
1831-    {
1832-      "type": "github",
1833-      "username": "weilbith",
1834-      "repo": "nvim-code-action-menu",
1835-      "tags": ["neovim-0.5"]
1836-    },
1837-    { "type": "github", "username": "Weissle", "repo": "easy-action", "tags": ["motion"] },
1838-    {
1839-      "type": "github",
1840-      "username": "Weissle",
1841-      "repo": "persistent-breakpoints.nvim",
1842-      "tags": ["debugging"]
1843-    },
1844-    {
1845-      "type": "github",
1846-      "username": "williamboman",
1847-      "repo": "mason.nvim",
1848-      "tags": ["lsp-installer"]
1849-    },
1850-    {
1851-      "type": "github",
1852-      "username": "windwp",
1853-      "repo": "nvim-autopairs",
1854-      "tags": ["editing-support"]
1855-    },
1856-    { "type": "github", "username": "windwp", "repo": "nvim-projectconfig", "tags": ["project"] },
1857-    { "type": "github", "username": "windwp", "repo": "nvim-spectre", "tags": ["project"] },
1858-    {
1859-      "type": "github",
1860-      "username": "windwp",
1861-      "repo": "nvim-ts-autotag",
1862-      "tags": ["editing-support"]
1863-    },
1864-    { "type": "github", "username": "windwp", "repo": "windline.nvim", "tags": ["statusline"] },
1865-    { "type": "github", "username": "winston0410", "repo": "commented.nvim", "tags": ["comment"] },
1866-    {
1867-      "type": "github",
1868-      "username": "winston0410",
1869-      "repo": "range-highlight.nvim",
1870-      "tags": ["color"]
1871-    },
1872-    { "type": "github", "username": "woosaaahh", "repo": "sj.nvim", "tags": ["motion"] },
1873-    {
1874-      "type": "github",
1875-      "username": "wuelnerdotexe",
1876-      "repo": "vim-enfocado",
1877-      "tags": ["tree-sitter-supported-colorscheme"]
1878-    },
1879-    {
1880-      "type": "github",
1881-      "username": "xeluxee",
1882-      "repo": "competitest.nvim",
1883-      "tags": ["competitive-programming"]
1884-    },
1885-    { "type": "github", "username": "xiyaowong", "repo": "link-visitor.nvim", "tags": ["utility"] },
1886-    {
1887-      "type": "github",
1888-      "username": "xiyaowong",
1889-      "repo": "nvim-cursorword",
1890-      "tags": ["cursorline"]
1891-    },
1892-    { "type": "github", "username": "xiyaowong", "repo": "nvim-transparent", "tags": ["color"] },
1893-    { "type": "github", "username": "xiyaowong", "repo": "virtcolumn.nvim", "tags": ["utility"] },
1894-    { "type": "github", "username": "Xuyuanp", "repo": "scrollbar.nvim", "tags": ["scrollbar"] },
1895-    { "type": "github", "username": "Xuyuanp", "repo": "yanil", "tags": ["file-explorer"] },
1896-    { "type": "github", "username": "yamatsum", "repo": "nvim-cursorline", "tags": ["cursorline"] },
1897-    { "type": "github", "username": "yamatsum", "repo": "nvim-nonicons", "tags": ["icon"] },
1898-    { "type": "github", "username": "yaocccc", "repo": "nvim-hlchunk", "tags": ["indent"] },
1899-    { "type": "github", "username": "yaocccc", "repo": "nvim-lines.lua", "tags": ["statusline"] },
1900-    {
1901-      "type": "github",
1902-      "username": "yashguptaz",
1903-      "repo": "calvera-dark.nvim",
1904-      "tags": ["tree-sitter-supported-colorscheme"]
1905-    },
1906-    {
1907-      "type": "github",
1908-      "username": "yazeed1s",
1909-      "repo": "minimal.nvim",
1910-      "tags": ["tree-sitter-supported-colorscheme"]
1911-    },
1912-    {
1913-      "type": "github",
1914-      "username": "yonlu",
1915-      "repo": "omni.vim",
1916-      "tags": ["tree-sitter-supported-colorscheme"]
1917-    },
1918-    { "type": "github", "username": "zbirenbaum", "repo": "neodim", "tags": ["utility"] },
1919-    {
1920-      "type": "github",
1921-      "username": "ZhiyuanLck",
1922-      "repo": "smart-pairs",
1923-      "tags": ["editing-support"]
1924-    },
1925-    { "type": "github", "username": "ziontee113", "repo": "color-picker.nvim", "tags": ["color"] },
1926-    { "type": "github", "username": "ziontee113", "repo": "icon-picker.nvim", "tags": ["icon"] },
1927-    {
1928-      "type": "github",
1929-      "username": "ziontee113",
1930-      "repo": "syntax-tree-surfer",
1931-      "tags": ["treesitter-based"]
1932-    }
1933-  ]
1934-}
D src/lib/tag.svelte
+0, -37
 1@@ -1,37 +0,0 @@
 2-<script lang="ts">
 3-  import type { Tag } from './types';
 4-
 5-  function findColor(tag: Tag) {
 6-    if (tag.count === 1) return 'pink';
 7-    if (tag.count > 1 && tag.count <= 3) return 'yellow';
 8-    if (tag.count > 3 && tag.count <= 10) return 'orange';
 9-    if (tag.count > 10 && tag.count <= 15) return 'green';
10-    return 'purple';
11-  }
12-
13-  export let tag: Tag;
14-  export let onSearch: (t: string) => any = (_: string) => {};
15-  export let showCount: boolean = true;
16-</script>
17-
18-<span class="tag {findColor(tag)}" on:click={() => onSearch(`tag:${tag.id}`)}>
19-  {tag.id}{#if showCount}&nbsp;x&nbsp;{tag.count}{/if}
20-</span>
21-
22-<style>
23-  .tag {
24-    padding: 5px;
25-    margin: 5px 5px 5px 0;
26-    border: 1px solid black;
27-    white-space: pre-wrap;
28-    word-break: break-word;
29-    display: inline-block;
30-    cursor: pointer;
31-    color: var(--primary-color);
32-    font-size: 0.8rem;
33-  }
34-
35-  .tag:hover {
36-    background-color: var(--highlight-color);
37-  }
38-</style>
D src/lib/tooltip.svelte
+0, -83
 1@@ -1,83 +0,0 @@
 2-<script>
 3-  export let tip = '';
 4-  export let top = false;
 5-  export let right = false;
 6-  export let bottom = false;
 7-  export let left = false;
 8-  export let active = false;
 9-  export let color = '#757575';
10-
11-  let style = `background-color: ${color};`;
12-</script>
13-
14-<div class="tooltip-wrapper">
15-  <span class="tooltip-slot">
16-    <slot />
17-  </span>
18-  <div class="tooltip" class:active class:left class:right class:bottom class:top>
19-    {#if tip}
20-      <div class="default-tip" {style}>{tip}</div>
21-    {:else}
22-      <slot name="custom-tip" />
23-    {/if}
24-  </div>
25-</div>
26-
27-<style>
28-  .tooltip-wrapper {
29-    position: relative;
30-    display: inline-block;
31-  }
32-  .tooltip {
33-    position: absolute;
34-    font-family: inherit;
35-    display: inline-block;
36-    white-space: nowrap;
37-    color: inherit;
38-    opacity: 0;
39-    visibility: hidden;
40-    transition: opacity 150ms, visibility 150ms;
41-  }
42-
43-  .default-tip {
44-    display: inline-block;
45-    padding: 8px 16px;
46-    border-radius: 6px;
47-    color: inherit;
48-  }
49-
50-  .tooltip.top {
51-    left: 50%;
52-    transform: translate(-50%, -100%);
53-    margin-top: -8px;
54-  }
55-
56-  .tooltip.bottom {
57-    left: 50%;
58-    bottom: 0;
59-    transform: translate(-50%, 100%);
60-    margin-bottom: -8px;
61-  }
62-
63-  .tooltip.left {
64-    left: 0;
65-    transform: translateX(-100%);
66-    margin-left: -8px;
67-  }
68-
69-  .tooltip.right {
70-    right: 0;
71-    transform: translateX(100%);
72-    margin-right: -8px;
73-  }
74-
75-  .tooltip.active {
76-    opacity: 1;
77-    visibility: initial;
78-  }
79-
80-  .tooltip-slot:hover + .tooltip {
81-    opacity: 1;
82-    visibility: initial;
83-  }
84-</style>
R src/lib/plugin-data.ts => src/plugin-data.ts
+2, -4
 1@@ -1,4 +1,4 @@
 2-import type { Tag, Plugin, PluginMap, TagMap } from './types';
 3+import type { Plugin, PluginData, PluginMap, TagMap } from "./types.ts";
 4 
 5 function getTagsDb(plist: Plugin[]): TagMap {
 6   const tagsDb: TagMap = {};
 7@@ -13,9 +13,7 @@ function getTagsDb(plist: Plugin[]): TagMap {
 8   return tagsDb;
 9 }
10 
11-export function derivePluginData(
12-  pluginDb: PluginMap,
13-): { plugins: Plugin[]; tags: Tag[]; tagDb: TagMap } {
14+export function derivePluginData(pluginDb: PluginMap): PluginData {
15   const plugins = Object.values(pluginDb).sort((a, b) => b.stars - a.stars);
16   const tagDb = getTagsDb(plugins);
17   const tags = Object.values(tagDb).sort((a, b) => b.count - a.count);
D src/routes/about.svelte
+0, -94
 1@@ -1,94 +0,0 @@
 2-<script lang="ts">
 3-  import Nav from '$lib/nav.svelte';
 4-</script>
 5-
 6-<Nav />
 7-
 8-<div class="container">
 9-  <div class="view">
10-    <div class="intro">
11-      <div class="blurb">
12-        <h1>Hey all!</h1>
13-        <p>
14-          My name is <strong>Eric Bower</strong> and I built this site because neovim is awesome and
15-          I want to provide resources for searching an building neovim plugins.
16-        </p>
17-      </div>
18-      <img class="profile" src="/me.jpg" alt="Eric Bower" />
19-    </div>
20-    <div>
21-      <p>
22-        I&apos;m a professional software engineer who has been programming since I was 13 years old.
23-        I love building software as much as I love building something that people find useful. Most
24-        of my time is devoted to growing my ability to build products.
25-      </p>
26-      <p>
27-        I also care deeply about open-source code and have an active{' '}
28-        <a href="https://github.com/neurosnap">Github</a>
29-        , check it out if you&apos;re interested. I also write{' '}
30-        <a href="https://erock.io">blog articles about software</a>.
31-      </p>
32-      <p>
33-        I&apos;m happy to read feedback about neovimcraft so please feel free to{' '}
34-        <a href="mailto:neovimcraft@erock.io">email me</a>.
35-      </p>
36-    </div>
37-    <div>
38-      <h2>FAQ</h2>
39-      <p>Do you have questions not answered here? Email me!</p>
40-      <h3>Where do we get our content from?</h3>
41-      <p>
42-        As of right now, most of our data is scraped from github. You can find our scrape script
43-        <a
44-          href="https://github.com/neurosnap/neovimcraft/blob/main/scripts/scrape.ts"
45-         >here</a
46-        >.
47-      </p>
48-      <h3>How can I submit a plugin or resource to this project?</h3>
49-      <p>
50-        Please read the <a href="https://github.com/neurosnap/neovimcraft#want-to-submit-a-plugin">neovimcraft README</a>.
51-      </p>
52-    </div>
53-  </div>
54-</div>
55-
56-<svelte:head>
57-  <title>neovimcraft - about</title>
58-  <meta name="description" content="About neovimcraft" />
59-  <meta property="og:description" content="About neovimcraft" />
60-  <meta property="og:title" content="neovimcraft - about" />
61-</svelte:head>
62-
63-<style>
64-  .container {
65-    display: flex;
66-    justify-content: center;
67-  }
68-
69-  .view {
70-    width: 600px;
71-  }
72-
73-  .intro {
74-    display: flex;
75-    align-items: center;
76-    justify-content: center;
77-    margin-bottom: 8px;
78-  }
79-
80-  .blurb {
81-    margin-right: 8px;
82-  }
83-
84-  .profile {
85-    border-radius: 9999px;
86-    width: 100px;
87-    height: 100px;
88-  }
89-
90-  @media only screen and (max-width: 700px) {
91-    .container {
92-      padding: 0 15px;
93-    }
94-  }
95-</style>
D src/routes/guides.svelte
+0, -131
  1@@ -1,131 +0,0 @@
  2-<script context="module" lang="ts">
  3-  import * as data from '$lib/articles.json';
  4-
  5-  interface Article {
  6-    text: string;
  7-    desc: string;
  8-    url: string;
  9-    media: string;
 10-    date: Date;
 11-    tags: string[];
 12-  }
 13-
 14-  const createArticle = (article: Partial<Article & { date: string }> = {}): Article => {
 15-    return {
 16-      text: '',
 17-      desc: '',
 18-      url: '',
 19-      media: '',
 20-      tags: [],
 21-      ...article,
 22-      date: article.date ? new Date(article.date) : new Date(),
 23-    };
 24-  };
 25-
 26-  export async function load() {
 27-    const articles = data.articles as any;
 28-
 29-    return {
 30-      props: {
 31-        articles: articles.map(createArticle).sort((a, b) => b.date.getTime() - a.date.getTime()),
 32-      },
 33-    };
 34-  }
 35-</script>
 36-
 37-<script lang="ts">
 38-  import Nav from '$lib/nav.svelte';
 39-  import Tag from '$lib/tag.svelte';
 40-  import { format } from '$lib/date';
 41-
 42-  export let articles: Article[];
 43-</script>
 44-
 45-<Nav />
 46-
 47-<div class="container">
 48-  <div class="view">
 49-    <h1>guides</h1>
 50-    <p>
 51-      I've been compiling a list of guides that help people build and use lua plugins for neovim.
 52-    </p>
 53-    {#each articles as link}
 54-      <div class="article">
 55-        {#if link.media}
 56-          {#if link.media.includes('youtube')}
 57-            <iframe
 58-              width="560"
 59-              height="315"
 60-              src={link.media}
 61-              title="YouTube video player"
 62-              frameborder="0"
 63-              allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
 64-              allowfullscreen
 65-            />
 66-          {:else}
 67-            <a href={link.url}>
 68-              <img src={link.media} alt={link.text} class="media" />
 69-            </a>
 70-          {/if}
 71-        {/if}
 72-        <div class="article-header">
 73-          <h2>
 74-            <a href={link.url}>{link.text}</a>
 75-          </h2>
 76-          <small class="date">{format(link.date)}</small>
 77-          <div class="tags">
 78-            {#each link.tags as tag}
 79-              <Tag tag={{ id: tag, count: 1 }} showCount={false} />
 80-            {/each}
 81-          </div>
 82-        </div>
 83-        {#if link.desc}{link.desc}{/if}
 84-      </div>
 85-    {/each}
 86-  </div>
 87-</div>
 88-
 89-<svelte:head>
 90-  <title>neovimcraft - guides</title>
 91-  <meta
 92-    name="description"
 93-    content="Curated guides to help you configure neovim and build plugins"
 94-  />
 95-  <meta
 96-    property="og:description"
 97-    content="Curated guides to help you configure neovim and build plugins"
 98-  />
 99-  <meta property="og:title" content="neovimcraft - plugin guides" />
100-</svelte:head>
101-
102-<style>
103-  .container {
104-    padding: 0 15px;
105-    display: flex;
106-    justify-content: center;
107-  }
108-
109-  .view {
110-    width: 600px;
111-  }
112-
113-  .article-header {
114-    display: flex;
115-    flex-direction: column;
116-    margin-bottom: 10px;
117-  }
118-
119-  .article {
120-    display: flex;
121-    flex-direction: column;
122-    margin: 15px 0;
123-    padding: 15px;
124-    border: 1px solid var(--primary-color);
125-  }
126-
127-  .media {
128-    width: 100%;
129-    max-width: 580px;
130-    height: auto;
131-  }
132-</style>
D src/routes/index.svelte
+0, -274
  1@@ -1,274 +0,0 @@
  2-<script context="module" lang="ts">
  3-  import { derivePluginData } from '$lib/plugin-data';
  4-  import * as db from '$lib/db.json';
  5-
  6-  export async function load() {
  7-    const pluginDb = db.plugins as any;
  8-    const { plugins, tags, tagDb } = derivePluginData(pluginDb);
  9-
 10-    return {
 11-      props: {
 12-        plugins,
 13-        tags,
 14-        tagDb,
 15-      },
 16-    };
 17-  }
 18-</script>
 19-
 20-<script lang="ts">
 21-  import { goto } from '$app/navigation';
 22-  import { page } from '$app/stores';
 23-  import type { Plugin, Tag, TagMap } from '$lib/types';
 24-  import TagItem from '$lib/tag.svelte';
 25-  import Icon from '$lib/icon.svelte';
 26-  import PluginItem from '$lib/plugin.svelte';
 27-  import Nav from '$lib/nav.svelte';
 28-
 29-  let timer: NodeJS.Timeout;
 30-  const debounce = (fn: (v: string) => any) => {
 31-    return (event: any) => {
 32-      clearTimeout(timer);
 33-      timer = setTimeout(() => {
 34-        fn(event.target.value);
 35-      }, 250);
 36-    };
 37-  };
 38-
 39-  function onSearch(curSearch: string) {
 40-    if (typeof window === 'undefined') return;
 41-    if (curSearch) {
 42-      goto(`/?search=${curSearch}`, {
 43-        replaceState: true,
 44-        keepfocus: true,
 45-      });
 46-    } else {
 47-      goto('/', { replaceState: true, keepfocus: true });
 48-    }
 49-  }
 50-
 51-  const sortNum = (a: number, b: number) => b - a;
 52-  const sortDateStr = (a: string, b: string) => {
 53-    const dateA = new Date(a).getTime();
 54-    const dateB = new Date(b).getTime();
 55-    return dateB - dateA;
 56-  };
 57-
 58-  function onSort(by: keyof Plugin) {
 59-    if (by === 'createdAt') {
 60-      return (a: Plugin, b: Plugin) => sortDateStr(a.createdAt, b.createdAt);
 61-    }
 62-    if (by === 'updatedAt') {
 63-      return (a: Plugin, b: Plugin) => sortDateStr(a.updatedAt, b.updatedAt);
 64-    }
 65-    return (a: Plugin, b: Plugin) => sortNum(a.stars, b.stars);
 66-  }
 67-
 68-  function clearSearch() {
 69-    goto('/');
 70-    document.getElementById('search').focus();
 71-  }
 72-
 73-  function filterPlugins({
 74-    search,
 75-    plugins,
 76-    sort,
 77-  }: {
 78-    search: string;
 79-    plugins: Plugin[];
 80-    sort: keyof Plugin;
 81-  }): Plugin[] {
 82-    if (!search) return plugins.sort(onSort(sort));
 83-
 84-    const onFilter = (plugin: Plugin) => {
 85-      if (search.includes('tag:')) {
 86-        const nextSearch = search.toLocaleLowerCase().replace('tag:', '');
 87-        return plugin.tags.some((tag) => tag === nextSearch);
 88-      }
 89-      return plugin.id.toLocaleLowerCase().includes(search.toLocaleLowerCase());
 90-    };
 91-
 92-    return plugins.filter(onFilter).sort(onSort(sort));
 93-  }
 94-
 95-  export let tagDb: TagMap = {};
 96-  function getTags(tags: string[]): Tag[] {
 97-    return tags.map((t) => tagDb[t]).filter(Boolean);
 98-  }
 99-
100-  $: search = decodeURIComponent($page.query.get('search') || '');
101-  let sort = 'stars' as keyof Plugin;
102-  const setSort = (e: any, nextSort: keyof Plugin) => {
103-    e.preventDefault();
104-    sort = nextSort;
105-  };
106-  export let plugins: Plugin[] = [];
107-  export let tags: Tag[] = [];
108-  $: filterTotal = filterPlugins({ search, plugins, sort });
109-</script>
110-
111-<svelte:head>
112-  <title>neovimcraft</title>
113-  <meta property="og:title" content="neovimcraft" />
114-  <meta
115-    name="description"
116-    content="Search through our curated neovim plugin directory and read our guides on creating plugins."
117-  />
118-  <meta
119-    property="og:description"
120-    content="Search through our curated neovim plugin directory and read our guides on creating plugins."
121-  />
122-</svelte:head>
123-
124-<Nav />
125-
126-<div class="container">
127-  <div class="search_view">
128-    <span class="search_icon"><Icon icon="search" /></span>
129-    <input
130-      id="search"
131-      on:keyup={debounce(onSearch)}
132-      value={search}
133-      placeholder="search to find a plugin"
134-      autocapitalize="off"
135-    />
136-    {#if search}
137-      <span class="clear_search_icon" on:click={clearSearch}>
138-        <Icon icon="x-circle" />
139-      </span>
140-    {/if}
141-  </div>
142-  <div class="desc">
143-    Search through our curated list of neovim plugins
144-  </div>
145-
146-  <div class="sidebar">
147-    {#each tags as tag}
148-      <TagItem {tag} {onSearch} />
149-    {/each}
150-  </div>
151-  <div class="rightbar">
152-    <div>Want to search for plugins in the terminal? <a href="https://nvim.sh">https://nvim.sh</a></div>
153-  </div>
154-  <div class="plugins">
155-    <div class="plugins_list" id="plugins_list">
156-      <div class="search_results">{filterTotal.length} results</div>
157-      <div>
158-        {#if sort === 'stars'}
159-          stars
160-        {:else}
161-          <a href={'#'} on:click={(e) => setSort(e, 'stars')}>stars</a>
162-        {/if}
163-        {#if sort === 'createdAt'}
164-          created
165-        {:else}
166-          <a href={'#'} on:click={(e) => setSort(e, 'createdAt')}>created</a>
167-        {/if}
168-        {#if sort === 'updatedAt'}
169-          updated
170-        {:else}
171-          <a href={'#'} on:click={(e) => setSort(e, 'updatedAt')}>updated</a>
172-        {/if}
173-      </div>
174-      {#each filterTotal as plugin}
175-        <PluginItem {plugin} tags={getTags(plugin.tags)} {onSearch} />
176-      {/each}
177-    </div>
178-  </div>
179-</div>
180-
181-<style>
182-  .desc {
183-    margin-bottom: 5px;
184-    grid-row: 1;
185-    grid-column: 1;
186-    align-items: center;
187-    display: flex;
188-  }
189-
190-  .search_view {
191-    grid-column: 2;
192-    grid-row: 1;
193-    position: relative;
194-  }
195-
196-  .rightbar {
197-    grid-row: 1;
198-    grid-column: 3;
199-    margin-bottom: 5px;
200-    align-items: center;
201-    display: flex;
202-  }
203-
204-  .search_icon {
205-    position: absolute;
206-    top: 12px;
207-    left: 0;
208-  }
209-
210-  .clear_search_icon {
211-    position: absolute;
212-    top: 15px;
213-    right: 0;
214-    cursor: pointer;
215-  }
216-
217-  #search {
218-    width: 100%;
219-    height: 47px;
220-    padding-left: 30px;
221-    padding-right: 30px;
222-  }
223-
224-  .search_results {
225-    margin: 0;
226-    margin-top: 5px;
227-    margin-bottom: 5px;
228-  }
229-
230-  .container {
231-    display: grid;
232-    height: calc(100vh - 65px);
233-    grid-template-columns: minmax(250px, 400px) minmax(350px, 600px);
234-    grid-template-rows: 50px 1fr;
235-    column-gap: 10px;
236-    margin: 0 25px;
237-  }
238-
239-  .sidebar {
240-    grid-column: 1;
241-    grid-row: 2;
242-  }
243-
244-  .plugins {
245-    grid-column: 2;
246-    grid-row: 2;
247-  }
248-
249-  .plugins_list {
250-    width: 100%;
251-  }
252-
253-  @media only screen and (max-width: 700px) {
254-    .container {
255-      grid-template-columns: 100%;
256-      margin: 0 15px;
257-    }
258-
259-    .sidebar {
260-      display: none;
261-    }
262-
263-    .rightbar {
264-      display: none;
265-    }
266-
267-    .search_view {
268-      grid-column: 1;
269-    }
270-
271-    .plugins {
272-      grid-column: 1;
273-    }
274-  }
275-</style>
D src/routes/meta-image.svelte
+0, -83
 1@@ -1,83 +0,0 @@
 2-<script lang="ts">
 3-  import Tag from '$lib/tag.svelte';
 4-  const tags = [
 5-    { id: 'neovim', count: 11 },
 6-    { id: 'plugins', count: 5 },
 7-    { id: 'lua', count: 50 },
 8-    { id: 'learn', count: 1 },
 9-    { id: 'build', count: 2 },
10-  ];
11-</script>
12-
13-<div class="container">
14-  <div class="meta">
15-    <div class="top">
16-      <div>
17-        <img class="logo" src="/neovim-mark-flat.png" alt="neovim logo" />
18-      </div>
19-      <div>
20-        <h1 class="header">neovimcraft</h1>
21-        <div class="desc">
22-          Search through our curated neovim plugin directory and read our guides on creating
23-          plugins.
24-        </div>
25-      </div>
26-    </div>
27-    <div class="links">
28-      {#each tags as tag}
29-        <Tag {tag} showCount={false} />
30-      {/each}
31-    </div>
32-  </div>
33-</div>
34-
35-<style>
36-  .container {
37-    display: flex;
38-    align-items: center;
39-    justify-content: center;
40-    width: 100vw;
41-    height: 100vh;
42-    background-color: #fff;
43-  }
44-
45-  .meta {
46-    width: 1200px;
47-    height: 600px;
48-    background-color: var(--bg-color);
49-    padding: 90px 60px;
50-  }
51-
52-  .top {
53-    display: flex;
54-    align-items: center;
55-  }
56-
57-  .logo {
58-    width: 150px;
59-    height: auto;
60-    margin-right: 30px;
61-  }
62-
63-  .header {
64-    font-size: 10rem;
65-    line-height: 10rem;
66-    margin-bottom: 1rem;
67-  }
68-
69-  .desc {
70-    font-size: 2rem;
71-    margin-left: 10px;
72-  }
73-
74-  .links {
75-    margin-top: 1rem;
76-    margin-left: 190px;
77-  }
78-
79-  :global(.tag) {
80-    font-size: 1.5rem !important;
81-    margin-right: 1rem !important;
82-    padding: 0.5rem !important;
83-  }
84-</style>
D src/routes/plugin/[username]/[repo].json.ts
+0, -15
 1@@ -1,15 +0,0 @@
 2-import type { Plugin } from '$lib/types';
 3-import * as db from '$lib/db.json';
 4-import * as pluginHtml from '$lib/html.json';
 5-import { derivePluginData } from '$lib/plugin-data';
 6-
 7-export async function get({ params }) {
 8-  const { username, repo } = params;
 9-  const id = `${username}/${repo}`;
10-  const plugin = db.plugins[id] as Plugin;
11-  const { tagDb } = derivePluginData(db.plugins);
12-  const html = pluginHtml.html[id];
13-  const tags = plugin.tags.map((t) => tagDb[t]).filter(Boolean);
14-
15-  return { body: { plugin, html, tags } };
16-}
D src/routes/plugin/[username]/[repo].svelte
+0, -85
 1@@ -1,85 +0,0 @@
 2-<script context="module" lang="ts">
 3-  export const prerender = true;
 4-
 5-  import type { LoadInput } from '@sveltejs/kit';
 6-
 7-  export async function load({ page, fetch }: LoadInput) {
 8-    const { username, repo } = page.params;
 9-    const url = `/plugin/${username}/${repo}.json`;
10-    const res = await fetch(url);
11-
12-    if (res.ok) {
13-      return {
14-        props: await res.json(),
15-      };
16-    }
17-
18-    return {
19-      status: res.status,
20-      error: new Error(`Could not load ${url}`),
21-    };
22-  }
23-</script>
24-
25-<script lang="ts">
26-  import type { Plugin, Tag } from '$lib/types';
27-  import PluginView from '$lib/plugin-view.svelte';
28-  import Icon from '$lib/icon.svelte';
29-  import Nav from '$lib/nav.svelte';
30-
31-  export let plugin: Plugin;
32-  export let tags: Tag[];
33-  export let html: string;
34-</script>
35-
36-<svelte:head>
37-  <title>
38-    {plugin.id}: {plugin.description}
39-  </title>
40-  <meta property="og:title" content={plugin.id} />
41-  <meta name="twitter:title" content={plugin.id} />
42-  <meta itemprop="name" content={plugin.id} />
43-
44-  <meta name="description" content="{plugin.id}: {plugin.description}" />
45-  <meta itemprop="description" content="{plugin.id}: {plugin.description}" />
46-  <meta property="og:description" content="{plugin.id}: {plugin.description}" />
47-  <meta name="twitter:description" content="{plugin.id}: {plugin.description}" />
48-</svelte:head>
49-
50-<Nav />
51-
52-<div class="container">
53-  <div class="view">
54-    <div class="header">
55-      <h1>{plugin.id}</h1>
56-      {#if plugin.homepage}<a href={plugin.homepage}>website</a>{/if}
57-      <a href={plugin.link}><Icon icon="github" /> <span>github</span></a>
58-    </div>
59-    <PluginView {plugin} {tags} {html} />
60-  </div>
61-</div>
62-
63-<style>
64-  .container {
65-    display: flex;
66-    justify-content: center;
67-    width: 100%;
68-  }
69-
70-  .view {
71-    max-width: 800px;
72-    width: 95%;
73-    padding: 0 10px 30px 10px;
74-  }
75-
76-  .header {
77-    display: flex;
78-    align-items: center;
79-  }
80-
81-  .header > a {
82-    margin-left: 15px;
83-    display: flex;
84-    align-items: center;
85-  }
86-</style>
R src/lib/types.ts => src/types.ts
+7, -1
 1@@ -27,8 +27,14 @@ export interface Tag {
 2 
 3 export type TagMap = { [key: string]: Tag };
 4 
 5+export interface PluginData {
 6+  plugins: Plugin[];
 7+  tags: Tag[];
 8+  tagDb: TagMap;
 9+}
10+
11 export interface Resource {
12-  type: 'github';
13+  type: "github";
14   username: string;
15   repo: string;
16   tags: string[];
A static/client.js
+135, -0
  1@@ -0,0 +1,135 @@
  2+function addUrlParam(key, value) {
  3+  if (history.pushState) {
  4+    const searchParams = new URLSearchParams(window.location.search);
  5+    searchParams.set(key, value);
  6+    const newurl =
  7+      window.location.protocol +
  8+      "//" +
  9+      window.location.host +
 10+      window.location.pathname +
 11+      "?" +
 12+      searchParams.toString();
 13+    window.history.pushState({ path: newurl }, "", newurl);
 14+  }
 15+}
 16+
 17+function rmUrlParam(key) {
 18+  const url = window.location.href;
 19+  const r = new URL(url);
 20+  r.searchParams.delete(key);
 21+  const newUrl = r.href;
 22+  window.history.pushState({ path: newUrl }, "", newUrl);
 23+}
 24+
 25+function getUrlParam(key) {
 26+  const url = window.location.href;
 27+  const r = new URL(url);
 28+  return r.searchParams.get(key);
 29+}
 30+
 31+function createFilter(pluginsEl) {
 32+  function filter(value) {
 33+    function each(el) {
 34+      if (!value) {
 35+        el.classList.remove("hidden");
 36+        return;
 37+      }
 38+      const search = value.toLocaleLowerCase();
 39+      const repo = el.dataset.repo;
 40+      const desc = el.dataset.desc || "";
 41+      const tags = el.dataset.tags.split(",");
 42+
 43+      let hasTags = false;
 44+      if (search.includes("tag:")) {
 45+        const nextSearch = search.replace("tag:", "");
 46+        hasTags = tags.some((tag) => tag === nextSearch);
 47+      }
 48+
 49+      const showEl = repo.includes(search) || desc.includes(search) || hasTags;
 50+
 51+      if (showEl) {
 52+        el.classList.remove("hidden");
 53+      } else {
 54+        el.classList.add("hidden");
 55+      }
 56+    }
 57+
 58+    pluginsEl.forEach(each);
 59+  }
 60+
 61+  return filter;
 62+}
 63+
 64+function must(pattern) {
 65+  const el = document.querySelector(pattern);
 66+  if (!el) {
 67+    throw new Error(`${pattern} not found`);
 68+  }
 69+  return el;
 70+}
 71+
 72+function mustAll(pattern) {
 73+  const el = document.querySelectorAll(pattern);
 74+  if (!el) {
 75+    throw new Error(`${pattern} not found`);
 76+  }
 77+  return el;
 78+}
 79+
 80+function init() {
 81+  const searchEl = must("#search");
 82+  const clearSearchEl = must("#search_clear");
 83+  const menuBtnEl = must("#menu-btn");
 84+  const menuEl = must("#menu");
 85+  const menuCloseEl = mustAll(".menu-close");
 86+  const pluginsEl = mustAll(".plugin");
 87+  const tagsEl = mustAll(".tag");
 88+
 89+  const urlParam = getUrlParam("search");
 90+  searchEl.value = urlParam;
 91+  const filter = createFilter(pluginsEl);
 92+
 93+  const search = (value) => {
 94+    if (value) {
 95+      addUrlParam("search", value);
 96+    } else {
 97+      rmUrlParam("search");
 98+    }
 99+
100+    filter(value);
101+  };
102+
103+  searchEl.addEventListener("input", (ev) => {
104+    const value = ev.target.value;
105+    search(value);
106+  });
107+
108+  clearSearchEl.addEventListener("click", () => {
109+    searchEl.value = "";
110+    rmUrlParam("search");
111+    filter("");
112+  });
113+
114+  tagsEl.forEach((tagEl) => {
115+    tagEl.addEventListener("click", (el) => {
116+      const id = el.target.dataset.id;
117+      if (!id) return;
118+      const value = `tag:${id}`;
119+      searchEl.value = value;
120+      search(value);
121+    });
122+  });
123+
124+  menuBtnEl.addEventListener("click", () => {
125+    menu.classList.remove("hidden");
126+  });
127+  menuCloseEl.forEach((el) => {
128+    el.addEventListener("click", () => {
129+      menu.classList.add("hidden");
130+    });
131+  });
132+
133+  filter(searchEl.value);
134+}
135+
136+document.addEventListener("DOMContentLoaded", init);
M static/main.css
+383, -0
  1@@ -115,6 +115,389 @@ button:hover:enabled {
  2   background-color: var(--highlight-secondary);
  3 }
  4 
  5+img {
  6+  max-width: 100%;
  7+  height: auto;
  8+}
  9+
 10+.hidden {
 11+  display: none !important;
 12+}
 13+
 14 .active {
 15   color: var(--pink) !important;
 16 }
 17+
 18+/* index */
 19+.desc {
 20+  margin-bottom: 5px;
 21+  grid-row: 1;
 22+  grid-column: 1;
 23+  align-items: center;
 24+  display: flex;
 25+}
 26+
 27+.search_view {
 28+  grid-column: 2;
 29+  grid-row: 1;
 30+  position: relative;
 31+}
 32+
 33+.rightbar {
 34+  grid-row: 1;
 35+  grid-column: 3;
 36+  margin-bottom: 5px;
 37+  align-items: center;
 38+  display: flex;
 39+}
 40+
 41+.search_icon {
 42+  position: absolute;
 43+  top: 12px;
 44+  left: 0;
 45+}
 46+
 47+.search_clear_icon {
 48+  position: absolute;
 49+  top: 15px;
 50+  right: 0;
 51+  cursor: pointer;
 52+}
 53+
 54+#search {
 55+  width: 100%;
 56+  height: 47px;
 57+  padding-left: 30px;
 58+  padding-right: 30px;
 59+}
 60+
 61+.search_results {
 62+  margin: 0;
 63+  margin-top: 5px;
 64+  margin-bottom: 5px;
 65+}
 66+
 67+.search_container {
 68+  display: grid;
 69+  height: calc(100vh - 65px);
 70+  grid-template-columns: minmax(250px, 400px) minmax(350px, 600px);
 71+  grid-template-rows: 50px 1fr;
 72+  column-gap: 10px;
 73+  margin: 0 25px;
 74+}
 75+
 76+.sidebar {
 77+  grid-column: 1;
 78+  grid-row: 2;
 79+}
 80+
 81+.plugins {
 82+  grid-column: 2;
 83+  grid-row: 2;
 84+}
 85+
 86+.plugins_container {
 87+  width: 100%;
 88+}
 89+
 90+@media only screen and (max-width: 700px) {
 91+  .search_container {
 92+    grid-template-columns: 100%;
 93+    margin: 0 15px;
 94+  }
 95+
 96+  .sidebar {
 97+    display: none;
 98+  }
 99+
100+  .rightbar {
101+    display: none;
102+  }
103+
104+  .search_view {
105+    grid-column: 1;
106+  }
107+
108+  .plugins {
109+    grid-column: 1;
110+  }
111+}
112+
113+/* nav */
114+.nav {
115+  display: flex;
116+  justify-content: space-between;
117+  align-items: center;
118+  padding: 0 25px 15px 25px;
119+}
120+
121+.links {
122+  display: flex;
123+  justify-content: space-between;
124+  width: 250px;
125+}
126+
127+.link {
128+  font-size: 20px;
129+  text-decoration: none;
130+  color: var(--text-color);
131+}
132+
133+.link:hover {
134+  color: var(--highlight-color);
135+  text-decoration: underline;
136+}
137+
138+.menu-overlay {
139+  position: fixed;
140+  top: 0;
141+  left: 0;
142+  width: 100vw;
143+  height: 100vh;
144+  background-color: rgba(0, 0, 0, 0.6);
145+  z-index: 1;
146+}
147+
148+.menu-container {
149+  display: none;
150+}
151+
152+.menu {
153+  position: fixed;
154+  top: 0;
155+  right: 0;
156+  width: 80vw;
157+  height: 100vh;
158+  flex-direction: column;
159+  align-items: end;
160+  background-color: var(--bg-color);
161+  z-index: 1;
162+  padding: 0 15px;
163+  padding-top: 0;
164+  border-left: 1px solid var(--primary-color);
165+}
166+
167+.menu-header {
168+  display: flex;
169+  justify-content: space-between;
170+  align-items: center;
171+}
172+
173+.menu-body {
174+  display: flex;
175+  flex-direction: column;
176+}
177+
178+.menu-body a {
179+  margin: 10px 0;
180+}
181+
182+.menu-btn {
183+  display: none;
184+  cursor: pointer;
185+  width: 24px;
186+  height: 24px;
187+}
188+
189+#logo {
190+  display: flex;
191+  align-items: center;
192+}
193+
194+.gh {
195+  margin-left: 15px;
196+}
197+
198+.logo-header {
199+  text-decoration: none;
200+  color: var(--text-color);
201+}
202+
203+.logo-header:visited {
204+  color: var(--text-color);
205+}
206+
207+@media only screen and (max-width: 700px) {
208+  .nav {
209+    padding: 0 15px;
210+  }
211+
212+  .links {
213+    display: none;
214+  }
215+
216+  .link {
217+    margin: 10px 0;
218+  }
219+
220+  .menu-btn {
221+    display: block;
222+  }
223+
224+  .menu-container {
225+    display: flex;
226+    justify-content: center;
227+    align-items: center;
228+  }
229+}
230+
231+/* plugin item */
232+.container {
233+  display: flex;
234+  flex-direction: column;
235+  padding: 15px 0;
236+  min-height: 170px;
237+  width: 100%;
238+  border-bottom: 1px solid var(--primary-color);
239+}
240+
241+.date {
242+  font-size: 14px;
243+}
244+
245+.header {
246+  display: flex;
247+  align-items: center;
248+  margin-bottom: 5px;
249+}
250+
251+.desc {
252+  margin-top: 5px;
253+}
254+
255+.item_header {
256+  flex: 1;
257+  display: flex;
258+  align-items: center;
259+}
260+
261+.metrics {
262+  width: 175px;
263+  min-width: 175px;
264+  display: flex;
265+  justify-content: space-between;
266+}
267+
268+.metric-item {
269+  display: flex;
270+  justify-content: center;
271+  align-items: center;
272+  cursor: pointer;
273+}
274+
275+.tags {
276+  margin-top: 5px;
277+}
278+
279+/* tag item */
280+.tag {
281+  padding: 5px;
282+  margin: 5px 5px 5px 0;
283+  border: 1px solid black;
284+  white-space: pre-wrap;
285+  word-break: break-word;
286+  display: inline-block;
287+  cursor: pointer;
288+  color: var(--primary-color);
289+  font-size: 0.8rem;
290+}
291+
292+.tag:hover {
293+  background-color: var(--highlight-color);
294+}
295+
296+/* icon */
297+.icon {
298+  width: 24px;
299+  height: 24px;
300+  margin-right: 5px;
301+}
302+
303+/* about page */
304+.about_container {
305+  display: flex;
306+  justify-content: center;
307+}
308+
309+.about_view {
310+  width: 600px;
311+}
312+
313+.intro {
314+  display: flex;
315+  align-items: center;
316+  justify-content: center;
317+  margin-bottom: 8px;
318+}
319+
320+.blurb {
321+  margin-right: 8px;
322+}
323+
324+.profile {
325+  border-radius: 9999px;
326+  width: 100px;
327+  height: 100px;
328+}
329+
330+@media only screen and (max-width: 700px) {
331+  .about_container {
332+    padding: 0 15px;
333+  }
334+}
335+
336+/* plugin page */
337+.plugin_container {
338+  display: flex;
339+  justify-content: center;
340+  width: 100%;
341+}
342+
343+.view {
344+  max-width: 800px;
345+  width: 95%;
346+  padding: 0 10px 30px 10px;
347+}
348+
349+.header {
350+  display: flex;
351+  align-items: center;
352+}
353+
354+.header > a {
355+  margin-left: 15px;
356+  display: flex;
357+  align-items: center;
358+}
359+
360+/* plugin view */
361+.timestamps {
362+  display: flex;
363+  justify-content: space-between;
364+  background-color: var(--primary-color);
365+  padding: 15px;
366+  margin: 15px 0;
367+}
368+
369+.ts_header {
370+  margin-bottom: 10px;
371+}
372+
373+.meta {
374+  margin-bottom: 20px;
375+}
376+
377+.metrics_view {
378+  display: flex;
379+  justify-content: space-between;
380+}
381+
382+.metric {
383+  display: flex;
384+  align-items: center;
385+  cursor: pointer;
386+}
387+
388+.tags_view {
389+  margin-bottom: 10px;
390+}
D svelte.config.js
+0, -25
 1@@ -1,25 +0,0 @@
 2-import preprocess from 'svelte-preprocess';
 3-import adapter from '@sveltejs/adapter-static';
 4-
 5-/** @type {import('@sveltejs/kit').Config} */
 6-const config = {
 7-  // Consult https://github.com/sveltejs/svelte-preprocess
 8-  // for more information about preprocessors
 9-  preprocess: preprocess(),
10-
11-  kit: {
12-    // hydrate the <div id="svelte"> element in src/app.html
13-    target: '#svelte',
14-    adapter: adapter({
15-      // default options are shown
16-      pages: 'build',
17-      assets: 'build',
18-      fallback: null,
19-    }),
20-    prerender: {
21-      onError: 'continue',
22-    },
23-  },
24-};
25-
26-export default config;
D tsconfig.json
+0, -30
 1@@ -1,30 +0,0 @@
 2-{
 3-  "compilerOptions": {
 4-    "moduleResolution": "node",
 5-    "module": "es2020",
 6-    "lib": ["es2020"],
 7-    "target": "es2019",
 8-    /**
 9-			svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript
10-			to enforce using \`import type\` instead of \`import\` for Types.
11-			*/
12-    "importsNotUsedAsValues": "error",
13-    "isolatedModules": true,
14-    "resolveJsonModule": true,
15-    /**
16-			To have warnings/errors of the Svelte compiler at the correct position,
17-			enable source maps by default.
18-			*/
19-    "sourceMap": true,
20-    "esModuleInterop": true,
21-    "skipLibCheck": true,
22-    "forceConsistentCasingInFileNames": true,
23-    "baseUrl": ".",
24-    "allowJs": true,
25-    "checkJs": true,
26-    "paths": {
27-      "$lib/*": ["src/lib/*"]
28-    }
29-  },
30-  "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.ts", "src/**/*.svelte", "scripts/*.ts"]
31-}
D yarn.lock
+0, -1972
   1@@ -1,1972 +0,0 @@
   2-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
   3-# yarn lockfile v1
   4-
   5-
   6-"@babel/code-frame@7.12.11":
   7-  version "7.12.11"
   8-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
   9-  integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
  10-  dependencies:
  11-    "@babel/highlight" "^7.10.4"
  12-
  13-"@babel/code-frame@^7.0.0":
  14-  version "7.14.5"
  15-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
  16-  integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
  17-  dependencies:
  18-    "@babel/highlight" "^7.14.5"
  19-
  20-"@babel/helper-validator-identifier@^7.14.5":
  21-  version "7.14.5"
  22-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
  23-  integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
  24-
  25-"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":
  26-  version "7.14.5"
  27-  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
  28-  integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
  29-  dependencies:
  30-    "@babel/helper-validator-identifier" "^7.14.5"
  31-    chalk "^2.0.0"
  32-    js-tokens "^4.0.0"
  33-
  34-"@cspotcode/source-map-consumer@0.8.0":
  35-  version "0.8.0"
  36-  resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b"
  37-  integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==
  38-
  39-"@cspotcode/source-map-support@0.7.0":
  40-  version "0.7.0"
  41-  resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5"
  42-  integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==
  43-  dependencies:
  44-    "@cspotcode/source-map-consumer" "0.8.0"
  45-
  46-"@eslint/eslintrc@^0.4.2":
  47-  version "0.4.2"
  48-  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179"
  49-  integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==
  50-  dependencies:
  51-    ajv "^6.12.4"
  52-    debug "^4.1.1"
  53-    espree "^7.3.0"
  54-    globals "^13.9.0"
  55-    ignore "^4.0.6"
  56-    import-fresh "^3.2.1"
  57-    js-yaml "^3.13.1"
  58-    minimatch "^3.0.4"
  59-    strip-json-comments "^3.1.1"
  60-
  61-"@humanwhocodes/config-array@^0.5.0":
  62-  version "0.5.0"
  63-  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
  64-  integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==
  65-  dependencies:
  66-    "@humanwhocodes/object-schema" "^1.2.0"
  67-    debug "^4.1.1"
  68-    minimatch "^3.0.4"
  69-
  70-"@humanwhocodes/object-schema@^1.2.0":
  71-  version "1.2.0"
  72-  resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf"
  73-  integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==
  74-
  75-"@nodelib/fs.scandir@2.1.5":
  76-  version "2.1.5"
  77-  resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
  78-  integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
  79-  dependencies:
  80-    "@nodelib/fs.stat" "2.0.5"
  81-    run-parallel "^1.1.9"
  82-
  83-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
  84-  version "2.0.5"
  85-  resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
  86-  integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
  87-
  88-"@nodelib/fs.walk@^1.2.3":
  89-  version "1.2.8"
  90-  resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
  91-  integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
  92-  dependencies:
  93-    "@nodelib/fs.scandir" "2.1.5"
  94-    fastq "^1.6.0"
  95-
  96-"@rollup/pluginutils@^4.1.1":
  97-  version "4.1.1"
  98-  resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec"
  99-  integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==
 100-  dependencies:
 101-    estree-walker "^2.0.1"
 102-    picomatch "^2.2.2"
 103-
 104-"@sveltejs/adapter-static@^1.0.0-next.13":
 105-  version "1.0.0-next.13"
 106-  resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.13.tgz#5cba8f2905a5a7b956c2663d73ac02f7eb6da7c4"
 107-  integrity sha512-zaXJlWK9JfrjrE6nG5etB8kf4DSkbE3H8Ql6gmCk3WjdvpY85a60TMYBU9OK2iunkqpHnPYiMUGEnOGYmWlLYA==
 108-
 109-"@sveltejs/kit@^1.0.0-next.139":
 110-  version "1.0.0-next.139"
 111-  resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.0.0-next.139.tgz#1459cfccfd7058a0a454eb91b183708ca971bc93"
 112-  integrity sha512-V/OG9FIuq8Fzh08x0VZx1ZX5MjCM8lD/vpk/cM/RyGJSky+KKYgch7mWSY6XP28vUsl1HUg+HMuho/rKqmwe9A==
 113-  dependencies:
 114-    "@sveltejs/vite-plugin-svelte" "^1.0.0-next.14"
 115-    cheap-watch "^1.0.3"
 116-    sade "^1.7.4"
 117-    vite "^2.4.3"
 118-
 119-"@sveltejs/vite-plugin-svelte@^1.0.0-next.14":
 120-  version "1.0.0-next.15"
 121-  resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.15.tgz#12e853677387aa0891b03bf69afcc678fbf8f8e2"
 122-  integrity sha512-8yGX7PxaqtvWw+GHiO2DV7lZ4M7DwIrFq+PgZGZ9X09PuoSeaWszm76GWQXJMKHoPPhdA9084662en9qbv4aRw==
 123-  dependencies:
 124-    "@rollup/pluginutils" "^4.1.1"
 125-    debug "^4.3.2"
 126-    kleur "^4.1.4"
 127-    magic-string "^0.25.7"
 128-    require-relative "^0.8.7"
 129-    svelte-hmr "^0.14.7"
 130-
 131-"@tsconfig/node10@^1.0.7":
 132-  version "1.0.8"
 133-  resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9"
 134-  integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==
 135-
 136-"@tsconfig/node12@^1.0.7":
 137-  version "1.0.9"
 138-  resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c"
 139-  integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==
 140-
 141-"@tsconfig/node14@^1.0.0":
 142-  version "1.0.1"
 143-  resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2"
 144-  integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==
 145-
 146-"@tsconfig/node16@^1.0.2":
 147-  version "1.0.2"
 148-  resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e"
 149-  integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==
 150-
 151-"@types/json-schema@^7.0.7":
 152-  version "7.0.8"
 153-  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818"
 154-  integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==
 155-
 156-"@types/marked@^2.0.4":
 157-  version "2.0.4"
 158-  resolved "https://registry.yarnpkg.com/@types/marked/-/marked-2.0.4.tgz#34a0ea548afe6e0c01095229d47b48b2af650613"
 159-  integrity sha512-L9VRSe0Id8xbPL99mUo/4aKgD7ZoRwFZqUQScNKHi2pFjF9ZYSMNShUHD6VlMT6J/prQq0T1mxuU25m3R7dFzg==
 160-
 161-"@types/node-fetch@^2.5.12":
 162-  version "2.5.12"
 163-  resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.12.tgz#8a6f779b1d4e60b7a57fb6fd48d84fb545b9cc66"
 164-  integrity sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==
 165-  dependencies:
 166-    "@types/node" "*"
 167-    form-data "^3.0.0"
 168-
 169-"@types/node@*":
 170-  version "16.3.0"
 171-  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.0.tgz#1836664e4fad13b51b07eb6e882a53925e6543c4"
 172-  integrity sha512-OydMCocGMGqw/1BnWbhtK+AtwyWTOigtrQlRe57OQmTNcI3HKlVI5FGlh+c4mSqInMPLynFrTlYjfajPu9O/eQ==
 173-
 174-"@types/node@^16.4.10":
 175-  version "16.4.10"
 176-  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.10.tgz#e57e2a54fc6da58da94b3571b1cb456d39f88597"
 177-  integrity sha512-TmVHsm43br64js9BqHWqiDZA+xMtbUpI1MBIA0EyiBmoV9pcEYFOSdj5fr6enZNfh4fChh+AGOLIzGwJnkshyQ==
 178-
 179-"@types/parse-json@^4.0.0":
 180-  version "4.0.0"
 181-  resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
 182-  integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
 183-
 184-"@types/prettier@^2.3.2":
 185-  version "2.3.2"
 186-  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3"
 187-  integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==
 188-
 189-"@types/pug@^2.0.4":
 190-  version "2.0.5"
 191-  resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.5.tgz#69bc700934dd473c7ab97270bd2dbacefe562231"
 192-  integrity sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA==
 193-
 194-"@types/sass@^1.16.0":
 195-  version "1.16.1"
 196-  resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.16.1.tgz#cf465bd1fea486d0331f760db023de14daf4980d"
 197-  integrity sha512-iZUcRrGuz/Tbg3loODpW7vrQJkUtpY2fFSf4ELqqkApcS2TkZ1msk7ie8iZPB86lDOP8QOTTmuvWjc5S0R9OjQ==
 198-  dependencies:
 199-    "@types/node" "*"
 200-
 201-"@typescript-eslint/eslint-plugin@^4.19.0":
 202-  version "4.28.2"
 203-  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.2.tgz#7a8320f00141666813d0ae43b49ee8244f7cf92a"
 204-  integrity sha512-PGqpLLzHSxq956rzNGasO3GsAPf2lY9lDUBXhS++SKonglUmJypaUtcKzRtUte8CV7nruwnDxtLUKpVxs0wQBw==
 205-  dependencies:
 206-    "@typescript-eslint/experimental-utils" "4.28.2"
 207-    "@typescript-eslint/scope-manager" "4.28.2"
 208-    debug "^4.3.1"
 209-    functional-red-black-tree "^1.0.1"
 210-    regexpp "^3.1.0"
 211-    semver "^7.3.5"
 212-    tsutils "^3.21.0"
 213-
 214-"@typescript-eslint/experimental-utils@4.28.2":
 215-  version "4.28.2"
 216-  resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz#4ebdec06a10888e9326e1d51d81ad52a361bd0b0"
 217-  integrity sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==
 218-  dependencies:
 219-    "@types/json-schema" "^7.0.7"
 220-    "@typescript-eslint/scope-manager" "4.28.2"
 221-    "@typescript-eslint/types" "4.28.2"
 222-    "@typescript-eslint/typescript-estree" "4.28.2"
 223-    eslint-scope "^5.1.1"
 224-    eslint-utils "^3.0.0"
 225-
 226-"@typescript-eslint/parser@^4.19.0":
 227-  version "4.28.2"
 228-  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.2.tgz#6aff11bf4b91eb67ca7517962eede951e9e2a15d"
 229-  integrity sha512-Q0gSCN51eikAgFGY+gnd5p9bhhCUAl0ERMiDKrTzpSoMYRubdB8MJrTTR/BBii8z+iFwz8oihxd0RAdP4l8w8w==
 230-  dependencies:
 231-    "@typescript-eslint/scope-manager" "4.28.2"
 232-    "@typescript-eslint/types" "4.28.2"
 233-    "@typescript-eslint/typescript-estree" "4.28.2"
 234-    debug "^4.3.1"
 235-
 236-"@typescript-eslint/scope-manager@4.28.2":
 237-  version "4.28.2"
 238-  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz#451dce90303a3ce283750111495d34c9c204e510"
 239-  integrity sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==
 240-  dependencies:
 241-    "@typescript-eslint/types" "4.28.2"
 242-    "@typescript-eslint/visitor-keys" "4.28.2"
 243-
 244-"@typescript-eslint/types@4.28.2":
 245-  version "4.28.2"
 246-  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.2.tgz#e6b9e234e0e9a66c4d25bab881661e91478223b5"
 247-  integrity sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==
 248-
 249-"@typescript-eslint/typescript-estree@4.28.2":
 250-  version "4.28.2"
 251-  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz#680129b2a285289a15e7c6108c84739adf3a798c"
 252-  integrity sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==
 253-  dependencies:
 254-    "@typescript-eslint/types" "4.28.2"
 255-    "@typescript-eslint/visitor-keys" "4.28.2"
 256-    debug "^4.3.1"
 257-    globby "^11.0.3"
 258-    is-glob "^4.0.1"
 259-    semver "^7.3.5"
 260-    tsutils "^3.21.0"
 261-
 262-"@typescript-eslint/visitor-keys@4.28.2":
 263-  version "4.28.2"
 264-  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz#bf56a400857bb68b59b311e6d0a5fbef5c3b5130"
 265-  integrity sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==
 266-  dependencies:
 267-    "@typescript-eslint/types" "4.28.2"
 268-    eslint-visitor-keys "^2.0.0"
 269-
 270-acorn-jsx@^5.3.1:
 271-  version "5.3.2"
 272-  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
 273-  integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
 274-
 275-acorn-walk@^8.1.1:
 276-  version "8.2.0"
 277-  resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
 278-  integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
 279-
 280-acorn@^7.4.0:
 281-  version "7.4.1"
 282-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
 283-  integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 284-
 285-acorn@^8.4.1:
 286-  version "8.7.0"
 287-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
 288-  integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
 289-
 290-aggregate-error@^3.0.0:
 291-  version "3.1.0"
 292-  resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
 293-  integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
 294-  dependencies:
 295-    clean-stack "^2.0.0"
 296-    indent-string "^4.0.0"
 297-
 298-ajv@^6.10.0, ajv@^6.12.4:
 299-  version "6.12.6"
 300-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
 301-  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
 302-  dependencies:
 303-    fast-deep-equal "^3.1.1"
 304-    fast-json-stable-stringify "^2.0.0"
 305-    json-schema-traverse "^0.4.1"
 306-    uri-js "^4.2.2"
 307-
 308-ajv@^8.0.1:
 309-  version "8.6.1"
 310-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.1.tgz#ae65764bf1edde8cd861281cda5057852364a295"
 311-  integrity sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==
 312-  dependencies:
 313-    fast-deep-equal "^3.1.1"
 314-    json-schema-traverse "^1.0.0"
 315-    require-from-string "^2.0.2"
 316-    uri-js "^4.2.2"
 317-
 318-ansi-colors@^4.1.1:
 319-  version "4.1.1"
 320-  resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
 321-  integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
 322-
 323-ansi-escapes@^4.3.0:
 324-  version "4.3.2"
 325-  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
 326-  integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
 327-  dependencies:
 328-    type-fest "^0.21.3"
 329-
 330-ansi-regex@^5.0.0:
 331-  version "5.0.0"
 332-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
 333-  integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
 334-
 335-ansi-styles@^3.2.1:
 336-  version "3.2.1"
 337-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
 338-  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
 339-  dependencies:
 340-    color-convert "^1.9.0"
 341-
 342-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
 343-  version "4.3.0"
 344-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
 345-  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
 346-  dependencies:
 347-    color-convert "^2.0.1"
 348-
 349-anymatch@~3.1.2:
 350-  version "3.1.2"
 351-  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
 352-  integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
 353-  dependencies:
 354-    normalize-path "^3.0.0"
 355-    picomatch "^2.0.4"
 356-
 357-arg@^4.1.0:
 358-  version "4.1.3"
 359-  resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
 360-  integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
 361-
 362-argparse@^1.0.7:
 363-  version "1.0.10"
 364-  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
 365-  integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
 366-  dependencies:
 367-    sprintf-js "~1.0.2"
 368-
 369-array-union@^2.1.0:
 370-  version "2.1.0"
 371-  resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
 372-  integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
 373-
 374-astral-regex@^2.0.0:
 375-  version "2.0.0"
 376-  resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
 377-  integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
 378-
 379-asynckit@^0.4.0:
 380-  version "0.4.0"
 381-  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
 382-  integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
 383-
 384-balanced-match@^1.0.0:
 385-  version "1.0.2"
 386-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
 387-  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
 388-
 389-binary-extensions@^2.0.0:
 390-  version "2.2.0"
 391-  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
 392-  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
 393-
 394-brace-expansion@^1.1.7:
 395-  version "1.1.11"
 396-  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
 397-  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
 398-  dependencies:
 399-    balanced-match "^1.0.0"
 400-    concat-map "0.0.1"
 401-
 402-braces@^3.0.1, braces@~3.0.2:
 403-  version "3.0.2"
 404-  resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
 405-  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
 406-  dependencies:
 407-    fill-range "^7.0.1"
 408-
 409-callsites@^3.0.0:
 410-  version "3.1.0"
 411-  resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
 412-  integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
 413-
 414-camelcase@^5.0.0:
 415-  version "5.3.1"
 416-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
 417-  integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
 418-
 419-chalk@2.4.2, chalk@^2.0.0:
 420-  version "2.4.2"
 421-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
 422-  integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
 423-  dependencies:
 424-    ansi-styles "^3.2.1"
 425-    escape-string-regexp "^1.0.5"
 426-    supports-color "^5.3.0"
 427-
 428-chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1:
 429-  version "4.1.1"
 430-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
 431-  integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
 432-  dependencies:
 433-    ansi-styles "^4.1.0"
 434-    supports-color "^7.1.0"
 435-
 436-cheap-watch@^1.0.3:
 437-  version "1.0.3"
 438-  resolved "https://registry.yarnpkg.com/cheap-watch/-/cheap-watch-1.0.3.tgz#3c4265718bcf8f1ae08f5e450f9f4693432e028e"
 439-  integrity sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg==
 440-
 441-chokidar@^3.4.1:
 442-  version "3.5.2"
 443-  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
 444-  integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
 445-  dependencies:
 446-    anymatch "~3.1.2"
 447-    braces "~3.0.2"
 448-    glob-parent "~5.1.2"
 449-    is-binary-path "~2.1.0"
 450-    is-glob "~4.0.1"
 451-    normalize-path "~3.0.0"
 452-    readdirp "~3.6.0"
 453-  optionalDependencies:
 454-    fsevents "~2.3.2"
 455-
 456-clean-stack@^2.0.0:
 457-  version "2.2.0"
 458-  resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
 459-  integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
 460-
 461-cli-cursor@^3.1.0:
 462-  version "3.1.0"
 463-  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
 464-  integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
 465-  dependencies:
 466-    restore-cursor "^3.1.0"
 467-
 468-cli-truncate@^2.1.0:
 469-  version "2.1.0"
 470-  resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
 471-  integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
 472-  dependencies:
 473-    slice-ansi "^3.0.0"
 474-    string-width "^4.2.0"
 475-
 476-cliui@^6.0.0:
 477-  version "6.0.0"
 478-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
 479-  integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
 480-  dependencies:
 481-    string-width "^4.2.0"
 482-    strip-ansi "^6.0.0"
 483-    wrap-ansi "^6.2.0"
 484-
 485-color-convert@^1.9.0:
 486-  version "1.9.3"
 487-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
 488-  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
 489-  dependencies:
 490-    color-name "1.1.3"
 491-
 492-color-convert@^2.0.1:
 493-  version "2.0.1"
 494-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
 495-  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
 496-  dependencies:
 497-    color-name "~1.1.4"
 498-
 499-color-name@1.1.3:
 500-  version "1.1.3"
 501-  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
 502-  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
 503-
 504-color-name@~1.1.4:
 505-  version "1.1.4"
 506-  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
 507-  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 508-
 509-colorette@^1.2.2:
 510-  version "1.2.2"
 511-  resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
 512-  integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
 513-
 514-combined-stream@^1.0.8:
 515-  version "1.0.8"
 516-  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
 517-  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
 518-  dependencies:
 519-    delayed-stream "~1.0.0"
 520-
 521-commander@^7.2.0:
 522-  version "7.2.0"
 523-  resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
 524-  integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
 525-
 526-concat-map@0.0.1:
 527-  version "0.0.1"
 528-  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
 529-  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
 530-
 531-cosmiconfig@^7.0.0:
 532-  version "7.0.0"
 533-  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
 534-  integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
 535-  dependencies:
 536-    "@types/parse-json" "^4.0.0"
 537-    import-fresh "^3.2.1"
 538-    parse-json "^5.0.0"
 539-    path-type "^4.0.0"
 540-    yaml "^1.10.0"
 541-
 542-create-require@^1.1.0:
 543-  version "1.1.1"
 544-  resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
 545-  integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
 546-
 547-cross-spawn@^7.0.2, cross-spawn@^7.0.3:
 548-  version "7.0.3"
 549-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
 550-  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
 551-  dependencies:
 552-    path-key "^3.1.0"
 553-    shebang-command "^2.0.0"
 554-    which "^2.0.1"
 555-
 556-debug@^4.0.1, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
 557-  version "4.3.2"
 558-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
 559-  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
 560-  dependencies:
 561-    ms "2.1.2"
 562-
 563-decamelize@^1.2.0:
 564-  version "1.2.0"
 565-  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
 566-  integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
 567-
 568-decode-uri-component@^0.2.0:
 569-  version "0.2.0"
 570-  resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
 571-  integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
 572-
 573-dedent@^0.7.0:
 574-  version "0.7.0"
 575-  resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
 576-  integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
 577-
 578-deep-is@^0.1.3:
 579-  version "0.1.3"
 580-  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
 581-  integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
 582-
 583-delayed-stream@~1.0.0:
 584-  version "1.0.0"
 585-  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
 586-  integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
 587-
 588-detect-indent@^6.0.0:
 589-  version "6.1.0"
 590-  resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
 591-  integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
 592-
 593-diff@^4.0.1:
 594-  version "4.0.2"
 595-  resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
 596-  integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
 597-
 598-dir-glob@^3.0.1:
 599-  version "3.0.1"
 600-  resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
 601-  integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
 602-  dependencies:
 603-    path-type "^4.0.0"
 604-
 605-doctrine@^3.0.0:
 606-  version "3.0.0"
 607-  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
 608-  integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
 609-  dependencies:
 610-    esutils "^2.0.2"
 611-
 612-emoji-regex@^8.0.0:
 613-  version "8.0.0"
 614-  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
 615-  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
 616-
 617-enquirer@^2.3.5, enquirer@^2.3.6:
 618-  version "2.3.6"
 619-  resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
 620-  integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
 621-  dependencies:
 622-    ansi-colors "^4.1.1"
 623-
 624-error-ex@^1.3.1:
 625-  version "1.3.2"
 626-  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
 627-  integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
 628-  dependencies:
 629-    is-arrayish "^0.2.1"
 630-
 631-esbuild@^0.12.8:
 632-  version "0.12.17"
 633-  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.17.tgz#5816f905c2905de0ebbc658860df7b5b48afbcd3"
 634-  integrity sha512-GshKJyVYUnlSXIZj/NheC2O0Kblh42CS7P1wJyTbbIHevTG4jYMS9NNw8EOd8dDWD0dzydYHS01MpZoUcQXB4g==
 635-
 636-escape-string-regexp@^1.0.5:
 637-  version "1.0.5"
 638-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
 639-  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
 640-
 641-escape-string-regexp@^4.0.0:
 642-  version "4.0.0"
 643-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
 644-  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
 645-
 646-eslint-config-prettier@^8.1.0:
 647-  version "8.3.0"
 648-  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a"
 649-  integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==
 650-
 651-eslint-plugin-svelte3@^3.2.0:
 652-  version "3.2.0"
 653-  resolved "https://registry.yarnpkg.com/eslint-plugin-svelte3/-/eslint-plugin-svelte3-3.2.0.tgz#a6deb4ead4b31a647ea88a3823d7c96578f74683"
 654-  integrity sha512-qdWB1QN21dEozsJFdR8XlEhMnsS6aKHjsXWuNmchYwxoet5I6QdCr1Xcq62++IzRBMCNCeH4waXqSOAdqrZzgA==
 655-
 656-eslint-scope@^5.1.1:
 657-  version "5.1.1"
 658-  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
 659-  integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
 660-  dependencies:
 661-    esrecurse "^4.3.0"
 662-    estraverse "^4.1.1"
 663-
 664-eslint-utils@^2.1.0:
 665-  version "2.1.0"
 666-  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
 667-  integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
 668-  dependencies:
 669-    eslint-visitor-keys "^1.1.0"
 670-
 671-eslint-utils@^3.0.0:
 672-  version "3.0.0"
 673-  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
 674-  integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
 675-  dependencies:
 676-    eslint-visitor-keys "^2.0.0"
 677-
 678-eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
 679-  version "1.3.0"
 680-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
 681-  integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
 682-
 683-eslint-visitor-keys@^2.0.0:
 684-  version "2.1.0"
 685-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
 686-  integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
 687-
 688-eslint@^7.22.0:
 689-  version "7.30.0"
 690-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.30.0.tgz#6d34ab51aaa56112fd97166226c9a97f505474f8"
 691-  integrity sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==
 692-  dependencies:
 693-    "@babel/code-frame" "7.12.11"
 694-    "@eslint/eslintrc" "^0.4.2"
 695-    "@humanwhocodes/config-array" "^0.5.0"
 696-    ajv "^6.10.0"
 697-    chalk "^4.0.0"
 698-    cross-spawn "^7.0.2"
 699-    debug "^4.0.1"
 700-    doctrine "^3.0.0"
 701-    enquirer "^2.3.5"
 702-    escape-string-regexp "^4.0.0"
 703-    eslint-scope "^5.1.1"
 704-    eslint-utils "^2.1.0"
 705-    eslint-visitor-keys "^2.0.0"
 706-    espree "^7.3.1"
 707-    esquery "^1.4.0"
 708-    esutils "^2.0.2"
 709-    fast-deep-equal "^3.1.3"
 710-    file-entry-cache "^6.0.1"
 711-    functional-red-black-tree "^1.0.1"
 712-    glob-parent "^5.1.2"
 713-    globals "^13.6.0"
 714-    ignore "^4.0.6"
 715-    import-fresh "^3.0.0"
 716-    imurmurhash "^0.1.4"
 717-    is-glob "^4.0.0"
 718-    js-yaml "^3.13.1"
 719-    json-stable-stringify-without-jsonify "^1.0.1"
 720-    levn "^0.4.1"
 721-    lodash.merge "^4.6.2"
 722-    minimatch "^3.0.4"
 723-    natural-compare "^1.4.0"
 724-    optionator "^0.9.1"
 725-    progress "^2.0.0"
 726-    regexpp "^3.1.0"
 727-    semver "^7.2.1"
 728-    strip-ansi "^6.0.0"
 729-    strip-json-comments "^3.1.0"
 730-    table "^6.0.9"
 731-    text-table "^0.2.0"
 732-    v8-compile-cache "^2.0.3"
 733-
 734-espree@^7.3.0, espree@^7.3.1:
 735-  version "7.3.1"
 736-  resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
 737-  integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
 738-  dependencies:
 739-    acorn "^7.4.0"
 740-    acorn-jsx "^5.3.1"
 741-    eslint-visitor-keys "^1.3.0"
 742-
 743-esprima@^4.0.0:
 744-  version "4.0.1"
 745-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
 746-  integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
 747-
 748-esquery@^1.4.0:
 749-  version "1.4.0"
 750-  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
 751-  integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
 752-  dependencies:
 753-    estraverse "^5.1.0"
 754-
 755-esrecurse@^4.3.0:
 756-  version "4.3.0"
 757-  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
 758-  integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
 759-  dependencies:
 760-    estraverse "^5.2.0"
 761-
 762-estraverse@^4.1.1:
 763-  version "4.3.0"
 764-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
 765-  integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
 766-
 767-estraverse@^5.1.0, estraverse@^5.2.0:
 768-  version "5.2.0"
 769-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
 770-  integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
 771-
 772-estree-walker@^2.0.1:
 773-  version "2.0.2"
 774-  resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
 775-  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
 776-
 777-esutils@^2.0.2:
 778-  version "2.0.3"
 779-  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
 780-  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
 781-
 782-execa@^5.0.0:
 783-  version "5.1.1"
 784-  resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
 785-  integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
 786-  dependencies:
 787-    cross-spawn "^7.0.3"
 788-    get-stream "^6.0.0"
 789-    human-signals "^2.1.0"
 790-    is-stream "^2.0.0"
 791-    merge-stream "^2.0.0"
 792-    npm-run-path "^4.0.1"
 793-    onetime "^5.1.2"
 794-    signal-exit "^3.0.3"
 795-    strip-final-newline "^2.0.0"
 796-
 797-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
 798-  version "3.1.3"
 799-  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
 800-  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
 801-
 802-fast-glob@^3.1.1:
 803-  version "3.2.7"
 804-  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
 805-  integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==
 806-  dependencies:
 807-    "@nodelib/fs.stat" "^2.0.2"
 808-    "@nodelib/fs.walk" "^1.2.3"
 809-    glob-parent "^5.1.2"
 810-    merge2 "^1.3.0"
 811-    micromatch "^4.0.4"
 812-
 813-fast-json-stable-stringify@^2.0.0:
 814-  version "2.1.0"
 815-  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
 816-  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
 817-
 818-fast-levenshtein@^2.0.6:
 819-  version "2.0.6"
 820-  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
 821-  integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
 822-
 823-fastq@^1.6.0:
 824-  version "1.11.1"
 825-  resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807"
 826-  integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==
 827-  dependencies:
 828-    reusify "^1.0.4"
 829-
 830-file-entry-cache@^6.0.1:
 831-  version "6.0.1"
 832-  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
 833-  integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
 834-  dependencies:
 835-    flat-cache "^3.0.4"
 836-
 837-fill-range@^7.0.1:
 838-  version "7.0.1"
 839-  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
 840-  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
 841-  dependencies:
 842-    to-regex-range "^5.0.1"
 843-
 844-filter-obj@^1.1.0:
 845-  version "1.1.0"
 846-  resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
 847-  integrity sha1-mzERErxsYSehbgFsbF1/GeCAXFs=
 848-
 849-find-up@^4.1.0:
 850-  version "4.1.0"
 851-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
 852-  integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
 853-  dependencies:
 854-    locate-path "^5.0.0"
 855-    path-exists "^4.0.0"
 856-
 857-flat-cache@^3.0.4:
 858-  version "3.0.4"
 859-  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
 860-  integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
 861-  dependencies:
 862-    flatted "^3.1.0"
 863-    rimraf "^3.0.2"
 864-
 865-flatted@^3.1.0:
 866-  version "3.2.1"
 867-  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.1.tgz#bbef080d95fca6709362c73044a1634f7c6e7d05"
 868-  integrity sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==
 869-
 870-form-data@^3.0.0:
 871-  version "3.0.1"
 872-  resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
 873-  integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
 874-  dependencies:
 875-    asynckit "^0.4.0"
 876-    combined-stream "^1.0.8"
 877-    mime-types "^2.1.12"
 878-
 879-fs.realpath@^1.0.0:
 880-  version "1.0.0"
 881-  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
 882-  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 883-
 884-fsevents@~2.3.2:
 885-  version "2.3.2"
 886-  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
 887-  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
 888-
 889-function-bind@^1.1.1:
 890-  version "1.1.1"
 891-  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
 892-  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
 893-
 894-functional-red-black-tree@^1.0.1:
 895-  version "1.0.1"
 896-  resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
 897-  integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
 898-
 899-get-caller-file@^2.0.1:
 900-  version "2.0.5"
 901-  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
 902-  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
 903-
 904-get-own-enumerable-property-symbols@^3.0.0:
 905-  version "3.0.2"
 906-  resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
 907-  integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
 908-
 909-get-stream@^6.0.0:
 910-  version "6.0.1"
 911-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
 912-  integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
 913-
 914-glob-parent@^5.1.2, glob-parent@~5.1.2:
 915-  version "5.1.2"
 916-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
 917-  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
 918-  dependencies:
 919-    is-glob "^4.0.1"
 920-
 921-glob@^7.1.3, glob@^7.1.6:
 922-  version "7.1.7"
 923-  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
 924-  integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
 925-  dependencies:
 926-    fs.realpath "^1.0.0"
 927-    inflight "^1.0.4"
 928-    inherits "2"
 929-    minimatch "^3.0.4"
 930-    once "^1.3.0"
 931-    path-is-absolute "^1.0.0"
 932-
 933-globals@^13.6.0, globals@^13.9.0:
 934-  version "13.10.0"
 935-  resolved "https://registry.yarnpkg.com/globals/-/globals-13.10.0.tgz#60ba56c3ac2ca845cfbf4faeca727ad9dd204676"
 936-  integrity sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==
 937-  dependencies:
 938-    type-fest "^0.20.2"
 939-
 940-globby@^11.0.3:
 941-  version "11.0.4"
 942-  resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
 943-  integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==
 944-  dependencies:
 945-    array-union "^2.1.0"
 946-    dir-glob "^3.0.1"
 947-    fast-glob "^3.1.1"
 948-    ignore "^5.1.4"
 949-    merge2 "^1.3.0"
 950-    slash "^3.0.0"
 951-
 952-has-flag@^3.0.0:
 953-  version "3.0.0"
 954-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
 955-  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
 956-
 957-has-flag@^4.0.0:
 958-  version "4.0.0"
 959-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
 960-  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 961-
 962-has@^1.0.3:
 963-  version "1.0.3"
 964-  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
 965-  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
 966-  dependencies:
 967-    function-bind "^1.1.1"
 968-
 969-human-signals@^2.1.0:
 970-  version "2.1.0"
 971-  resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
 972-  integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
 973-
 974-husky@>=6:
 975-  version "7.0.1"
 976-  resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.1.tgz#579f4180b5da4520263e8713cc832942b48e1f1c"
 977-  integrity sha512-gceRaITVZ+cJH9sNHqx5tFwbzlLCVxtVZcusME8JYQ8Edy5mpGDOqD8QBCdMhpyo9a+JXddnujQ4rpY2Ff9SJA==
 978-
 979-ignore@^4.0.6:
 980-  version "4.0.6"
 981-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
 982-  integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
 983-
 984-ignore@^5.1.4:
 985-  version "5.1.8"
 986-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
 987-  integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
 988-
 989-import-fresh@^3.0.0, import-fresh@^3.2.1:
 990-  version "3.3.0"
 991-  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
 992-  integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
 993-  dependencies:
 994-    parent-module "^1.0.0"
 995-    resolve-from "^4.0.0"
 996-
 997-imurmurhash@^0.1.4:
 998-  version "0.1.4"
 999-  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1000-  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
1001-
1002-indent-string@^4.0.0:
1003-  version "4.0.0"
1004-  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
1005-  integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
1006-
1007-inflight@^1.0.4:
1008-  version "1.0.6"
1009-  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1010-  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
1011-  dependencies:
1012-    once "^1.3.0"
1013-    wrappy "1"
1014-
1015-inherits@2:
1016-  version "2.0.4"
1017-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1018-  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1019-
1020-is-arrayish@^0.2.1:
1021-  version "0.2.1"
1022-  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
1023-  integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
1024-
1025-is-binary-path@~2.1.0:
1026-  version "2.1.0"
1027-  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
1028-  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
1029-  dependencies:
1030-    binary-extensions "^2.0.0"
1031-
1032-is-core-module@^2.2.0:
1033-  version "2.4.0"
1034-  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
1035-  integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
1036-  dependencies:
1037-    has "^1.0.3"
1038-
1039-is-extglob@^2.1.1:
1040-  version "2.1.1"
1041-  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1042-  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
1043-
1044-is-fullwidth-code-point@^3.0.0:
1045-  version "3.0.0"
1046-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1047-  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1048-
1049-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
1050-  version "4.0.1"
1051-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
1052-  integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
1053-  dependencies:
1054-    is-extglob "^2.1.1"
1055-
1056-is-number@^7.0.0:
1057-  version "7.0.0"
1058-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1059-  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1060-
1061-is-obj@^1.0.1:
1062-  version "1.0.1"
1063-  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
1064-  integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
1065-
1066-is-regexp@^1.0.0:
1067-  version "1.0.0"
1068-  resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
1069-  integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
1070-
1071-is-stream@^2.0.0:
1072-  version "2.0.0"
1073-  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
1074-  integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
1075-
1076-is-unicode-supported@^0.1.0:
1077-  version "0.1.0"
1078-  resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
1079-  integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
1080-
1081-isexe@^2.0.0:
1082-  version "2.0.0"
1083-  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1084-  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
1085-
1086-js-tokens@^4.0.0:
1087-  version "4.0.0"
1088-  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1089-  integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1090-
1091-js-yaml@^3.13.1:
1092-  version "3.14.1"
1093-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
1094-  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
1095-  dependencies:
1096-    argparse "^1.0.7"
1097-    esprima "^4.0.0"
1098-
1099-json-parse-even-better-errors@^2.3.0:
1100-  version "2.3.1"
1101-  resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
1102-  integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
1103-
1104-json-schema-traverse@^0.4.1:
1105-  version "0.4.1"
1106-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1107-  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1108-
1109-json-schema-traverse@^1.0.0:
1110-  version "1.0.0"
1111-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
1112-  integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
1113-
1114-json-stable-stringify-without-jsonify@^1.0.1:
1115-  version "1.0.1"
1116-  resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1117-  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
1118-
1119-just-throttle@^2.3.1:
1120-  version "2.3.1"
1121-  resolved "https://registry.yarnpkg.com/just-throttle/-/just-throttle-2.3.1.tgz#ef4a0710073bb4b0faf7dad1bc4ccabaeec4d0e6"
1122-  integrity sha512-0H4miIAWZYpnpg7oD/Y/PBb77ISSHAETif5xK9EnwIgYCO6oC8ErkJxDumMUTR44shSOwptRIArRuvNuvN/hOw==
1123-
1124-kleur@^4.1.4:
1125-  version "4.1.4"
1126-  resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d"
1127-  integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==
1128-
1129-levn@^0.4.1:
1130-  version "0.4.1"
1131-  resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1132-  integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1133-  dependencies:
1134-    prelude-ls "^1.2.1"
1135-    type-check "~0.4.0"
1136-
1137-lines-and-columns@^1.1.6:
1138-  version "1.1.6"
1139-  resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
1140-  integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
1141-
1142-lint-staged@>=10:
1143-  version "11.0.0"
1144-  resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.0.0.tgz#24d0a95aa316ba28e257f5c4613369a75a10c712"
1145-  integrity sha512-3rsRIoyaE8IphSUtO1RVTFl1e0SLBtxxUOPBtHxQgBHS5/i6nqvjcUfNioMa4BU9yGnPzbO+xkfLtXtxBpCzjw==
1146-  dependencies:
1147-    chalk "^4.1.1"
1148-    cli-truncate "^2.1.0"
1149-    commander "^7.2.0"
1150-    cosmiconfig "^7.0.0"
1151-    debug "^4.3.1"
1152-    dedent "^0.7.0"
1153-    enquirer "^2.3.6"
1154-    execa "^5.0.0"
1155-    listr2 "^3.8.2"
1156-    log-symbols "^4.1.0"
1157-    micromatch "^4.0.4"
1158-    normalize-path "^3.0.0"
1159-    please-upgrade-node "^3.2.0"
1160-    string-argv "0.3.1"
1161-    stringify-object "^3.3.0"
1162-
1163-listr2@^3.8.2:
1164-  version "3.10.0"
1165-  resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.10.0.tgz#58105a53ed7fa1430d1b738c6055ef7bb006160f"
1166-  integrity sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw==
1167-  dependencies:
1168-    cli-truncate "^2.1.0"
1169-    colorette "^1.2.2"
1170-    log-update "^4.0.0"
1171-    p-map "^4.0.0"
1172-    rxjs "^6.6.7"
1173-    through "^2.3.8"
1174-    wrap-ansi "^7.0.0"
1175-
1176-locate-path@^5.0.0:
1177-  version "5.0.0"
1178-  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
1179-  integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
1180-  dependencies:
1181-    p-locate "^4.1.0"
1182-
1183-lodash.clonedeep@^4.5.0:
1184-  version "4.5.0"
1185-  resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
1186-  integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
1187-
1188-lodash.merge@^4.6.2:
1189-  version "4.6.2"
1190-  resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1191-  integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1192-
1193-lodash.truncate@^4.4.2:
1194-  version "4.4.2"
1195-  resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
1196-  integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
1197-
1198-log-symbols@^4.1.0:
1199-  version "4.1.0"
1200-  resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
1201-  integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
1202-  dependencies:
1203-    chalk "^4.1.0"
1204-    is-unicode-supported "^0.1.0"
1205-
1206-log-update@^4.0.0:
1207-  version "4.0.0"
1208-  resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
1209-  integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
1210-  dependencies:
1211-    ansi-escapes "^4.3.0"
1212-    cli-cursor "^3.1.0"
1213-    slice-ansi "^4.0.0"
1214-    wrap-ansi "^6.2.0"
1215-
1216-lru-cache@^6.0.0:
1217-  version "6.0.0"
1218-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
1219-  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
1220-  dependencies:
1221-    yallist "^4.0.0"
1222-
1223-magic-string@^0.25.7:
1224-  version "0.25.7"
1225-  resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
1226-  integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
1227-  dependencies:
1228-    sourcemap-codec "^1.4.4"
1229-
1230-make-error@^1.1.1:
1231-  version "1.3.6"
1232-  resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
1233-  integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
1234-
1235-marked@^2.1.3:
1236-  version "2.1.3"
1237-  resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753"
1238-  integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==
1239-
1240-merge-stream@^2.0.0:
1241-  version "2.0.0"
1242-  resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
1243-  integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
1244-
1245-merge2@^1.3.0:
1246-  version "1.4.1"
1247-  resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
1248-  integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1249-
1250-micromatch@^4.0.4:
1251-  version "4.0.4"
1252-  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
1253-  integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
1254-  dependencies:
1255-    braces "^3.0.1"
1256-    picomatch "^2.2.3"
1257-
1258-mime-db@1.48.0:
1259-  version "1.48.0"
1260-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d"
1261-  integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==
1262-
1263-mime-types@^2.1.12:
1264-  version "2.1.31"
1265-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b"
1266-  integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==
1267-  dependencies:
1268-    mime-db "1.48.0"
1269-
1270-mimic-fn@^2.1.0:
1271-  version "2.1.0"
1272-  resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
1273-  integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
1274-
1275-min-indent@^1.0.0:
1276-  version "1.0.1"
1277-  resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
1278-  integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
1279-
1280-minimatch@3.0.4, minimatch@^3.0.4:
1281-  version "3.0.4"
1282-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1283-  integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
1284-  dependencies:
1285-    brace-expansion "^1.1.7"
1286-
1287-minimist@^1.2.5:
1288-  version "1.2.5"
1289-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
1290-  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
1291-
1292-mri@^1.1.0:
1293-  version "1.1.6"
1294-  resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6"
1295-  integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==
1296-
1297-ms@2.1.2:
1298-  version "2.1.2"
1299-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1300-  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1301-
1302-nanoid@^3.1.23:
1303-  version "3.1.23"
1304-  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
1305-  integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
1306-
1307-natural-compare@^1.4.0:
1308-  version "1.4.0"
1309-  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1310-  integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
1311-
1312-node-fetch@^2.6.1:
1313-  version "2.6.1"
1314-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
1315-  integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
1316-
1317-normalize-path@^3.0.0, normalize-path@~3.0.0:
1318-  version "3.0.0"
1319-  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1320-  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1321-
1322-npm-run-path@^4.0.1:
1323-  version "4.0.1"
1324-  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
1325-  integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
1326-  dependencies:
1327-    path-key "^3.0.0"
1328-
1329-once@^1.3.0:
1330-  version "1.4.0"
1331-  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1332-  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
1333-  dependencies:
1334-    wrappy "1"
1335-
1336-onetime@^5.1.0, onetime@^5.1.2:
1337-  version "5.1.2"
1338-  resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
1339-  integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
1340-  dependencies:
1341-    mimic-fn "^2.1.0"
1342-
1343-optionator@^0.9.1:
1344-  version "0.9.1"
1345-  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
1346-  integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
1347-  dependencies:
1348-    deep-is "^0.1.3"
1349-    fast-levenshtein "^2.0.6"
1350-    levn "^0.4.1"
1351-    prelude-ls "^1.2.1"
1352-    type-check "^0.4.0"
1353-    word-wrap "^1.2.3"
1354-
1355-p-limit@^2.2.0:
1356-  version "2.3.0"
1357-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
1358-  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
1359-  dependencies:
1360-    p-try "^2.0.0"
1361-
1362-p-locate@^4.1.0:
1363-  version "4.1.0"
1364-  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
1365-  integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
1366-  dependencies:
1367-    p-limit "^2.2.0"
1368-
1369-p-map@^4.0.0:
1370-  version "4.0.0"
1371-  resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
1372-  integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
1373-  dependencies:
1374-    aggregate-error "^3.0.0"
1375-
1376-p-try@^2.0.0:
1377-  version "2.2.0"
1378-  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
1379-  integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
1380-
1381-parent-module@^1.0.0:
1382-  version "1.0.1"
1383-  resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1384-  integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1385-  dependencies:
1386-    callsites "^3.0.0"
1387-
1388-parse-json@^5.0.0:
1389-  version "5.2.0"
1390-  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
1391-  integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
1392-  dependencies:
1393-    "@babel/code-frame" "^7.0.0"
1394-    error-ex "^1.3.1"
1395-    json-parse-even-better-errors "^2.3.0"
1396-    lines-and-columns "^1.1.6"
1397-
1398-path-exists@^4.0.0:
1399-  version "4.0.0"
1400-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
1401-  integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1402-
1403-path-is-absolute@^1.0.0:
1404-  version "1.0.1"
1405-  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1406-  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1407-
1408-path-key@^3.0.0, path-key@^3.1.0:
1409-  version "3.1.1"
1410-  resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1411-  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1412-
1413-path-parse@^1.0.6:
1414-  version "1.0.7"
1415-  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1416-  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1417-
1418-path-type@^4.0.0:
1419-  version "4.0.0"
1420-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
1421-  integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1422-
1423-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3:
1424-  version "2.3.0"
1425-  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
1426-  integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
1427-
1428-please-upgrade-node@^3.2.0:
1429-  version "3.2.0"
1430-  resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
1431-  integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
1432-  dependencies:
1433-    semver-compare "^1.0.0"
1434-
1435-postcss@^8.3.6:
1436-  version "8.3.6"
1437-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea"
1438-  integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==
1439-  dependencies:
1440-    colorette "^1.2.2"
1441-    nanoid "^3.1.23"
1442-    source-map-js "^0.6.2"
1443-
1444-prelude-ls@^1.2.1:
1445-  version "1.2.1"
1446-  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1447-  integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
1448-
1449-prettier-plugin-svelte@^2.2.0:
1450-  version "2.3.1"
1451-  resolved "https://registry.yarnpkg.com/prettier-plugin-svelte/-/prettier-plugin-svelte-2.3.1.tgz#926184a490549688dbea0a8d61c1b1ae20218368"
1452-  integrity sha512-F1/r6OYoBq8Zgurhs1MN25tdrhPw0JW5JjioPRqpxbYdmrZ3gY/DzHGs0B6zwd4DLyRsfGB2gqhxUCbHt/D1fw==
1453-
1454-prettier@~2.2.1:
1455-  version "2.2.1"
1456-  resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
1457-  integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
1458-
1459-progress@^2.0.0:
1460-  version "2.0.3"
1461-  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
1462-  integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
1463-
1464-punycode@^2.1.0:
1465-  version "2.1.1"
1466-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
1467-  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
1468-
1469-query-string@^7.0.1:
1470-  version "7.0.1"
1471-  resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.0.1.tgz#45bd149cf586aaa582dffc7ec7a8ad97dd02f75d"
1472-  integrity sha512-uIw3iRvHnk9to1blJCG3BTc+Ro56CBowJXKmNNAm3RulvPBzWLRqKSiiDk+IplJhsydwtuNMHi8UGQFcCLVfkA==
1473-  dependencies:
1474-    decode-uri-component "^0.2.0"
1475-    filter-obj "^1.1.0"
1476-    split-on-first "^1.0.0"
1477-    strict-uri-encode "^2.0.0"
1478-
1479-queue-microtask@^1.2.2:
1480-  version "1.2.3"
1481-  resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1482-  integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1483-
1484-readdirp@~3.6.0:
1485-  version "3.6.0"
1486-  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
1487-  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1488-  dependencies:
1489-    picomatch "^2.2.1"
1490-
1491-regexpp@^3.1.0:
1492-  version "3.2.0"
1493-  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
1494-  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
1495-
1496-replace@^1.2.1:
1497-  version "1.2.1"
1498-  resolved "https://registry.yarnpkg.com/replace/-/replace-1.2.1.tgz#e6e28db8dc7dcfa2a6c0b99c8922360570f1aead"
1499-  integrity sha512-KZCBe/tPanwBlbjSMQby4l+zjSiFi3CLEP/6VLClnRYgJ46DZ5u9tmA6ceWeFS8coaUnU4ZdGNb/puUGMHNSRg==
1500-  dependencies:
1501-    chalk "2.4.2"
1502-    minimatch "3.0.4"
1503-    yargs "^15.3.1"
1504-
1505-require-directory@^2.1.1:
1506-  version "2.1.1"
1507-  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
1508-  integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
1509-
1510-require-from-string@^2.0.2:
1511-  version "2.0.2"
1512-  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
1513-  integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
1514-
1515-require-main-filename@^2.0.0:
1516-  version "2.0.0"
1517-  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
1518-  integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
1519-
1520-require-relative@^0.8.7:
1521-  version "0.8.7"
1522-  resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de"
1523-  integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=
1524-
1525-resolve-from@^4.0.0:
1526-  version "4.0.0"
1527-  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1528-  integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1529-
1530-resolve@^1.20.0:
1531-  version "1.20.0"
1532-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
1533-  integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
1534-  dependencies:
1535-    is-core-module "^2.2.0"
1536-    path-parse "^1.0.6"
1537-
1538-restore-cursor@^3.1.0:
1539-  version "3.1.0"
1540-  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
1541-  integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
1542-  dependencies:
1543-    onetime "^5.1.0"
1544-    signal-exit "^3.0.2"
1545-
1546-reusify@^1.0.4:
1547-  version "1.0.4"
1548-  resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1549-  integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1550-
1551-rimraf@^3.0.2:
1552-  version "3.0.2"
1553-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1554-  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1555-  dependencies:
1556-    glob "^7.1.3"
1557-
1558-rollup@^2.38.5:
1559-  version "2.55.1"
1560-  resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.55.1.tgz#66a444648e2fb603d8e329e77a61c608a6510fda"
1561-  integrity sha512-1P9w5fpb6b4qroePh8vHKGIvPNxwoCQhjJpIqfZGHLKpZ0xcU2/XBmFxFbc9697/6bmHpmFTLk5R1dAQhFSo0g==
1562-  optionalDependencies:
1563-    fsevents "~2.3.2"
1564-
1565-run-parallel@^1.1.9:
1566-  version "1.2.0"
1567-  resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1568-  integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1569-  dependencies:
1570-    queue-microtask "^1.2.2"
1571-
1572-rxjs@^6.6.7:
1573-  version "6.6.7"
1574-  resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
1575-  integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
1576-  dependencies:
1577-    tslib "^1.9.0"
1578-
1579-sade@^1.7.4:
1580-  version "1.7.4"
1581-  resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691"
1582-  integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==
1583-  dependencies:
1584-    mri "^1.1.0"
1585-
1586-semver-compare@^1.0.0:
1587-  version "1.0.0"
1588-  resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
1589-  integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
1590-
1591-semver@^7.2.1, semver@^7.3.5:
1592-  version "7.3.5"
1593-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
1594-  integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
1595-  dependencies:
1596-    lru-cache "^6.0.0"
1597-
1598-set-blocking@^2.0.0:
1599-  version "2.0.0"
1600-  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
1601-  integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
1602-
1603-shebang-command@^2.0.0:
1604-  version "2.0.0"
1605-  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1606-  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1607-  dependencies:
1608-    shebang-regex "^3.0.0"
1609-
1610-shebang-regex@^3.0.0:
1611-  version "3.0.0"
1612-  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1613-  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1614-
1615-signal-exit@^3.0.2, signal-exit@^3.0.3:
1616-  version "3.0.3"
1617-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
1618-  integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
1619-
1620-slash@^3.0.0:
1621-  version "3.0.0"
1622-  resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
1623-  integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
1624-
1625-slice-ansi@^3.0.0:
1626-  version "3.0.0"
1627-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
1628-  integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
1629-  dependencies:
1630-    ansi-styles "^4.0.0"
1631-    astral-regex "^2.0.0"
1632-    is-fullwidth-code-point "^3.0.0"
1633-
1634-slice-ansi@^4.0.0:
1635-  version "4.0.0"
1636-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
1637-  integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
1638-  dependencies:
1639-    ansi-styles "^4.0.0"
1640-    astral-regex "^2.0.0"
1641-    is-fullwidth-code-point "^3.0.0"
1642-
1643-source-map-js@^0.6.2:
1644-  version "0.6.2"
1645-  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
1646-  integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
1647-
1648-source-map@^0.7.3:
1649-  version "0.7.3"
1650-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
1651-  integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
1652-
1653-sourcemap-codec@^1.4.4:
1654-  version "1.4.8"
1655-  resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
1656-  integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
1657-
1658-split-on-first@^1.0.0:
1659-  version "1.1.0"
1660-  resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
1661-  integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
1662-
1663-sprintf-js@~1.0.2:
1664-  version "1.0.3"
1665-  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
1666-  integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
1667-
1668-strict-uri-encode@^2.0.0:
1669-  version "2.0.0"
1670-  resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
1671-  integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
1672-
1673-string-argv@0.3.1:
1674-  version "0.3.1"
1675-  resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
1676-  integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
1677-
1678-string-width@^4.1.0, string-width@^4.2.0:
1679-  version "4.2.2"
1680-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
1681-  integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
1682-  dependencies:
1683-    emoji-regex "^8.0.0"
1684-    is-fullwidth-code-point "^3.0.0"
1685-    strip-ansi "^6.0.0"
1686-
1687-stringify-object@^3.3.0:
1688-  version "3.3.0"
1689-  resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
1690-  integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
1691-  dependencies:
1692-    get-own-enumerable-property-symbols "^3.0.0"
1693-    is-obj "^1.0.1"
1694-    is-regexp "^1.0.0"
1695-
1696-strip-ansi@^6.0.0:
1697-  version "6.0.0"
1698-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
1699-  integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
1700-  dependencies:
1701-    ansi-regex "^5.0.0"
1702-
1703-strip-final-newline@^2.0.0:
1704-  version "2.0.0"
1705-  resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
1706-  integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
1707-
1708-strip-indent@^3.0.0:
1709-  version "3.0.0"
1710-  resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
1711-  integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
1712-  dependencies:
1713-    min-indent "^1.0.0"
1714-
1715-strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
1716-  version "3.1.1"
1717-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1718-  integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1719-
1720-supports-color@^5.3.0:
1721-  version "5.5.0"
1722-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1723-  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1724-  dependencies:
1725-    has-flag "^3.0.0"
1726-
1727-supports-color@^7.1.0:
1728-  version "7.2.0"
1729-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1730-  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1731-  dependencies:
1732-    has-flag "^4.0.0"
1733-
1734-svelte-check@2.0.0:
1735-  version "2.0.0"
1736-  resolved "https://registry.yarnpkg.com/svelte-check/-/svelte-check-2.0.0.tgz#c125bd69c204f5f0bb0b000247001400b7e27037"
1737-  integrity sha512-72xHHZG2DUgt1QzKKKvirzvYYDKLfK5L2lJsCCbW87fd383VqZJ08RLKNf6pfEZQJl8yk2rUsTU6krgntB9TXQ==
1738-  dependencies:
1739-    chalk "^4.0.0"
1740-    chokidar "^3.4.1"
1741-    glob "^7.1.6"
1742-    import-fresh "^3.2.1"
1743-    minimist "^1.2.5"
1744-    sade "^1.7.4"
1745-    source-map "^0.7.3"
1746-    svelte-preprocess "^4.0.0"
1747-    typescript "*"
1748-
1749-svelte-hmr@^0.14.7:
1750-  version "0.14.7"
1751-  resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.14.7.tgz#7fa8261c7b225d9409f0a86f3b9ea5c3ca6f6607"
1752-  integrity sha512-pDrzgcWSoMaK6AJkBWkmgIsecW0GChxYZSZieIYfCP0v2oPyx2CYU/zm7TBIcjLVUPP714WxmViE9Thht4etog==
1753-
1754-svelte-preprocess@^4.0.0:
1755-  version "4.7.4"
1756-  resolved "https://registry.yarnpkg.com/svelte-preprocess/-/svelte-preprocess-4.7.4.tgz#e4d5208ab25c2aaaf19e837f7d7bbf7930e61d2b"
1757-  integrity sha512-mDAmaltQl6e5zU2VEtoWEf7eLTfuOTGr9zt+BpA3AGHo8MIhKiNSPE9OLTCTOMgj0vj/uL9QBbaNmpG4G1CgIA==
1758-  dependencies:
1759-    "@types/pug" "^2.0.4"
1760-    "@types/sass" "^1.16.0"
1761-    detect-indent "^6.0.0"
1762-    strip-indent "^3.0.0"
1763-
1764-svelte@3.34.0:
1765-  version "3.34.0"
1766-  resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.34.0.tgz#a0195a0db0305d78df87520711317b99e6fb8a26"
1767-  integrity sha512-xWcaQ/J4Yd5k0UWz+ef6i5RW5WP3hNpluEI2qtTTKlMOXERHpVL509O9lIw7sgEn1JjJgTOS+lnnDj99vQ3YqQ==
1768-
1769-table@^6.0.9:
1770-  version "6.7.1"
1771-  resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
1772-  integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==
1773-  dependencies:
1774-    ajv "^8.0.1"
1775-    lodash.clonedeep "^4.5.0"
1776-    lodash.truncate "^4.4.2"
1777-    slice-ansi "^4.0.0"
1778-    string-width "^4.2.0"
1779-    strip-ansi "^6.0.0"
1780-
1781-text-table@^0.2.0:
1782-  version "0.2.0"
1783-  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1784-  integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
1785-
1786-through@^2.3.8:
1787-  version "2.3.8"
1788-  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
1789-  integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
1790-
1791-to-regex-range@^5.0.1:
1792-  version "5.0.1"
1793-  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1794-  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1795-  dependencies:
1796-    is-number "^7.0.0"
1797-
1798-ts-node@^10.7.0:
1799-  version "10.7.0"
1800-  resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5"
1801-  integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==
1802-  dependencies:
1803-    "@cspotcode/source-map-support" "0.7.0"
1804-    "@tsconfig/node10" "^1.0.7"
1805-    "@tsconfig/node12" "^1.0.7"
1806-    "@tsconfig/node14" "^1.0.0"
1807-    "@tsconfig/node16" "^1.0.2"
1808-    acorn "^8.4.1"
1809-    acorn-walk "^8.1.1"
1810-    arg "^4.1.0"
1811-    create-require "^1.1.0"
1812-    diff "^4.0.1"
1813-    make-error "^1.1.1"
1814-    v8-compile-cache-lib "^3.0.0"
1815-    yn "3.1.1"
1816-
1817-tslib@^1.8.1, tslib@^1.9.0:
1818-  version "1.14.1"
1819-  resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
1820-  integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
1821-
1822-tslib@^2.0.0:
1823-  version "2.3.0"
1824-  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
1825-  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
1826-
1827-tsutils@^3.21.0:
1828-  version "3.21.0"
1829-  resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
1830-  integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
1831-  dependencies:
1832-    tslib "^1.8.1"
1833-
1834-type-check@^0.4.0, type-check@~0.4.0:
1835-  version "0.4.0"
1836-  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
1837-  integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
1838-  dependencies:
1839-    prelude-ls "^1.2.1"
1840-
1841-type-fest@^0.20.2:
1842-  version "0.20.2"
1843-  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
1844-  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
1845-
1846-type-fest@^0.21.3:
1847-  version "0.21.3"
1848-  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
1849-  integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
1850-
1851-typescript@*:
1852-  version "4.3.5"
1853-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"
1854-  integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==
1855-
1856-typescript@^4.6.3:
1857-  version "4.6.3"
1858-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c"
1859-  integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==
1860-
1861-uri-js@^4.2.2:
1862-  version "4.4.1"
1863-  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1864-  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
1865-  dependencies:
1866-    punycode "^2.1.0"
1867-
1868-v8-compile-cache-lib@^3.0.0:
1869-  version "3.0.0"
1870-  resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8"
1871-  integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==
1872-
1873-v8-compile-cache@^2.0.3:
1874-  version "2.3.0"
1875-  resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
1876-  integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
1877-
1878-vite@^2.4.3:
1879-  version "2.4.4"
1880-  resolved "https://registry.yarnpkg.com/vite/-/vite-2.4.4.tgz#8c402a07ad45f168f6eb5428bead38f3e4363e47"
1881-  integrity sha512-m1wK6pFJKmaYA6AeZIUXyiAgUAAJzVXhIMYCdZUpCaFMGps0v0IlNJtbmPvkUhVEyautalajmnW5X6NboUPsnw==
1882-  dependencies:
1883-    esbuild "^0.12.8"
1884-    postcss "^8.3.6"
1885-    resolve "^1.20.0"
1886-    rollup "^2.38.5"
1887-  optionalDependencies:
1888-    fsevents "~2.3.2"
1889-
1890-which-module@^2.0.0:
1891-  version "2.0.0"
1892-  resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
1893-  integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
1894-
1895-which@^2.0.1:
1896-  version "2.0.2"
1897-  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
1898-  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
1899-  dependencies:
1900-    isexe "^2.0.0"
1901-
1902-word-wrap@^1.2.3:
1903-  version "1.2.3"
1904-  resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
1905-  integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
1906-
1907-wrap-ansi@^6.2.0:
1908-  version "6.2.0"
1909-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
1910-  integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
1911-  dependencies:
1912-    ansi-styles "^4.0.0"
1913-    string-width "^4.1.0"
1914-    strip-ansi "^6.0.0"
1915-
1916-wrap-ansi@^7.0.0:
1917-  version "7.0.0"
1918-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1919-  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
1920-  dependencies:
1921-    ansi-styles "^4.0.0"
1922-    string-width "^4.1.0"
1923-    strip-ansi "^6.0.0"
1924-
1925-wrappy@1:
1926-  version "1.0.2"
1927-  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1928-  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1929-
1930-y18n@^4.0.0:
1931-  version "4.0.3"
1932-  resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
1933-  integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
1934-
1935-yallist@^4.0.0:
1936-  version "4.0.0"
1937-  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
1938-  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
1939-
1940-yaml@^1.10.0:
1941-  version "1.10.2"
1942-  resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
1943-  integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
1944-
1945-yargs-parser@^18.1.2:
1946-  version "18.1.3"
1947-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
1948-  integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
1949-  dependencies:
1950-    camelcase "^5.0.0"
1951-    decamelize "^1.2.0"
1952-
1953-yargs@^15.3.1:
1954-  version "15.4.1"
1955-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
1956-  integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
1957-  dependencies:
1958-    cliui "^6.0.0"
1959-    decamelize "^1.2.0"
1960-    find-up "^4.1.0"
1961-    get-caller-file "^2.0.1"
1962-    require-directory "^2.1.1"
1963-    require-main-filename "^2.0.0"
1964-    set-blocking "^2.0.0"
1965-    string-width "^4.2.0"
1966-    which-module "^2.0.0"
1967-    y18n "^4.0.0"
1968-    yargs-parser "^18.1.2"
1969-
1970-yn@3.1.1:
1971-  version "3.1.1"
1972-  resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
1973-  integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==