podcast manager
1{
2 "name": "skypod",
3 "private": true,
4 "version": "0.0.0",
5 "scripts": {
6 "dev": "npm run start:dev",
7 "lint": "wireit",
8 "types": "wireit",
9 "build": "wireit",
10 "docs": "wireit",
11 "test": "wireit",
12 "start:tests": "wireit",
13 "start:dev": "wireit",
14 "start:prod": "wireit"
15 },
16 "type": "module",
17 "imports": {
18 "#common/*": "./src/common/*",
19 "#realm/*": "./src/realm/*",
20 "#client/*": "./src/client/*",
21 "#server/*": "./src/server/*",
22 "#skypod/*": "./src/skypod/*"
23 },
24 "dependencies": {
25 "@mozilla/readability": "^0.6.0",
26 "@preact/signals": "^2.2.0",
27 "dexie": "^4.0.11",
28 "express": "^5.1.0",
29 "feedsmith": "^2.2.1",
30 "isomorphic-ws": "^5.0.0",
31 "jose": "^6.0.11",
32 "level": "^10.0.0",
33 "linkedom": "^0.18.12",
34 "nanoid": "^5.1.5",
35 "preact": "^10.26.9",
36 "simple-peer": "^9.11.1",
37 "tsx": "^4.19.2",
38 "ws": "^8.18.2",
39 "zod": "~3.25"
40 },
41 "devDependencies": {
42 "@eslint/compat": "^1.3.0",
43 "@eslint/css": "~0.9.0",
44 "@eslint/js": "~9.29.0",
45 "@eslint/json": "^0.12.0",
46 "@eslint/markdown": "^6.5.0",
47 "@faker-js/faker": "^9.8.0",
48 "@jest/globals": "^30.0.0",
49 "@preact/preset-vite": "^2.10.1",
50 "@testing-library/jest-dom": "^6.6.3",
51 "@testing-library/preact": "^3.2.4",
52 "@types/confusing-browser-globals": "^1.0.3",
53 "@types/express": "^5.0.3",
54 "@types/jest": "^30.0.0",
55 "@types/level": "^6.0.3",
56 "@types/node": "^24.0.1",
57 "@types/simple-peer": "^9.11.8",
58 "@types/ws": "^8.18.1",
59 "confusing-browser-globals": "^1.0.11",
60 "eslint": "^9.28.0",
61 "eslint-config-prettier": "^10.1.5",
62 "eslint-plugin-prettier": "^5.5.0",
63 "eslint-plugin-react": "^7.37.5",
64 "eslint-plugin-react-hooks": "^5.2.0",
65 "eslint-plugin-tsdoc": "^0.4.0",
66 "glob-to-regexp": "^0.4.1",
67 "globals": "^16.2.0",
68 "identity-obj-proxy": "^3.0.0",
69 "indexeddbshim": "^16.0.0",
70 "jest": "^30.0.2",
71 "jest-environment-jsdom": "^30.0.0",
72 "jest-fixed-jsdom": "^0.0.9",
73 "jsdom": "^26.1.0",
74 "parse-gitignore": "^2.0.0",
75 "prettier": "^3.5.3",
76 "prettier-plugin-organize-imports": "^4.1.0",
77 "ts-jest": "^29.4.0",
78 "typescript": "^5.8.3",
79 "typescript-eslint": "^8.34.1",
80 "typescript-eslint-language-service": "^5.0.5",
81 "typescript-language-server": "^5.0.1",
82 "vite": "^6.3.5",
83 "vite-plugin-checker": "^0.9.3",
84 "vite-plugin-node-polyfills": "^0.23.0",
85 "webtorrent": "^2.6.8",
86 "wireit": "^0.14.12",
87 "zod-schema-faker": "^2.0.0-beta.5"
88 },
89 "wireit": {
90 "build": {
91 "command": "vite build",
92 "files": [
93 "src/client/**/*.{ts,tsx}",
94 "src/client/*.{ts,tsx}",
95 "src/common/**/*.ts",
96 "src/common/*.ts",
97 "!src/**/*.spec.{ts,tsx}"
98 ],
99 "output": [
100 "./dist/**"
101 ]
102 },
103 "lint": {
104 "command": "eslint --color --cache --cache-location .eslintcache .",
105 "files": [
106 "src/**/*.{ts,tsx}",
107 "eslint.config.js",
108 ".eslintignore"
109 ],
110 "output": []
111 },
112 "test": {
113 "command": "jest --cache --cacheDirectory .jestcache",
114 "files": [
115 "src/**/*.{ts,tsx}",
116 "jest.config.js",
117 "jest.setup.js"
118 ],
119 "output": [
120 "coverage/**"
121 ]
122 },
123 "types": {
124 "command": "tsc --build --pretty --noEmit",
125 "files": [
126 "src/**/*.{ts,tsx}",
127 "tsconfig.json"
128 ],
129 "output": [
130 "tsconfig.tsbuildinfo"
131 ]
132 },
133 "docs": {
134 "command": "jsdoc -c jsdoc.json",
135 "files": [
136 "src/**/*.{ts,tsx}",
137 "!src/**/*.spec.{ts,tsx}",
138 "jsdoc.json"
139 ],
140 "output": [
141 "./docs/**"
142 ]
143 },
144 "run:client": {
145 "service": true,
146 "command": "vite"
147 },
148 "run:tests": {
149 "service": true,
150 "command": "jest --watch"
151 },
152 "run:server": {
153 "service": true,
154 "command": "tsx --watch src/cmd/server.ts"
155 },
156 "start:tests": {
157 "service": true,
158 "command": "echo 'starting test services' && sleep 100d",
159 "dependencies": [
160 "run:tests"
161 ]
162 },
163 "start:dev": {
164 "service": true,
165 "command": "echo 'starting dev services' && sleep 100d",
166 "dependencies": [
167 "lint",
168 "types",
169 "run:client",
170 "run:server"
171 ]
172 },
173 "start:prod": {
174 "service": true,
175 "command": "echo 'starting prod services' && sleep 100d",
176 "dependencies": [
177 "build",
178 "run:server"
179 ]
180 }
181 }
182}