eletrotupi / tcc/ commit / 66973ed

api: pull ava typescript support

Pedro Lucas Porcellis porcellis@eletrotupi.com · 6 months ago 66973ed84c35f28ee34abb7b8e81d374dd574e52 Browse files
Parents 1218f83
Changed 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 modified+676
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 modified+7 -1
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
}