Initial svelte migration

This commit is contained in:
2025-10-07 11:08:04 -04:00
parent c4855bb3e3
commit 20d1c95f7c
20 changed files with 4811 additions and 13161 deletions

174
.gitignore vendored
View File

@@ -32,3 +32,177 @@ dist-ssr
*.njsproj
*.sln
*.sw?
### Created by https://www.gitignore.io
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
### Python Patch ###
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
poetry.toml
# ruff
.ruff_cache/
# LSP config files
pyrightconfig.json

3
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"recommendations": ["svelte.svelte-vscode"]
}

260
bun.lock
View File

@@ -4,11 +4,17 @@
"": {
"name": "nix-presentation",
"dependencies": {
"@types/reveal.js": "^5.2.0",
"d3": "^7.9.0",
"reveal.js": "^5.2.1",
},
"devDependencies": {
"@types/bun": "^1.2.23",
"@sveltejs/vite-plugin-svelte": "^6.2.1",
"@tsconfig/svelte": "^5.0.5",
"@types/d3": "^7.4.3",
"@types/node": "^24.6.0",
"@types/reveal.js": "^5.2.0",
"svelte": "^5.39.6",
"svelte-check": "^4.3.2",
"typescript": "~5.9.3",
"vite": "^7.1.7",
},
@@ -67,70 +73,242 @@
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.10", "", { "os": "win32", "cpu": "x64" }, "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw=="],
"@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.52.3", "", { "os": "android", "cpu": "arm" }, "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw=="],
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
"@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.52.3", "", { "os": "android", "cpu": "arm64" }, "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw=="],
"@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="],
"@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.52.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg=="],
"@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
"@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.52.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A=="],
"@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="],
"@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.52.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ=="],
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
"@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.52.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A=="],
"@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.52.4", "", { "os": "android", "cpu": "arm" }, "sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA=="],
"@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.52.3", "", { "os": "linux", "cpu": "arm" }, "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA=="],
"@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.52.4", "", { "os": "android", "cpu": "arm64" }, "sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w=="],
"@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.52.3", "", { "os": "linux", "cpu": "arm" }, "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA=="],
"@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.52.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg=="],
"@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.52.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ=="],
"@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.52.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw=="],
"@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.52.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw=="],
"@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.52.4", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ=="],
"@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg=="],
"@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.52.4", "", { "os": "freebsd", "cpu": "x64" }, "sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw=="],
"@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.52.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw=="],
"@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.52.4", "", { "os": "linux", "cpu": "arm" }, "sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ=="],
"@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg=="],
"@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.52.4", "", { "os": "linux", "cpu": "arm" }, "sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q=="],
"@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.52.3", "", { "os": "linux", "cpu": "none" }, "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg=="],
"@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.52.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg=="],
"@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.52.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg=="],
"@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.52.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g=="],
"@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.52.3", "", { "os": "linux", "cpu": "x64" }, "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA=="],
"@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.52.4", "", { "os": "linux", "cpu": "none" }, "sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ=="],
"@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.52.3", "", { "os": "linux", "cpu": "x64" }, "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw=="],
"@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.52.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g=="],
"@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.52.3", "", { "os": "none", "cpu": "arm64" }, "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA=="],
"@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.52.4", "", { "os": "linux", "cpu": "none" }, "sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg=="],
"@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.52.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA=="],
"@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.52.4", "", { "os": "linux", "cpu": "none" }, "sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA=="],
"@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.52.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g=="],
"@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.52.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA=="],
"@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.52.3", "", { "os": "win32", "cpu": "x64" }, "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ=="],
"@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.52.4", "", { "os": "linux", "cpu": "x64" }, "sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg=="],
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.52.3", "", { "os": "win32", "cpu": "x64" }, "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA=="],
"@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.52.4", "", { "os": "linux", "cpu": "x64" }, "sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw=="],
"@types/bun": ["@types/bun@1.2.23", "", { "dependencies": { "bun-types": "1.2.23" } }, "sha512-le8ueOY5b6VKYf19xT3McVbXqLqmxzPXHsQT/q9JHgikJ2X22wyTW3g3ohz2ZMnp7dod6aduIiq8A14Xyimm0A=="],
"@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.52.4", "", { "os": "none", "cpu": "arm64" }, "sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA=="],
"@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.52.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ=="],
"@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.52.4", "", { "os": "win32", "cpu": "ia32" }, "sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw=="],
"@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.52.4", "", { "os": "win32", "cpu": "x64" }, "sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ=="],
"@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.52.4", "", { "os": "win32", "cpu": "x64" }, "sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w=="],
"@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.6", "", { "peerDependencies": { "acorn": "^8.9.0" } }, "sha512-4awhxtMh4cx9blePWl10HRHj8Iivtqj+2QdDCSMDzxG+XKa9+VCNupQuCuvzEhYPzZSrX+0gC+0lHA/0fFKKQQ=="],
"@sveltejs/vite-plugin-svelte": ["@sveltejs/vite-plugin-svelte@6.2.1", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", "debug": "^4.4.1", "deepmerge": "^4.3.1", "magic-string": "^0.30.17", "vitefu": "^1.1.1" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ=="],
"@sveltejs/vite-plugin-svelte-inspector": ["@sveltejs/vite-plugin-svelte-inspector@5.0.1", "", { "dependencies": { "debug": "^4.4.1" }, "peerDependencies": { "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA=="],
"@tsconfig/svelte": ["@tsconfig/svelte@5.0.5", "", {}, "sha512-48fAnUjKye38FvMiNOj0J9I/4XlQQiZlpe9xaNPfe8vy2Y1hFBt8g1yqf2EGjVvHavo4jf2lC+TQyENCr4BJBQ=="],
"@types/d3": ["@types/d3@7.4.3", "", { "dependencies": { "@types/d3-array": "*", "@types/d3-axis": "*", "@types/d3-brush": "*", "@types/d3-chord": "*", "@types/d3-color": "*", "@types/d3-contour": "*", "@types/d3-delaunay": "*", "@types/d3-dispatch": "*", "@types/d3-drag": "*", "@types/d3-dsv": "*", "@types/d3-ease": "*", "@types/d3-fetch": "*", "@types/d3-force": "*", "@types/d3-format": "*", "@types/d3-geo": "*", "@types/d3-hierarchy": "*", "@types/d3-interpolate": "*", "@types/d3-path": "*", "@types/d3-polygon": "*", "@types/d3-quadtree": "*", "@types/d3-random": "*", "@types/d3-scale": "*", "@types/d3-scale-chromatic": "*", "@types/d3-selection": "*", "@types/d3-shape": "*", "@types/d3-time": "*", "@types/d3-time-format": "*", "@types/d3-timer": "*", "@types/d3-transition": "*", "@types/d3-zoom": "*" } }, "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww=="],
"@types/d3-array": ["@types/d3-array@3.2.2", "", {}, "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw=="],
"@types/d3-axis": ["@types/d3-axis@3.0.6", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw=="],
"@types/d3-brush": ["@types/d3-brush@3.0.6", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A=="],
"@types/d3-chord": ["@types/d3-chord@3.0.6", "", {}, "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg=="],
"@types/d3-color": ["@types/d3-color@3.1.3", "", {}, "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A=="],
"@types/d3-contour": ["@types/d3-contour@3.0.6", "", { "dependencies": { "@types/d3-array": "*", "@types/geojson": "*" } }, "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg=="],
"@types/d3-delaunay": ["@types/d3-delaunay@6.0.4", "", {}, "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw=="],
"@types/d3-dispatch": ["@types/d3-dispatch@3.0.7", "", {}, "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA=="],
"@types/d3-drag": ["@types/d3-drag@3.0.7", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ=="],
"@types/d3-dsv": ["@types/d3-dsv@3.0.7", "", {}, "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g=="],
"@types/d3-ease": ["@types/d3-ease@3.0.2", "", {}, "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA=="],
"@types/d3-fetch": ["@types/d3-fetch@3.0.7", "", { "dependencies": { "@types/d3-dsv": "*" } }, "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA=="],
"@types/d3-force": ["@types/d3-force@3.0.10", "", {}, "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw=="],
"@types/d3-format": ["@types/d3-format@3.0.4", "", {}, "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g=="],
"@types/d3-geo": ["@types/d3-geo@3.1.0", "", { "dependencies": { "@types/geojson": "*" } }, "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ=="],
"@types/d3-hierarchy": ["@types/d3-hierarchy@3.1.7", "", {}, "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg=="],
"@types/d3-interpolate": ["@types/d3-interpolate@3.0.4", "", { "dependencies": { "@types/d3-color": "*" } }, "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA=="],
"@types/d3-path": ["@types/d3-path@3.1.1", "", {}, "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg=="],
"@types/d3-polygon": ["@types/d3-polygon@3.0.2", "", {}, "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA=="],
"@types/d3-quadtree": ["@types/d3-quadtree@3.0.6", "", {}, "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg=="],
"@types/d3-random": ["@types/d3-random@3.0.3", "", {}, "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ=="],
"@types/d3-scale": ["@types/d3-scale@4.0.9", "", { "dependencies": { "@types/d3-time": "*" } }, "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw=="],
"@types/d3-scale-chromatic": ["@types/d3-scale-chromatic@3.1.0", "", {}, "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ=="],
"@types/d3-selection": ["@types/d3-selection@3.0.11", "", {}, "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w=="],
"@types/d3-shape": ["@types/d3-shape@3.1.7", "", { "dependencies": { "@types/d3-path": "*" } }, "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg=="],
"@types/d3-time": ["@types/d3-time@3.0.4", "", {}, "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g=="],
"@types/d3-time-format": ["@types/d3-time-format@4.0.3", "", {}, "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg=="],
"@types/d3-timer": ["@types/d3-timer@3.0.2", "", {}, "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="],
"@types/d3-transition": ["@types/d3-transition@3.0.9", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg=="],
"@types/d3-zoom": ["@types/d3-zoom@3.0.8", "", { "dependencies": { "@types/d3-interpolate": "*", "@types/d3-selection": "*" } }, "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw=="],
"@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
"@types/node": ["@types/node@24.6.2", "", { "dependencies": { "undici-types": "~7.13.0" } }, "sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang=="],
"@types/geojson": ["@types/geojson@7946.0.16", "", {}, "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg=="],
"@types/react": ["@types/react@19.2.0", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-1LOH8xovvsKsCBq1wnT4ntDUdCJKmnEakhsuoUSy6ExlHCkGP2hqnatagYTgFk6oeL0VU31u7SNjunPN+GchtA=="],
"@types/node": ["@types/node@24.7.0", "", { "dependencies": { "undici-types": "~7.14.0" } }, "sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw=="],
"@types/reveal.js": ["@types/reveal.js@5.2.0", "", {}, "sha512-IHO3Nc0YjI4CKQHeK/2U+6SinAJCC8/xiKCIDQnlFCiq02GMag+WrveIszll033zyv/mtXoCnWmYZITUngE2pA=="],
"bun-types": ["bun-types@1.2.23", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-R9f0hKAZXgFU3mlrA0YpE/fiDvwV0FT9rORApt2aQVWSuJDzZOyB5QLc0N/4HF57CS8IXJ6+L5E4W1bW6NS2Aw=="],
"acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="],
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
"aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="],
"axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="],
"chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
"clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
"commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="],
"d3": ["d3@7.9.0", "", { "dependencies": { "d3-array": "3", "d3-axis": "3", "d3-brush": "3", "d3-chord": "3", "d3-color": "3", "d3-contour": "4", "d3-delaunay": "6", "d3-dispatch": "3", "d3-drag": "3", "d3-dsv": "3", "d3-ease": "3", "d3-fetch": "3", "d3-force": "3", "d3-format": "3", "d3-geo": "3", "d3-hierarchy": "3", "d3-interpolate": "3", "d3-path": "3", "d3-polygon": "3", "d3-quadtree": "3", "d3-random": "3", "d3-scale": "4", "d3-scale-chromatic": "3", "d3-selection": "3", "d3-shape": "3", "d3-time": "3", "d3-time-format": "4", "d3-timer": "3", "d3-transition": "3", "d3-zoom": "3" } }, "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA=="],
"d3-array": ["d3-array@3.2.4", "", { "dependencies": { "internmap": "1 - 2" } }, "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg=="],
"d3-axis": ["d3-axis@3.0.0", "", {}, "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw=="],
"d3-brush": ["d3-brush@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", "d3-interpolate": "1 - 3", "d3-selection": "3", "d3-transition": "3" } }, "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ=="],
"d3-chord": ["d3-chord@3.0.1", "", { "dependencies": { "d3-path": "1 - 3" } }, "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g=="],
"d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="],
"d3-contour": ["d3-contour@4.0.2", "", { "dependencies": { "d3-array": "^3.2.0" } }, "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA=="],
"d3-delaunay": ["d3-delaunay@6.0.4", "", { "dependencies": { "delaunator": "5" } }, "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A=="],
"d3-dispatch": ["d3-dispatch@3.0.1", "", {}, "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="],
"d3-drag": ["d3-drag@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-selection": "3" } }, "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg=="],
"d3-dsv": ["d3-dsv@3.0.1", "", { "dependencies": { "commander": "7", "iconv-lite": "0.6", "rw": "1" }, "bin": { "csv2json": "bin/dsv2json.js", "csv2tsv": "bin/dsv2dsv.js", "dsv2dsv": "bin/dsv2dsv.js", "dsv2json": "bin/dsv2json.js", "json2csv": "bin/json2dsv.js", "json2dsv": "bin/json2dsv.js", "json2tsv": "bin/json2dsv.js", "tsv2csv": "bin/dsv2dsv.js", "tsv2json": "bin/dsv2json.js" } }, "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q=="],
"d3-ease": ["d3-ease@3.0.1", "", {}, "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="],
"d3-fetch": ["d3-fetch@3.0.1", "", { "dependencies": { "d3-dsv": "1 - 3" } }, "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw=="],
"d3-force": ["d3-force@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-quadtree": "1 - 3", "d3-timer": "1 - 3" } }, "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg=="],
"d3-format": ["d3-format@3.1.0", "", {}, "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="],
"d3-geo": ["d3-geo@3.1.1", "", { "dependencies": { "d3-array": "2.5.0 - 3" } }, "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q=="],
"d3-hierarchy": ["d3-hierarchy@3.1.2", "", {}, "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA=="],
"d3-interpolate": ["d3-interpolate@3.0.1", "", { "dependencies": { "d3-color": "1 - 3" } }, "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g=="],
"d3-path": ["d3-path@3.1.0", "", {}, "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="],
"d3-polygon": ["d3-polygon@3.0.1", "", {}, "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg=="],
"d3-quadtree": ["d3-quadtree@3.0.1", "", {}, "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="],
"d3-random": ["d3-random@3.0.1", "", {}, "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="],
"d3-scale": ["d3-scale@4.0.2", "", { "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", "d3-interpolate": "1.2.0 - 3", "d3-time": "2.1.1 - 3", "d3-time-format": "2 - 4" } }, "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ=="],
"d3-scale-chromatic": ["d3-scale-chromatic@3.1.0", "", { "dependencies": { "d3-color": "1 - 3", "d3-interpolate": "1 - 3" } }, "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ=="],
"d3-selection": ["d3-selection@3.0.0", "", {}, "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="],
"d3-shape": ["d3-shape@3.2.0", "", { "dependencies": { "d3-path": "^3.1.0" } }, "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA=="],
"d3-time": ["d3-time@3.1.0", "", { "dependencies": { "d3-array": "2 - 3" } }, "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q=="],
"d3-time-format": ["d3-time-format@4.1.0", "", { "dependencies": { "d3-time": "1 - 3" } }, "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg=="],
"d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="],
"d3-transition": ["d3-transition@3.0.1", "", { "dependencies": { "d3-color": "1 - 3", "d3-dispatch": "1 - 3", "d3-ease": "1 - 3", "d3-interpolate": "1 - 3", "d3-timer": "1 - 3" }, "peerDependencies": { "d3-selection": "2 - 3" } }, "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w=="],
"d3-zoom": ["d3-zoom@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", "d3-interpolate": "1 - 3", "d3-selection": "2 - 3", "d3-transition": "2 - 3" } }, "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw=="],
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
"deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="],
"delaunator": ["delaunator@5.0.1", "", { "dependencies": { "robust-predicates": "^3.0.2" } }, "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw=="],
"esbuild": ["esbuild@0.25.10", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.10", "@esbuild/android-arm": "0.25.10", "@esbuild/android-arm64": "0.25.10", "@esbuild/android-x64": "0.25.10", "@esbuild/darwin-arm64": "0.25.10", "@esbuild/darwin-x64": "0.25.10", "@esbuild/freebsd-arm64": "0.25.10", "@esbuild/freebsd-x64": "0.25.10", "@esbuild/linux-arm": "0.25.10", "@esbuild/linux-arm64": "0.25.10", "@esbuild/linux-ia32": "0.25.10", "@esbuild/linux-loong64": "0.25.10", "@esbuild/linux-mips64el": "0.25.10", "@esbuild/linux-ppc64": "0.25.10", "@esbuild/linux-riscv64": "0.25.10", "@esbuild/linux-s390x": "0.25.10", "@esbuild/linux-x64": "0.25.10", "@esbuild/netbsd-arm64": "0.25.10", "@esbuild/netbsd-x64": "0.25.10", "@esbuild/openbsd-arm64": "0.25.10", "@esbuild/openbsd-x64": "0.25.10", "@esbuild/openharmony-arm64": "0.25.10", "@esbuild/sunos-x64": "0.25.10", "@esbuild/win32-arm64": "0.25.10", "@esbuild/win32-ia32": "0.25.10", "@esbuild/win32-x64": "0.25.10" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ=="],
"esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="],
"esrap": ["esrap@2.1.0", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA=="],
"fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
"iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
"internmap": ["internmap@2.0.3", "", {}, "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="],
"is-reference": ["is-reference@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.6" } }, "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw=="],
"locate-character": ["locate-character@3.0.0", "", {}, "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA=="],
"magic-string": ["magic-string@0.30.19", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw=="],
"mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="],
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
"nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
@@ -139,18 +317,36 @@
"postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
"readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
"reveal.js": ["reveal.js@5.2.1", "", {}, "sha512-r7//6mIM5p34hFiDMvYfXgyjXqGRta+/psd9YtytsgRlrpRzFv4RbH76TXd2qD+7ZPZEbpBDhdRhJaFgfQ7zNQ=="],
"rollup": ["rollup@4.52.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.52.3", "@rollup/rollup-android-arm64": "4.52.3", "@rollup/rollup-darwin-arm64": "4.52.3", "@rollup/rollup-darwin-x64": "4.52.3", "@rollup/rollup-freebsd-arm64": "4.52.3", "@rollup/rollup-freebsd-x64": "4.52.3", "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", "@rollup/rollup-linux-arm-musleabihf": "4.52.3", "@rollup/rollup-linux-arm64-gnu": "4.52.3", "@rollup/rollup-linux-arm64-musl": "4.52.3", "@rollup/rollup-linux-loong64-gnu": "4.52.3", "@rollup/rollup-linux-ppc64-gnu": "4.52.3", "@rollup/rollup-linux-riscv64-gnu": "4.52.3", "@rollup/rollup-linux-riscv64-musl": "4.52.3", "@rollup/rollup-linux-s390x-gnu": "4.52.3", "@rollup/rollup-linux-x64-gnu": "4.52.3", "@rollup/rollup-linux-x64-musl": "4.52.3", "@rollup/rollup-openharmony-arm64": "4.52.3", "@rollup/rollup-win32-arm64-msvc": "4.52.3", "@rollup/rollup-win32-ia32-msvc": "4.52.3", "@rollup/rollup-win32-x64-gnu": "4.52.3", "@rollup/rollup-win32-x64-msvc": "4.52.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A=="],
"robust-predicates": ["robust-predicates@3.0.2", "", {}, "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="],
"rollup": ["rollup@4.52.4", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.52.4", "@rollup/rollup-android-arm64": "4.52.4", "@rollup/rollup-darwin-arm64": "4.52.4", "@rollup/rollup-darwin-x64": "4.52.4", "@rollup/rollup-freebsd-arm64": "4.52.4", "@rollup/rollup-freebsd-x64": "4.52.4", "@rollup/rollup-linux-arm-gnueabihf": "4.52.4", "@rollup/rollup-linux-arm-musleabihf": "4.52.4", "@rollup/rollup-linux-arm64-gnu": "4.52.4", "@rollup/rollup-linux-arm64-musl": "4.52.4", "@rollup/rollup-linux-loong64-gnu": "4.52.4", "@rollup/rollup-linux-ppc64-gnu": "4.52.4", "@rollup/rollup-linux-riscv64-gnu": "4.52.4", "@rollup/rollup-linux-riscv64-musl": "4.52.4", "@rollup/rollup-linux-s390x-gnu": "4.52.4", "@rollup/rollup-linux-x64-gnu": "4.52.4", "@rollup/rollup-linux-x64-musl": "4.52.4", "@rollup/rollup-openharmony-arm64": "4.52.4", "@rollup/rollup-win32-arm64-msvc": "4.52.4", "@rollup/rollup-win32-ia32-msvc": "4.52.4", "@rollup/rollup-win32-x64-gnu": "4.52.4", "@rollup/rollup-win32-x64-msvc": "4.52.4", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ=="],
"rw": ["rw@1.3.3", "", {}, "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="],
"sade": ["sade@1.8.1", "", { "dependencies": { "mri": "^1.1.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="],
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
"svelte": ["svelte@5.39.9", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "acorn": "^8.12.1", "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", "esrap": "^2.1.0", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-sVOie0sbU9F/Lh0IoUfaq9hLzujRKxiL7xTMbG0y8ROx/qErtbfmm6sLSlJUbUMW4NcIgqHQPFiHX4LakA8fzA=="],
"svelte-check": ["svelte-check@4.3.2", "", { "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "chokidar": "^4.0.1", "fdir": "^6.2.0", "picocolors": "^1.0.0", "sade": "^1.7.4" }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0-next.0", "typescript": ">=5.0.0" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-71udP5w2kaSTcX8iV0hn3o2FWlabQHhJTJLIQrCqMsrcOeDUO2VhCQKKCA8AMVHSPwdxLEWkUWh9OKxns5PD9w=="],
"tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="],
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
"undici-types": ["undici-types@7.13.0", "", {}, "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ=="],
"undici-types": ["undici-types@7.14.0", "", {}, "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA=="],
"vite": ["vite@7.1.8", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oBXvfSHEOL8jF+R9Am7h59Up07kVVGH1NrFGFoEG6bPDZP3tGpQhvkBpy5x7U6+E6wZCu9OihsWgJqDbQIm8LQ=="],
"vite": ["vite@7.1.9", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg=="],
"vitefu": ["vitefu@1.1.1", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["vite"] }, "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ=="],
"zimmerframe": ["zimmerframe@1.1.4", "", {}, "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="],
}
}

View File

@@ -1,98 +1,11 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<link rel="stylesheet" href="/node_modules/reveal.js/dist/reveal.css" />
<link rel="stylesheet" href="/node_modules/reveal.js/dist/theme/black.css" />
<link rel="stylesheet" href="/node_modules/reveal.js/plugin/highlight/monokai.css" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<div class="reveal">
<div class="slides">
<section>Nick's guide to Nix</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
}
</code></pre>
</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
inputs = {
};
outputs = { ... }: {
};
}
</code></pre>
</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { ... }: {
};
}
</code></pre>
</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { nixpkgs, ... }@inputs: {
};
}
</code></pre>
</section>
<section data-auto-animate>
<pre
data-id="code-animation"
><code data-trim data-line-numbers class="language-nix">
{
description = "System configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { nixpkgs, ... }@inputs: {
nixosConfigurations.my-nixos-system = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
];
};
};
}
</code></pre>
</section>
</div>
</div>
<script type="module" src="src/main.ts"></script>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

View File

@@ -5,16 +5,23 @@
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview"
"build": "vite build",
"preview": "vite preview",
"check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json"
},
"devDependencies": {
"@types/bun": "^1.2.23",
"@sveltejs/vite-plugin-svelte": "^6.2.1",
"@tsconfig/svelte": "^5.0.5",
"@types/d3": "^7.4.3",
"@types/node": "^24.6.0",
"@types/reveal.js": "^5.2.0",
"svelte": "^5.39.6",
"svelte-check": "^4.3.2",
"typescript": "~5.9.3",
"vite": "^7.1.7"
},
"dependencies": {
"@types/reveal.js": "^5.2.0",
"d3": "^7.9.0",
"reveal.js": "^5.2.1"
}
}

View File

@@ -1,310 +1,310 @@
Name,Packages,Fresh Packages
Adélie Linux current,2279,2255
AIX Open Source Packages,1011,984
AIX Toolbox,607,429
AlmaLinux 8,2632,2501
AlmaLinux 9,2468,2349
Alpine Linux 3.15,5595,5322
Alpine Linux 3.16,6044,5764
Alpine Linux 3.17,6436,6156
Alpine Linux 3.18,6673,6381
Alpine Linux 3.19,7404,7082
Alpine Linux 3.20,7740,7396
Alpine Linux 3.21,8104,7709
Alpine Linux 3.22,8419,7989
Alpine Linux Edge,11974,11190
ALT Linux p9,17701,14547
ALT Linux p10,18294,15139
ALT Linux p11,19135,15893
ALT Sisyphus,20075,16620
Amazon Linux 1,2040,1973
Amazon Linux 2,2615,2573
AOSC,5395,4906
Apertis v2023,5535,4390
Apertis v2024,5816,4653
Apertis v2025,5821,4656
Apertis v2026 Development,6711,5313
Arch Linux,11641,11163
Arch Testing,224,214
Arch Linux ARM aarch64,10743,10230
ArchPOWER powerpc,3854,3670
ArchPOWER powerpc64le,3977,3781
ArchPOWER riscv64,3825,3635
AUR,79625,40268
Artix,6423,5472
Artix Testing,88,86
BackBox 6,19,13
BackBox 7,26,19
Baulk,69,63
BioArch,5184,5006
BlackArch,4534,2584
Calculate,54,18
Carbs Linux,340,334
CentOS 6,2130,2038
CentOS 7,2695,2662
CentOS 8,2633,2531
CentOS Stream 8,2786,2620
CentOS Stream 9,2457,2373
CentOS Stream 10,2126,2105
Chimera Linux,2933,2845
Chocolatey,3330,3330
Chromebrew,2332,2195
ConanCenter,1848,1473
CPAN,9694,9694
MetaCPAN,9904,9904
CRAN,22456,22456
crates.io,4698,4698
CRUX 3.6,1801,1756
CRUX 3.7,2110,2064
CRUX 3.8,2141,2090
Cygwin,3203,3114
Deb Multimedia Unstable,434,362
Debian 11,31013,23619
Debian 12,34450,25979
Debian 12 Backports,957,667
Adélie Linux current,8243,2091
AIX Open Source Packages,8065,260
AIX Toolbox,644,116
AlmaLinux 8,5986,750
AlmaLinux 9,3034,655
Alpine Linux 3.15,15848,2873
Alpine Linux 3.16,17032,3179
Alpine Linux 3.17,17811,3675
Alpine Linux 3.18,20062,4597
Alpine Linux 3.19,23027,5654
Alpine Linux 3.20,24163,6561
Alpine Linux 3.21,25389,8133
Alpine Linux 3.22,26312,11533
Alpine Linux Edge,34749,22634
ALT Linux p9,18262,4531
ALT Linux p10,19057,5321
ALT Linux p11,19794,7204
ALT Sisyphus,20700,10196
Amazon Linux 1,3448,298
Amazon Linux 2,7253,717
AOSC,5749,2188
Apertis v2023,5612,1131
Apertis v2024,5976,1296
Apertis v2025,5981,1297
Apertis v2026 Development,6825,2581
Arch Linux,15099,11591
Arch Testing,307,222
Arch Linux ARM aarch64,21174,11004
ArchPOWER powerpc,5417,2531
ArchPOWER powerpc64le,5650,2559
ArchPOWER riscv64,5330,2169
AUR,100544,28117
Artix,8904,5688
Artix Testing,163,129
BackBox 6,19,3
BackBox 7,26,8
Baulk,71,50
BioArch,5251,4631
BlackArch,5578,1420
Calculate,88,9
Carbs Linux,347,99
CentOS 6,2399,316
CentOS 7,3541,493
CentOS 8,3380,535
CentOS Stream 8,9841,794
CentOS Stream 9,6029,929
CentOS Stream 10,6072,1967
Chimera Linux,11338,7594
Chocolatey,4042,1552
Chromebrew,2458,1118
ConanCenter,5821,736
CPAN,9696,9519
MetaCPAN,11349,9211
CRAN,22832,22445
crates.io,4978,4670
CRUX 3.6,2070,451
CRUX 3.7,2374,1220
CRUX 3.8,2402,2143
Cygwin,11520,3674
Deb Multimedia Unstable,438,316
Debian 11,32129,7992
Debian 12,35113,10168
Debian 12 Backports,1018,173
Debian 12 Backports sloppy,4,2
Debian 13,37690,28389
Debian 13 Backports,124,97
Debian 14,37748,28347
Debian Unstable,39167,29289
Debian Experimental,986,709
deepin 20,28824,21797
deepin 23,10970,9142
Devuan 4.0,31025,23624
Devuan Unstable,39138,29269
distri,534,396
ELRepo el8,89,9
ELRepo el8 Testing,6,1
ELRepo el9,86,9
ELRepo el9 Testing,9,1
Endless OS 4.0,116,80
Endless OS master,100,68
EPEL 6,5893,4995
EPEL 7,7217,6367
EPEL 8,5167,4853
EPEL 9,7867,7359
EPEL 10,6182,5853
EuroLinux 8,2690,2583
EuroLinux 9,2401,2330
Exherbo,6597,6351
F-Droid,3888,430
Fedora 37,23796,21011
Fedora 38,24040,21300
Fedora 39,23997,21555
Fedora 40,24344,21907
Fedora 41,24324,21912
Fedora 42,24135,21851
Fedora Rawhide,23109,21096
FreeBSD Ports,31922,26992
Gentoo,17794,15384
Gentoo overlay GURU,1897,1597
Gentoo overlay Pentoo,816,699
Gentoo Science overlay,552,393
glaucus,119,116
GNU Elpa,478,478
GNU Guix,28668,21435
GoboLinux,3659,3246
Hackage,18232,18232
HaikuPorts master,3366,2922
Homebrew,7675,6788
Homebrew Casks,2015,2015
Homebrew tap Brewsci/bio,316,241
HP-UX 11.31,551,528
IBM i,260,228
IzzyOnDroid,1273,390
Kali Linux Bleeding Edge,84,48
Kali Linux Rolling,38416,28771
KaOS,1758,1726
KaOS Build,35,33
KDE neon Testing,777,694
KDE neon Unstable,818,721
KDE neon User,582,547
KDE neon User LTS,512,479
KISS Community - main,151,151
KISS Community - community,386,369
Libregamewiki,649,388
LiGurOS stable,19403,16794
LiGurOS develop,19400,16758
LuaRocks,351,351
MacPorts,19427,17422
Mageia 8,14158,13743
Mageia 9,14999,14595
Mageia cauldron,16461,16046
Manjaro Stable,11958,11287
Manjaro Testing,11968,11300
Manjaro Unstable,11970,11301
MELPA,5962,5962
MELPA Stable,3234,3234
MidnightBSD mports,5994,5238
MPR,781,633
MSYS2 clang64,2761,2685
MSYS2 clangarm64,2684,2612
MSYS2 mingw,2602,2525
MSYS2 msys2,545,514
MSYS2 ucrt64,2829,2749
MX Linux MX-21,651,474
MX Linux MX-21 Testing,504,481
MX Linux MX-23,428,267
MX Linux MX-23 Testing,352,333
nixpkgs stable 22.11,79668,63789
nixpkgs stable 23.05,83116,66820
nixpkgs stable 23.11,88097,71081
nixpkgs stable 24.05,96263,78426
nixpkgs stable 24.11,100160,80885
nixpkgs stable 25.05,105443,84020
nixpkgs unstable,107989,85677
NOIR Linux Main,238,235
Npackd Stable,889,621
Npackd Stable64,292,239
Npackd Unstable,7,5
opam,1183,1183
OpenBSD Ports,9757,8838
openEuler 20.03-LTS-SP3,3305,3222
openEuler 20.03-LTS-SP4,3342,3256
openEuler 22.03-LTS,4155,4014
openEuler 22.03-LTS-SP1,4187,4034
openEuler 22.03-LTS-SP2,4194,4042
openEuler 22.03-LTS-SP3,4227,4063
openEuler 22.03-LTS-SP4,4237,4061
openEuler 23.03,4206,4055
openEuler 23.09,4494,4226
openEuler 24.03-LTS,4746,4462
openEuler 24.03-LTS-SP1,4767,4476
openEuler 24.09,4747,4458
openEuler 25.03,4863,4572
OpenIndiana packages,2555,2452
openmamba,5421,5207
OpenMandriva 4.3,11798,11475
OpenMandriva 5.0,14134,13769
OpenMandriva 6.0,14956,14534
OpenMandriva Rolling,14960,14538
OpenMandriva Cooker,15077,14647
OpenPKG,2329,1876
openSUSE Leap 15.4,13179,11762
openSUSE Leap 15.5,14300,12765
openSUSE Leap 15.6,14492,12921
openSUSE Tumbleweed,15866,14129
openSUSE Education Tumbleweed,343,239
openSUSE Emulators Tumbleweed,140,118
openSUSE games Tumbleweed,856,756
openSUSE graphics Tumbleweed,290,257
openSUSE hardware:sdr Tumbleweed,168,129
openSUSE multimedia:apps Tumbleweed,345,321
openSUSE multimedia:libs Tumbleweed,312,289
openSUSE network Tumbleweed,248,217
openSUSE science Tumbleweed,895,677
openSUSE security Tumbleweed,278,231
openSUSE server:irc Tumbleweed,43,40
openSUSE shells Tumbleweed,30,27
Open VSX,352,352
OpenWrt 23.05 x86_64,1688,1281
OpenWrt 24.10 x86_64,1757,1324
OS4Depot,908,908
PackMan openSUSE Tumbleweed,330,275
PackMan SLE 12,252,227
PackMan SLE 15,73,59
pacstall,787,595
Parabola,12160,11507
Parabola Testing,19,6
Pardus 21,31108,23668
Pardus 23,123,66
Parrot,35081,26395
PCLinuxOS,11697,10629
Pisi Linux,3101,2995
Pisi Linux Contrib,133,108
pkgsrc current,17637,15344
PLD Linux,12836,11136
postmarketOS 22.12,203,45
postmarketOS 23.06,199,42
postmarketOS 23.12,224,35
postmarketOS 24.06,590,39
postmarketOS 24.12,578,35
postmarketOS master,785,36
PTXdist,949,885
PureOS amber,28291,21507
PureOS byzantium,30645,23446
PureOS landing,37379,28215
PyPI,20874,20874
Raspbian Oldstable,34606,25500
Raspbian Stable,38599,28142
Raspbian Testing,42870,31226
Ravenports,3475,3456
ReactOS rapps,188,188
RebornOS,364,230
Rocky Linux 8,2789,2611
Rocky Linux 9,2496,2362
Rosa 2021.1,19613,18735
Rosa 13,20260,19272
RPM Fusion EL 6,71,62
RPM Fusion EL 7,125,110
RPM Fusion EL 8,106,87
RPM Fusion EL 9,60,41
RPM Fusion Fedora 39,334,282
RPM Fusion Fedora 40,324,273
RPM Fusion Fedora 41,318,266
RPM Fusion Fedora Rawhide,297,247
RPM Sphere,2867,1961
RubyGems,4282,4282
SageMath stable,369,336
SageMath development,367,334
Salix 14.2,429,390
Scientific Linux 7.x,2906,2745
Software Collections,254,248
Scoop,4186,3093
Side Linux,921,912
Siduction,289,35
Siduction Experimental,15,6
SlackBuilds,9706,8646
Slackware 14.2,1315,1284
Slackware 15.0,1674,1636
Slackware current,1777,1744
Slackware64 14.2,1307,1279
Slackware64 15.0,1667,1632
Slackware64 current,1776,1742
Slackwarearm 14.2,1299,1270
Slackwarearm 15.0,1636,1607
SliTaz Cooking,3702,3229
SliTaz Current,779,698
SliTaz Next,3456,3162
Solus,4613,4498
Spack,8484,7086
Stackage LTS Haskell,3409,3409
Stackage Nightly,3260,3260
stal/IX,1105,1076
stal/IX dev,1106,1077
T2 SDE,6086,5525
Tails stable,3,2
Tails devel,3,2
Termux,2599,2431
Termux User Repository,265,212
Terra 39,353,270
Terra 40,468,351
Terra 41,500,335
Terra rawhide,511,349
Tin Can Linux,80,78
Trisquel 10.0,29817,22577
Trisquel 10.0 backports,68,64
Trisquel 11.0,33260,24925
Trisquel 11.0 backports,60,54
UBI 8,884,826
Ubuntu 14.04,21435,15857
Ubuntu 14.04 Backports,108,90
Ubuntu 16.04,24908,18589
Ubuntu 16.04 Backports,24,21
Ubuntu 18.04,28653,21029
Ubuntu 18.04 Backports,18,15
Ubuntu 20.04,30756,22834
Ubuntu 20.04 Backports,21,19
Ubuntu 22.04,34140,25188
Ubuntu 22.04 Backports,21,20
Ubuntu 24.04,36970,27560
Ubuntu 24.04 Backports,18,17
Ubuntu 25.04,39087,29140
Ubuntu 25.04 Backports,3,3
Ubuntu 25.10,39153,29111
Ubuntu 25.10 Proposed,272,207
Vcpkg,2481,1827
Void Linux x86_64,8919,8590
WakeMeOps,188,179
Wikidata,4582,4501
YACP,3719,3014
Debian 13,38138,16317
Debian 13 Backports,129,65
Debian 14,38390,18950
Debian Unstable,40247,19811
Debian Experimental,1180,354
deepin 20,29950,6345
deepin 23,11181,2840
Devuan 4.0,31290,7955
Devuan Unstable,39510,19710
distri,541,31
ELRepo el8,190,5
ELRepo el8 Testing,11,0
ELRepo el9,174,6
ELRepo el9 Testing,15,0
Endless OS 4.0,116,3
Endless OS master,100,6
EPEL 6,5978,1002
EPEL 7,7303,1593
EPEL 8,5210,1659
EPEL 9,7974,3440
EPEL 10,6262,3679
EuroLinux 8,8070,678
EuroLinux 9,7422,888
Exherbo,8605,3637
F-Droid,10973,379
Fedora 37,29763,8271
Fedora 38,30232,8926
Fedora 39,29890,9699
Fedora 40,31164,11094
Fedora 41,30595,12992
Fedora 42,29193,14406
Fedora Rawhide,23805,15722
FreeBSD Ports,37153,22108
Gentoo,29958,10960
Gentoo overlay GURU,3023,971
Gentoo overlay Pentoo,1160,323
Gentoo Science overlay,745,166
glaucus,119,31
GNU Elpa,478,465
GNU Guix,29927,9074
GoboLinux,3775,840
Hackage,18316,18219
HaikuPorts master,3893,1107
Homebrew,11881,6386
Homebrew Casks,2242,1657
Homebrew tap Brewsci/bio,318,94
HP-UX 11.31,2259,527
IBM i,315,30
IzzyOnDroid,2554,366
Kali Linux Bleeding Edge,84,2
Kali Linux Rolling,38755,18712
KaOS,2116,1763
KaOS Build,44,38
KDE neon Testing,929,18
KDE neon Unstable,980,19
KDE neon User,1992,36
KDE neon User LTS,541,23
KISS Community - main,152,128
KISS Community - community,394,147
Libregamewiki,651,249
LiGurOS stable,32494,10419
LiGurOS develop,32521,11861
LuaRocks,7457,573
MacPorts,38061,16613
Mageia 8,17033,3349
Mageia 9,17504,4265
Mageia cauldron,16944,8196
Manjaro Stable,15827,10594
Manjaro Testing,15847,11496
Manjaro Unstable,15865,11887
MELPA,5962,0
MELPA Stable,3234,3179
MidnightBSD mports,7141,2761
MPR,926,166
MSYS2 clang64,3450,2434
MSYS2 clangarm64,3363,2407
MSYS2 mingw,3989,2837
MSYS2 msys2,748,518
MSYS2 ucrt64,3534,2490
MX Linux MX-21,708,67
MX Linux MX-21 Testing,546,66
MX Linux MX-23,449,68
MX Linux MX-23 Testing,363,71
nixpkgs stable 22.11,95572,32675
nixpkgs stable 23.05,99994,35717
nixpkgs stable 23.11,107004,40861
nixpkgs stable 24.05,114973,48855
nixpkgs stable 24.11,120736,53957
nixpkgs stable 25.05,128147,64601
nixpkgs unstable,130313,83168
NOIR Linux Main,243,59
Npackd Stable,13040,186
Npackd Stable64,7742,82
Npackd Unstable,96,0
opam,1191,962
OpenBSD Ports,12177,6940
openEuler 20.03-LTS-SP3,3382,725
openEuler 20.03-LTS-SP4,3418,735
openEuler 22.03-LTS,4234,1066
openEuler 22.03-LTS-SP1,4266,1181
openEuler 22.03-LTS-SP2,4275,1188
openEuler 22.03-LTS-SP3,4307,1219
openEuler 22.03-LTS-SP4,4320,1221
openEuler 23.03,4294,1242
openEuler 23.09,4617,1434
openEuler 24.03-LTS,4876,1750
openEuler 24.03-LTS-SP1,4905,1753
openEuler 24.09,4880,1912
openEuler 25.03,4990,2238
OpenIndiana packages,6052,4060
openmamba,5951,4625
OpenMandriva 4.3,12605,3228
OpenMandriva 5.0,15311,3332
OpenMandriva 6.0,16177,4649
OpenMandriva Rolling,16176,4647
OpenMandriva Cooker,16059,5829
OpenPKG,2386,695
openSUSE Leap 15.4,19608,3511
openSUSE Leap 15.5,20732,4214
openSUSE Leap 15.6,20362,4658
openSUSE Tumbleweed,16640,9861
openSUSE Education Tumbleweed,380,130
openSUSE Emulators Tumbleweed,143,55
openSUSE games Tumbleweed,934,509
openSUSE graphics Tumbleweed,317,170
openSUSE hardware:sdr Tumbleweed,181,71
openSUSE multimedia:apps Tumbleweed,386,219
openSUSE multimedia:libs Tumbleweed,348,235
openSUSE network Tumbleweed,266,141
openSUSE science Tumbleweed,1150,485
openSUSE security Tumbleweed,295,157
openSUSE server:irc Tumbleweed,43,27
openSUSE shells Tumbleweed,45,15
Open VSX,352,295
OpenWrt 23.05 x86_64,8976,908
OpenWrt 24.10 x86_64,9433,1180
OS4Depot,946,280
PackMan openSUSE Tumbleweed,641,266
PackMan SLE 12,259,66
PackMan SLE 15,80,29
pacstall,864,204
Parabola,15519,11074
Parabola Testing,29,4
Pardus 21,32630,8009
Pardus 23,365,15
Parrot,70726,20592
PCLinuxOS,12198,3098
Pisi Linux,3400,1566
Pisi Linux Contrib,138,27
pkgsrc current,20099,11165
PLD Linux,14171,5713
postmarketOS 22.12,436,10
postmarketOS 23.06,434,12
postmarketOS 23.12,487,8
postmarketOS 24.06,1189,17
postmarketOS 24.12,1247,22
postmarketOS master,1583,56
PTXdist,956,285
PureOS amber,28585,6322
PureOS byzantium,30901,7897
PureOS landing,37686,16203
PyPI,27537,19657
Raspbian Oldstable,35274,8814
Raspbian Stable,39331,11189
Raspbian Testing,43680,17717
Ravenports,3728,3051
ReactOS rapps,198,58
RebornOS,422,69
Rocky Linux 8,4991,659
Rocky Linux 9,3394,727
Rosa 2021.1,20016,5406
Rosa 13,21087,7584
RPM Fusion EL 6,74,15
RPM Fusion EL 7,142,24
RPM Fusion EL 8,119,23
RPM Fusion EL 9,68,11
RPM Fusion Fedora 39,451,110
RPM Fusion Fedora 40,437,121
RPM Fusion Fedora 41,439,165
RPM Fusion Fedora Rawhide,307,170
RPM Sphere,2874,1079
RubyGems,4443,4191
SageMath stable,372,116
SageMath development,370,129
Salix 14.2,735,52
Scientific Linux 7.x,12293,1110
Software Collections,416,41
Scoop,4469,2540
Side Linux,951,680
Siduction,580,4
Siduction Experimental,30,0
SlackBuilds,9959,4446
Slackware 14.2,1599,308
Slackware 15.0,1923,350
Slackware current,1816,1077
Slackware64 14.2,1586,306
Slackware64 15.0,1887,347
Slackware64 current,1815,1074
Slackwarearm 14.2,1578,295
Slackwarearm 15.0,1814,341
SliTaz Cooking,5922,1649
SliTaz Current,1863,243
SliTaz Next,12181,1977
Solus,11646,5954
Spack,9685,2920
Stackage LTS Haskell,3411,3248
Stackage Nightly,3262,3212
stal/IX,1380,1188
stal/IX dev,1381,1194
T2 SDE,6175,5160
Tails stable,3,1
Tails devel,3,1
Termux,2674,2097
Termux User Repository,297,127
Terra 39,2351,413
Terra 40,2865,894
Terra 41,3221,1484
Terra rawhide,3395,1645
Tin Can Linux,81,42
Trisquel 10.0,32930,7062
Trisquel 10.0 backports,82,10
Trisquel 11.0,36144,8844
Trisquel 11.0 backports,64,7
UBI 8,1623,157
Ubuntu 14.04,24127,3793
Ubuntu 14.04 Backports,109,2
Ubuntu 16.04,27276,4738
Ubuntu 16.04 Backports,25,0
Ubuntu 18.04,30870,5904
Ubuntu 18.04 Backports,18,0
Ubuntu 20.04,32759,7096
Ubuntu 20.04 Backports,21,1
Ubuntu 22.04,36182,8883
Ubuntu 22.04 Backports,21,1
Ubuntu 24.04,38934,11974
Ubuntu 24.04 Backports,18,1
Ubuntu 25.04,39935,15714
Ubuntu 25.04 Backports,3,0
Ubuntu 25.10,39745,17706
Ubuntu 25.10 Proposed,273,90
Vcpkg,2696,1217
Void Linux x86_64,14331,7324
WakeMeOps,3981,153
Wikidata,5553,3039
YACP,3724,2215
1 Name Packages Fresh Packages
2 Adélie Linux current 2279 8243 2255 2091
3 AIX Open Source Packages 1011 8065 984 260
4 AIX Toolbox 607 644 429 116
5 AlmaLinux 8 2632 5986 2501 750
6 AlmaLinux 9 2468 3034 2349 655
7 Alpine Linux 3.15 5595 15848 5322 2873
8 Alpine Linux 3.16 6044 17032 5764 3179
9 Alpine Linux 3.17 6436 17811 6156 3675
10 Alpine Linux 3.18 6673 20062 6381 4597
11 Alpine Linux 3.19 7404 23027 7082 5654
12 Alpine Linux 3.20 7740 24163 7396 6561
13 Alpine Linux 3.21 8104 25389 7709 8133
14 Alpine Linux 3.22 8419 26312 7989 11533
15 Alpine Linux Edge 11974 34749 11190 22634
16 ALT Linux p9 17701 18262 14547 4531
17 ALT Linux p10 18294 19057 15139 5321
18 ALT Linux p11 19135 19794 15893 7204
19 ALT Sisyphus 20075 20700 16620 10196
20 Amazon Linux 1 2040 3448 1973 298
21 Amazon Linux 2 2615 7253 2573 717
22 AOSC 5395 5749 4906 2188
23 Apertis v2023 5535 5612 4390 1131
24 Apertis v2024 5816 5976 4653 1296
25 Apertis v2025 5821 5981 4656 1297
26 Apertis v2026 Development 6711 6825 5313 2581
27 Arch Linux 11641 15099 11163 11591
28 Arch Testing 224 307 214 222
29 Arch Linux ARM aarch64 10743 21174 10230 11004
30 ArchPOWER powerpc 3854 5417 3670 2531
31 ArchPOWER powerpc64le 3977 5650 3781 2559
32 ArchPOWER riscv64 3825 5330 3635 2169
33 AUR 79625 100544 40268 28117
34 Artix 6423 8904 5472 5688
35 Artix Testing 88 163 86 129
36 BackBox 6 19 13 3
37 BackBox 7 26 19 8
38 Baulk 69 71 63 50
39 BioArch 5184 5251 5006 4631
40 BlackArch 4534 5578 2584 1420
41 Calculate 54 88 18 9
42 Carbs Linux 340 347 334 99
43 CentOS 6 2130 2399 2038 316
44 CentOS 7 2695 3541 2662 493
45 CentOS 8 2633 3380 2531 535
46 CentOS Stream 8 2786 9841 2620 794
47 CentOS Stream 9 2457 6029 2373 929
48 CentOS Stream 10 2126 6072 2105 1967
49 Chimera Linux 2933 11338 2845 7594
50 Chocolatey 3330 4042 3330 1552
51 Chromebrew 2332 2458 2195 1118
52 ConanCenter 1848 5821 1473 736
53 CPAN 9694 9696 9694 9519
54 MetaCPAN 9904 11349 9904 9211
55 CRAN 22456 22832 22456 22445
56 crates.io 4698 4978 4698 4670
57 CRUX 3.6 1801 2070 1756 451
58 CRUX 3.7 2110 2374 2064 1220
59 CRUX 3.8 2141 2402 2090 2143
60 Cygwin 3203 11520 3114 3674
61 Deb Multimedia Unstable 434 438 362 316
62 Debian 11 31013 32129 23619 7992
63 Debian 12 34450 35113 25979 10168
64 Debian 12 Backports 957 1018 667 173
65 Debian 12 Backports sloppy 4 2
66 Debian 13 37690 38138 28389 16317
67 Debian 13 Backports 124 129 97 65
68 Debian 14 37748 38390 28347 18950
69 Debian Unstable 39167 40247 29289 19811
70 Debian Experimental 986 1180 709 354
71 deepin 20 28824 29950 21797 6345
72 deepin 23 10970 11181 9142 2840
73 Devuan 4.0 31025 31290 23624 7955
74 Devuan Unstable 39138 39510 29269 19710
75 distri 534 541 396 31
76 ELRepo el8 89 190 9 5
77 ELRepo el8 Testing 6 11 1 0
78 ELRepo el9 86 174 9 6
79 ELRepo el9 Testing 9 15 1 0
80 Endless OS 4.0 116 80 3
81 Endless OS master 100 68 6
82 EPEL 6 5893 5978 4995 1002
83 EPEL 7 7217 7303 6367 1593
84 EPEL 8 5167 5210 4853 1659
85 EPEL 9 7867 7974 7359 3440
86 EPEL 10 6182 6262 5853 3679
87 EuroLinux 8 2690 8070 2583 678
88 EuroLinux 9 2401 7422 2330 888
89 Exherbo 6597 8605 6351 3637
90 F-Droid 3888 10973 430 379
91 Fedora 37 23796 29763 21011 8271
92 Fedora 38 24040 30232 21300 8926
93 Fedora 39 23997 29890 21555 9699
94 Fedora 40 24344 31164 21907 11094
95 Fedora 41 24324 30595 21912 12992
96 Fedora 42 24135 29193 21851 14406
97 Fedora Rawhide 23109 23805 21096 15722
98 FreeBSD Ports 31922 37153 26992 22108
99 Gentoo 17794 29958 15384 10960
100 Gentoo overlay GURU 1897 3023 1597 971
101 Gentoo overlay Pentoo 816 1160 699 323
102 Gentoo Science overlay 552 745 393 166
103 glaucus 119 116 31
104 GNU Elpa 478 478 465
105 GNU Guix 28668 29927 21435 9074
106 GoboLinux 3659 3775 3246 840
107 Hackage 18232 18316 18232 18219
108 HaikuPorts master 3366 3893 2922 1107
109 Homebrew 7675 11881 6788 6386
110 Homebrew Casks 2015 2242 2015 1657
111 Homebrew tap Brewsci/bio 316 318 241 94
112 HP-UX 11.31 551 2259 528 527
113 IBM i 260 315 228 30
114 IzzyOnDroid 1273 2554 390 366
115 Kali Linux Bleeding Edge 84 48 2
116 Kali Linux Rolling 38416 38755 28771 18712
117 KaOS 1758 2116 1726 1763
118 KaOS Build 35 44 33 38
119 KDE neon Testing 777 929 694 18
120 KDE neon Unstable 818 980 721 19
121 KDE neon User 582 1992 547 36
122 KDE neon User LTS 512 541 479 23
123 KISS Community - main 151 152 151 128
124 KISS Community - community 386 394 369 147
125 Libregamewiki 649 651 388 249
126 LiGurOS stable 19403 32494 16794 10419
127 LiGurOS develop 19400 32521 16758 11861
128 LuaRocks 351 7457 351 573
129 MacPorts 19427 38061 17422 16613
130 Mageia 8 14158 17033 13743 3349
131 Mageia 9 14999 17504 14595 4265
132 Mageia cauldron 16461 16944 16046 8196
133 Manjaro Stable 11958 15827 11287 10594
134 Manjaro Testing 11968 15847 11300 11496
135 Manjaro Unstable 11970 15865 11301 11887
136 MELPA 5962 5962 0
137 MELPA Stable 3234 3234 3179
138 MidnightBSD mports 5994 7141 5238 2761
139 MPR 781 926 633 166
140 MSYS2 clang64 2761 3450 2685 2434
141 MSYS2 clangarm64 2684 3363 2612 2407
142 MSYS2 mingw 2602 3989 2525 2837
143 MSYS2 msys2 545 748 514 518
144 MSYS2 ucrt64 2829 3534 2749 2490
145 MX Linux MX-21 651 708 474 67
146 MX Linux MX-21 Testing 504 546 481 66
147 MX Linux MX-23 428 449 267 68
148 MX Linux MX-23 Testing 352 363 333 71
149 nixpkgs stable 22.11 79668 95572 63789 32675
150 nixpkgs stable 23.05 83116 99994 66820 35717
151 nixpkgs stable 23.11 88097 107004 71081 40861
152 nixpkgs stable 24.05 96263 114973 78426 48855
153 nixpkgs stable 24.11 100160 120736 80885 53957
154 nixpkgs stable 25.05 105443 128147 84020 64601
155 nixpkgs unstable 107989 130313 85677 83168
156 NOIR Linux Main 238 243 235 59
157 Npackd Stable 889 13040 621 186
158 Npackd Stable64 292 7742 239 82
159 Npackd Unstable 7 96 5 0
160 opam 1183 1191 1183 962
161 OpenBSD Ports 9757 12177 8838 6940
162 openEuler 20.03-LTS-SP3 3305 3382 3222 725
163 openEuler 20.03-LTS-SP4 3342 3418 3256 735
164 openEuler 22.03-LTS 4155 4234 4014 1066
165 openEuler 22.03-LTS-SP1 4187 4266 4034 1181
166 openEuler 22.03-LTS-SP2 4194 4275 4042 1188
167 openEuler 22.03-LTS-SP3 4227 4307 4063 1219
168 openEuler 22.03-LTS-SP4 4237 4320 4061 1221
169 openEuler 23.03 4206 4294 4055 1242
170 openEuler 23.09 4494 4617 4226 1434
171 openEuler 24.03-LTS 4746 4876 4462 1750
172 openEuler 24.03-LTS-SP1 4767 4905 4476 1753
173 openEuler 24.09 4747 4880 4458 1912
174 openEuler 25.03 4863 4990 4572 2238
175 OpenIndiana packages 2555 6052 2452 4060
176 openmamba 5421 5951 5207 4625
177 OpenMandriva 4.3 11798 12605 11475 3228
178 OpenMandriva 5.0 14134 15311 13769 3332
179 OpenMandriva 6.0 14956 16177 14534 4649
180 OpenMandriva Rolling 14960 16176 14538 4647
181 OpenMandriva Cooker 15077 16059 14647 5829
182 OpenPKG 2329 2386 1876 695
183 openSUSE Leap 15.4 13179 19608 11762 3511
184 openSUSE Leap 15.5 14300 20732 12765 4214
185 openSUSE Leap 15.6 14492 20362 12921 4658
186 openSUSE Tumbleweed 15866 16640 14129 9861
187 openSUSE Education Tumbleweed 343 380 239 130
188 openSUSE Emulators Tumbleweed 140 143 118 55
189 openSUSE games Tumbleweed 856 934 756 509
190 openSUSE graphics Tumbleweed 290 317 257 170
191 openSUSE hardware:sdr Tumbleweed 168 181 129 71
192 openSUSE multimedia:apps Tumbleweed 345 386 321 219
193 openSUSE multimedia:libs Tumbleweed 312 348 289 235
194 openSUSE network Tumbleweed 248 266 217 141
195 openSUSE science Tumbleweed 895 1150 677 485
196 openSUSE security Tumbleweed 278 295 231 157
197 openSUSE server:irc Tumbleweed 43 40 27
198 openSUSE shells Tumbleweed 30 45 27 15
199 Open VSX 352 352 295
200 OpenWrt 23.05 x86_64 1688 8976 1281 908
201 OpenWrt 24.10 x86_64 1757 9433 1324 1180
202 OS4Depot 908 946 908 280
203 PackMan openSUSE Tumbleweed 330 641 275 266
204 PackMan SLE 12 252 259 227 66
205 PackMan SLE 15 73 80 59 29
206 pacstall 787 864 595 204
207 Parabola 12160 15519 11507 11074
208 Parabola Testing 19 29 6 4
209 Pardus 21 31108 32630 23668 8009
210 Pardus 23 123 365 66 15
211 Parrot 35081 70726 26395 20592
212 PCLinuxOS 11697 12198 10629 3098
213 Pisi Linux 3101 3400 2995 1566
214 Pisi Linux Contrib 133 138 108 27
215 pkgsrc current 17637 20099 15344 11165
216 PLD Linux 12836 14171 11136 5713
217 postmarketOS 22.12 203 436 45 10
218 postmarketOS 23.06 199 434 42 12
219 postmarketOS 23.12 224 487 35 8
220 postmarketOS 24.06 590 1189 39 17
221 postmarketOS 24.12 578 1247 35 22
222 postmarketOS master 785 1583 36 56
223 PTXdist 949 956 885 285
224 PureOS amber 28291 28585 21507 6322
225 PureOS byzantium 30645 30901 23446 7897
226 PureOS landing 37379 37686 28215 16203
227 PyPI 20874 27537 20874 19657
228 Raspbian Oldstable 34606 35274 25500 8814
229 Raspbian Stable 38599 39331 28142 11189
230 Raspbian Testing 42870 43680 31226 17717
231 Ravenports 3475 3728 3456 3051
232 ReactOS rapps 188 198 188 58
233 RebornOS 364 422 230 69
234 Rocky Linux 8 2789 4991 2611 659
235 Rocky Linux 9 2496 3394 2362 727
236 Rosa 2021.1 19613 20016 18735 5406
237 Rosa 13 20260 21087 19272 7584
238 RPM Fusion EL 6 71 74 62 15
239 RPM Fusion EL 7 125 142 110 24
240 RPM Fusion EL 8 106 119 87 23
241 RPM Fusion EL 9 60 68 41 11
242 RPM Fusion Fedora 39 334 451 282 110
243 RPM Fusion Fedora 40 324 437 273 121
244 RPM Fusion Fedora 41 318 439 266 165
245 RPM Fusion Fedora Rawhide 297 307 247 170
246 RPM Sphere 2867 2874 1961 1079
247 RubyGems 4282 4443 4282 4191
248 SageMath stable 369 372 336 116
249 SageMath development 367 370 334 129
250 Salix 14.2 429 735 390 52
251 Scientific Linux 7.x 2906 12293 2745 1110
252 Software Collections 254 416 248 41
253 Scoop 4186 4469 3093 2540
254 Side Linux 921 951 912 680
255 Siduction 289 580 35 4
256 Siduction Experimental 15 30 6 0
257 SlackBuilds 9706 9959 8646 4446
258 Slackware 14.2 1315 1599 1284 308
259 Slackware 15.0 1674 1923 1636 350
260 Slackware current 1777 1816 1744 1077
261 Slackware64 14.2 1307 1586 1279 306
262 Slackware64 15.0 1667 1887 1632 347
263 Slackware64 current 1776 1815 1742 1074
264 Slackwarearm 14.2 1299 1578 1270 295
265 Slackwarearm 15.0 1636 1814 1607 341
266 SliTaz Cooking 3702 5922 3229 1649
267 SliTaz Current 779 1863 698 243
268 SliTaz Next 3456 12181 3162 1977
269 Solus 4613 11646 4498 5954
270 Spack 8484 9685 7086 2920
271 Stackage LTS Haskell 3409 3411 3409 3248
272 Stackage Nightly 3260 3262 3260 3212
273 stal/IX 1105 1380 1076 1188
274 stal/IX dev 1106 1381 1077 1194
275 T2 SDE 6086 6175 5525 5160
276 Tails stable 3 2 1
277 Tails devel 3 2 1
278 Termux 2599 2674 2431 2097
279 Termux User Repository 265 297 212 127
280 Terra 39 353 2351 270 413
281 Terra 40 468 2865 351 894
282 Terra 41 500 3221 335 1484
283 Terra rawhide 511 3395 349 1645
284 Tin Can Linux 80 81 78 42
285 Trisquel 10.0 29817 32930 22577 7062
286 Trisquel 10.0 backports 68 82 64 10
287 Trisquel 11.0 33260 36144 24925 8844
288 Trisquel 11.0 backports 60 64 54 7
289 UBI 8 884 1623 826 157
290 Ubuntu 14.04 21435 24127 15857 3793
291 Ubuntu 14.04 Backports 108 109 90 2
292 Ubuntu 16.04 24908 27276 18589 4738
293 Ubuntu 16.04 Backports 24 25 21 0
294 Ubuntu 18.04 28653 30870 21029 5904
295 Ubuntu 18.04 Backports 18 15 0
296 Ubuntu 20.04 30756 32759 22834 7096
297 Ubuntu 20.04 Backports 21 19 1
298 Ubuntu 22.04 34140 36182 25188 8883
299 Ubuntu 22.04 Backports 21 20 1
300 Ubuntu 24.04 36970 38934 27560 11974
301 Ubuntu 24.04 Backports 18 17 1
302 Ubuntu 25.04 39087 39935 29140 15714
303 Ubuntu 25.04 Backports 3 3 0
304 Ubuntu 25.10 39153 39745 29111 17706
305 Ubuntu 25.10 Proposed 272 273 207 90
306 Vcpkg 2481 2696 1827 1217
307 Void Linux x86_64 8919 14331 8590 7324
308 WakeMeOps 188 3981 179 153
309 Wikidata 4582 5553 4501 3039
310 YACP 3719 3724 3014 2215

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
import csv
from bs4 import BeautifulSoup
from bs4 import BeautifulSoup, Tag
# Load your HTML (replace this with reading from a file or requests.get().text)
with open("packages_table.html", "r", encoding="utf-8") as f:
@@ -19,11 +19,16 @@ for tr in soup.select("tbody > tr"):
td_tags = tr.select("td")
if len(td_tags) >= 2:
def extract_value(td):
def extract_value(td: Tag) -> str:
span = td.select_one("span")
if span:
# Prefer title attribute, else text content
return span.get("title") or span.get_text(strip=True)
title = span.get("title")
if title is None:
title = span.get_text(strip=True)
elif type(title) is not str:
title = title[0]
return title
# Sometimes there's no <span>, just text inside <a> or <td>
return td.get_text(strip=True)

39
src/App.svelte Normal file
View File

@@ -0,0 +1,39 @@
<script lang="ts">
import 'reveal.js/dist/reveal.css'
import 'reveal.js/dist/theme/black.css'
import 'reveal.js/plugin/highlight/monokai.css'
import Reveal from 'reveal.js'
import Markdown from 'reveal.js/plugin/markdown/markdown.esm.js'
import RevealHighlight from 'reveal.js/plugin/highlight/highlight.esm.js'
import { onMount, tick } from 'svelte';
onMount(async () => {
await tick()
const deck = new Reveal({
plugins: [Markdown, RevealHighlight],
})
deck.initialize()
})
</script>
<svelte:head>
<title>Nix Presentation</title>
</svelte:head>
<div class="reveal">
<div class="slides">
<section data-markdown>
<textarea data-template>
## Slide 1
A paragraph with some text and a [link](https://hakim.se).
---
## Slide 2
---
## Slide 3
</textarea>
</section>
</div>
</div>

5
src/app.css Normal file
View File

@@ -0,0 +1,5 @@
#app {
width: 100%;
height: 100vh;
margin: 0 auto;
}

View File

@@ -1,9 +0,0 @@
export function setupCounter(element: HTMLButtonElement) {
let counter = 0
const setCounter = (count: number) => {
counter = count
element.innerHTML = `count is ${counter}`
}
element.addEventListener('click', () => setCounter(counter + 1))
setCounter(0)
}

View File

@@ -1,9 +1,9 @@
import Reveal from 'reveal.js'
import Markdown from 'reveal.js/plugin/markdown/markdown.esm.js'
import RevealHighlight from 'reveal.js/plugin/highlight/highlight.esm.js'
import { mount } from 'svelte'
import App from './App.svelte'
import './app.css'
let deck = new Reveal({
plugins: [Markdown, RevealHighlight],
const app = mount(App, {
target: document.getElementById('app')!,
})
deck.initialize()
export default app

74
src/repo-graph.ts Normal file
View File

@@ -0,0 +1,74 @@
import * as d3 from 'd3'
type PackageStat = {
Name: string
Packages: number
'Fresh Packages': number
}
const svg = d3.select('svg')
const width = +svg.attr('width') || 800
const height = +svg.attr('height') || 500
const margin = { top: 30, right: 20, bottom: 50, left: 70 }
const innerWidth = width - margin.left - margin.right
const innerHeight = height - margin.top - margin.bottom
const chart = svg.append('g').attr('transform', `translate(${margin.left},${margin.top})`)
// === Load CSV data ===
d3.csv<PackageStat, string>('packages.csv', d3.autoType).then((data) => {
// Define scales
const x = d3
.scaleLinear()
.domain([0, d3.max(data, (d) => d.Packages)])
.nice()
.range([0, innerWidth])
const y = d3
.scaleLinear()
.domain([0, d3.max(data, (d) => d['Fresh Packages'])])
.nice()
.range([innerHeight, 0])
// Add axes
chart
.append('g')
.attr('transform', `translate(0,${innerHeight})`)
.call(d3.axisBottom(x))
.append('text')
.attr('x', innerWidth / 2)
.attr('y', 40)
.attr('fill', 'black')
.attr('text-anchor', 'middle')
.text('Packages')
chart
.append('g')
.call(d3.axisLeft(y))
.append('text')
.attr('x', -innerHeight / 2)
.attr('y', -50)
.attr('fill', 'black')
.attr('text-anchor', 'middle')
.attr('transform', 'rotate(-90)')
.text('Fresh Packages')
// Add points
chart
.selectAll('circle')
.data(data)
.join('circle')
.attr('cx', (d) => x(d.Packages))
.attr('cy', (d) => y(d['Fresh Packages']))
.attr('r', 5)
// Add labels
chart
.selectAll('text.label')
.data(data)
.join('text')
.attr('class', 'label')
.attr('x', (d) => x(d.Packages) + 7)
.attr('y', (d) => y(d['Fresh Packages']))
.text((d) => d.Name)
})

View File

@@ -1,96 +0,0 @@
:root {
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body {
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
#app {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
}
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vanilla:hover {
filter: drop-shadow(0 0 2em #3178c6aa);
}
.card {
padding: 2em;
}
.read-the-docs {
color: #888;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="32" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path fill="#007ACC" d="M0 128v128h256V0H0z"></path><path fill="#FFF" d="m56.612 128.85l-.081 10.483h33.32v94.68h23.568v-94.68h33.321v-10.28c0-5.69-.122-10.444-.284-10.566c-.122-.162-20.4-.244-44.983-.203l-44.74.122l-.121 10.443Zm149.955-10.742c6.501 1.625 11.459 4.51 16.01 9.224c2.357 2.52 5.851 7.111 6.136 8.208c.08.325-11.053 7.802-17.798 11.988c-.244.162-1.22-.894-2.317-2.52c-3.291-4.795-6.745-6.867-12.028-7.233c-7.76-.528-12.759 3.535-12.718 10.321c0 1.992.284 3.17 1.097 4.795c1.707 3.536 4.876 5.649 14.832 9.956c18.326 7.883 26.168 13.084 31.045 20.48c5.445 8.249 6.664 21.415 2.966 31.208c-4.063 10.646-14.14 17.879-28.323 20.276c-4.388.772-14.79.65-19.504-.203c-10.28-1.828-20.033-6.908-26.047-13.572c-2.357-2.6-6.949-9.387-6.664-9.874c.122-.163 1.178-.813 2.356-1.504c1.138-.65 5.446-3.129 9.509-5.485l7.355-4.267l1.544 2.276c2.154 3.29 6.867 7.801 9.712 9.305c8.167 4.307 19.383 3.698 24.909-1.26c2.357-2.153 3.332-4.388 3.332-7.68c0-2.966-.366-4.266-1.91-6.501c-1.99-2.845-6.054-5.242-17.595-10.24c-13.206-5.69-18.895-9.224-24.096-14.832c-3.007-3.25-5.852-8.452-7.03-12.8c-.975-3.617-1.22-12.678-.447-16.335c2.723-12.76 12.353-21.659 26.25-24.3c4.51-.853 14.994-.528 19.424.569Z"></path></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

8
svelte.config.js Normal file
View File

@@ -0,0 +1,8 @@
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
/** @type {import("@sveltejs/vite-plugin-svelte").SvelteConfig} */
export default {
// Consult https://svelte.dev/docs#compile-time-svelte-preprocess
// for more information about preprocessors
preprocess: vitePreprocess(),
}

21
tsconfig.app.json Normal file
View File

@@ -0,0 +1,21 @@
{
"extends": "@tsconfig/svelte/tsconfig.json",
"compilerOptions": {
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
"target": "ES2022",
"useDefineForClassFields": true,
"module": "ESNext",
"types": ["svelte", "vite/client"],
"noEmit": true,
/**
* Typecheck JS in `.svelte` and `.js` files by default.
* Disable checkJs if you'd like to use dynamic types in JS.
* Note that setting allowJs false does not prevent the use
* of JS in `.svelte` files.
*/
"allowJs": true,
"checkJs": true,
"moduleDetection": "force"
},
"include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"]
}

View File

@@ -1,26 +1,7 @@
{
"compilerOptions": {
"target": "ES2022",
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"types": ["vite/client"],
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"moduleDetection": "force",
"noEmit": true,
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
"include": ["src"]
"files": [],
"references": [
{ "path": "./tsconfig.app.json" },
{ "path": "./tsconfig.node.json" }
]
}

26
tsconfig.node.json Normal file
View File

@@ -0,0 +1,26 @@
{
"compilerOptions": {
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
"target": "ES2023",
"lib": ["ES2023"],
"module": "ESNext",
"types": ["node"],
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"moduleDetection": "force",
"noEmit": true,
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
"include": ["vite.config.ts"]
}

7
vite.config.ts Normal file
View File

@@ -0,0 +1,7 @@
import { defineConfig } from 'vite'
import { svelte } from '@sveltejs/vite-plugin-svelte'
// https://vite.dev/config/
export default defineConfig({
plugins: [svelte()],
})