package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "vibe-learn",
"productName": "Vibe Learn",
"version": "2.3.0",
"private": true,
"description": "Offline courses and projects, with learner-owned workspaces.",
"author": "James Milne",
"license": "MIT",
"main": "build/app/main/bootstrap.js",
"scripts": {
"dev": "npm run content && electron-vite dev",
"app": "npm run dev",
"content": "tsx src/content/compile.ts",
"validate:content": "tsx src/content/compile.ts --check",
"build": "npm run content && electron-vite build && tsx scripts/build-preview.ts",
"preview": "npm run build && vite preview --host 127.0.0.1 --port 5173 --strictPort",
"typecheck": "tsc --noEmit",
"lint": "eslint src scripts/*.ts tests/v2",
"test": "vitest run",
"test:ui": "playwright test",
"verify": "npm run typecheck && npm run lint && npm run validate:content && npm test && npm run build && npm run test:ui",
"prepare:desktop": "npm run build && tsx scripts/prepare-app.ts",
"package:desktop": "npm run prepare:desktop && electron-forge package",
"make:desktop": "npm run prepare:desktop && electron-forge make",
"smoke:desktop": "tsx scripts/smoke-desktop.ts",
"new-course": "tsx scripts/create-course.ts",
"publish:app-update": "tsx scripts/publish-app-update.ts"
},
"dependencies": {
"@fontsource-variable/source-serif-4": "^5.3.0",
"@fontsource/ibm-plex-mono": "^5.3.0",
"@fontsource/ibm-plex-sans": "^5.3.0",
"@radix-ui/react-dialog": "^1.1.15",
"@tanstack/react-query": "^5.90.0",
"better-sqlite3": "^13.0.3",
"cheerio": "^1.1.2",
"highlight.js": "^11.11.1",
"js-yaml": "^4.1.0",
"marked": "^15.0.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react-router-dom": "^7.9.0",
"sanitize-html": "^2.17.0",
"ts-fsrs": "^5.4.2",
"zod": "^4.1.0"
},
"devDependencies": {
"@electron-forge/cli": "^7.11.2",
"@electron-forge/maker-dmg": "^7.11.2",
"@electron-forge/maker-squirrel": "^7.11.2",
"@electron-forge/maker-zip": "^7.11.2",
"@eslint/js": "^9.39.0",
"@playwright/test": "^1.58.0",
"@types/better-sqlite3": "^7.6.13",
"@types/js-yaml": "^4.0.9",
"@types/node": "^24.0.0",
"@types/react": "^19.2.0",
"@types/react-dom": "^19.2.0",
"@types/sanitize-html": "^2.16.0",
"@vitejs/plugin-react": "^5.1.0",
"electron": "^43.0.0",
"electron-vite": "^5.0.0",
"eslint": "^9.39.0",
"tsx": "^4.20.0",
"typescript": "^5.9.0",
"typescript-eslint": "^8.48.0",
"vite": "^7.3.0",
"vitest": "^4.0.0"
},
"engines": {
"node": ">=24"
}
}