{ "name": "skypod", "private": true, "version": "0.0.0", "scripts": { "dev": "npm run start:dev", "lint": "wireit", "types": "wireit", "build": "wireit", "docs": "wireit", "test": "wireit", "start:tests": "wireit", "start:dev": "wireit", "start:prod": "wireit" }, "type": "module", "imports": { "#common/*": "./src/common/*", "#realm/*": "./src/realm/*", "#client/*": "./src/client/*", "#server/*": "./src/server/*", "#skypod/*": "./src/skypod/*" }, "dependencies": { "@mozilla/readability": "^0.6.0", "@preact/signals": "^2.2.0", "dexie": "^4.0.11", "express": "^5.1.0", "feedsmith": "^2.2.1", "isomorphic-ws": "^5.0.0", "jose": "^6.0.11", "level": "^10.0.0", "linkedom": "^0.18.12", "nanoid": "^5.1.5", "preact": "^10.26.9", "simple-peer": "^9.11.1", "tsx": "^4.19.2", "ws": "^8.18.2", "zod": "~3.25" }, "devDependencies": { "@eslint/compat": "^1.3.0", "@eslint/css": "~0.9.0", "@eslint/js": "~9.29.0", "@eslint/json": "^0.12.0", "@eslint/markdown": "^6.5.0", "@faker-js/faker": "^9.8.0", "@jest/globals": "^30.0.0", "@preact/preset-vite": "^2.10.1", "@testing-library/jest-dom": "^6.6.3", "@testing-library/preact": "^3.2.4", "@types/confusing-browser-globals": "^1.0.3", "@types/express": "^5.0.3", "@types/jest": "^30.0.0", "@types/level": "^6.0.3", "@types/node": "^24.0.1", "@types/simple-peer": "^9.11.8", "@types/ws": "^8.18.1", "confusing-browser-globals": "^1.0.11", "eslint": "^9.28.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-prettier": "^5.5.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-tsdoc": "^0.4.0", "glob-to-regexp": "^0.4.1", "globals": "^16.2.0", "identity-obj-proxy": "^3.0.0", "indexeddbshim": "^16.0.0", "jest": "^30.0.2", "jest-environment-jsdom": "^30.0.0", "jest-fixed-jsdom": "^0.0.9", "jsdom": "^26.1.0", "parse-gitignore": "^2.0.0", "prettier": "^3.5.3", "prettier-plugin-organize-imports": "^4.1.0", "ts-jest": "^29.4.0", "typescript": "^5.8.3", "typescript-eslint": "^8.34.1", "typescript-eslint-language-service": "^5.0.5", "typescript-language-server": "^5.0.1", "vite": "^6.3.5", "vite-plugin-checker": "^0.9.3", "vite-plugin-node-polyfills": "^0.23.0", "webtorrent": "^2.6.8", "wireit": "^0.14.12", "zod-schema-faker": "^2.0.0-beta.5" }, "wireit": { "build": { "command": "vite build", "files": [ "src/client/**/*.{ts,tsx}", "src/client/*.{ts,tsx}", "src/common/**/*.ts", "src/common/*.ts", "!src/**/*.spec.{ts,tsx}" ], "output": [ "./dist/**" ] }, "lint": { "command": "eslint --color --cache --cache-location .eslintcache .", "files": [ "src/**/*.{ts,tsx}", "eslint.config.js", ".eslintignore" ], "output": [] }, "test": { "command": "jest --cache --cacheDirectory .jestcache", "files": [ "src/**/*.{ts,tsx}", "jest.config.js", "jest.setup.js" ], "output": [ "coverage/**" ] }, "types": { "command": "tsc --build --pretty --noEmit", "files": [ "src/**/*.{ts,tsx}", "tsconfig.json" ], "output": [ "tsconfig.tsbuildinfo" ] }, "docs": { "command": "jsdoc -c jsdoc.json", "files": [ "src/**/*.{ts,tsx}", "!src/**/*.spec.{ts,tsx}", "jsdoc.json" ], "output": [ "./docs/**" ] }, "run:client": { "service": true, "command": "vite" }, "run:tests": { "service": true, "command": "jest --watch" }, "run:server": { "service": true, "command": "tsx --watch src/cmd/server.ts" }, "start:tests": { "service": true, "command": "echo 'starting test services' && sleep 100d", "dependencies": [ "run:tests" ] }, "start:dev": { "service": true, "command": "echo 'starting dev services' && sleep 100d", "dependencies": [ "lint", "types", "run:client", "run:server" ] }, "start:prod": { "service": true, "command": "echo 'starting prod services' && sleep 100d", "dependencies": [ "build", "run:server" ] } } }