{ "name": "tidgi", "productName": "TidGi", "description": "Customizable personal knowledge-base with Github as unlimited storage and blogging platform.", "version": "0.13.0-prerelease11", "license": "MPL 2.0", "packageManager": "pnpm@10.18.2", "scripts": { "start:init": "pnpm run clean && pnpm run init:git-submodule && pnpm run build:plugin && cross-env NODE_ENV=development tsx scripts/developmentMkdir.ts && pnpm run start:dev", "start:dev": "cross-env NODE_ENV=development electron-forge start", "clean": "pnpm run clean:cache && rimraf -- ./out ./logs ./userData-dev ./userData-test ./wiki-dev ./wiki-test ./node_modules/tiddlywiki/plugins/linonetwo", "clean:cache": "rimraf -- ./node_modules/.vite .vite", "start:dev:debug-worker": "cross-env NODE_ENV=development DEBUG_WORKER=true electron-forge start", "start:dev:debug-main": "cross-env NODE_ENV=development DEBUG_MAIN=true electron-forge start", "start:dev:debug-vite": "cross-env NODE_ENV=development DEBUG=electron-forge:* electron-forge start", "start:dev:debug-react": "cross-env NODE_ENV=development DEBUG_REACT=true electron-forge start", "build:plugin": "zx scripts/compilePlugins.mjs", "test": "pnpm run test:unit && pnpm run test:prepare-e2e && pnpm run test:e2e", "test:unit": "cross-env ELECTRON_RUN_AS_NODE=1 ./node_modules/.bin/electron --max-old-space-size=8192 ./node_modules/vitest/vitest.mjs run", "test:unit:coverage": "pnpm run test:unit --coverage", "test:prepare-e2e": "cross-env READ_DOC_BEFORE_USING='docs/Testing.md' && pnpm run clean && pnpm run build:plugin && cross-env NODE_ENV=test DEBUG=electron-forge:* electron-forge package", "test:e2e": "rimraf -- ./userData-test ./wiki-test && cross-env NODE_ENV=test tsx scripts/developmentMkdir.ts && cross-env NODE_ENV=test cucumber-js --config features/cucumber.config.js", "test:manual-e2e": "pnpm exec cross-env NODE_ENV=test tsx ./scripts/start-e2e-app.ts", "make": "pnpm run build:plugin && cross-env NODE_ENV=production electron-forge make", "make:analyze": "cross-env ANALYZE=true pnpm run make", "init:git-submodule": "git submodule update --init --recursive && git submodule update --remote", "lint": "eslint ./src ./features ./scripts ./localization ./*.ts --ext js,ts,tsx,json", "lint:fix": "eslint ./src ./features ./scripts ./localization ./*.ts --ext ts,tsx,json --fix", "check": "tsc --noEmit --skipLibCheck", "installType": "typesync" }, "repository": "https://github.com/tiddly-gittly/TidGi-Desktop", "author": "Lin Onetwo , Quang Lam ", "main": ".vite/build/main.js", "dependencies": { "@ai-sdk/anthropic": "^2.0.45", "@ai-sdk/deepseek": "^1.0.29", "@ai-sdk/openai": "^2.0.71", "@ai-sdk/openai-compatible": "^1.0.27", "@algolia/autocomplete-js": "^1.19.4", "@algolia/autocomplete-theme-classic": "^1.19.4", "@dnd-kit/core": "6.3.1", "@dnd-kit/modifiers": "9.0.0", "@dnd-kit/sortable": "10.0.0", "@dnd-kit/utilities": "3.2.2", "@dr.pogodin/react-helmet": "^3.0.4", "@fontsource/roboto": "^5.2.8", "@monaco-editor/react": "^4.7.0", "@mui/icons-material": "^7.3.5", "@mui/material": "^7.3.5", "@mui/system": "^7.3.5", "@mui/types": "^7.4.8", "@mui/x-date-pickers": "^8.19.0", "@rjsf/core": "6.1.2", "@rjsf/mui": "6.1.2", "@rjsf/utils": "6.1.2", "@rjsf/validator-ajv8": "6.1.2", "@tomplum/react-git-log": "^3.5.0", "ai": "^5.0.98", "ansi-to-html": "^0.7.2", "app-path": "^4.0.0", "beautiful-react-hooks": "5.0.3", "best-effort-json-parser": "1.2.1", "better-sqlite3": "^12.4.5", "bluebird": "3.7.2", "date-fns": "3.6.0", "default-gateway": "6.0.3", "dugite": "3.0.0", "electron-dl": "^4.0.0", "electron-ipc-cat": "2.2.3", "electron-settings": "5.0.0", "electron-unhandled": "4.0.1", "electron-window-state": "5.0.3", "espree": "^11.0.0", "exponential-backoff": "^3.1.3", "fs-extra": "11.3.2", "git-sync-js": "^2.3.1", "graphql-hooks": "8.2.0", "html-minifier-terser": "^7.2.0", "i18next": "25.6.3", "i18next-electron-fs-backend": "3.0.3", "i18next-fs-backend": "2.6.1", "immer": "^10.2.0", "intercept-stdout": "0.1.2", "inversify": "7.10.4", "ipaddr.js": "2.2.0", "jimp": "1.6.0", "json5": "^2.2.3", "lodash": "4.17.21", "material-ui-popup-state": "^5.3.6", "menubar": "9.5.2", "monaco-editor": "^0.55.1", "nanoid": "^5.1.6", "new-github-issue-url": "^1.1.0", "node-fetch": "3.3.2", "nsfw": "^2.2.5", "oidc-client-ts": "^3.4.1", "ollama-ai-provider-v2": "^1.5.5", "react": "19.2.0", "react-dom": "19.2.0", "react-i18next": "16.3.5", "react-masonry-css": "^1.0.16", "react-window": "^2.2.3", "reflect-metadata": "0.2.2", "registry-js": "1.16.1", "rotating-file-stream": "^3.2.7", "rxjs": "7.8.2", "semver": "7.7.3", "serialize-error": "^12.0.0", "simplebar": "6.3.3", "simplebar-react": "3.3.2", "source-map-support": "0.5.21", "sqlite-vec": "0.1.7-alpha.2", "strip-ansi": "^7.1.2", "tapable": "^2.3.0", "tiddlywiki": "5.3.8", "type-fest": "5.2.0", "typeorm": "^0.3.27", "typescript-styled-is": "^2.1.0", "v8-compile-cache-lib": "^3.0.1", "winston": "3.18.3", "winston-daily-rotate-file": "5.0.0", "winston-transport": "4.9.0", "wouter": "^3.7.1", "zod": "^4.1.12", "zustand": "^5.0.8", "zx": "8.8.5" }, "optionalDependencies": { "@electron-forge/maker-deb": "7.10.2", "@electron-forge/maker-flatpak": "7.10.2", "@electron-forge/maker-msix": "7.10.2", "@electron-forge/maker-rpm": "7.10.2", "@electron-forge/maker-snap": "7.10.2", "@electron-forge/maker-squirrel": "7.10.2", "@electron-forge/maker-zip": "7.10.2", "@reforged/maker-appimage": "5.1.0" }, "devDependencies": { "@cucumber/cucumber": "^12.2.0", "@electron-forge/cli": "7.10.2", "@electron-forge/plugin-auto-unpack-natives": "7.10.2", "@electron-forge/plugin-vite": "7.10.2", "@electron/rebuild": "^4.0.1", "@fetsorn/vite-node-worker": "^1.0.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/better-sqlite3": "^7.6.13", "@types/bluebird": "3.5.42", "@types/chai": "5.2.3", "@types/fs-extra": "11.0.4", "@types/html-minifier-terser": "^7.0.2", "@types/intercept-stdout": "0.1.4", "@types/lodash": "4.17.20", "@types/node": "24.10.1", "@types/react": "19.2.6", "@types/react-dom": "19.2.3", "@types/react-jsonschema-form": "^1.7.13", "@types/semver": "7.7.1", "@types/source-map-support": "0.5.10", "@vitejs/plugin-react": "^5.1.1", "@vitest/coverage-v8": "^3.2.4", "@vitest/ui": "^3.2.4", "chai": "6.2.0", "cross-env": "10.1.0", "dprint": "^0.50.2", "electron": "39.2.3", "electron-chrome-web-store": "^0.13.0", "esbuild": "^0.27.0", "eslint-config-tidgi": "^2.2.0", "identity-obj-proxy": "^3.0.0", "jsdom": "^27.2.0", "memory-fs": "^0.5.0", "node-loader": "2.1.0", "oauth2-mock-server": "^8.2.0", "path-browserify": "^1.0.1", "playwright": "^1.56.1", "rimraf": "^6.1.2", "ts-node": "10.9.2", "tsx": "^4.20.6", "tw5-typed": "^1.0.5", "typescript": "5.9.3", "typesync": "0.14.3", "unplugin-swc": "^1.5.8", "vite": "^7.2.4", "vite-bundle-analyzer": "^1.2.3", "vitest": "^3.2.4" }, "pnpm": { "overrides": { "prebuild-install": "latest", "node-addon-api": "^7.1.1" }, "onlyBuiltDependencies": [ "@swc/core", "better-sqlite3", "dprint", "dugite", "electron", "electron-winstaller", "esbuild", "nsfw", "registry-js", "unrs-resolver" ], "patchedDependencies": {} }, "private": false }