package.json
Rama master · réplica de lectura del repositorio original.
{
"name": "markdown-preview-editor",
"version": "1.0.0",
"private": true,
"description": "Self-hosted, privacy-first Markdown editor and live previewer. Documents never leave the browser: no backend, no tracking, strict CSP, sandboxed preview.",
"keywords": [
"markdown",
"markdown-editor",
"markdown-preview",
"markdown-viewer",
"live-preview",
"privacy",
"self-hosted",
"offline",
"client-side",
"content-security-policy",
"sandbox",
"xss",
"dompurify",
"codemirror",
"mermaid",
"katex",
"static-site",
"drag-and-drop"
],
"license": "MIT",
"type": "module",
"engines": {
"node": ">=20"
},
"scripts": {
"prepare-assets": "node scripts/prepare-assets.mjs",
"dev": "npm run prepare-assets && vite",
"build": "npm run prepare-assets && tsc --noEmit && vite build && node scripts/package.mjs",
"preview": "vite preview --port 4173 --strictPort",
"test": "vitest run",
"test:e2e": "playwright test",
"check": "npm run build && npm test && npm run test:e2e"
},
"dependencies": {
"@codemirror/commands": "^6.11.1",
"@codemirror/lang-markdown": "^6.5.2",
"@codemirror/language": "^6.12.4",
"@codemirror/language-data": "^6.5.2",
"@codemirror/search": "^6.7.2",
"@codemirror/state": "^6.7.6",
"@codemirror/view": "^6.43.13",
"@lezer/highlight": "^1.2.4",
"codemirror": "^6.0.2",
"dompurify": "^3.4.16",
"github-markdown-css": "^5.9.0",
"highlight.js": "^11.12.0",
"ipaddr.js": "^2.5.0",
"katex": "^0.18.9",
"lucide": "^1.48.0",
"markdown-it": "^15.0.2",
"markdown-it-emoji": "^3.1.0",
"markdown-it-footnote": "^4.0.0",
"markdown-it-front-matter": "^0.2.4",
"markdown-it-github-alerts": "^1.0.1",
"markdown-it-mark": "^4.0.0",
"markdown-it-sub": "^2.0.0",
"markdown-it-sup": "^2.0.0",
"markdown-it-task-lists": "^2.1.1",
"mermaid": "^12.0.0",
"tldts": "^7.4.15"
},
"devDependencies": {
"@axe-core/playwright": "^4.13.0",
"@playwright/test": "^1.63.0",
"axe-core": "^4.13.0",
"fflate": "^0.8.3",
"jsdom": "^30.1.1",
"typescript": "^7.0.2",
"vite": "^8.3.1",
"vitest": "^5.0.2"
}
}