{ "name": "velxio", "homepage": "https://velxio.dev", "private": true, "version": "3.0.0", "type": "module", "scripts": { "generate:metadata": "cd .. && npx tsx scripts/generate-component-metadata.ts", "generate:favicons": "node ../scripts/generate-favicons.mjs", "generate:og-image": "node ../scripts/generate-og-image.mjs", "generate:sitemap": "node scripts/generate-sitemap.mjs", "generate:component-svgs": "node ../scripts/generate-component-svgs.cjs", "translate:i18n": "node scripts/translate-i18n.mjs", "dev": "npm run generate:metadata && npm run generate:component-svgs && vite", "build": "npm run generate:metadata && npm run generate:component-svgs && npm run generate:sitemap && tsc -b && vite build && node scripts/prerender-seo.mjs", "build:docker": "npm run generate:component-svgs && npm run generate:sitemap && vite build && node scripts/prerender-seo.mjs", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write \"src/**/*.{ts,tsx,css}\"", "format:check": "prettier --check \"src/**/*.{ts,tsx,css}\"", "check": "npm run lint && npm run format:check", "preview": "vite preview", "postinstall": "node scripts/copy-monaco.mjs", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "test:ui": "vitest --ui", "tsc": "tsc -b", "test:libraries": "RUN_LIBRARY_TESTS=1 vitest run src/__tests__/library-compile.integration.test.ts", "test:visual": "node ../scripts/visual-led-test.mjs" }, "dependencies": { "@google/genai": "^0.6.0", "@monaco-editor/react": "^4.7.0", "@tanstack/react-table": "^8.20.5", "monaco-editor": "0.55.1", "@types/react-syntax-highlighter": "^15.5.13", "@wokwi/elements": "1.9.2", "@xterm/addon-fit": "^0.11.0", "@xterm/xterm": "^6.0.0", "avr8js": "0.21.0", "axios": "^1.13.6", "i18next": "^23.16.4", "i18next-browser-languagedetector": "^8.0.0", "idb-keyval": "^6.2.2", "jszip": "^3.10.1", "littlefs": "^0.1.0", "lucide-react": "^0.460.0", "react": "^19.2.0", "react-dom": "^19.2.0", "react-i18next": "^15.1.0", "react-markdown": "^10.1.0", "react-router-dom": "^7.13.1", "react-syntax-highlighter": "^16.1.1", "recharts": "^3.8.1", "remark-gfm": "^4.0.1", "rp2040js": "1.3.2", "zod": "^3.23.8", "zustand": "^5.0.11" }, "devDependencies": { "@eslint/js": "^9.39.1", "@types/jszip": "^3.4.0", "@types/node": "^24.11.0", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.1", "@vitest/coverage-v8": "^4.0.18", "@vitest/ui": "^4.0.18", "eslint": "^9.39.1", "eslint-config-prettier": "10.1.8", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "jsdom": "^28.1.0", "prettier": "3.8.3", "typescript": "~5.9.3", "typescript-eslint": "^8.48.0", "vite": "^7.3.1", "vitest": "^4.0.18" } }