{ "name": "tidgi", "productName": "TidGi", "description": "Customizable personal knowledge-base with Github as unlimited storage and blogging platform.", "version": "0.12.1", "license": "MPL 2.0", "scripts": { "start": "pnpm run clean && pnpm run init:git-submodule && pnpm run build:plugin && pnpm run start:dev", "start:dev": "cross-env NODE_ENV=development electron-forge start", "clean": "rimraf -- ./out ./logs ./userData-dev ./node_modules/tiddlywiki/plugins/linonetwo && cross-env NODE_ENV=development npx ts-node scripts/developmentMkdir.ts && pnpm run clean:cache", "clean:cache": "rimraf -- ./.webpack ./node_modules/.cache", "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-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 package && pnpm run test:e2e", "test:unit": "jest", "test:e2e": "cross-env NODE_ENV=test cucumber-js --config features/cucumber.config.js", "package": "pnpm run build:plugin && cross-env NODE_ENV=test electron-forge package", "make": "pnpm run build:plugin && cross-env NODE_ENV=production electron-forge make", "init:git-submodule": "git submodule update --recursive && git submodule update --remote", "lint": "eslint ./src --ext js,ts,tsx,json", "lint:fix": "eslint ./src --ext ts,tsx --fix", "installType": "typesync" }, "repository": "https://github.com/tiddly-gittly/TidGi-Desktop", "author": "Lin Onetwo , Quang Lam ", "main": ".webpack/main", "dependencies": { "@ai-sdk/anthropic": "^1.2.11", "@ai-sdk/deepseek": "^0.2.14", "@ai-sdk/openai": "^1.3.22", "@ai-sdk/openai-compatible": "^0.2.14", "@algolia/autocomplete-js": "^1.19.1", "@algolia/autocomplete-theme-classic": "^1.19.1", "@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.2", "@fontsource/roboto": "^5.1.1", "@monaco-editor/react": "^4.7.0", "@mui/icons-material": "^7.1.1", "@mui/material": "^7.1.1", "@mui/styled-engine-sc": "7.1.1", "@mui/system": "^7.1.1", "@mui/types": "^7.4.3", "@mui/x-date-pickers": "^8.4.0", "@rjsf/core": "6.0.0-beta.8", "@rjsf/mui": "6.0.0-beta.10", "@rjsf/utils": "6.0.0-beta.10", "@rjsf/validator-ajv8": "6.0.0-beta.8", "ai": "^4.3.15", "ansi-to-html": "^0.7.2", "app-path": "^4.0.0", "beautiful-react-hooks": "5.0.3", "best-effort-json-parser": "1.1.3", "better-sqlite3": "^11.9.1", "bluebird": "3.7.2", "date-fns": "3.6.0", "default-gateway": "6.0.3", "dugite": "2.7.1", "electron-dl": "^4.0.0", "electron-ipc-cat": "2.0.1", "electron-settings": "5.0.0", "electron-unhandled": "4.0.1", "electron-window-state": "5.0.3", "espree": "^10.3.0", "exponential-backoff": "^3.1.1", "fs-extra": "11.3.0", "git-sync-js": "^2.0.5", "graphql-hooks": "8.2.0", "html-minifier-terser": "^7.2.0", "i18next": "25.2.1", "i18next-electron-fs-backend": "3.0.3", "i18next-fs-backend": "2.6.0", "immer": "^10.1.1", "intercept-stdout": "0.1.2", "inversify": "6.2.1", "inversify-inject-decorators": "3.1.0", "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.1", "monaco-editor": "^0.52.2", "nanoid": "^5.0.9", "new-github-issue-url": "^1.0.0", "node-fetch": "3.3.2", "ollama-ai-provider": "^1.2.0", "react": "19.0.0", "react-dom": "19.0.0", "react-i18next": "15.5.2", "react-masonry-css": "^1.0.16", "react-window": "^1.8.11", "reflect-metadata": "0.2.2", "registry-js": "1.16.1", "rotating-file-stream": "^3.2.5", "rxjs": "7.8.2", "semver": "7.7.2", "simplebar": "6.3.1", "simplebar-react": "3.3.0", "source-map-support": "0.5.21", "strip-ansi": "^7.1.0", "styled-components": "6.1.18", "threads": "1.7.0", "tiddlywiki": "5.3.6", "type-fest": "4.41.0", "typeorm": "^0.3.22", "typescript-styled-is": "^2.1.0", "v8-compile-cache-lib": "^3.0.1", "winston": "3.17.0", "winston-daily-rotate-file": "5.0.0", "winston-transport": "4.9.0", "wouter": "^3.7.1", "zod": "^3.25.28", "zustand": "^5.0.4", "zx": "8.5.5" }, "optionalDependencies": { "@electron-forge/maker-deb": "7.8.1", "@electron-forge/maker-flatpak": "7.8.1", "@electron-forge/maker-rpm": "7.8.1", "@electron-forge/maker-snap": "7.8.1", "@electron-forge/maker-squirrel": "7.8.1", "@electron-forge/maker-zip": "7.8.1", "@reforged/maker-appimage": "^5.0.0", "electron-squirrel-startup": "1.0.1" }, "devDependencies": { "@cucumber/cucumber": "^11.2.0", "@electron-forge/cli": "7.8.1", "@electron-forge/plugin-auto-unpack-natives": "7.8.1", "@electron-forge/plugin-webpack": "7.8.1", "@electron/rebuild": "^4.0.1", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/bluebird": "3.5.42", "@types/chai": "5.0.1", "@types/circular-dependency-plugin": "5.0.8", "@types/fs-extra": "11.0.4", "@types/html-minifier-terser": "^7.0.2", "@types/i18next-fs-backend": "1.1.5", "@types/intercept-stdout": "0.1.3", "@types/jest": "^29.5.14", "@types/lodash": "4.17.15", "@types/node": "22.13.0", "@types/react": "19.0.8", "@types/react-dom": "19.0.3", "@types/react-jsonschema-form": "^1.7.13", "@types/semver": "7.5.8", "@types/source-map-support": "0.5.10", "@types/styled-components": "5.1.34", "@types/webpack-bundle-analyzer": "4.7.0", "@types/webpack-node-externals": "3.0.4", "@vercel/webpack-asset-relocator-loader": "1.7.3", "chai": "5.1.2", "circular-dependency-plugin": "5.2.2", "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", "css-loader": "6.11.0", "dprint": "^0.50.0", "electron": "36.4.0", "electron-chrome-web-store": "^0.12.0", "esbuild": "^0.25.2", "esbuild-loader": "^4.3.0", "eslint-config-tidgi": "^2.2.0", "fork-ts-checker-webpack-plugin": "9.1.0", "identity-obj-proxy": "^3.0.0", "jest": "^30.0.0", "jest-environment-jsdom": "^30.0.0", "jsdom": "^26.1.0", "memory-fs": "^0.5.0", "node-loader": "2.1.0", "path-browserify": "^1.0.1", "playwright": "^1.53.0", "rimraf": "^6.0.1", "style-loader": "4.0.0", "threads-plugin": "1.4.0", "ts-import-plugin": "3.0.0", "ts-jest": "^29.3.4", "ts-loader": "9.5.2", "ts-node": "10.9.2", "tw5-typed": "^0.6.3", "typescript": "5.8.3", "typescript-plugin-styled-components": "3.0.0", "typesync": "0.14.3", "webpack-bundle-analyzer": "4.10.2", "webpack-cli": "^6.0.1", "webpack-node-externals": "3.0.0", "webpack5-externals-plugin": "1.0.4", "webpackbar": "7.0.0" }, "pnpm": { "overrides": { "@mui/styled-engine": "npm:@mui/styled-engine-sc@latest", "prebuild-install": "latest" }, "onlyBuiltDependencies": [ "dprint", "dugite", "electron", "electron-winstaller", "esbuild", "better-sqlite3", "registry-js" ], "patchedDependencies": { "threads": "patches/threads.patch" } }, "private": false }