{ "name": "radicle-explorer", "private": true, "version": "1.0.0", "scripts": { "start": "vite", "serve": "vite preview", "build": "vite build && scripts/copy-katex-assets && scripts/install-twemoji-assets", "postinstall": "scripts/copy-katex-assets && scripts/install-twemoji-assets", "check": "scripts/check", "check:radicle-httpd": "cd radicle-httpd && cargo clippy --all --tests && cargo fmt --all --check", "format": "npx prettier '**/*.@(ts|js|svelte|json|css|html|yml)' --write", "test:unit": "TZ='UTC' vitest run", "test:e2e": "NODE_CONFIG_ENV='test' TZ='UTC' playwright test", "test:e2e:local": "scripts/compile-local-httpd && USE_LOCAL_HTTPD=true NODE_CONFIG_ENV='test' TZ='UTC' playwright test", "test:http-client:unit": "NODE_CONFIG_ENV='test' TZ='UTC' vitest run --config http-client/vite.config.ts --reporter verbose", "test:http-client:unit:local": "scripts/compile-local-httpd && USE_LOCAL_HTTPD=true NODE_CONFIG_ENV='test' TZ='UTC' vitest run --config http-client/vite.config.ts --reporter verbose", "test:radicle-httpd": "cd radicle-httpd && cargo test --all-features", "deploy": "rimraf build && npm clean-install && npm run build && scripts/inject-plausible && npx wrangler deploy", "deploy:open-graph": "cd workers/open-graph && npx wrangler deploy", "start:open-graph": "cd workers/open-graph && npx wrangler dev" }, "type": "module", "engines": { "node": ">=24" }, "devDependencies": { "@eslint/js": "^10.0.1", "@playwright/test": "^1.59.1", "@sveltejs/vite-plugin-svelte": "^7.0.0", "@tsconfig/svelte": "^5.0.8", "@types/katex": "^0.16.8", "@types/lodash": "^4.17.24", "@types/md5": "^2.3.6", "@types/node": "^24", "@types/wait-on": "^5.3.4", "@typescript-eslint/parser": "^8.59.0", "chalk": "^5.6.2", "config": "^4.4.1", "eslint": "^10.2.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-svelte": "^3.17.1", "execa": "^9.6.1", "get-port": "^7.2.0", "globals": "^17.5.0", "happy-dom": "^20.9.0", "prettier": "^3.8.3", "prettier-plugin-svelte": "^3.5.1", "rimraf": "^6.1.3", "svelte-check": "^4.4.6", "svelte-eslint-parser": "^1.6.0", "typescript": "^6.0.3", "typescript-eslint": "^8.59.0", "vite": "^8.0.9", "vitest": "^4.1.5", "wait-on": "^9.0.5" }, "dependencies": { "@radicle/gray-matter": "4.1.0", "@wooorm/starry-night": "^3.9.0", "async-mutex": "^0.5.0", "baconjs": "^3.0.23", "bs58": "^6.0.0", "buffer": "^6.0.3", "compare-versions": "^6.1.1", "dompurify": "^3.4.1", "fuzzysort": "^3.1.0", "hast-util-to-dom": "^4.0.1", "hast-util-to-html": "^9.0.5", "lodash": "^4.18.1", "lru-cache": "^11.3.5", "marked": "^18.0.2", "marked-emoji": "^2.0.3", "marked-footnote": "^1.4.0", "marked-katex-extension": "^5.1.8", "marked-linkify-it": "^3.1.15", "md5": "^2.3.0", "svelte": "^5.55.4", "twemoji": "^14.0.2", "zod": "^4.3.6" } }