This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

feat: publish message type to typescript file

+1412 -12
+4 -1
Justfile
··· 31 31 go get github.com/steebchen/prisma-client-go 32 32 go run github.com/steebchen/prisma-client-go generate 33 33 34 + gen_typescript: 35 + go run scripts/typing.go > types.d.ts 36 + 34 37 generate: 35 38 just updateschema 36 - just updateopenapi 39 + just gen_typescript
+8 -2
events.go
··· 1 1 package notella 2 2 3 - type Event = string 3 + type Event string 4 4 5 - var ( 5 + const ( 6 6 EventNewTicket Event = "new_ticket" 7 7 EventNewPost Event = "new_post" 8 8 EventGodchildRequest Event = "godchild_request" 9 9 EventNewComment Event = "new_comment" 10 10 EventCommentReply Event = "comment_reply" 11 11 ) 12 + 13 + type Message struct { 14 + Id string `json:"id"` 15 + // IMPORTANT: Keep this up to date!!! 16 + Event Event `json:"event" jsonschema:"enum=new_ticket,enum=new_post,enum=godchild_request,enum=new_comment,enum=comment_reply"` 17 + }
+6
go.mod
··· 13 13 ) 14 14 15 15 require ( 16 + github.com/bahlo/generic-list-go v0.2.0 // indirect 17 + github.com/buger/jsonparser v1.1.1 // indirect 16 18 github.com/golang-jwt/jwt v3.2.2+incompatible // indirect 17 19 github.com/klauspost/compress v1.17.2 // indirect 20 + github.com/mailru/easyjson v0.7.7 // indirect 18 21 github.com/nats-io/nkeys v0.4.7 // indirect 19 22 github.com/nats-io/nuid v1.0.1 // indirect 23 + github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect 20 24 golang.org/x/crypto v0.18.0 // indirect 25 + gopkg.in/yaml.v3 v3.0.1 // indirect 21 26 ) 22 27 23 28 require ( ··· 25 30 github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be 26 31 github.com/gosuri/uilive v0.0.4 // indirect 27 32 github.com/gosuri/uiprogress v0.0.1 // indirect 33 + github.com/invopop/jsonschema v0.12.0 28 34 github.com/mattn/go-isatty v0.0.20 // indirect 29 35 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect 30 36 golang.org/x/sys v0.26.0 // indirect
+13
go.sum
··· 1 1 github.com/SherClockHolmes/webpush-go v1.3.0 h1:CAu3FvEE9QS4drc3iKNgpBWFfGqNthKlZhp5QpYnu6k= 2 2 github.com/SherClockHolmes/webpush-go v1.3.0/go.mod h1:AxRHmJuYwKGG1PVgYzToik1lphQvDnqFYDqimHvwhIw= 3 + github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= 4 + github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= 5 + github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= 6 + github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= 3 7 github.com/caarlos0/env/v11 v11.2.2 h1:95fApNrUyueipoZN/EhA8mMxiNxrBwDa+oAZrMWl3Kg= 4 8 github.com/caarlos0/env/v11 v11.2.2/go.mod h1:JBfcdeQiBoI3Zh1QRAWfe+tpiNTmDtcCj/hHHHMx0vc= 5 9 github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be h1:J5BL2kskAlV9ckgEsNQXscjIaLiOYiZ75d4e94E6dcQ= ··· 14 18 github.com/gosuri/uilive v0.0.4/go.mod h1:V/epo5LjjlDE5RJUcqx8dbw+zc93y5Ya3yg8tfZ74VI= 15 19 github.com/gosuri/uiprogress v0.0.1 h1:0kpv/XY/qTmFWl/SkaJykZXrBBzwwadmW8fRb7RJSxw= 16 20 github.com/gosuri/uiprogress v0.0.1/go.mod h1:C1RTYn4Sc7iEyf6j8ft5dyoZ4212h8G1ol9QQluh5+0= 21 + github.com/invopop/jsonschema v0.12.0 h1:6ovsNSuvn9wEQVOyc72aycBMVQFKz7cPdMJn10CvzRI= 22 + github.com/invopop/jsonschema v0.12.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= 17 23 github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= 18 24 github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= 25 + github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= 19 26 github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= 20 27 github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= 28 + github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= 29 + github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= 21 30 github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= 22 31 github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= 23 32 github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= ··· 38 47 github.com/steebchen/prisma-client-go v0.42.0/go.mod h1:wp2xU9HO5WIefc65vcl1HOiFUzaHKyOhHw5atrzs8hc= 39 48 github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= 40 49 github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= 50 + github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= 51 + github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= 41 52 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= 42 53 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= 43 54 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= ··· 78 89 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= 79 90 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= 80 91 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 92 + gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= 93 + gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 81 94 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 82 95 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+1258
package-lock.json
··· 10 10 "devDependencies": { 11 11 "nats": "^2.28.2", 12 12 "prisma": "^5.20.0", 13 + "quicktype": "^23.0.170", 13 14 "tsx": "^4.19.2" 15 + } 16 + }, 17 + "node_modules/@cspotcode/source-map-support": { 18 + "version": "0.8.1", 19 + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 20 + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 21 + "dev": true, 22 + "license": "MIT", 23 + "dependencies": { 24 + "@jridgewell/trace-mapping": "0.3.9" 25 + }, 26 + "engines": { 27 + "node": ">=12" 14 28 } 15 29 }, 16 30 "node_modules/@esbuild/aix-ppc64": { ··· 421 435 "node": ">=18" 422 436 } 423 437 }, 438 + "node_modules/@glideapps/ts-necessities": { 439 + "version": "2.3.2", 440 + "resolved": "https://registry.npmjs.org/@glideapps/ts-necessities/-/ts-necessities-2.3.2.tgz", 441 + "integrity": "sha512-tOXo3SrEeLu+4X2q6O2iNPXdGI1qoXEz/KrbkElTsWiWb69tFH4GzWz2K++0nBD6O3qO2Ft1C4L4ZvUfE2QDlQ==", 442 + "dev": true, 443 + "license": "MIT" 444 + }, 445 + "node_modules/@jridgewell/resolve-uri": { 446 + "version": "3.1.2", 447 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 448 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 449 + "dev": true, 450 + "license": "MIT", 451 + "engines": { 452 + "node": ">=6.0.0" 453 + } 454 + }, 455 + "node_modules/@jridgewell/sourcemap-codec": { 456 + "version": "1.5.0", 457 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 458 + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 459 + "dev": true, 460 + "license": "MIT" 461 + }, 462 + "node_modules/@jridgewell/trace-mapping": { 463 + "version": "0.3.9", 464 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 465 + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 466 + "dev": true, 467 + "license": "MIT", 468 + "dependencies": { 469 + "@jridgewell/resolve-uri": "^3.0.3", 470 + "@jridgewell/sourcemap-codec": "^1.4.10" 471 + } 472 + }, 473 + "node_modules/@mark.probst/typescript-json-schema": { 474 + "version": "0.55.0", 475 + "resolved": "https://registry.npmjs.org/@mark.probst/typescript-json-schema/-/typescript-json-schema-0.55.0.tgz", 476 + "integrity": "sha512-jI48mSnRgFQxXiE/UTUCVCpX8lK3wCFKLF1Ss2aEreboKNuLQGt3e0/YFqWVHe/WENxOaqiJvwOz+L/SrN2+qQ==", 477 + "dev": true, 478 + "license": "BSD-3-Clause", 479 + "dependencies": { 480 + "@types/json-schema": "^7.0.9", 481 + "@types/node": "^16.9.2", 482 + "glob": "^7.1.7", 483 + "path-equal": "^1.1.2", 484 + "safe-stable-stringify": "^2.2.0", 485 + "ts-node": "^10.9.1", 486 + "typescript": "4.9.4", 487 + "yargs": "^17.1.1" 488 + }, 489 + "bin": { 490 + "typescript-json-schema": "bin/typescript-json-schema" 491 + } 492 + }, 493 + "node_modules/@mark.probst/typescript-json-schema/node_modules/typescript": { 494 + "version": "4.9.4", 495 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", 496 + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", 497 + "dev": true, 498 + "license": "Apache-2.0", 499 + "bin": { 500 + "tsc": "bin/tsc", 501 + "tsserver": "bin/tsserver" 502 + }, 503 + "engines": { 504 + "node": ">=4.2.0" 505 + } 506 + }, 424 507 "node_modules/@prisma/client": { 425 508 "version": "5.20.0", 426 509 "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.20.0.tgz", ··· 483 566 "@prisma/debug": "5.20.0" 484 567 } 485 568 }, 569 + "node_modules/@tsconfig/node10": { 570 + "version": "1.0.11", 571 + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", 572 + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", 573 + "dev": true, 574 + "license": "MIT" 575 + }, 576 + "node_modules/@tsconfig/node12": { 577 + "version": "1.0.11", 578 + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", 579 + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", 580 + "dev": true, 581 + "license": "MIT" 582 + }, 583 + "node_modules/@tsconfig/node14": { 584 + "version": "1.0.3", 585 + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", 586 + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", 587 + "dev": true, 588 + "license": "MIT" 589 + }, 590 + "node_modules/@tsconfig/node16": { 591 + "version": "1.0.4", 592 + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", 593 + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", 594 + "dev": true, 595 + "license": "MIT" 596 + }, 597 + "node_modules/@types/json-schema": { 598 + "version": "7.0.15", 599 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 600 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 601 + "dev": true, 602 + "license": "MIT" 603 + }, 604 + "node_modules/@types/node": { 605 + "version": "16.18.116", 606 + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.116.tgz", 607 + "integrity": "sha512-mLigUvhoaADRewggiby+XfAAFOUOMCm/SwL5DAJ+CMUGjSLIGMsJVN7BOKftuQSHGjUmS/W7hVht8fcNbi/MRA==", 608 + "dev": true, 609 + "license": "MIT" 610 + }, 611 + "node_modules/abort-controller": { 612 + "version": "3.0.0", 613 + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 614 + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 615 + "dev": true, 616 + "license": "MIT", 617 + "dependencies": { 618 + "event-target-shim": "^5.0.0" 619 + }, 620 + "engines": { 621 + "node": ">=6.5" 622 + } 623 + }, 624 + "node_modules/acorn": { 625 + "version": "8.14.0", 626 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 627 + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 628 + "dev": true, 629 + "license": "MIT", 630 + "bin": { 631 + "acorn": "bin/acorn" 632 + }, 633 + "engines": { 634 + "node": ">=0.4.0" 635 + } 636 + }, 637 + "node_modules/acorn-walk": { 638 + "version": "8.3.4", 639 + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", 640 + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", 641 + "dev": true, 642 + "license": "MIT", 643 + "dependencies": { 644 + "acorn": "^8.11.0" 645 + }, 646 + "engines": { 647 + "node": ">=0.4.0" 648 + } 649 + }, 650 + "node_modules/ansi-regex": { 651 + "version": "5.0.1", 652 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 653 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 654 + "dev": true, 655 + "license": "MIT", 656 + "engines": { 657 + "node": ">=8" 658 + } 659 + }, 660 + "node_modules/ansi-styles": { 661 + "version": "4.3.0", 662 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 663 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 664 + "dev": true, 665 + "license": "MIT", 666 + "dependencies": { 667 + "color-convert": "^2.0.1" 668 + }, 669 + "engines": { 670 + "node": ">=8" 671 + }, 672 + "funding": { 673 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 674 + } 675 + }, 676 + "node_modules/arg": { 677 + "version": "4.1.3", 678 + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 679 + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 680 + "dev": true, 681 + "license": "MIT" 682 + }, 683 + "node_modules/array-back": { 684 + "version": "3.1.0", 685 + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", 686 + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", 687 + "dev": true, 688 + "license": "MIT", 689 + "engines": { 690 + "node": ">=6" 691 + } 692 + }, 693 + "node_modules/balanced-match": { 694 + "version": "1.0.2", 695 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 696 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 697 + "dev": true, 698 + "license": "MIT" 699 + }, 700 + "node_modules/base64-js": { 701 + "version": "1.5.1", 702 + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 703 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 704 + "dev": true, 705 + "funding": [ 706 + { 707 + "type": "github", 708 + "url": "https://github.com/sponsors/feross" 709 + }, 710 + { 711 + "type": "patreon", 712 + "url": "https://www.patreon.com/feross" 713 + }, 714 + { 715 + "type": "consulting", 716 + "url": "https://feross.org/support" 717 + } 718 + ], 719 + "license": "MIT" 720 + }, 721 + "node_modules/brace-expansion": { 722 + "version": "1.1.11", 723 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 724 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 725 + "dev": true, 726 + "license": "MIT", 727 + "dependencies": { 728 + "balanced-match": "^1.0.0", 729 + "concat-map": "0.0.1" 730 + } 731 + }, 732 + "node_modules/browser-or-node": { 733 + "version": "3.0.0", 734 + "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-3.0.0.tgz", 735 + "integrity": "sha512-iczIdVJzGEYhP5DqQxYM9Hh7Ztpqqi+CXZpSmX8ALFs9ecXkQIeqRyM6TfxEfMVpwhl3dSuDvxdzzo9sUOIVBQ==", 736 + "dev": true, 737 + "license": "MIT" 738 + }, 739 + "node_modules/buffer": { 740 + "version": "6.0.3", 741 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 742 + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 743 + "dev": true, 744 + "funding": [ 745 + { 746 + "type": "github", 747 + "url": "https://github.com/sponsors/feross" 748 + }, 749 + { 750 + "type": "patreon", 751 + "url": "https://www.patreon.com/feross" 752 + }, 753 + { 754 + "type": "consulting", 755 + "url": "https://feross.org/support" 756 + } 757 + ], 758 + "license": "MIT", 759 + "dependencies": { 760 + "base64-js": "^1.3.1", 761 + "ieee754": "^1.2.1" 762 + } 763 + }, 764 + "node_modules/chalk": { 765 + "version": "4.1.2", 766 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 767 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 768 + "dev": true, 769 + "license": "MIT", 770 + "dependencies": { 771 + "ansi-styles": "^4.1.0", 772 + "supports-color": "^7.1.0" 773 + }, 774 + "engines": { 775 + "node": ">=10" 776 + }, 777 + "funding": { 778 + "url": "https://github.com/chalk/chalk?sponsor=1" 779 + } 780 + }, 781 + "node_modules/chalk-template": { 782 + "version": "0.4.0", 783 + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", 784 + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", 785 + "dev": true, 786 + "license": "MIT", 787 + "dependencies": { 788 + "chalk": "^4.1.2" 789 + }, 790 + "engines": { 791 + "node": ">=12" 792 + }, 793 + "funding": { 794 + "url": "https://github.com/chalk/chalk-template?sponsor=1" 795 + } 796 + }, 797 + "node_modules/cliui": { 798 + "version": "8.0.1", 799 + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 800 + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 801 + "dev": true, 802 + "license": "ISC", 803 + "dependencies": { 804 + "string-width": "^4.2.0", 805 + "strip-ansi": "^6.0.1", 806 + "wrap-ansi": "^7.0.0" 807 + }, 808 + "engines": { 809 + "node": ">=12" 810 + } 811 + }, 812 + "node_modules/collection-utils": { 813 + "version": "1.0.1", 814 + "resolved": "https://registry.npmjs.org/collection-utils/-/collection-utils-1.0.1.tgz", 815 + "integrity": "sha512-LA2YTIlR7biSpXkKYwwuzGjwL5rjWEZVOSnvdUc7gObvWe4WkjxOpfrdhoP7Hs09YWDVfg0Mal9BpAqLfVEzQg==", 816 + "dev": true, 817 + "license": "Apache-2.0" 818 + }, 819 + "node_modules/color-convert": { 820 + "version": "2.0.1", 821 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 822 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 823 + "dev": true, 824 + "license": "MIT", 825 + "dependencies": { 826 + "color-name": "~1.1.4" 827 + }, 828 + "engines": { 829 + "node": ">=7.0.0" 830 + } 831 + }, 832 + "node_modules/color-name": { 833 + "version": "1.1.4", 834 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 835 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 836 + "dev": true, 837 + "license": "MIT" 838 + }, 839 + "node_modules/command-line-args": { 840 + "version": "5.2.1", 841 + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", 842 + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", 843 + "dev": true, 844 + "license": "MIT", 845 + "dependencies": { 846 + "array-back": "^3.1.0", 847 + "find-replace": "^3.0.0", 848 + "lodash.camelcase": "^4.3.0", 849 + "typical": "^4.0.0" 850 + }, 851 + "engines": { 852 + "node": ">=4.0.0" 853 + } 854 + }, 855 + "node_modules/command-line-usage": { 856 + "version": "7.0.3", 857 + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz", 858 + "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==", 859 + "dev": true, 860 + "license": "MIT", 861 + "dependencies": { 862 + "array-back": "^6.2.2", 863 + "chalk-template": "^0.4.0", 864 + "table-layout": "^4.1.0", 865 + "typical": "^7.1.1" 866 + }, 867 + "engines": { 868 + "node": ">=12.20.0" 869 + } 870 + }, 871 + "node_modules/command-line-usage/node_modules/array-back": { 872 + "version": "6.2.2", 873 + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", 874 + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", 875 + "dev": true, 876 + "license": "MIT", 877 + "engines": { 878 + "node": ">=12.17" 879 + } 880 + }, 881 + "node_modules/command-line-usage/node_modules/typical": { 882 + "version": "7.2.0", 883 + "resolved": "https://registry.npmjs.org/typical/-/typical-7.2.0.tgz", 884 + "integrity": "sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==", 885 + "dev": true, 886 + "license": "MIT", 887 + "engines": { 888 + "node": ">=12.17" 889 + } 890 + }, 891 + "node_modules/concat-map": { 892 + "version": "0.0.1", 893 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 894 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 895 + "dev": true, 896 + "license": "MIT" 897 + }, 898 + "node_modules/create-require": { 899 + "version": "1.1.1", 900 + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 901 + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 902 + "dev": true, 903 + "license": "MIT" 904 + }, 905 + "node_modules/cross-fetch": { 906 + "version": "4.0.0", 907 + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", 908 + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", 909 + "dev": true, 910 + "license": "MIT", 911 + "dependencies": { 912 + "node-fetch": "^2.6.12" 913 + } 914 + }, 915 + "node_modules/diff": { 916 + "version": "4.0.2", 917 + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 918 + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 919 + "dev": true, 920 + "license": "BSD-3-Clause", 921 + "engines": { 922 + "node": ">=0.3.1" 923 + } 924 + }, 925 + "node_modules/emoji-regex": { 926 + "version": "8.0.0", 927 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 928 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 929 + "dev": true, 930 + "license": "MIT" 931 + }, 486 932 "node_modules/esbuild": { 487 933 "version": "0.23.1", 488 934 "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", ··· 523 969 "@esbuild/win32-x64": "0.23.1" 524 970 } 525 971 }, 972 + "node_modules/escalade": { 973 + "version": "3.2.0", 974 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 975 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 976 + "dev": true, 977 + "license": "MIT", 978 + "engines": { 979 + "node": ">=6" 980 + } 981 + }, 982 + "node_modules/event-target-shim": { 983 + "version": "5.0.1", 984 + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 985 + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", 986 + "dev": true, 987 + "license": "MIT", 988 + "engines": { 989 + "node": ">=6" 990 + } 991 + }, 992 + "node_modules/events": { 993 + "version": "3.3.0", 994 + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 995 + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 996 + "dev": true, 997 + "license": "MIT", 998 + "engines": { 999 + "node": ">=0.8.x" 1000 + } 1001 + }, 1002 + "node_modules/find-replace": { 1003 + "version": "3.0.0", 1004 + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", 1005 + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", 1006 + "dev": true, 1007 + "license": "MIT", 1008 + "dependencies": { 1009 + "array-back": "^3.0.1" 1010 + }, 1011 + "engines": { 1012 + "node": ">=4.0.0" 1013 + } 1014 + }, 1015 + "node_modules/fs.realpath": { 1016 + "version": "1.0.0", 1017 + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1018 + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1019 + "dev": true, 1020 + "license": "ISC" 1021 + }, 526 1022 "node_modules/fsevents": { 527 1023 "version": "2.3.3", 528 1024 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", ··· 537 1033 "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 538 1034 } 539 1035 }, 1036 + "node_modules/get-caller-file": { 1037 + "version": "2.0.5", 1038 + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1039 + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1040 + "dev": true, 1041 + "license": "ISC", 1042 + "engines": { 1043 + "node": "6.* || 8.* || >= 10.*" 1044 + } 1045 + }, 540 1046 "node_modules/get-tsconfig": { 541 1047 "version": "4.8.1", 542 1048 "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", ··· 550 1056 "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 551 1057 } 552 1058 }, 1059 + "node_modules/glob": { 1060 + "version": "7.2.3", 1061 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1062 + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1063 + "deprecated": "Glob versions prior to v9 are no longer supported", 1064 + "dev": true, 1065 + "license": "ISC", 1066 + "dependencies": { 1067 + "fs.realpath": "^1.0.0", 1068 + "inflight": "^1.0.4", 1069 + "inherits": "2", 1070 + "minimatch": "^3.1.1", 1071 + "once": "^1.3.0", 1072 + "path-is-absolute": "^1.0.0" 1073 + }, 1074 + "engines": { 1075 + "node": "*" 1076 + }, 1077 + "funding": { 1078 + "url": "https://github.com/sponsors/isaacs" 1079 + } 1080 + }, 1081 + "node_modules/graphql": { 1082 + "version": "0.11.7", 1083 + "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.11.7.tgz", 1084 + "integrity": "sha512-x7uDjyz8Jx+QPbpCFCMQ8lltnQa4p4vSYHx6ADe8rVYRTdsyhCJbvSty5DAsLVmU6cGakl+r8HQYolKHxk/tiw==", 1085 + "dev": true, 1086 + "license": "MIT", 1087 + "dependencies": { 1088 + "iterall": "1.1.3" 1089 + } 1090 + }, 1091 + "node_modules/has-flag": { 1092 + "version": "4.0.0", 1093 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1094 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1095 + "dev": true, 1096 + "license": "MIT", 1097 + "engines": { 1098 + "node": ">=8" 1099 + } 1100 + }, 1101 + "node_modules/ieee754": { 1102 + "version": "1.2.1", 1103 + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1104 + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1105 + "dev": true, 1106 + "funding": [ 1107 + { 1108 + "type": "github", 1109 + "url": "https://github.com/sponsors/feross" 1110 + }, 1111 + { 1112 + "type": "patreon", 1113 + "url": "https://www.patreon.com/feross" 1114 + }, 1115 + { 1116 + "type": "consulting", 1117 + "url": "https://feross.org/support" 1118 + } 1119 + ], 1120 + "license": "BSD-3-Clause" 1121 + }, 1122 + "node_modules/inflight": { 1123 + "version": "1.0.6", 1124 + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1125 + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1126 + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", 1127 + "dev": true, 1128 + "license": "ISC", 1129 + "dependencies": { 1130 + "once": "^1.3.0", 1131 + "wrappy": "1" 1132 + } 1133 + }, 1134 + "node_modules/inherits": { 1135 + "version": "2.0.4", 1136 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1137 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1138 + "dev": true, 1139 + "license": "ISC" 1140 + }, 1141 + "node_modules/is-fullwidth-code-point": { 1142 + "version": "3.0.0", 1143 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1144 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1145 + "dev": true, 1146 + "license": "MIT", 1147 + "engines": { 1148 + "node": ">=8" 1149 + } 1150 + }, 1151 + "node_modules/is-url": { 1152 + "version": "1.2.4", 1153 + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", 1154 + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", 1155 + "dev": true, 1156 + "license": "MIT" 1157 + }, 1158 + "node_modules/iterall": { 1159 + "version": "1.1.3", 1160 + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz", 1161 + "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==", 1162 + "dev": true, 1163 + "license": "MIT" 1164 + }, 1165 + "node_modules/js-base64": { 1166 + "version": "3.7.7", 1167 + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", 1168 + "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==", 1169 + "dev": true, 1170 + "license": "BSD-3-Clause" 1171 + }, 1172 + "node_modules/lodash": { 1173 + "version": "4.17.21", 1174 + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1175 + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1176 + "dev": true, 1177 + "license": "MIT" 1178 + }, 1179 + "node_modules/lodash.camelcase": { 1180 + "version": "4.3.0", 1181 + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 1182 + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", 1183 + "dev": true, 1184 + "license": "MIT" 1185 + }, 1186 + "node_modules/make-error": { 1187 + "version": "1.3.6", 1188 + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 1189 + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 1190 + "dev": true, 1191 + "license": "ISC" 1192 + }, 1193 + "node_modules/minimatch": { 1194 + "version": "3.1.2", 1195 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1196 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1197 + "dev": true, 1198 + "license": "ISC", 1199 + "dependencies": { 1200 + "brace-expansion": "^1.1.7" 1201 + }, 1202 + "engines": { 1203 + "node": "*" 1204 + } 1205 + }, 1206 + "node_modules/moment": { 1207 + "version": "2.30.1", 1208 + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", 1209 + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", 1210 + "dev": true, 1211 + "license": "MIT", 1212 + "engines": { 1213 + "node": "*" 1214 + } 1215 + }, 553 1216 "node_modules/nats": { 554 1217 "version": "2.28.2", 555 1218 "resolved": "https://registry.npmjs.org/nats/-/nats-2.28.2.tgz", ··· 576 1239 "node": ">=10.0.0" 577 1240 } 578 1241 }, 1242 + "node_modules/node-fetch": { 1243 + "version": "2.7.0", 1244 + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 1245 + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 1246 + "dev": true, 1247 + "license": "MIT", 1248 + "dependencies": { 1249 + "whatwg-url": "^5.0.0" 1250 + }, 1251 + "engines": { 1252 + "node": "4.x || >=6.0.0" 1253 + }, 1254 + "peerDependencies": { 1255 + "encoding": "^0.1.0" 1256 + }, 1257 + "peerDependenciesMeta": { 1258 + "encoding": { 1259 + "optional": true 1260 + } 1261 + } 1262 + }, 1263 + "node_modules/once": { 1264 + "version": "1.4.0", 1265 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1266 + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1267 + "dev": true, 1268 + "license": "ISC", 1269 + "dependencies": { 1270 + "wrappy": "1" 1271 + } 1272 + }, 1273 + "node_modules/pako": { 1274 + "version": "1.0.11", 1275 + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 1276 + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", 1277 + "dev": true, 1278 + "license": "(MIT AND Zlib)" 1279 + }, 1280 + "node_modules/path-equal": { 1281 + "version": "1.2.5", 1282 + "resolved": "https://registry.npmjs.org/path-equal/-/path-equal-1.2.5.tgz", 1283 + "integrity": "sha512-i73IctDr3F2W+bsOWDyyVm/lqsXO47aY9nsFZUjTT/aljSbkxHxxCoyZ9UUrM8jK0JVod+An+rl48RCsvWM+9g==", 1284 + "dev": true, 1285 + "license": "MIT" 1286 + }, 1287 + "node_modules/path-is-absolute": { 1288 + "version": "1.0.1", 1289 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1290 + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1291 + "dev": true, 1292 + "license": "MIT", 1293 + "engines": { 1294 + "node": ">=0.10.0" 1295 + } 1296 + }, 1297 + "node_modules/pluralize": { 1298 + "version": "8.0.0", 1299 + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", 1300 + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", 1301 + "dev": true, 1302 + "license": "MIT", 1303 + "engines": { 1304 + "node": ">=4" 1305 + } 1306 + }, 579 1307 "node_modules/prisma": { 580 1308 "version": "5.20.0", 581 1309 "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.20.0.tgz", ··· 595 1323 "fsevents": "2.3.3" 596 1324 } 597 1325 }, 1326 + "node_modules/process": { 1327 + "version": "0.11.10", 1328 + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1329 + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 1330 + "dev": true, 1331 + "license": "MIT", 1332 + "engines": { 1333 + "node": ">= 0.6.0" 1334 + } 1335 + }, 1336 + "node_modules/quicktype": { 1337 + "version": "23.0.170", 1338 + "resolved": "https://registry.npmjs.org/quicktype/-/quicktype-23.0.170.tgz", 1339 + "integrity": "sha512-3gFyS7w36ktxrttEv1gMfuUlGairepnSpLN0cp7JVevkKX2N6Uk8AyMlDS2Puki09MY6PB6ch90plThvACtEHA==", 1340 + "dev": true, 1341 + "license": "Apache-2.0", 1342 + "workspaces": [ 1343 + "./packages/quicktype-core", 1344 + "./packages/quicktype-graphql-input", 1345 + "./packages/quicktype-typescript-input", 1346 + "./packages/quicktype-vscode" 1347 + ], 1348 + "dependencies": { 1349 + "@glideapps/ts-necessities": "^2.2.3", 1350 + "chalk": "^4.1.2", 1351 + "collection-utils": "^1.0.1", 1352 + "command-line-args": "^5.2.1", 1353 + "command-line-usage": "^7.0.1", 1354 + "cross-fetch": "^4.0.0", 1355 + "graphql": "^0.11.7", 1356 + "lodash": "^4.17.21", 1357 + "moment": "^2.30.1", 1358 + "quicktype-core": "23.0.170", 1359 + "quicktype-graphql-input": "23.0.170", 1360 + "quicktype-typescript-input": "23.0.170", 1361 + "readable-stream": "^4.5.2", 1362 + "stream-json": "1.8.0", 1363 + "string-to-stream": "^3.0.1", 1364 + "typescript": "4.9.5" 1365 + }, 1366 + "bin": { 1367 + "quicktype": "dist/index.js" 1368 + }, 1369 + "engines": { 1370 + "node": ">=18.12.0" 1371 + } 1372 + }, 1373 + "node_modules/quicktype-core": { 1374 + "version": "23.0.170", 1375 + "resolved": "https://registry.npmjs.org/quicktype-core/-/quicktype-core-23.0.170.tgz", 1376 + "integrity": "sha512-ZsjveG0yJUIijUx4yQshzyQ5EAXKbFSBTQJHnJ+KoSZVxcS+m3GcmDpzrdUIRYMhgLaF11ZGvLSYi5U0xcwemw==", 1377 + "dev": true, 1378 + "license": "Apache-2.0", 1379 + "dependencies": { 1380 + "@glideapps/ts-necessities": "2.2.3", 1381 + "browser-or-node": "^3.0.0", 1382 + "collection-utils": "^1.0.1", 1383 + "cross-fetch": "^4.0.0", 1384 + "is-url": "^1.2.4", 1385 + "js-base64": "^3.7.7", 1386 + "lodash": "^4.17.21", 1387 + "pako": "^1.0.6", 1388 + "pluralize": "^8.0.0", 1389 + "readable-stream": "4.5.2", 1390 + "unicode-properties": "^1.4.1", 1391 + "urijs": "^1.19.1", 1392 + "wordwrap": "^1.0.0", 1393 + "yaml": "^2.4.1" 1394 + } 1395 + }, 1396 + "node_modules/quicktype-core/node_modules/@glideapps/ts-necessities": { 1397 + "version": "2.2.3", 1398 + "resolved": "https://registry.npmjs.org/@glideapps/ts-necessities/-/ts-necessities-2.2.3.tgz", 1399 + "integrity": "sha512-gXi0awOZLHk3TbW55GZLCPP6O+y/b5X1pBXKBVckFONSwF1z1E5ND2BGJsghQFah+pW7pkkyFb2VhUQI2qhL5w==", 1400 + "dev": true, 1401 + "license": "MIT" 1402 + }, 1403 + "node_modules/quicktype-graphql-input": { 1404 + "version": "23.0.170", 1405 + "resolved": "https://registry.npmjs.org/quicktype-graphql-input/-/quicktype-graphql-input-23.0.170.tgz", 1406 + "integrity": "sha512-L0xPKdIFZFChwups9oqJuQw/vwEbRVKBvU9L5jAs0Z/aLyfdsuxDpKGMJXnNWa2yE7NhPX/UDX8ytxn8uc8hdQ==", 1407 + "dev": true, 1408 + "license": "Apache-2.0", 1409 + "dependencies": { 1410 + "collection-utils": "^1.0.1", 1411 + "graphql": "^0.11.7", 1412 + "quicktype-core": "23.0.170" 1413 + } 1414 + }, 1415 + "node_modules/quicktype-typescript-input": { 1416 + "version": "23.0.170", 1417 + "resolved": "https://registry.npmjs.org/quicktype-typescript-input/-/quicktype-typescript-input-23.0.170.tgz", 1418 + "integrity": "sha512-lckhc//Mc95f/puRFKv4BFs7VpUUJXhw/psh+5ZAMiErxOWgoF87XthGusmaqoXNzjmEy1AVwGgMCG2pp/tJ/w==", 1419 + "dev": true, 1420 + "license": "Apache-2.0", 1421 + "dependencies": { 1422 + "@mark.probst/typescript-json-schema": "0.55.0", 1423 + "quicktype-core": "23.0.170", 1424 + "typescript": "4.9.5" 1425 + } 1426 + }, 1427 + "node_modules/readable-stream": { 1428 + "version": "4.5.2", 1429 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", 1430 + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", 1431 + "dev": true, 1432 + "license": "MIT", 1433 + "dependencies": { 1434 + "abort-controller": "^3.0.0", 1435 + "buffer": "^6.0.3", 1436 + "events": "^3.3.0", 1437 + "process": "^0.11.10", 1438 + "string_decoder": "^1.3.0" 1439 + }, 1440 + "engines": { 1441 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1442 + } 1443 + }, 1444 + "node_modules/require-directory": { 1445 + "version": "2.1.1", 1446 + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1447 + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 1448 + "dev": true, 1449 + "license": "MIT", 1450 + "engines": { 1451 + "node": ">=0.10.0" 1452 + } 1453 + }, 598 1454 "node_modules/resolve-pkg-maps": { 599 1455 "version": "1.0.0", 600 1456 "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", ··· 605 1461 "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 606 1462 } 607 1463 }, 1464 + "node_modules/safe-buffer": { 1465 + "version": "5.2.1", 1466 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1467 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1468 + "dev": true, 1469 + "funding": [ 1470 + { 1471 + "type": "github", 1472 + "url": "https://github.com/sponsors/feross" 1473 + }, 1474 + { 1475 + "type": "patreon", 1476 + "url": "https://www.patreon.com/feross" 1477 + }, 1478 + { 1479 + "type": "consulting", 1480 + "url": "https://feross.org/support" 1481 + } 1482 + ], 1483 + "license": "MIT" 1484 + }, 1485 + "node_modules/safe-stable-stringify": { 1486 + "version": "2.5.0", 1487 + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", 1488 + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", 1489 + "dev": true, 1490 + "license": "MIT", 1491 + "engines": { 1492 + "node": ">=10" 1493 + } 1494 + }, 1495 + "node_modules/stream-chain": { 1496 + "version": "2.2.5", 1497 + "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz", 1498 + "integrity": "sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==", 1499 + "dev": true, 1500 + "license": "BSD-3-Clause" 1501 + }, 1502 + "node_modules/stream-json": { 1503 + "version": "1.8.0", 1504 + "resolved": "https://registry.npmjs.org/stream-json/-/stream-json-1.8.0.tgz", 1505 + "integrity": "sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw==", 1506 + "dev": true, 1507 + "license": "BSD-3-Clause", 1508 + "dependencies": { 1509 + "stream-chain": "^2.2.5" 1510 + } 1511 + }, 1512 + "node_modules/string_decoder": { 1513 + "version": "1.3.0", 1514 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1515 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1516 + "dev": true, 1517 + "license": "MIT", 1518 + "dependencies": { 1519 + "safe-buffer": "~5.2.0" 1520 + } 1521 + }, 1522 + "node_modules/string-to-stream": { 1523 + "version": "3.0.1", 1524 + "resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-3.0.1.tgz", 1525 + "integrity": "sha512-Hl092MV3USJuUCC6mfl9sPzGloA3K5VwdIeJjYIkXY/8K+mUvaeEabWJgArp+xXrsWxCajeT2pc4axbVhIZJyg==", 1526 + "dev": true, 1527 + "license": "MIT", 1528 + "dependencies": { 1529 + "readable-stream": "^3.4.0" 1530 + } 1531 + }, 1532 + "node_modules/string-to-stream/node_modules/readable-stream": { 1533 + "version": "3.6.2", 1534 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 1535 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 1536 + "dev": true, 1537 + "license": "MIT", 1538 + "dependencies": { 1539 + "inherits": "^2.0.3", 1540 + "string_decoder": "^1.1.1", 1541 + "util-deprecate": "^1.0.1" 1542 + }, 1543 + "engines": { 1544 + "node": ">= 6" 1545 + } 1546 + }, 1547 + "node_modules/string-width": { 1548 + "version": "4.2.3", 1549 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1550 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1551 + "dev": true, 1552 + "license": "MIT", 1553 + "dependencies": { 1554 + "emoji-regex": "^8.0.0", 1555 + "is-fullwidth-code-point": "^3.0.0", 1556 + "strip-ansi": "^6.0.1" 1557 + }, 1558 + "engines": { 1559 + "node": ">=8" 1560 + } 1561 + }, 1562 + "node_modules/strip-ansi": { 1563 + "version": "6.0.1", 1564 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1565 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1566 + "dev": true, 1567 + "license": "MIT", 1568 + "dependencies": { 1569 + "ansi-regex": "^5.0.1" 1570 + }, 1571 + "engines": { 1572 + "node": ">=8" 1573 + } 1574 + }, 1575 + "node_modules/supports-color": { 1576 + "version": "7.2.0", 1577 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1578 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1579 + "dev": true, 1580 + "license": "MIT", 1581 + "dependencies": { 1582 + "has-flag": "^4.0.0" 1583 + }, 1584 + "engines": { 1585 + "node": ">=8" 1586 + } 1587 + }, 1588 + "node_modules/table-layout": { 1589 + "version": "4.1.1", 1590 + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-4.1.1.tgz", 1591 + "integrity": "sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==", 1592 + "dev": true, 1593 + "license": "MIT", 1594 + "dependencies": { 1595 + "array-back": "^6.2.2", 1596 + "wordwrapjs": "^5.1.0" 1597 + }, 1598 + "engines": { 1599 + "node": ">=12.17" 1600 + } 1601 + }, 1602 + "node_modules/table-layout/node_modules/array-back": { 1603 + "version": "6.2.2", 1604 + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", 1605 + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", 1606 + "dev": true, 1607 + "license": "MIT", 1608 + "engines": { 1609 + "node": ">=12.17" 1610 + } 1611 + }, 1612 + "node_modules/tiny-inflate": { 1613 + "version": "1.0.3", 1614 + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", 1615 + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", 1616 + "dev": true, 1617 + "license": "MIT" 1618 + }, 1619 + "node_modules/tr46": { 1620 + "version": "0.0.3", 1621 + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1622 + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", 1623 + "dev": true, 1624 + "license": "MIT" 1625 + }, 1626 + "node_modules/ts-node": { 1627 + "version": "10.9.2", 1628 + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", 1629 + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", 1630 + "dev": true, 1631 + "license": "MIT", 1632 + "dependencies": { 1633 + "@cspotcode/source-map-support": "^0.8.0", 1634 + "@tsconfig/node10": "^1.0.7", 1635 + "@tsconfig/node12": "^1.0.7", 1636 + "@tsconfig/node14": "^1.0.0", 1637 + "@tsconfig/node16": "^1.0.2", 1638 + "acorn": "^8.4.1", 1639 + "acorn-walk": "^8.1.1", 1640 + "arg": "^4.1.0", 1641 + "create-require": "^1.1.0", 1642 + "diff": "^4.0.1", 1643 + "make-error": "^1.1.1", 1644 + "v8-compile-cache-lib": "^3.0.1", 1645 + "yn": "3.1.1" 1646 + }, 1647 + "bin": { 1648 + "ts-node": "dist/bin.js", 1649 + "ts-node-cwd": "dist/bin-cwd.js", 1650 + "ts-node-esm": "dist/bin-esm.js", 1651 + "ts-node-script": "dist/bin-script.js", 1652 + "ts-node-transpile-only": "dist/bin-transpile.js", 1653 + "ts-script": "dist/bin-script-deprecated.js" 1654 + }, 1655 + "peerDependencies": { 1656 + "@swc/core": ">=1.2.50", 1657 + "@swc/wasm": ">=1.2.50", 1658 + "@types/node": "*", 1659 + "typescript": ">=2.7" 1660 + }, 1661 + "peerDependenciesMeta": { 1662 + "@swc/core": { 1663 + "optional": true 1664 + }, 1665 + "@swc/wasm": { 1666 + "optional": true 1667 + } 1668 + } 1669 + }, 608 1670 "node_modules/tsx": { 609 1671 "version": "4.19.2", 610 1672 "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.2.tgz", ··· 631 1693 "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", 632 1694 "dev": true, 633 1695 "license": "Unlicense" 1696 + }, 1697 + "node_modules/typescript": { 1698 + "version": "4.9.5", 1699 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", 1700 + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", 1701 + "dev": true, 1702 + "license": "Apache-2.0", 1703 + "bin": { 1704 + "tsc": "bin/tsc", 1705 + "tsserver": "bin/tsserver" 1706 + }, 1707 + "engines": { 1708 + "node": ">=4.2.0" 1709 + } 1710 + }, 1711 + "node_modules/typical": { 1712 + "version": "4.0.0", 1713 + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", 1714 + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", 1715 + "dev": true, 1716 + "license": "MIT", 1717 + "engines": { 1718 + "node": ">=8" 1719 + } 1720 + }, 1721 + "node_modules/unicode-properties": { 1722 + "version": "1.4.1", 1723 + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", 1724 + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", 1725 + "dev": true, 1726 + "license": "MIT", 1727 + "dependencies": { 1728 + "base64-js": "^1.3.0", 1729 + "unicode-trie": "^2.0.0" 1730 + } 1731 + }, 1732 + "node_modules/unicode-trie": { 1733 + "version": "2.0.0", 1734 + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", 1735 + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", 1736 + "dev": true, 1737 + "license": "MIT", 1738 + "dependencies": { 1739 + "pako": "^0.2.5", 1740 + "tiny-inflate": "^1.0.0" 1741 + } 1742 + }, 1743 + "node_modules/unicode-trie/node_modules/pako": { 1744 + "version": "0.2.9", 1745 + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", 1746 + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", 1747 + "dev": true, 1748 + "license": "MIT" 1749 + }, 1750 + "node_modules/urijs": { 1751 + "version": "1.19.11", 1752 + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", 1753 + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", 1754 + "dev": true, 1755 + "license": "MIT" 1756 + }, 1757 + "node_modules/util-deprecate": { 1758 + "version": "1.0.2", 1759 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1760 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 1761 + "dev": true, 1762 + "license": "MIT" 1763 + }, 1764 + "node_modules/v8-compile-cache-lib": { 1765 + "version": "3.0.1", 1766 + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", 1767 + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", 1768 + "dev": true, 1769 + "license": "MIT" 1770 + }, 1771 + "node_modules/webidl-conversions": { 1772 + "version": "3.0.1", 1773 + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1774 + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", 1775 + "dev": true, 1776 + "license": "BSD-2-Clause" 1777 + }, 1778 + "node_modules/whatwg-url": { 1779 + "version": "5.0.0", 1780 + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1781 + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 1782 + "dev": true, 1783 + "license": "MIT", 1784 + "dependencies": { 1785 + "tr46": "~0.0.3", 1786 + "webidl-conversions": "^3.0.0" 1787 + } 1788 + }, 1789 + "node_modules/wordwrap": { 1790 + "version": "1.0.0", 1791 + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 1792 + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", 1793 + "dev": true, 1794 + "license": "MIT" 1795 + }, 1796 + "node_modules/wordwrapjs": { 1797 + "version": "5.1.0", 1798 + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", 1799 + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", 1800 + "dev": true, 1801 + "license": "MIT", 1802 + "engines": { 1803 + "node": ">=12.17" 1804 + } 1805 + }, 1806 + "node_modules/wrap-ansi": { 1807 + "version": "7.0.0", 1808 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1809 + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1810 + "dev": true, 1811 + "license": "MIT", 1812 + "dependencies": { 1813 + "ansi-styles": "^4.0.0", 1814 + "string-width": "^4.1.0", 1815 + "strip-ansi": "^6.0.0" 1816 + }, 1817 + "engines": { 1818 + "node": ">=10" 1819 + }, 1820 + "funding": { 1821 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1822 + } 1823 + }, 1824 + "node_modules/wrappy": { 1825 + "version": "1.0.2", 1826 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1827 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1828 + "dev": true, 1829 + "license": "ISC" 1830 + }, 1831 + "node_modules/y18n": { 1832 + "version": "5.0.8", 1833 + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 1834 + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 1835 + "dev": true, 1836 + "license": "ISC", 1837 + "engines": { 1838 + "node": ">=10" 1839 + } 1840 + }, 1841 + "node_modules/yaml": { 1842 + "version": "2.6.0", 1843 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", 1844 + "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", 1845 + "dev": true, 1846 + "license": "ISC", 1847 + "bin": { 1848 + "yaml": "bin.mjs" 1849 + }, 1850 + "engines": { 1851 + "node": ">= 14" 1852 + } 1853 + }, 1854 + "node_modules/yargs": { 1855 + "version": "17.7.2", 1856 + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 1857 + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 1858 + "dev": true, 1859 + "license": "MIT", 1860 + "dependencies": { 1861 + "cliui": "^8.0.1", 1862 + "escalade": "^3.1.1", 1863 + "get-caller-file": "^2.0.5", 1864 + "require-directory": "^2.1.1", 1865 + "string-width": "^4.2.3", 1866 + "y18n": "^5.0.5", 1867 + "yargs-parser": "^21.1.1" 1868 + }, 1869 + "engines": { 1870 + "node": ">=12" 1871 + } 1872 + }, 1873 + "node_modules/yargs-parser": { 1874 + "version": "21.1.1", 1875 + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 1876 + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 1877 + "dev": true, 1878 + "license": "ISC", 1879 + "engines": { 1880 + "node": ">=12" 1881 + } 1882 + }, 1883 + "node_modules/yn": { 1884 + "version": "3.1.1", 1885 + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 1886 + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 1887 + "dev": true, 1888 + "license": "MIT", 1889 + "engines": { 1890 + "node": ">=6" 1891 + } 634 1892 } 635 1893 } 636 1894 }
+1
package.json
··· 2 2 "devDependencies": { 3 3 "nats": "^2.28.2", 4 4 "prisma": "^5.20.0", 5 + "quicktype": "^23.0.170", 5 6 "tsx": "^4.19.2" 6 7 }, 7 8 "dependencies": {
+25 -3
scripts/mocksender.ts
··· 1 1 import { connect, StringCodec, JetStreamManager, NatsConnection } from "nats" 2 + import { Message } from "../types" 2 3 3 4 async function setupStream( 4 5 jetStreamManager: JetStreamManager, ··· 17 18 } 18 19 } 19 20 21 + enum Event { 22 + CommentReply = "comment_reply", 23 + GodchildRequest = "godchild_request", 24 + NewComment = "new_comment", 25 + NewPost = "new_post", 26 + NewTicket = "new_ticket", 27 + } 28 + 29 + function randomMessage(): Message { 30 + const events = [ 31 + Event.CommentReply, 32 + Event.GodchildRequest, 33 + Event.NewComment, 34 + Event.NewPost, 35 + Event.NewTicket, 36 + ] as const 37 + const event = events[Math.floor(Math.random() * events.length)] 38 + const id = Math.random().toString(36).substring(7) 39 + return { event, id } 40 + } 41 + 20 42 async function publishMessages( 21 43 nc: NatsConnection, 22 44 subject: string, ··· 28 50 29 51 for (let i = 1; i <= messageCount; i++) { 30 52 const message = `Mock Order #${i}` 31 - await js.publish(subject, sc.encode(message)) 53 + await js.publish(subject, sc.encode(JSON.stringify(randomMessage()))) 32 54 console.log(`Sent message: ${message}`) 33 55 await new Promise((resolve) => setTimeout(resolve, delayMs)) 34 56 } ··· 49 71 await setupStream(jsm, streamName, subject) 50 72 51 73 // Publish messages at intervals 52 - const messageCount = 20 53 - const delayMs = 1000 // 1 second delay between messages 74 + const messageCount = 1000 75 + const delayMs = 10 // 1 second delay between messages 54 76 await publishMessages(nc, subject, messageCount, delayMs) 55 77 56 78 console.log("Finished sending messages.")
+81
scripts/typing.go
··· 1 + package main 2 + 3 + import ( 4 + "encoding/json" 5 + "fmt" 6 + "io" 7 + "os/exec" 8 + 9 + "git.inpt.fr/churros/notella" 10 + "github.com/invopop/jsonschema" 11 + ) 12 + 13 + func main() { 14 + // Generate the JSON schema 15 + schema := jsonschema.Reflect(&notella.Message{}) 16 + schemaJSON, err := json.Marshal(schema) 17 + if err != nil { 18 + fmt.Printf("Error generating schema: %v\n", err) 19 + return 20 + } 21 + 22 + // Set up quicktype command to read from stdin 23 + cmd := exec.Command("npm", "exec", "quicktype", "--", "--lang=ts", "--src-lang=schema", "--just-types", "--top-level=Message") 24 + 25 + // Create a pipe to stdin for the quicktype command 26 + stdin, err := cmd.StdinPipe() 27 + if err != nil { 28 + fmt.Printf("Error creating stdin pipe: %v\n", err) 29 + return 30 + } 31 + 32 + stdout, err := cmd.StdoutPipe() 33 + if err != nil { 34 + fmt.Printf("Error creating stdout pipe: %v\n", err) 35 + return 36 + } 37 + 38 + stderr, err := cmd.StderrPipe() // Create a pipe for stderr 39 + if err != nil { 40 + fmt.Printf("Error creating stderr pipe: %v\n", err) 41 + return 42 + } 43 + 44 + // Start the command 45 + if err := cmd.Start(); err != nil { 46 + fmt.Printf("Error starting quicktype: %v\n", err) 47 + return 48 + } 49 + 50 + // Write the JSON schema to quicktype's stdin 51 + _, err = stdin.Write(schemaJSON) 52 + if err != nil { 53 + fmt.Printf("Error writing to stdin: %v\n", err) 54 + return 55 + } 56 + stdin.Close() // Important to close the pipe to signal EOF to quicktype 57 + 58 + output, err := io.ReadAll(stdout) 59 + if err != nil { 60 + fmt.Printf("Error reading from stdout: %v\n", err) 61 + return 62 + } 63 + 64 + // Read any error messages from quicktype's stderr 65 + errorOutput, err := io.ReadAll(stderr) 66 + if err != nil { 67 + fmt.Printf("Error reading quicktype stderr: %v\n", err) 68 + return 69 + } 70 + 71 + // Wait for the command to finish 72 + if err := cmd.Wait(); err != nil { 73 + fmt.Printf("Error waiting for quicktype command: %v\n", err) 74 + // Print the stderr output in case of an error 75 + fmt.Printf("Quicktype stderr: %s\n", errorOutput) 76 + return 77 + } 78 + 79 + // Print or save the TypeScript output 80 + fmt.Println(string(output)) 81 + }
+3 -6
server/main.go
··· 5 5 import ( 6 6 "context" 7 7 "fmt" 8 - "log" 9 8 "os" 10 9 "os/signal" 11 10 "syscall" ··· 114 113 sigChan := make(chan os.Signal, 1) 115 114 signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM) 116 115 <-sigChan 117 - log.Println("Received shutdown signal, shutting down...") 116 + ll.Log("Shuting down", "magenta", "because of signal received") 118 117 cancel() 119 118 }() 120 119 ··· 128 127 // Fetch messages in batches 129 128 msgs, err := sub.Fetch(10, nats.MaxWait(5*time.Second)) 130 129 if err != nil && err != nats.ErrTimeout { 131 - log.Printf("Error fetching messages: %v", err) 130 + ll.ErrorDisplay("Could not fetch messages", err) 132 131 time.Sleep(2 * time.Second) // Wait before retrying 133 132 continue 134 133 } 135 134 136 135 // Process each message 137 136 for _, msg := range msgs { 138 - log.Printf("Processing message: %s", string(msg.Data)) 139 - // Simulate notification scheduling 140 137 notella.NatsReceiver(msg) 141 138 msg.Ack() // Acknowledge the message 142 139 } ··· 146 143 147 144 // Block until the context is canceled (i.e., server shutdown signal received) 148 145 <-ctx.Done() 149 - log.Println("Server stopped.") 146 + ll.Log("Stopped", "red", "server") 150 147 }
+13
types.d.ts
··· 1 + export interface Message { 2 + event: Event; 3 + id: string; 4 + } 5 + 6 + export enum Event { 7 + CommentReply = "comment_reply", 8 + GodchildRequest = "godchild_request", 9 + NewComment = "new_comment", 10 + NewPost = "new_post", 11 + NewTicket = "new_ticket", 12 + } 13 +