api: pull ava typescript support
Pedro Lucas Porcellis porcellis@eletrotupi.com · 6 months ago
66973ed84c35f28ee34abb7b8e81d374dd574e52 Browse filesParents
1218f83Changed files
3
Additions
+710
Deletions
-1
/dev/null → api/ava.config.mjs
1 +
export default {
2 +
"typescript": {
3 +
"extensions": [
4 +
"ts",
5 +
"tsx"
6 +
],
7 +
"rewritePaths": {
8 +
"src/": "dist/"
9 +
},
10 +
compile: false
11 +
},
12 +
// extensions: {
13 +
// ts: 'module'
14 +
// },
15 +
// nodeArguments: [
16 +
// '--import=tsx'
17 +
// ],
18 +
files: [
19 +
'tests/**/*.test.ts'
20 +
],
21 +
environmentVariables: {
22 +
NODE_ENV: 'test'
23 +
},
24 +
timeout: '30s',
25 +
concurrency: 1, // Run tests serially to avoid database conflicts
26 +
verbose: true
27 +
};
api/package-lock.json
1 1
{
2 2
"name": "orbit-api",
3 3
"version": "0.0.0",
4 4
"lockfileVersion": 3,
5 5
"requires": true,
22 22
"jsonwebtoken": "^9.0.3",
23 23
"morgan": "^1.10.1",
24 24
"pg": "^8.20.0"
25 25
},
26 26
"devDependencies": {
27 +
"@ava/typescript": "^6.0.0",
27 28
"@types/better-sqlite3": "^7.6.13",
28 29
"@types/express": "^5.0.6",
29 30
"@types/morgan": "^1.9.10",
30 31
"@types/node": "^25.5.2",
31 32
"ava": "^6.4.1",
32 33
"prisma": "^7.5.0",
33 34
"supertest": "^7.1.4",
34 35
"ts-node": "^10.9.2",
35 36
"tsc-alias": "^1.8.16",
36 37
"tsconfig-paths": "^4.2.0",
38 +
"tsx": "^4.21.0",
37 39
"typescript": "^6.0.2"
40 +
}
41 +
},
42 +
"node_modules/@ava/typescript": {
43 +
"version": "6.0.0",
44 +
"resolved": "https://registry.npmjs.org/@ava/typescript/-/typescript-6.0.0.tgz",
45 +
"integrity": "sha512-+8oDYc4J5cCaWZh1VUbyc+cegGplJO9FqHpqR4LVAVx8fRLVRaYlC4yyA6cqHJ1vWP23Ff/ECS5U68Zz6OLZlg==",
46 +
"dev": true,
47 +
"license": "MIT",
48 +
"dependencies": {
49 +
"escape-string-regexp": "^5.0.0",
50 +
"execa": "^9.6.0"
51 +
},
52 +
"engines": {
53 +
"node": "^20.8 || ^22 || >=24"
38 54
}
39 55
},
40 56
"node_modules/@chevrotain/cst-dts-gen": {
41 57
"version": "10.5.0",
42 58
"resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz",
115 131
"license": "Apache-2.0",
116 132
"peerDependencies": {
117 133
"@electric-sql/pglite": "0.3.15"
118 134
}
119 135
},
136 +
"node_modules/@esbuild/aix-ppc64": {
137 +
"version": "0.27.7",
138 +
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz",
139 +
"integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==",
140 +
"cpu": [
141 +
"ppc64"
142 +
],
143 +
"dev": true,
144 +
"license": "MIT",
145 +
"optional": true,
146 +
"os": [
147 +
"aix"
148 +
],
149 +
"engines": {
150 +
"node": ">=18"
151 +
}
152 +
},
153 +
"node_modules/@esbuild/android-arm": {
154 +
"version": "0.27.7",
155 +
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz",
156 +
"integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==",
157 +
"cpu": [
158 +
"arm"
159 +
],
160 +
"dev": true,
161 +
"license": "MIT",
162 +
"optional": true,
163 +
"os": [
164 +
"android"
165 +
],
166 +
"engines": {
167 +
"node": ">=18"
168 +
}
169 +
},
170 +
"node_modules/@esbuild/android-arm64": {
171 +
"version": "0.27.7",
172 +
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz",
173 +
"integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==",
174 +
"cpu": [
175 +
"arm64"
176 +
],
177 +
"dev": true,
178 +
"license": "MIT",
179 +
"optional": true,
180 +
"os": [
181 +
"android"
182 +
],
183 +
"engines": {
184 +
"node": ">=18"
185 +
}
186 +
},
187 +
"node_modules/@esbuild/android-x64": {
188 +
"version": "0.27.7",
189 +
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz",
190 +
"integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==",
191 +
"cpu": [
192 +
"x64"
193 +
],
194 +
"dev": true,
195 +
"license": "MIT",
196 +
"optional": true,
197 +
"os": [
198 +
"android"
199 +
],
200 +
"engines": {
201 +
"node": ">=18"
202 +
}
203 +
},
204 +
"node_modules/@esbuild/darwin-arm64": {
205 +
"version": "0.27.7",
206 +
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz",
207 +
"integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==",
208 +
"cpu": [
209 +
"arm64"
210 +
],
211 +
"dev": true,
212 +
"license": "MIT",
213 +
"optional": true,
214 +
"os": [
215 +
"darwin"
216 +
],
217 +
"engines": {
218 +
"node": ">=18"
219 +
}
220 +
},
221 +
"node_modules/@esbuild/darwin-x64": {
222 +
"version": "0.27.7",
223 +
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz",
224 +
"integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==",
225 +
"cpu": [
226 +
"x64"
227 +
],
228 +
"dev": true,
229 +
"license": "MIT",
230 +
"optional": true,
231 +
"os": [
232 +
"darwin"
233 +
],
234 +
"engines": {
235 +
"node": ">=18"
236 +
}
237 +
},
238 +
"node_modules/@esbuild/freebsd-arm64": {
239 +
"version": "0.27.7",
240 +
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz",
241 +
"integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==",
242 +
"cpu": [
243 +
"arm64"
244 +
],
245 +
"dev": true,
246 +
"license": "MIT",
247 +
"optional": true,
248 +
"os": [
249 +
"freebsd"
250 +
],
251 +
"engines": {
252 +
"node": ">=18"
253 +
}
254 +
},
255 +
"node_modules/@esbuild/freebsd-x64": {
256 +
"version": "0.27.7",
257 +
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz",
258 +
"integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==",
259 +
"cpu": [
260 +
"x64"
261 +
],
262 +
"dev": true,
263 +
"license": "MIT",
264 +
"optional": true,
265 +
"os": [
266 +
"freebsd"
267 +
],
268 +
"engines": {
269 +
"node": ">=18"
270 +
}
271 +
},
272 +
"node_modules/@esbuild/linux-arm": {
273 +
"version": "0.27.7",
274 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz",
275 +
"integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==",
276 +
"cpu": [
277 +
"arm"
278 +
],
279 +
"dev": true,
280 +
"license": "MIT",
281 +
"optional": true,
282 +
"os": [
283 +
"linux"
284 +
],
285 +
"engines": {
286 +
"node": ">=18"
287 +
}
288 +
},
289 +
"node_modules/@esbuild/linux-arm64": {
290 +
"version": "0.27.7",
291 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz",
292 +
"integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==",
293 +
"cpu": [
294 +
"arm64"
295 +
],
296 +
"dev": true,
297 +
"license": "MIT",
298 +
"optional": true,
299 +
"os": [
300 +
"linux"
301 +
],
302 +
"engines": {
303 +
"node": ">=18"
304 +
}
305 +
},
306 +
"node_modules/@esbuild/linux-ia32": {
307 +
"version": "0.27.7",
308 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz",
309 +
"integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==",
310 +
"cpu": [
311 +
"ia32"
312 +
],
313 +
"dev": true,
314 +
"license": "MIT",
315 +
"optional": true,
316 +
"os": [
317 +
"linux"
318 +
],
319 +
"engines": {
320 +
"node": ">=18"
321 +
}
322 +
},
323 +
"node_modules/@esbuild/linux-loong64": {
324 +
"version": "0.27.7",
325 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz",
326 +
"integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==",
327 +
"cpu": [
328 +
"loong64"
329 +
],
330 +
"dev": true,
331 +
"license": "MIT",
332 +
"optional": true,
333 +
"os": [
334 +
"linux"
335 +
],
336 +
"engines": {
337 +
"node": ">=18"
338 +
}
339 +
},
340 +
"node_modules/@esbuild/linux-mips64el": {
341 +
"version": "0.27.7",
342 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz",
343 +
"integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==",
344 +
"cpu": [
345 +
"mips64el"
346 +
],
347 +
"dev": true,
348 +
"license": "MIT",
349 +
"optional": true,
350 +
"os": [
351 +
"linux"
352 +
],
353 +
"engines": {
354 +
"node": ">=18"
355 +
}
356 +
},
357 +
"node_modules/@esbuild/linux-ppc64": {
358 +
"version": "0.27.7",
359 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz",
360 +
"integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==",
361 +
"cpu": [
362 +
"ppc64"
363 +
],
364 +
"dev": true,
365 +
"license": "MIT",
366 +
"optional": true,
367 +
"os": [
368 +
"linux"
369 +
],
370 +
"engines": {
371 +
"node": ">=18"
372 +
}
373 +
},
374 +
"node_modules/@esbuild/linux-riscv64": {
375 +
"version": "0.27.7",
376 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz",
377 +
"integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==",
378 +
"cpu": [
379 +
"riscv64"
380 +
],
381 +
"dev": true,
382 +
"license": "MIT",
383 +
"optional": true,
384 +
"os": [
385 +
"linux"
386 +
],
387 +
"engines": {
388 +
"node": ">=18"
389 +
}
390 +
},
391 +
"node_modules/@esbuild/linux-s390x": {
392 +
"version": "0.27.7",
393 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz",
394 +
"integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==",
395 +
"cpu": [
396 +
"s390x"
397 +
],
398 +
"dev": true,
399 +
"license": "MIT",
400 +
"optional": true,
401 +
"os": [
402 +
"linux"
403 +
],
404 +
"engines": {
405 +
"node": ">=18"
406 +
}
407 +
},
408 +
"node_modules/@esbuild/linux-x64": {
409 +
"version": "0.27.7",
410 +
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz",
411 +
"integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==",
412 +
"cpu": [
413 +
"x64"
414 +
],
415 +
"dev": true,
416 +
"license": "MIT",
417 +
"optional": true,
418 +
"os": [
419 +
"linux"
420 +
],
421 +
"engines": {
422 +
"node": ">=18"
423 +
}
424 +
},
425 +
"node_modules/@esbuild/netbsd-arm64": {
426 +
"version": "0.27.7",
427 +
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz",
428 +
"integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==",
429 +
"cpu": [
430 +
"arm64"
431 +
],
432 +
"dev": true,
433 +
"license": "MIT",
434 +
"optional": true,
435 +
"os": [
436 +
"netbsd"
437 +
],
438 +
"engines": {
439 +
"node": ">=18"
440 +
}
441 +
},
442 +
"node_modules/@esbuild/netbsd-x64": {
443 +
"version": "0.27.7",
444 +
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz",
445 +
"integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==",
446 +
"cpu": [
447 +
"x64"
448 +
],
449 +
"dev": true,
450 +
"license": "MIT",
451 +
"optional": true,
452 +
"os": [
453 +
"netbsd"
454 +
],
455 +
"engines": {
456 +
"node": ">=18"
457 +
}
458 +
},
459 +
"node_modules/@esbuild/openbsd-arm64": {
460 +
"version": "0.27.7",
461 +
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz",
462 +
"integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==",
463 +
"cpu": [
464 +
"arm64"
465 +
],
466 +
"dev": true,
467 +
"license": "MIT",
468 +
"optional": true,
469 +
"os": [
470 +
"openbsd"
471 +
],
472 +
"engines": {
473 +
"node": ">=18"
474 +
}
475 +
},
476 +
"node_modules/@esbuild/openbsd-x64": {
477 +
"version": "0.27.7",
478 +
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz",
479 +
"integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==",
480 +
"cpu": [
481 +
"x64"
482 +
],
483 +
"dev": true,
484 +
"license": "MIT",
485 +
"optional": true,
486 +
"os": [
487 +
"openbsd"
488 +
],
489 +
"engines": {
490 +
"node": ">=18"
491 +
}
492 +
},
493 +
"node_modules/@esbuild/openharmony-arm64": {
494 +
"version": "0.27.7",
495 +
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz",
496 +
"integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==",
497 +
"cpu": [
498 +
"arm64"
499 +
],
500 +
"dev": true,
501 +
"license": "MIT",
502 +
"optional": true,
503 +
"os": [
504 +
"openharmony"
505 +
],
506 +
"engines": {
507 +
"node": ">=18"
508 +
}
509 +
},
510 +
"node_modules/@esbuild/sunos-x64": {
511 +
"version": "0.27.7",
512 +
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz",
513 +
"integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==",
514 +
"cpu": [
515 +
"x64"
516 +
],
517 +
"dev": true,
518 +
"license": "MIT",
519 +
"optional": true,
520 +
"os": [
521 +
"sunos"
522 +
],
523 +
"engines": {
524 +
"node": ">=18"
525 +
}
526 +
},
527 +
"node_modules/@esbuild/win32-arm64": {
528 +
"version": "0.27.7",
529 +
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz",
530 +
"integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==",
531 +
"cpu": [
532 +
"arm64"
533 +
],
534 +
"dev": true,
535 +
"license": "MIT",
536 +
"optional": true,
537 +
"os": [
538 +
"win32"
539 +
],
540 +
"engines": {
541 +
"node": ">=18"
542 +
}
543 +
},
544 +
"node_modules/@esbuild/win32-ia32": {
545 +
"version": "0.27.7",
546 +
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz",
547 +
"integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==",
548 +
"cpu": [
549 +
"ia32"
550 +
],
551 +
"dev": true,
552 +
"license": "MIT",
553 +
"optional": true,
554 +
"os": [
555 +
"win32"
556 +
],
557 +
"engines": {
558 +
"node": ">=18"
559 +
}
560 +
},
561 +
"node_modules/@esbuild/win32-x64": {
562 +
"version": "0.27.7",
563 +
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz",
564 +
"integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==",
565 +
"cpu": [
566 +
"x64"
567 +
],
568 +
"dev": true,
569 +
"license": "MIT",
570 +
"optional": true,
571 +
"os": [
572 +
"win32"
573 +
],
574 +
"engines": {
575 +
"node": ">=18"
576 +
}
577 +
},
120 578
"node_modules/@hono/node-server": {
121 579
"version": "1.19.9",
122 580
"resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz",
123 581
"integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==",
124 582
"devOptional": true,
556 1014
"peerDependenciesMeta": {
557 1015
"rollup": {
558 1016
"optional": true
559 1017
}
560 1018
}
1019 +
},
1020 +
"node_modules/@sec-ant/readable-stream": {
1021 +
"version": "0.4.1",
1022 +
"resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz",
1023 +
"integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==",
1024 +
"dev": true,
1025 +
"license": "MIT"
561 1026
},
562 1027
"node_modules/@sindresorhus/merge-streams": {
563 1028
"version": "2.3.0",
564 1029
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
565 1030
"integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
2117 2582
"has-tostringtag": "^1.0.2",
2118 2583
"hasown": "^2.0.2"
2119 2584
},
2120 2585
"engines": {
2121 2586
"node": ">= 0.4"
2587 +
}
2588 +
},
2589 +
"node_modules/esbuild": {
2590 +
"version": "0.27.7",
2591 +
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz",
2592 +
"integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==",
2593 +
"dev": true,
2594 +
"hasInstallScript": true,
2595 +
"license": "MIT",
2596 +
"bin": {
2597 +
"esbuild": "bin/esbuild"
2598 +
},
2599 +
"engines": {
2600 +
"node": ">=18"
2601 +
},
2602 +
"optionalDependencies": {
2603 +
"@esbuild/aix-ppc64": "0.27.7",
2604 +
"@esbuild/android-arm": "0.27.7",
2605 +
"@esbuild/android-arm64": "0.27.7",
2606 +
"@esbuild/android-x64": "0.27.7",
2607 +
"@esbuild/darwin-arm64": "0.27.7",
2608 +
"@esbuild/darwin-x64": "0.27.7",
2609 +
"@esbuild/freebsd-arm64": "0.27.7",
2610 +
"@esbuild/freebsd-x64": "0.27.7",
2611 +
"@esbuild/linux-arm": "0.27.7",
2612 +
"@esbuild/linux-arm64": "0.27.7",
2613 +
"@esbuild/linux-ia32": "0.27.7",
2614 +
"@esbuild/linux-loong64": "0.27.7",
2615 +
"@esbuild/linux-mips64el": "0.27.7",
2616 +
"@esbuild/linux-ppc64": "0.27.7",
2617 +
"@esbuild/linux-riscv64": "0.27.7",
2618 +
"@esbuild/linux-s390x": "0.27.7",
2619 +
"@esbuild/linux-x64": "0.27.7",
2620 +
"@esbuild/netbsd-arm64": "0.27.7",
2621 +
"@esbuild/netbsd-x64": "0.27.7",
2622 +
"@esbuild/openbsd-arm64": "0.27.7",
2623 +
"@esbuild/openbsd-x64": "0.27.7",
2624 +
"@esbuild/openharmony-arm64": "0.27.7",
2625 +
"@esbuild/sunos-x64": "0.27.7",
2626 +
"@esbuild/win32-arm64": "0.27.7",
2627 +
"@esbuild/win32-ia32": "0.27.7",
2628 +
"@esbuild/win32-x64": "0.27.7"
2122 2629
}
2123 2630
},
2124 2631
"node_modules/escalade": {
2125 2632
"version": "3.2.0",
2126 2633
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
2188 2695
"license": "MIT",
2189 2696
"engines": {
2190 2697
"node": ">= 0.6"
2191 2698
}
2192 2699
},
2700 +
"node_modules/execa": {
2701 +
"version": "9.6.1",
2702 +
"resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz",
2703 +
"integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==",
2704 +
"dev": true,
2705 +
"license": "MIT",
2706 +
"dependencies": {
2707 +
"@sindresorhus/merge-streams": "^4.0.0",
2708 +
"cross-spawn": "^7.0.6",
2709 +
"figures": "^6.1.0",
2710 +
"get-stream": "^9.0.0",
2711 +
"human-signals": "^8.0.1",
2712 +
"is-plain-obj": "^4.1.0",
2713 +
"is-stream": "^4.0.1",
2714 +
"npm-run-path": "^6.0.0",
2715 +
"pretty-ms": "^9.2.0",
2716 +
"signal-exit": "^4.1.0",
2717 +
"strip-final-newline": "^4.0.0",
2718 +
"yoctocolors": "^2.1.1"
2719 +
},
2720 +
"engines": {
2721 +
"node": "^18.19.0 || >=20.5.0"
2722 +
},
2723 +
"funding": {
2724 +
"url": "https://github.com/sindresorhus/execa?sponsor=1"
2725 +
}
2726 +
},
2727 +
"node_modules/execa/node_modules/@sindresorhus/merge-streams": {
2728 +
"version": "4.0.0",
2729 +
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
2730 +
"integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
2731 +
"dev": true,
2732 +
"license": "MIT",
2733 +
"engines": {
2734 +
"node": ">=18"
2735 +
},
2736 +
"funding": {
2737 +
"url": "https://github.com/sponsors/sindresorhus"
2738 +
}
2739 +
},
2193 2740
"node_modules/expand-template": {
2194 2741
"version": "2.0.3",
2195 2742
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
2196 2743
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
2197 2744
"license": "(MIT OR WTFPL)",
2580 3127
},
2581 3128
"engines": {
2582 3129
"node": ">= 0.4"
2583 3130
}
2584 3131
},
3132 +
"node_modules/get-stream": {
3133 +
"version": "9.0.1",
3134 +
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz",
3135 +
"integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==",
3136 +
"dev": true,
3137 +
"license": "MIT",
3138 +
"dependencies": {
3139 +
"@sec-ant/readable-stream": "^0.4.1",
3140 +
"is-stream": "^4.0.1"
3141 +
},
3142 +
"engines": {
3143 +
"node": ">=18"
3144 +
},
3145 +
"funding": {
3146 +
"url": "https://github.com/sponsors/sindresorhus"
3147 +
}
3148 +
},
2585 3149
"node_modules/get-tsconfig": {
2586 3150
"version": "4.13.6",
2587 3151
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz",
2588 3152
"integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==",
2589 3153
"dev": true,
2796 3360
},
2797 3361
"engines": {
2798 3362
"node": ">= 14"
2799 3363
}
2800 3364
},
3365 +
"node_modules/human-signals": {
3366 +
"version": "8.0.1",
3367 +
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz",
3368 +
"integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==",
3369 +
"dev": true,
3370 +
"license": "Apache-2.0",
3371 +
"engines": {
3372 +
"node": ">=18.18.0"
3373 +
}
3374 +
},
2801 3375
"node_modules/iconv-lite": {
2802 3376
"version": "0.7.0",
2803 3377
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz",
2804 3378
"integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
2805 3379
"license": "MIT",
2965 3539
"license": "MIT",
2966 3540
"engines": {
2967 3541
"node": ">=0.12.0"
2968 3542
}
2969 3543
},
3544 +
"node_modules/is-plain-obj": {
3545 +
"version": "4.1.0",
3546 +
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
3547 +
"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
3548 +
"dev": true,
3549 +
"license": "MIT",
3550 +
"engines": {
3551 +
"node": ">=12"
3552 +
},
3553 +
"funding": {
3554 +
"url": "https://github.com/sponsors/sindresorhus"
3555 +
}
3556 +
},
2970 3557
"node_modules/is-plain-object": {
2971 3558
"version": "5.0.0",
2972 3559
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
2973 3560
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
2974 3561
"dev": true,
2988 3575
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
2989 3576
"integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
2990 3577
"devOptional": true,
2991 3578
"license": "MIT"
2992 3579
},
3580 +
"node_modules/is-stream": {
3581 +
"version": "4.0.1",
3582 +
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz",
3583 +
"integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==",
3584 +
"dev": true,
3585 +
"license": "MIT",
3586 +
"engines": {
3587 +
"node": ">=18"
3588 +
},
3589 +
"funding": {
3590 +
"url": "https://github.com/sponsors/sindresorhus"
3591 +
}
3592 +
},
2993 3593
"node_modules/is-unicode-supported": {
2994 3594
"version": "2.1.0",
2995 3595
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
2996 3596
"integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
2997 3597
"dev": true,
3660 4260
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
3661 4261
"dev": true,
3662 4262
"license": "MIT",
3663 4263
"engines": {
3664 4264
"node": ">=0.10.0"
4265 +
}
4266 +
},
4267 +
"node_modules/npm-run-path": {
4268 +
"version": "6.0.0",
4269 +
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz",
4270 +
"integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==",
4271 +
"dev": true,
4272 +
"license": "MIT",
4273 +
"dependencies": {
4274 +
"path-key": "^4.0.0",
4275 +
"unicorn-magic": "^0.3.0"
4276 +
},
4277 +
"engines": {
4278 +
"node": ">=18"
4279 +
},
4280 +
"funding": {
4281 +
"url": "https://github.com/sponsors/sindresorhus"
4282 +
}
4283 +
},
4284 +
"node_modules/npm-run-path/node_modules/path-key": {
4285 +
"version": "4.0.0",
4286 +
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
4287 +
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
4288 +
"dev": true,
4289 +
"license": "MIT",
4290 +
"engines": {
4291 +
"node": ">=12"
4292 +
},
4293 +
"funding": {
4294 +
"url": "https://github.com/sponsors/sindresorhus"
3665 4295
}
3666 4296
},
3667 4297
"node_modules/nypm": {
3668 4298
"version": "0.6.5",
3669 4299
"resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.5.tgz",
4970 5600
"license": "MIT",
4971 5601
"engines": {
4972 5602
"node": ">=4"
4973 5603
}
4974 5604
},
5605 +
"node_modules/strip-final-newline": {
5606 +
"version": "4.0.0",
5607 +
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
5608 +
"integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==",
5609 +
"dev": true,
5610 +
"license": "MIT",
5611 +
"engines": {
5612 +
"node": ">=18"
5613 +
},
5614 +
"funding": {
5615 +
"url": "https://github.com/sponsors/sindresorhus"
5616 +
}
5617 +
},
4975 5618
"node_modules/strip-json-comments": {
4976 5619
"version": "2.0.1",
4977 5620
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
4978 5621
"integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
4979 5622
"license": "MIT",
5315 5958
"minimist": "^1.2.6",
5316 5959
"strip-bom": "^3.0.0"
5317 5960
},
5318 5961
"engines": {
5319 5962
"node": ">=6"
5963 +
}
5964 +
},
5965 +
"node_modules/tsx": {
5966 +
"version": "4.21.0",
5967 +
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
5968 +
"integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==",
5969 +
"dev": true,
5970 +
"license": "MIT",
5971 +
"dependencies": {
5972 +
"esbuild": "~0.27.0",
5973 +
"get-tsconfig": "^4.7.5"
5974 +
},
5975 +
"bin": {
5976 +
"tsx": "dist/cli.mjs"
5977 +
},
5978 +
"engines": {
5979 +
"node": ">=18.0.0"
5980 +
},
5981 +
"optionalDependencies": {
5982 +
"fsevents": "~2.3.3"
5320 5983
}
5321 5984
},
5322 5985
"node_modules/tunnel-agent": {
5323 5986
"version": "0.6.0",
5324 5987
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
5753 6416
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
5754 6417
"dev": true,
5755 6418
"license": "MIT",
5756 6419
"engines": {
5757 6420
"node": ">=6"
6421 +
}
6422 +
},
6423 +
"node_modules/yoctocolors": {
6424 +
"version": "2.1.2",
6425 +
"resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz",
6426 +
"integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==",
6427 +
"dev": true,
6428 +
"license": "MIT",
6429 +
"engines": {
6430 +
"node": ">=18"
6431 +
},
6432 +
"funding": {
6433 +
"url": "https://github.com/sponsors/sindresorhus"
5758 6434
}
5759 6435
},
5760 6436
"node_modules/zeptomatch": {
5761 6437
"version": "2.1.0",
5762 6438
"resolved": "https://registry.npmjs.org/zeptomatch/-/zeptomatch-2.1.0.tgz",
5768 6444
"graphmatch": "^1.1.0"
5769 6445
}
5770 6446
}
5771 6447
}
5772 6448
}
api/package.json
1 1
{
2 2
"name": "orbit-api",
3 3
"version": "0.0.0",
4 4
"description": "",
5 5
"license": "ISC",
9 9
"test": "tests"
10 10
},
11 11
"scripts": {
12 12
"build": "tsc && tsc-alias",
13 13
"start": "ts-node -r tsconfig-paths/register src/index.ts",
14 -
"test": "npx ava",
14 +
"test": "npm run test:setup && NODE_ENV=test npx ava tests/database.test.ts",
15 +
"test:setup": "npm run test:setup:generate && npm run test:setup:migrate",
16 +
"test:setup:generate": "DATABASE_URL='postgres://user:password@orbit_db:5432/orbit_test' npx prisma generate",
17 +
"test:setup:migrate": "DATABASE_URL='postgres://user:password@orbit_db:5432/orbit_test' npx prisma migrate deploy",
18 +
"test:watch": "npm run test:setup && NODE_ENV=test npx ava --watch",
15 19
"dev": "prisma generate && prisma migrate deploy && npm run start"
16 20
},
17 21
"dependencies": {
18 22
"@prisma/adapter-better-sqlite3": "^7.5.0",
19 23
"@prisma/adapter-pg": "^7.7.0",
28 32
"jsonwebtoken": "^9.0.3",
29 33
"morgan": "^1.10.1",
30 34
"pg": "^8.20.0"
31 35
},
32 36
"devDependencies": {
37 +
"@ava/typescript": "^6.0.0",
33 38
"@types/better-sqlite3": "^7.6.13",
34 39
"@types/express": "^5.0.6",
35 40
"@types/morgan": "^1.9.10",
36 41
"@types/node": "^25.5.2",
37 42
"ava": "^6.4.1",
38 43
"prisma": "^7.5.0",
39 44
"supertest": "^7.1.4",
40 45
"ts-node": "^10.9.2",
41 46
"tsc-alias": "^1.8.16",
42 47
"tsconfig-paths": "^4.2.0",
48 +
"tsx": "^4.21.0",
43 49
"typescript": "^6.0.2"
44 50
}
45 51
}