-
-
+
-
-
-
-
-
-
- $
- cargo run
-
+
+
-
-
+
+
-
From fc34ade8bea7659fae1f7a19ffdd049fde48e52f Mon Sep 17 00:00:00 2001
From: ArturoAtomplay <64356325+ArturoAtomplay@users.noreply.github.com>
Date: Wed, 12 Nov 2025 04:31:51 -0600
Subject: [PATCH 10/12] style: update global styles and scrollbar behavior
---
src/styles/global.css | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/styles/global.css b/src/styles/global.css
index 155feb2..fd37941 100644
--- a/src/styles/global.css
+++ b/src/styles/global.css
@@ -1,4 +1,5 @@
@import "tailwindcss";
+@import "@fontsource/poppins/400.css";
@import "@fontsource/poppins/500.css";
@import "@fontsource/poppins/600.css";
@import "@fontsource/poppins/700.css";
@@ -42,20 +43,21 @@
}
}
-.scroll-container {
+* {
scrollbar-width: thin;
scrollbar-color: var(--color-editor-bg) transparent;
}
-.scroll-container::-webkit-scrollbar {
+*::-webkit-scrollbar {
width: 8px;
+ height: 8px;
}
-.scroll-container::-webkit-scrollbar-thumb {
+*::-webkit-scrollbar-thumb {
background-color: transparent;
border-radius: 8px;
}
-.scroll-container::-webkit-scrollbar-thumb:hover {
+*::-webkit-scrollbar-thumb:hover {
background-color: var(--color-editor-bg);
}
From 09d1440f3c3ac9697efa724fad1bf33b8423a98c Mon Sep 17 00:00:00 2001
From: ArturoAtomplay <64356325+ArturoAtomplay@users.noreply.github.com>
Date: Wed, 12 Nov 2025 04:32:00 -0600
Subject: [PATCH 11/12] build: add unplugin-icons and remove React dependencies
---
astro.config.mjs | 10 +-
package-lock.json | 1092 +++++++++++----------------------------------
package.json | 13 +-
tsconfig.json | 3 +-
4 files changed, 276 insertions(+), 842 deletions(-)
diff --git a/astro.config.mjs b/astro.config.mjs
index 25a2a73..25a3fe0 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -1,18 +1,22 @@
// @ts-check
import mdx from "@astrojs/mdx"
-import react from "@astrojs/react"
import tailwindcss from "@tailwindcss/vite"
import { defineConfig } from "astro/config"
+import Icons from "unplugin-icons/vite"
// https://astro.build/config
export default defineConfig({
vite: {
- plugins: [tailwindcss()],
+ plugins: [
+ tailwindcss(),
+ Icons({
+ compiler: "astro",
+ }),
+ ],
},
integrations: [
- react(),
mdx({
syntaxHighlight: "shiki",
shikiConfig: { theme: "dracula" },
diff --git a/package-lock.json b/package-lock.json
index d9957c1..3c4756a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,6 @@
"version": "0.0.1",
"dependencies": {
"@astrojs/mdx": "^4.3.8",
- "@astrojs/react": "^4.4.0",
"@codemirror/autocomplete": "^6.19.1",
"@codemirror/lang-rust": "^6.0.2",
"@codemirror/language": "^6.11.3",
@@ -19,21 +18,41 @@
"@lezer/highlight": "^1.2.2",
"@lezer/rust": "^1.0.2",
"@nanostores/react": "^1.0.0",
- "@tabler/icons-react": "^3.35.0",
"@tailwindcss/vite": "^4.1.16",
- "@types/react": "^19.2.2",
- "@types/react-dom": "^19.2.2",
- "@uiw/codemirror-themes": "^4.25.2",
- "@uiw/react-codemirror": "^4.25.2",
"astro": "^5.15.0",
+ "codemirror": "^6.0.2",
"nanostores": "^1.0.1",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
"tailwindcss": "^4.1.16"
},
"devDependencies": {
"@biomejs/biome": "2.3.2",
- "lefthook": "^2.0.0"
+ "@iconify/json": "^2.2.405",
+ "lefthook": "^2.0.0",
+ "unplugin-icons": "^22.5.0"
+ }
+ },
+ "node_modules/@antfu/install-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz",
+ "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "package-manager-detector": "^1.3.0",
+ "tinyexec": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@antfu/utils": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-9.3.0.tgz",
+ "integrity": "sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@astrojs/compiler": {
@@ -108,24 +127,6 @@
"node": "18.20.8 || ^20.3.0 || >=22.0.0"
}
},
- "node_modules/@astrojs/react": {
- "version": "4.4.0",
- "license": "MIT",
- "dependencies": {
- "@vitejs/plugin-react": "^4.7.0",
- "ultrahtml": "^1.6.0",
- "vite": "^6.3.6"
- },
- "engines": {
- "node": "18.20.8 || ^20.3.0 || >=22.0.0"
- },
- "peerDependencies": {
- "@types/react": "^17.0.50 || ^18.0.21 || ^19.0.0",
- "@types/react-dom": "^17.0.17 || ^18.0.6 || ^19.0.0",
- "react": "^17.0.2 || ^18.0.0 || ^19.0.0",
- "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0"
- }
- },
"node_modules/@astrojs/telemetry": {
"version": "3.3.0",
"license": "MIT",
@@ -142,223 +143,6 @@
"node": "18.20.8 || ^20.3.0 || >=22.0.0"
}
},
- "node_modules/@babel/code-frame": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.27.1",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.1.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.28.5",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.5",
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-module-transforms": "^7.28.3",
- "@babel/helpers": "^7.28.4",
- "@babel/parser": "^7.28.5",
- "@babel/template": "^7.27.2",
- "@babel/traverse": "^7.28.5",
- "@babel/types": "^7.28.5",
- "@jridgewell/remapping": "^2.3.5",
- "convert-source-map": "^2.0.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.3",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/@babel/parser": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.28.5"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/core/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.28.5",
- "@babel/types": "^7.28.5",
- "@jridgewell/gen-mapping": "^0.3.12",
- "@jridgewell/trace-mapping": "^0.3.28",
- "jsesc": "^3.0.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/generator/node_modules/@babel/parser": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.28.5"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/generator/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/generator/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.27.2",
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.27.2",
- "@babel/helper-validator-option": "^7.27.1",
- "browserslist": "^4.24.0",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
- "version": "5.1.1",
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-globals": {
- "version": "7.28.0",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.28.3",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.27.1",
- "@babel/traverse": "^7.28.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.27.1",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-string-parser": {
"version": "7.27.1",
"license": "MIT",
@@ -373,42 +157,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-validator-option": {
- "version": "7.27.1",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.28.4",
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.27.2",
- "@babel/types": "^7.28.4"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/parser": {
"version": "7.28.4",
"license": "MIT",
@@ -422,131 +170,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/@babel/plugin-transform-react-jsx-self": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-react-jsx-source": {
- "version": "7.27.1",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
- "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.27.2",
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.27.1",
- "@babel/parser": "^7.27.2",
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template/node_modules/@babel/parser": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.28.5"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/template/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.5",
- "@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.28.5",
- "@babel/template": "^7.27.2",
- "@babel/types": "^7.28.5",
- "debug": "^4.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/@babel/parser": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.28.5"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/types": {
"version": "7.28.4",
"license": "MIT",
@@ -780,9 +403,9 @@
}
},
"node_modules/@codemirror/lint": {
- "version": "6.9.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.9.1.tgz",
- "integrity": "sha512-te7To1EQHePBQQzasDKWmK2xKINIXpk+xAiSYr9ZN+VB4KaT+/Hi2PEkeErTk5BV3PTz1TLyQL4MtJfPkKZ9sw==",
+ "version": "6.9.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.9.2.tgz",
+ "integrity": "sha512-sv3DylBiIyi+xKwRCJAAsBZZZWo82shJ/RTMymLabAdtbkV5cSKwWDeCgtUq3v8flTaXS2y1kKkICuRYtUswyQ==",
"license": "MIT",
"dependencies": {
"@codemirror/state": "^6.0.0",
@@ -810,24 +433,11 @@
"@marijn/find-cluster-break": "^1.0.0"
}
},
- "node_modules/@codemirror/theme-one-dark": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.3.tgz",
- "integrity": "sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "@lezer/highlight": "^1.0.0"
- }
- },
"node_modules/@codemirror/view": {
"version": "6.38.6",
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.38.6.tgz",
"integrity": "sha512-qiS0z1bKs5WOvHIAC0Cybmv4AJSkAXgX5aD6Mqd2epSLlVJsQl8NG23jCVouIgkh4All/mrbdsf2UOLFnJw0tw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@codemirror/state": "^6.5.0",
"crelt": "^1.0.6",
@@ -1268,6 +878,41 @@
"url": "https://github.com/sponsors/ayuhito"
}
},
+ "node_modules/@iconify/json": {
+ "version": "2.2.405",
+ "resolved": "https://registry.npmjs.org/@iconify/json/-/json-2.2.405.tgz",
+ "integrity": "sha512-wpZMsZoqt6tHbipJ/JmkhRK1TWkmRrTBfL2pi48qXyqUxF56+OEUVB61VkcQ1hMKj/tDAIicFSirkaRZkMwliw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@iconify/types": "*",
+ "pathe": "^2.0.3"
+ }
+ },
+ "node_modules/@iconify/types": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
+ "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@iconify/utils": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.0.2.tgz",
+ "integrity": "sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@antfu/install-pkg": "^1.1.0",
+ "@antfu/utils": "^9.2.0",
+ "@iconify/types": "^2.0.0",
+ "debug": "^4.4.1",
+ "globals": "^15.15.0",
+ "kolorist": "^1.8.0",
+ "local-pkg": "^1.1.1",
+ "mlly": "^1.7.4"
+ }
+ },
"node_modules/@img/colour": {
"version": "1.0.0",
"license": "MIT",
@@ -1828,10 +1473,6 @@
"version": "1.1.0",
"license": "MIT"
},
- "node_modules/@rolldown/pluginutils": {
- "version": "1.0.0-beta.27",
- "license": "MIT"
- },
"node_modules/@rollup/pluginutils": {
"version": "5.3.0",
"license": "MIT",
@@ -2198,28 +1839,6 @@
"tslib": "^2.8.0"
}
},
- "node_modules/@tabler/icons": {
- "version": "3.35.0",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/codecalm"
- }
- },
- "node_modules/@tabler/icons-react": {
- "version": "3.35.0",
- "license": "MIT",
- "dependencies": {
- "@tabler/icons": "3.35.0"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/codecalm"
- },
- "peerDependencies": {
- "react": ">= 16"
- }
- },
"node_modules/@tailwindcss/node": {
"version": "4.1.16",
"license": "MIT",
@@ -2469,106 +2088,6 @@
"vite": "^5.2.0 || ^6 || ^7"
}
},
- "node_modules/@types/babel__core": {
- "version": "7.20.5",
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "node_modules/@types/babel__generator": {
- "version": "7.27.0",
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__generator/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@types/babel__generator/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@types/babel__template": {
- "version": "7.4.4",
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__template/node_modules/@babel/parser": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.28.5"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@types/babel__template/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@types/babel__template/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@types/babel__traverse": {
- "version": "7.28.0",
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.28.2"
- }
- },
- "node_modules/@types/babel__traverse/node_modules/@babel/types": {
- "version": "7.28.5",
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@types/babel__traverse/node_modules/@babel/types/node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@types/debug": {
"version": "4.1.12",
"license": "MIT",
@@ -2614,140 +2133,34 @@
"version": "2.0.13",
"resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
"integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
- "license": "MIT"
- },
- "node_modules/@types/ms": {
- "version": "2.1.0",
- "license": "MIT"
- },
- "node_modules/@types/nlcst": {
- "version": "2.0.3",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "*"
- }
- },
- "node_modules/@types/node": {
- "version": "24.9.1",
- "license": "MIT",
- "dependencies": {
- "undici-types": "~7.16.0"
- }
- },
- "node_modules/@types/react": {
- "version": "19.2.2",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "csstype": "^3.0.2"
- }
- },
- "node_modules/@types/react-dom": {
- "version": "19.2.2",
- "license": "MIT",
- "peer": true,
- "peerDependencies": {
- "@types/react": "^19.2.0"
- }
+ "license": "MIT"
},
- "node_modules/@types/unist": {
- "version": "3.0.3",
+ "node_modules/@types/ms": {
+ "version": "2.1.0",
"license": "MIT"
},
- "node_modules/@uiw/codemirror-extensions-basic-setup": {
- "version": "4.25.2",
- "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.25.2.tgz",
- "integrity": "sha512-s2fbpdXrSMWEc86moll/d007ZFhu6jzwNu5cWv/2o7egymvLeZO52LWkewgbr+BUCGWGPsoJVWeaejbsb/hLcw==",
+ "node_modules/@types/nlcst": {
+ "version": "2.0.3",
"license": "MIT",
"dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/commands": "^6.0.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/lint": "^6.0.0",
- "@codemirror/search": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0"
- },
- "funding": {
- "url": "https://jaywcjlove.github.io/#/sponsor"
- },
- "peerDependencies": {
- "@codemirror/autocomplete": ">=6.0.0",
- "@codemirror/commands": ">=6.0.0",
- "@codemirror/language": ">=6.0.0",
- "@codemirror/lint": ">=6.0.0",
- "@codemirror/search": ">=6.0.0",
- "@codemirror/state": ">=6.0.0",
- "@codemirror/view": ">=6.0.0"
+ "@types/unist": "*"
}
},
- "node_modules/@uiw/codemirror-themes": {
- "version": "4.25.2",
- "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.25.2.tgz",
- "integrity": "sha512-WFYxW3OlCkMomXQBlQdGj1JZ011UNCa7xYdmgYqywVc4E8f5VgIzRwCZSBNVjpWGGDBOjc+Z6F65l7gttP16pg==",
+ "node_modules/@types/node": {
+ "version": "24.9.1",
"license": "MIT",
"dependencies": {
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0"
- },
- "funding": {
- "url": "https://jaywcjlove.github.io/#/sponsor"
- },
- "peerDependencies": {
- "@codemirror/language": ">=6.0.0",
- "@codemirror/state": ">=6.0.0",
- "@codemirror/view": ">=6.0.0"
+ "undici-types": "~7.16.0"
}
},
- "node_modules/@uiw/react-codemirror": {
- "version": "4.25.2",
- "resolved": "https://registry.npmjs.org/@uiw/react-codemirror/-/react-codemirror-4.25.2.tgz",
- "integrity": "sha512-XP3R1xyE0CP6Q0iR0xf3ed+cJzJnfmbLelgJR6osVVtMStGGZP3pGQjjwDRYptmjGHfEELUyyBLdY25h0BQg7w==",
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.18.6",
- "@codemirror/commands": "^6.1.0",
- "@codemirror/state": "^6.1.1",
- "@codemirror/theme-one-dark": "^6.0.0",
- "@uiw/codemirror-extensions-basic-setup": "4.25.2",
- "codemirror": "^6.0.0"
- },
- "funding": {
- "url": "https://jaywcjlove.github.io/#/sponsor"
- },
- "peerDependencies": {
- "@babel/runtime": ">=7.11.0",
- "@codemirror/state": ">=6.0.0",
- "@codemirror/theme-one-dark": ">=6.0.0",
- "@codemirror/view": ">=6.0.0",
- "codemirror": ">=6.0.0",
- "react": ">=17.0.0",
- "react-dom": ">=17.0.0"
- }
+ "node_modules/@types/unist": {
+ "version": "3.0.3",
+ "license": "MIT"
},
"node_modules/@ungap/structured-clone": {
"version": "1.3.0",
"license": "ISC"
},
- "node_modules/@vitejs/plugin-react": {
- "version": "4.7.0",
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.28.0",
- "@babel/plugin-transform-react-jsx-self": "^7.27.1",
- "@babel/plugin-transform-react-jsx-source": "^7.27.1",
- "@rolldown/pluginutils": "1.0.0-beta.27",
- "@types/babel__core": "^7.20.5",
- "react-refresh": "^0.17.0"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "peerDependencies": {
- "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
- }
- },
"node_modules/acorn": {
"version": "8.15.0",
"license": "MIT",
@@ -2998,13 +2411,6 @@
],
"license": "MIT"
},
- "node_modules/baseline-browser-mapping": {
- "version": "2.8.20",
- "license": "Apache-2.0",
- "bin": {
- "baseline-browser-mapping": "dist/cli.js"
- }
- },
"node_modules/boxen": {
"version": "8.0.1",
"license": "MIT",
@@ -3032,38 +2438,6 @@
"base64-js": "^1.1.2"
}
},
- "node_modules/browserslist": {
- "version": "4.27.0",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "baseline-browser-mapping": "^2.8.19",
- "caniuse-lite": "^1.0.30001751",
- "electron-to-chromium": "^1.5.238",
- "node-releases": "^2.0.26",
- "update-browserslist-db": "^1.1.4"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
"node_modules/camelcase": {
"version": "8.0.0",
"license": "MIT",
@@ -3074,24 +2448,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/caniuse-lite": {
- "version": "1.0.30001751",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "CC-BY-4.0"
- },
"node_modules/ccount": {
"version": "2.0.1",
"license": "MIT",
@@ -3231,8 +2587,11 @@
"version": "1.0.1",
"license": "ISC"
},
- "node_modules/convert-source-map": {
- "version": "2.0.0",
+ "node_modules/confbox": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+ "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/cookie": {
@@ -3280,10 +2639,6 @@
"node": ">=4"
}
},
- "node_modules/csstype": {
- "version": "3.1.3",
- "license": "MIT"
- },
"node_modules/debug": {
"version": "4.4.3",
"license": "MIT",
@@ -3379,10 +2734,6 @@
"node": ">=4"
}
},
- "node_modules/electron-to-chromium": {
- "version": "1.5.239",
- "license": "ISC"
- },
"node_modules/emoji-regex": {
"version": "10.6.0",
"license": "MIT"
@@ -3483,13 +2834,6 @@
"@esbuild/win32-x64": "0.25.11"
}
},
- "node_modules/escalade": {
- "version": "3.2.0",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/escape-string-regexp": {
"version": "5.0.0",
"license": "MIT",
@@ -3593,6 +2937,13 @@
"version": "5.0.1",
"license": "MIT"
},
+ "node_modules/exsolve": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz",
+ "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/extend": {
"version": "3.0.2",
"license": "MIT"
@@ -3660,13 +3011,6 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/get-east-asian-width": {
"version": "1.4.0",
"license": "MIT",
@@ -3681,6 +3025,19 @@
"version": "2.0.0",
"license": "ISC"
},
+ "node_modules/globals": {
+ "version": "15.15.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+ "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/graceful-fs": {
"version": "4.2.11",
"license": "ISC"
@@ -4067,10 +3424,6 @@
"jiti": "lib/jiti-cli.mjs"
}
},
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "license": "MIT"
- },
"node_modules/js-yaml": {
"version": "4.1.0",
"license": "MIT",
@@ -4081,26 +3434,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/jsesc": {
- "version": "3.1.0",
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/kleur": {
"version": "3.0.3",
"license": "MIT",
@@ -4108,6 +3441,13 @@
"node": ">=6"
}
},
+ "node_modules/kolorist": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz",
+ "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/lefthook": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/lefthook/-/lefthook-2.0.1.tgz",
@@ -4516,6 +3856,24 @@
"url": "https://opencollective.com/parcel"
}
},
+ "node_modules/local-pkg": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz",
+ "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mlly": "^1.7.4",
+ "pkg-types": "^2.3.0",
+ "quansync": "^0.2.11"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
"node_modules/longest-streak": {
"version": "3.1.0",
"license": "MIT",
@@ -5505,6 +4863,38 @@
],
"license": "MIT"
},
+ "node_modules/mlly": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz",
+ "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.15.0",
+ "pathe": "^2.0.3",
+ "pkg-types": "^1.3.1",
+ "ufo": "^1.6.1"
+ }
+ },
+ "node_modules/mlly/node_modules/confbox": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz",
+ "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/mlly/node_modules/pkg-types": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz",
+ "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "confbox": "^0.1.8",
+ "mlly": "^1.7.4",
+ "pathe": "^2.0.1"
+ }
+ },
"node_modules/mrmime": {
"version": "2.0.1",
"license": "MIT",
@@ -5574,10 +4964,6 @@
"version": "1.0.3",
"license": "MIT"
},
- "node_modules/node-releases": {
- "version": "2.0.26",
- "license": "MIT"
- },
"node_modules/normalize-path": {
"version": "3.0.0",
"license": "MIT",
@@ -5707,6 +5093,13 @@
"url": "https://github.com/inikulin/parse5?sponsor=1"
}
},
+ "node_modules/pathe": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/picocolors": {
"version": "1.1.1",
"license": "ISC"
@@ -5721,6 +5114,18 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/pkg-types": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+ "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "confbox": "^0.2.2",
+ "exsolve": "^1.0.7",
+ "pathe": "^2.0.3"
+ }
+ },
"node_modules/postcss": {
"version": "8.5.6",
"funding": [
@@ -5773,6 +5178,23 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/quansync": {
+ "version": "0.2.11",
+ "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz",
+ "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/antfu"
+ },
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/sxzz"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/radix3": {
"version": "1.1.2",
"license": "MIT"
@@ -5785,24 +5207,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/react-dom": {
- "version": "19.2.0",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "scheduler": "^0.27.0"
- },
- "peerDependencies": {
- "react": "^19.2.0"
- }
- },
- "node_modules/react-refresh": {
- "version": "0.17.0",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/readdirp": {
"version": "4.1.2",
"license": "MIT",
@@ -6149,10 +5553,6 @@
"fsevents": "~2.3.2"
}
},
- "node_modules/scheduler": {
- "version": "0.27.0",
- "license": "MIT"
- },
"node_modules/semver": {
"version": "7.7.3",
"license": "ISC",
@@ -6593,6 +5993,67 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/unplugin": {
+ "version": "2.3.10",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.10.tgz",
+ "integrity": "sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "acorn": "^8.15.0",
+ "picomatch": "^4.0.3",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ }
+ },
+ "node_modules/unplugin-icons": {
+ "version": "22.5.0",
+ "resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-22.5.0.tgz",
+ "integrity": "sha512-MBlMtT5RuMYZy4TZgqUL2OTtOdTUVsS1Mhj6G1pEzMlFJlEnq6mhUfoIt45gBWxHcsOdXJDWLg3pRZ+YmvAVWQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@antfu/install-pkg": "^1.1.0",
+ "@iconify/utils": "^3.0.2",
+ "debug": "^4.4.3",
+ "local-pkg": "^1.1.2",
+ "unplugin": "^2.3.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@svgr/core": ">=7.0.0",
+ "@svgx/core": "^1.0.1",
+ "@vue/compiler-sfc": "^3.0.2 || ^2.7.0",
+ "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0",
+ "vue-template-compiler": "^2.6.12",
+ "vue-template-es2015-compiler": "^1.9.0"
+ },
+ "peerDependenciesMeta": {
+ "@svgr/core": {
+ "optional": true
+ },
+ "@svgx/core": {
+ "optional": true
+ },
+ "@vue/compiler-sfc": {
+ "optional": true
+ },
+ "svelte": {
+ "optional": true
+ },
+ "vue-template-compiler": {
+ "optional": true
+ },
+ "vue-template-es2015-compiler": {
+ "optional": true
+ }
+ }
+ },
"node_modules/unstorage": {
"version": "1.17.1",
"license": "MIT",
@@ -6687,34 +6148,6 @@
}
}
},
- "node_modules/update-browserslist-db": {
- "version": "1.1.4",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "escalade": "^3.2.0",
- "picocolors": "^1.1.1"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
"node_modules/vfile": {
"version": "6.0.3",
"license": "MIT",
@@ -6855,6 +6288,13 @@
"url": "https://github.com/sponsors/wooorm"
}
},
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/which-pm-runs": {
"version": "1.1.0",
"license": "MIT",
@@ -6894,10 +6334,6 @@
"version": "1.1.0",
"license": "MIT"
},
- "node_modules/yallist": {
- "version": "3.1.1",
- "license": "ISC"
- },
"node_modules/yargs-parser": {
"version": "21.1.1",
"license": "ISC",
diff --git a/package.json b/package.json
index b41ddeb..d4f4b4f 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,6 @@
},
"dependencies": {
"@astrojs/mdx": "^4.3.8",
- "@astrojs/react": "^4.4.0",
"@codemirror/autocomplete": "^6.19.1",
"@codemirror/lang-rust": "^6.0.2",
"@codemirror/language": "^6.11.3",
@@ -24,20 +23,16 @@
"@lezer/highlight": "^1.2.2",
"@lezer/rust": "^1.0.2",
"@nanostores/react": "^1.0.0",
- "@tabler/icons-react": "^3.35.0",
"@tailwindcss/vite": "^4.1.16",
- "@types/react": "^19.2.2",
- "@types/react-dom": "^19.2.2",
- "@uiw/codemirror-themes": "^4.25.2",
- "@uiw/react-codemirror": "^4.25.2",
"astro": "^5.15.0",
+ "codemirror": "^6.0.2",
"nanostores": "^1.0.1",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
"tailwindcss": "^4.1.16"
},
"devDependencies": {
"@biomejs/biome": "2.3.2",
- "lefthook": "^2.0.0"
+ "@iconify/json": "^2.2.405",
+ "lefthook": "^2.0.0",
+ "unplugin-icons": "^22.5.0"
}
}
diff --git a/tsconfig.json b/tsconfig.json
index ed97de3..ef24096 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -4,8 +4,7 @@
"exclude": ["dist"],
"compilerOptions": {
"baseUrl": ".",
- "jsx": "react-jsx",
- "jsxImportSource": "react",
+ "types": ["unplugin-icons/types/astro"],
"paths": {
"~/*": ["./src/*"]
}
From bb5a3e380916ec143c1074622ea7bb112a305a76 Mon Sep 17 00:00:00 2001
From: ArturoAtomplay <64356325+ArturoAtomplay@users.noreply.github.com>
Date: Wed, 12 Nov 2025 04:32:08 -0600
Subject: [PATCH 12/12] refactor(footer): replace React icons with
unplugin-icons
---
src/components/shared/footer/Footer.astro | 48 +++++++++++++----------
1 file changed, 27 insertions(+), 21 deletions(-)
diff --git a/src/components/shared/footer/Footer.astro b/src/components/shared/footer/Footer.astro
index 065160d..d732b59 100644
--- a/src/components/shared/footer/Footer.astro
+++ b/src/components/shared/footer/Footer.astro
@@ -1,43 +1,49 @@
---
import { Image } from "astro:assets"
-import { IconBrandDiscord, IconBrandGithub, IconBrandLinkedin } from "@tabler/icons-react"
import logoImage from "~/assets/images/webp/logo.webp"
-
-const githubUrl = "https://github.com/RustLangES/rustlings-web"
-const linkedinUrl = "https://www.linkedin.com/company/rustlanges/posts/?feedView=all"
-const discordUrl = "https://discord.com/channels/778674594856960012/1292726289479893044"
+import IconBrandDiscord from "~icons/tabler/brand-discord"
+import IconBrandGithub from "~icons/tabler/brand-github"
+import IconBrandLinkedin from "~icons/tabler/brand-linkedin"
const socialLinks = [
- { href: githubUrl, icon: IconBrandGithub, label: "GitHub" },
- { href: linkedinUrl, icon: IconBrandLinkedin, label: "LinkedIn" },
- { href: discordUrl, icon: IconBrandDiscord, label: "Discord" },
+ { href: "https://github.com/RustLangES/rustlings-web", icon: IconBrandGithub, label: "GitHub" },
+ {
+ href: "https://www.linkedin.com/company/rustlanges/posts/?feedView=all",
+ icon: IconBrandLinkedin,
+ label: "LinkedIn",
+ },
+ {
+ href: "https://discord.com/channels/778674594856960012/1292726289479893044",
+ icon: IconBrandDiscord,
+ label: "Discord",
+ },
]
---