{ "name": "obsiwatcher---obsidian-vault-viewer", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "ng serve", "build": "ng build", "prod": "ng build --configuration=production", "build:workers": "ng build", "preview": "ng serve --configuration=production --port 3000 --host 127.0.0.1", "test": "ng test", "test:e2e": "playwright test", "test:excalidraw": "node server/excalidraw-obsidian.test.mjs", "migrate:excalidraw": "node server/migrate-excalidraw.mjs", "migrate:excalidraw:dry": "node server/migrate-excalidraw.mjs --dry-run", "clean": "rimraf .angular node_modules/.vite dist", "meili:up": "docker compose -f docker-compose/docker-compose.yml up -d meilisearch", "meili:down": "docker compose -f docker-compose/docker-compose.yml down meilisearch", "meili:reindex": "npx cross-env MEILI_MASTER_KEY=devMeiliKey123 MEILI_HOST=http://127.0.0.1:7700 node server/meilisearch-indexer.mjs", "meili:rebuild": "npm run meili:up && npm run meili:reindex", "bench:search": "npx cross-env MEILI_MASTER_KEY=devMeiliKey123 node scripts/bench-search.mjs", "enrich:all": "node scripts/enrich-all-notes.mjs", "enrich:dry": "node scripts/enrich-all-notes.mjs --dry-run", "test:frontmatter": "node server/ensureFrontmatter.test.mjs" }, "dependencies": { "@angular/animations": "20.3.2", "@angular/build": "20.3.2", "@angular/cdk": "20.2.7", "@angular/cli": "20.3.2", "@angular/common": "20.3.2", "@angular/compiler": "20.3.2", "@angular/compiler-cli": "20.3.2", "@angular/core": "20.3.2", "@angular/forms": "20.3.2", "@angular/localize": "20.3.2", "@angular/platform-browser": "20.3.2", "@angular/platform-browser-dynamic": "20.3.2", "@angular/router": "20.3.2", "@codemirror/autocomplete": "^6.19.0", "@codemirror/commands": "^6.9.0", "@codemirror/lang-markdown": "^6.4.0", "@codemirror/language": "^6.11.3", "@codemirror/legacy-modes": "^6.5.2", "@codemirror/lint": "^6.9.0", "@codemirror/search": "^6.5.11", "@codemirror/state": "^6.5.2", "@codemirror/view": "^6.38.6", "@excalidraw/excalidraw": "^0.17.0", "@excalidraw/utils": "^0.1.0", "@lezer/highlight": "^1.2.2", "@types/markdown-it": "^14.0.1", "angular-calendar": "^0.32.0", "chokidar": "^4.0.3", "d3-force": "^3.0.0", "d3-selection": "^3.0.0", "d3-zoom": "^3.0.0", "date-fns": "^4.1.0", "dotenv": "^16.4.7", "express": "^5.1.0", "fast-glob": "^3.3.2", "gray-matter": "^4.0.3", "highlight.js": "^11.10.0", "lz-string": "^1.5.0", "markdown-it": "^14.1.0", "markdown-it-anchor": "^8.6.7", "markdown-it-attrs": "^4.3.1", "markdown-it-footnote": "^3.0.3", "markdown-it-mathjax3": "^5.1.0", "markdown-it-multimd-table": "^4.2.3", "markdown-it-task-lists": "^2.1.1", "meilisearch": "^0.44.1", "mermaid": "^11.12.0", "pathe": "^1.1.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-to-webcomponent": "^2.0.0", "remove-markdown": "^0.5.2", "rxjs": "^7.8.2", "tailwindcss": "^3.4.14", "transliteration": "^2.3.5", "type-fest": "^5.0.1", "yaml": "^2.8.1", "zod": "^3.23.8" }, "devDependencies": { "@angular-devkit/build-angular": "20.3.2", "@playwright/test": "^1.55.1", "@tailwindcss/forms": "^0.5.9", "@tailwindcss/typography": "^0.5.15", "@types/jasmine": "^5.1.9", "@types/jest": "^30.0.0", "@types/node": "^22.14.0", "@types/react": "^18.3.10", "@types/react-dom": "^18.3.0", "autocannon": "^7.15.0", "autoprefixer": "^10.4.20", "cross-env": "^10.1.0", "jasmine-core": "^5.11.0", "karma": "^6.4.4", "karma-chrome-launcher": "^3.2.0", "karma-coverage": "^2.2.1", "karma-jasmine": "^5.1.0", "karma-jasmine-html-reporter": "^2.1.0", "postcss": "^8.4.49", "ts-node": "^10.9.2", "typescript": "~5.8.2", "vite": "^6.2.0", "zone.js": "^0.15.1" }, "resolutions": { "@angular/core": "20.3.2", "@angular/cli": "20.3.2", "@angular/compiler": "20.3.2", "@angular/compiler-cli": "20.3.2", "@angular/build": "20.3.2", "@angular/localize": "20.3.2", "@angular/animations": "20.3.2", "@angular/common": "20.3.2", "@angular/forms": "20.3.2", "@angular/platform-browser": "20.3.2", "@angular/platform-browser-dynamic": "20.3.2", "@angular/router": "20.3.2", "@angular/cdk": "20.2.7" } }