Files
bDS/package.json

200 lines
6.5 KiB
JSON

{
"name": "blogging-desktop-server",
"productName": "Blogging Desktop Server",
"version": "1.0.0",
"description": "A desktop blogging application with offline-first capabilities and cloud sync",
"main": "dist/main/main.js",
"scripts": {
"dev": "concurrently --kill-others \"npm run dev:main\" \"npm run dev:renderer\" \"npm run dev:electron\"",
"dev:main": "node ./node_modules/typescript/bin/tsc -p tsconfig.main.json --watch",
"dev:renderer": "node ./node_modules/vite/bin/vite.js",
"dev:electron": "wait-on http://localhost:5173 && cross-env NODE_ENV=development node ./node_modules/electron/cli.js .",
"start": "concurrently --kill-others \"npm run dev:renderer\" \"npm run start:electron\"",
"start:electron": "wait-on http://localhost:5173 && cross-env NODE_ENV=development node ./node_modules/electron/cli.js .",
"build": "npm run lint && npm run db:generate && npm run build:main && npm run build:renderer",
"icons:generate": "node scripts/regenerate-icons.mjs",
"package": "npm run icons:generate && npm run build && electron-builder --dir",
"dist": "npm run icons:generate && npm run build && electron-builder",
"dist:mac": "npm run icons:generate && npm run build && electron-builder --mac",
"dist:win": "npm run icons:generate && npm run build && electron-builder --win",
"dist:linux": "npm run icons:generate && npm run build && electron-builder --linux",
"build:main": "node ./node_modules/typescript/bin/tsc -p tsconfig.main.json",
"build:renderer": "node ./node_modules/vite/bin/vite.js build",
"start:prod": "node ./node_modules/electron/cli.js .",
"start:dev": "cross-env NODE_ENV=development node ./node_modules/electron/cli.js .",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"test:ui": "vitest --ui",
"bench:python-runtime": "node ./node_modules/tsx/dist/cli.mjs scripts/python-runtime-benchmark.ts",
"docs:api": "node ./node_modules/tsx/dist/cli.mjs scripts/generate-api-docs.ts",
"lint": "eslint \"src/renderer/**/*.{ts,tsx}\" --max-warnings 0",
"lint:i18n": "eslint \"src/renderer/**/*.{ts,tsx}\" --max-warnings 0",
"db:generate": "node ./node_modules/drizzle-kit/bin.cjs generate",
"db:migrate": "node ./node_modules/tsx/dist/cli.mjs src/main/database/migrate.ts",
"db:studio": "node ./node_modules/drizzle-kit/bin.cjs studio"
},
"author": "",
"license": "MIT",
"devDependencies": {
"@electron/notarize": "^3.1.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/chokidar": "^1.7.5",
"@types/node": "^25.2.3",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@types/turndown": "^5.0.6",
"@typescript-eslint/eslint-plugin": "^8.56.0",
"@typescript-eslint/parser": "^8.56.0",
"@vitejs/plugin-react": "^5.1.4",
"@vitest/coverage-v8": "^4.0.18",
"@vitest/ui": "^4.0.18",
"concurrently": "^9.2.1",
"cross-env": "^10.1.0",
"drizzle-kit": "^0.31.9",
"electron": "^40.4.0",
"electron-builder": "^26.7.0",
"electron-store": "^11.0.2",
"eslint": "^9.39.3",
"eslint-plugin-i18next": "^6.1.3",
"jsdom": "^28.0.0",
"memfs": "^4.6.0",
"png-to-ico": "^3.0.1",
"tsx": "^4.6.0",
"typescript": "^5.3.0",
"vite": "^7.3.1",
"vitest": "^4.0.18",
"wait-on": "^9.0.3"
},
"dependencies": {
"@braintree/sanitize-url": "^7.1.2",
"@floating-ui/dom": "^1.7.5",
"@highlightjs/cdn-assets": "^11.11.1",
"@libsql/client": "^0.17.0",
"@milkdown/kit": "^7.18.0",
"@milkdown/plugin-block": "^7.18.0",
"@milkdown/plugin-clipboard": "^7.18.0",
"@milkdown/plugin-cursor": "^7.18.0",
"@milkdown/plugin-history": "^7.18.0",
"@milkdown/plugin-indent": "^7.18.0",
"@milkdown/plugin-listener": "^7.18.0",
"@milkdown/plugin-trailing": "^7.18.0",
"@milkdown/react": "^7.18.0",
"@milkdown/theme-nord": "^7.18.0",
"@modelcontextprotocol/ext-apps": "^1.1.2",
"@modelcontextprotocol/sdk": "^1.27.1",
"@monaco-editor/react": "^4.7.0",
"@picocss/pico": "^2.1.1",
"@xmldom/xmldom": "^0.8.11",
"chokidar": "^5.0.0",
"d3-cloud": "^1.2.8",
"date-fns": "^4.1.0",
"drizzle-orm": "^0.45.1",
"dropbox": "^10.34.0",
"fast-xml-parser": "^5.3.8",
"gray-matter": "^4.0.3",
"lightbox2": "^2.11.5",
"liquidjs": "^10.24.0",
"marked-react": "^3.0.2",
"monaco-editor": "^0.55.1",
"node-scp": "^0.0.25",
"pyodide": "^0.29.3",
"react": "^19.2.4",
"react-arborist": "^3.4.3",
"react-dom": "^19.2.4",
"react-hot-toast": "^2.6.0",
"rsyncwrapper": "^3.1.0",
"sharp": "^0.34.5",
"simple-git": "^3.31.1",
"snowball-stemmers": "^0.6.0",
"turndown": "^7.2.2",
"uuid": "^13.0.0",
"vanilla-calendar-pro": "^3.1.0",
"zod": "^4.3.6",
"zustand": "^5.0.11"
},
"overrides": {
"@esbuild-kit/core-utils": {
"esbuild": "0.27.3"
}
},
"build": {
"appId": "com.bds.blogging-desktop-server",
"productName": "Blogging Desktop Server",
"asar": true,
"afterSign": "scripts/notarize.mjs",
"directories": {
"output": "release"
},
"files": [
"dist/**/*",
"drizzle/**/*",
"node_modules/**/*",
"!**/.DS_Store",
"!**/__MACOSX/**",
"!**/._*"
],
"extraResources": [
{
"from": "drizzle",
"to": "drizzle"
},
{
"from": "API.md",
"to": "docs/API.md"
},
{
"from": "DOCUMENTATION.md",
"to": "docs/DOCUMENTATION.md"
},
{
"from": "src/main/engine/templates",
"to": "templates"
}
],
"protocols": [
{
"name": "bDS Blogmark Links",
"schemes": [
"bds"
]
}
],
"win": {
"icon": "assets/icon.ico",
"target": [
{
"target": "nsis",
"arch": [
"x64",
"arm64"
]
}
]
},
"mac": {
"icon": "assets/icon.icns",
"target": [
"dmg",
"zip"
],
"category": "public.app-category.productivity",
"hardenedRuntime": true,
"gatekeeperAssess": false,
"entitlements": "build/entitlements.mac.plist",
"entitlementsInherit": "build/entitlements.mac.inherit.plist"
},
"linux": {
"icon": "assets/icon.png",
"target": [
"AppImage",
"deb",
"rpm"
],
"category": "Utility"
}
}
}