package.json
{
"name": "@kremalicious/blog",
"version": "5.0.0",
"author": "Matthias Kretschmann <m@kretschmann.io>",
"description": "Blog of Designer & Developer Matthias Kretschmann",
"homepage": "https://kremalicious.com",
"license": "MIT",
"type": "module",
"scripts": {
"start": "npm run prebuild && astro dev --config '.config/astro.config.ts'",
"build": "astro build --config '.config/astro.config.ts'",
"preview": "astro preview",
"typecheck:astro": "astro check",
"typecheck:tsc": "tsc --noEmit --pretty",
"typecheck": "npm run typecheck:astro && npm run typecheck:tsc",
"prebuild": "run-p --silent --continue-on-error create:symlinks create:icons move:downloads",
"test:unit": "vitest run --config './test/vitest.config.ts' --coverage",
"test:unit:watch": "vitest watch --config './test/vitest.config.ts' --coverage",
"test:e2e": "playwright test --config './test/playwright.config.ts'",
"lint:md": "markdownlint --config '.config/markdownlint.json' --ignore-path .gitignore --dot './**/*.{md,markdown}'",
"lint:biome": "biome check --write .",
"lint": "run-p --silent lint:biome lint:md",
"deploy:s3": "./scripts/deploy-s3.sh",
"new": "tsx scripts/new/index.ts",
"create:icons": "tsx scripts/create-icons/index.ts",
"create:redirects": "tsx scripts/redirect-from.ts",
"create:symlinks": "./scripts/create-symlinks.sh",
"move:downloads": "tsx scripts/move-downloads.ts",
"prepare": "husky .config/husky"
},
"lint-staged": {
"*.{js,jsx,ts,tsx,astro,css,json,md}": ["biome check --write ."],
"*.md": ["markdownlint --config '.config/markdownlint.json'"]
},
"dependencies": {
"@astrojs/check": "^0.9.2",
"@astrojs/react": "^3.6.2",
"@astrojs/rss": "^4.0.7",
"@astrojs/sitemap": "^3.1.6",
"@coingecko/cryptoformat": "^0.8.2",
"@nanostores/persistent": "^0.10.2",
"@nanostores/query": "^0.3.4",
"@nanostores/react": "^0.7.3",
"@radix-ui/react-select": "^2.1.1",
"@rainbow-me/rainbowkit": "^2.1.4",
"@tanstack/react-query": "^5.51.23",
"astro": "4.13.3",
"astro-expressive-code": "^0.35.6",
"astro-redirect-from": "^1.2.0",
"date-fns": "^3.6.0",
"dms2dec": "^1.1.0",
"fast-exif": "^2.0.1",
"feather-icons": "^4.29.2",
"fraction.js": "^4.3.7",
"fuse.js": "^7.0.0",
"motion": "^10.18.0",
"nanostores": "^0.11.2",
"pigeon-maps": "^0.21.6",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"sharp": "^0.33.4",
"slugify": "^1.6.6",
"swr": "^2.2.5",
"viem": "^2.19.4",
"wagmi": "^2.12.5"
},
"devDependencies": {
"@biomejs/biome": "^1.8.3",
"@kremalicious/config": "^1.0.2",
"@playwright/test": "^1.46.0",
"@testing-library/jest-dom": "^6.4.8",
"@testing-library/react": "^16.0.0",
"@types/node": "^22.2.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@vitest/coverage-v8": "^2.0.5",
"@vitest/ui": "^2.0.5",
"globby": "^14.0.2",
"hast-util-to-html": "^9.0.1",
"husky": "^9.1.4",
"jsdom": "^24.1.1",
"markdownlint-cli": "^0.41.0",
"mdast-util-to-hast": "^13.2.0",
"mdast-util-to-string": "^4.0.0",
"mdast-util-toc": "^7.1.0",
"node-iptc": "^1.0.5",
"npm-run-all": "^4.1.5",
"ora": "^8.0.1",
"sharp-ico": "^0.1.5",
"svgo": "^3.3.2",
"tsx": "^4.17.0",
"typescript": "^5.5.4",
"unist-util-visit": "^5.0.0",
"vite-tsconfig-paths": "^5.0.1",
"vitest": "^2.0.5"
},
"engines": {
"node": "20"
},
"repository": {
"type": "git",
"url": "https://github.com/kremalicious/blog.git"
},
"browserslist": {
"production": ["defaults", ">0.2%"],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}