From 41f3d470b33b908f1dfe96231c48ccccfc63fed3 Mon Sep 17 00:00:00 2001 From: zezs Date: Wed, 4 Dec 2024 19:36:34 +0000 Subject: [PATCH] first commit --- .devcontainer/Dockerfile | 26 + .devcontainer/devcontainer.json | 24 + .gitignore | 34 + .vscode/extensions.json | 13 + .vscode/launch.json | 20 + .vscode/settings.json | 11 + .vscode/tasks.json | 23 + README.md | 25 + aextras/image.png | Bin 0 -> 34817 bytes aextras/image2.png | Bin 0 -> 76197 bytes aextras/services5.cds | 47 ++ aextras/uuid.js | 20 + bookshop.sqlite-shm | Bin 0 -> 32768 bytes bookshop.sqlite-wal | Bin 0 -> 37112 bytes data/bookshop-Authors.csv | 5 + data/bookshop-Books.csv | 4 + eslint.config.mjs | 2 + package-lock.json | 1389 +++++++++++++++++++++++++++++++ package.json | 37 + services.cds | 41 + services.js | 5 + test.http | 26 + 22 files changed, 1752 insertions(+) create mode 100755 .devcontainer/Dockerfile create mode 100755 .devcontainer/devcontainer.json create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100644 README.md create mode 100644 aextras/image.png create mode 100755 aextras/image2.png create mode 100644 aextras/services5.cds create mode 100644 aextras/uuid.js create mode 100644 bookshop.sqlite-shm create mode 100644 bookshop.sqlite-wal create mode 100644 data/bookshop-Authors.csv create mode 100644 data/bookshop-Books.csv create mode 100644 eslint.config.mjs create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 services.cds create mode 100644 services.js create mode 100644 test.http diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100755 index 0000000..c2d2b2c --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,26 @@ +# syntax=docker/dockerfile:1 + +ARG VARIANT="20" +FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT} +ARG CAPVER="latest" + +# Install some generally useful tools +RUN apt-get update \ + && apt-get -y install --no-install-recommends \ + curl git sqlite3 entr source-highlight + +# Install SAP CAP SDK globally +USER node +RUN npm install -g @sap/cds-dk@$CAPVER + +# vi mode everywhere and nicer prompt KTHXBAI +RUN cat <> /home/node/.bashrc +export EDITOR=vi +set -o vi +bind -x '"\C-l": clear' +EOBASHRC + +RUN echo 'export PS1=${PS1/\$ /\\\\n$ }' >> /home/node/.bashrc + +# Ready! +WORKDIR /home/node diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100755 index 0000000..6afdf5a --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,24 @@ +{ + "name": "Back to basics - SAP CAP - dev container", + "build": { + "dockerfile": "Dockerfile", + "args": { + "VARIANT": "20" + } + }, + "customizations": { + "vscode": { + "extensions": [ + "sapse.vscode-cds", + "dbaeumer.vscode-eslint", + "humao.rest-client", + "qwtel.sqlite-viewer", + "mechatroner.rainbow-csv" + ] + } + }, + "forwardPorts": [ + 4004 + ], + "remoteUser": "node" +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7cd081f --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +# CAP capb2b-main +_out +*.db +*.sqlite +connection.properties +default-*.json +.cdsrc-private.json +gen/ +node_modules/ +target/ + +# Web IDE, App Studio +.che/ +.gen/ + +# MTA +*_mta_build_tmp +*.mtar +mta_archives/ + +# Other +.DS_Store +*.orig +*.log + +*.iml +*.flattened-pom.xml + +# IDEs +# .vscode +# .idea + +# @cap-js/cds-typer +@cds-models diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..b260006 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,13 @@ +{ + "recommendations": [ + "SAPSE.vscode-cds", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "mechatroner.rainbow-csv", + "qwtel.sqlite-viewer", + "humao.rest-client" + ], + "unwantedRecommendations": [ + + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..188a19c --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "cds serve", + "request": "launch", + "type": "node", + "cwd": "${workspaceFolder}", + "runtimeExecutable": "cds", + "args": [ + "serve", + "--with-mocks", + "--in-memory?" + ], + "skipFiles": [ + "/**" + ] + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bf0c9e9 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + // uncomment entries once all libraries have been installed via 'npm install' + "eslint.validate": [ + // "cds", + // "csn", + // "csv", + // "csv (semicolon)", + // "tab", + // "tsv" + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..a6443f4 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,23 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "shell", + "label": "cds watch", + "command": "cds", + "args": ["watch"], + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": [] + }, + { + "type": "shell", + "label": "cds serve", + "command": "cds", + "args": ["serve", "--with-mocks", "--in-memory?"], + "problemMatcher": [] + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..dbac29e --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# Getting Started + +Welcome to your new project. + +It contains these folders and files, following our recommended project layout: + +File or Folder | Purpose +---------|---------- +`app/` | content for UI frontends goes here +`db/` | your domain models and data go here +`srv/` | your service models and code go here +`package.json` | project metadata and configuration +`readme.md` | this getting started guide + + +## Next Steps + +- Open a new terminal and run `cds watch` +- (in VS Code simply choose _**Terminal** > Run Task > cds watch_) +- Start adding content, for example, a [db/schema.cds](db/schema.cds). + + +## Learn More + +Learn more at https://cap.cloud.sap/docs/get-started/. diff --git a/aextras/image.png b/aextras/image.png new file mode 100644 index 0000000000000000000000000000000000000000..a07a1d56bd15f7e462f1012524ba96545639219e GIT binary patch literal 34817 zcmcG$c|4T=-!`m83rQtpPe}H%B)bTM?9A8|Wf{A%3zd-ULda4~wlVgxFO@Q~Z)0DQ zea4VI`~4Yxf7f;WuIGC0`+oj-{_r}@%;|KVpXL2N-p6sgCrn#Yg^Gfaf{cueN)_@z zmyGOWFZi)LcLu!k+y=)C4kr-0DhgzUoy?2i#c7-S8u!V_N}?(EACrUE=UpI12r{yZ zO{AX_Sm)d)WMrX98+?V0>p_W`DC_OsAP&cD1v@eJH zocY1xw$C<Wf^gI3TCMf#>@F<^U0dz%&<|mM@dnsBBEVKY9{% z68y<_WD)0t%5Gt&=MmaX?pAl7a{!L{H27edFRTdCxJ&K(kQ&d=&IsOt+&I4axqts( zkb4j|Lk|_k{ij5cv*4`fd))>1cR%Z(#>e~E=v!;o?dNWTw_Pk!#2_o9Mz@?jKFXSk zWy%xc8Qaf;4?g?b4qPV=ZLbE!%?JLlzX;wU+y3|}NE95OpLD>b>i@~99a)XomM-ADIjUL?6bSah|r19B)$6$|y$!<~a9>APJ zR|Z%3BBbUfNDnkdZGEBl`}gmROiX>_wO$>h$@|%G*DCV(A^)5MOO;HX;-5n=BXWJ) z;%%d|VePiKnt{N`xH$h>rQZ8WD~DlDqkH?Zx~4gZg?;HB*@g;!u<$tX|V`1Jb7E z4u{o`nDg}bA}nj-p}CGQ%$9)2*|^!B1{fX(g+03Xjcgn* zyC?+yfqrC}OXYG}Xo~?85~0pW4R1{akC7NrerB=irW3qfJ$%50rRCq$qAb!K)L3FO!iO8q?i|oE4R| zb24FWzS+wVp-}U-GgN&zcZ=BxmwsYC0CHCLT7q=&h)Wk2dw9R4ulNZvGERY}U5I%8 zT!fa^*l(25`=gb@XU6qwb%wuorvyD^hL*r4w)mPGZ>+0 z7=`&7p__^OtA$a(*vRrV2cg~{R`fP$KFIboIgB$Yk$JZLf^MKr&# ziGCx|zIiti=PM(8pMq+kh1&TQtkSC=hf=05-|SPs7)W61*f$%;(Wg3XR>6#*)$o$i znF+PL`VP+N_?3aSd27hdCt5g)w_7`!rWif#zhCB*rXNhGvW)h#CWlWLuy2~isueXd-4S~p zES-aX1HU>*gIc4Ymal=mX;qb_I;NSLE>Gn8tiD+vf+m2a{;F>0h;M?rrwbbtZOpMJ z>8&GS5`ycV8PQSZ)m|@zC)mlWT$Gx<%3-|NP>e2DpsINkje!%UC>ht{@gD2HDiyeI znXK0+OY@F84T#g{TEp^|>l{~5Hu^?SX+_MRR~~+Guc&rsI?GdB4NfI z)QbmQ3US=rbqdsAE`^dAkTlu>&kPS6S_E{@T)CWj?!ofID6DCJQlqq191K%<@MmvH znA*#w>mDoZ41|#(`4jV3C-HeaQb*6WGxjQla?!UDOua~GM~rfi?ttRzoFP4{wVl3M zm}!+bYk#~n@3|r;EUQ=DmY)v&YI4_?%Q)m#rKBmgi-`{OQcdkJX+)5Pifl^;;=IfZB zDmk88{7h{&d(D$asl9c}Au(a0e@pji;eNCzPA3ME` zAr&KvyrX9)QNKXIQ8j*bf8UCP>{z~CLXjB#1zV8b7mi~Gy$9`5eB z)7|QGEvdeQ{pZ=1g3SEdh(8UuyIp3!C0R}>y-~M3jg;#~tm$)N4TUE(s+;ZI@2l)i z$J=|WZPuVd?iDpk?JBA+$s1RU8`!6beBfA4^!P;U35iZ0tY|w}o!e5Y*-Ii)yWSb? z=m;AXcQ2Jg{>pDb=xJ59>-~IIP^l-EW?&tt|EDfMc>2RjcGcG2KC$(^OiD1r(H96D zk?x~9Hle?Am)Rhcwex@a6IKY{Pp!PqA|t!rB+yE0_h@zW`efPnxR8F8*JsEc>41c9 zSMhk#&cpqgiWWi9ztO33u5$Vw*n2|po?z_BcpfPoBZCw7|8EcXjf335Jgse0*>4{z z=jAKa?uE?C^<_RoScbSoO$OEtGpFb+%4m_IUr~h_?a1T6C*H@|DrKE6XOjtqt3a9O z-1S91<&wmp%pHs3ZR;gK#<;F(N7ZXp+03Q-#e^G~{+=R*=K7}t>0ozmPM)j%G02ZX zigTywx!qy*lfnr8^C0SuJ|*9BY0(G+5j|`P>vQL)=OHCwCnE52oKxtNG$XKF{oV~+ zXBh-(FnLtCe~3w|6=uXaY46wmap&E@`qf?*4p(D7TyRaFoL;x4yj}1}zBE3t7NoXH zIAQdZu8{}D`5QlvF2L{MVCGd}k+bctFi@`3=74VsWk7#?uZ% zUdEF=UA=!-*)|=5rUX2mxzO9)$>pe5Qx63Adh&?DyP|k|V#3pC(f+=CnNvL$!f7lX zo6ssRayxrWt^D7tT8syvYz}v_5Q24G%0DyPlOoVVzdkEht1CgVz^yst03K~c&EKuK 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 literal 0 HcmV?d00001 diff --git a/aextras/image2.png b/aextras/image2.png new file mode 100755 index 0000000000000000000000000000000000000000..e4f5cce992f6153399e631b44c03aab106330d17 GIT binary patch literal 76197 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 literal 0 HcmV?d00001 diff --git a/bookshop.sqlite-wal b/bookshop.sqlite-wal new file mode 100644 index 0000000000000000000000000000000000000000..cfad6e1ec0ab99e8ae5242453136437bd852ba74 GIT binary patch literal 37112 zcmeI*U2NM#8~|`9&S$&U3{i!FkZuUnW}Bxtb`o1`Y-yWzVOhF0O=0kmo$bpSHI278 zg%*jS6m^r>D^Cb9Ktk|>c-a$3d0W^Equ#mrLSx-v%e%c$DKF;@IXo>i+7YzWLi*H>Vzv7hgNVlDgBMt-5bUzyJ7n z?o_5!BdBOqS8xr<^k}!6JBko3>!sg8c1&~IOCLS09s20h*R|j8sh2x=;e`?5Z*Igt z#R>a`&qt%9zmJF`H-~TRx;|VOdN250U?0tb4Fo^{1V8`;9yEcvIpQBnr2-psFPF$G zWy`?j(yPQQ=$5r?FIndbQ`TywRxJ^GyS%CSRB|DO7SpNc(RSrfGKX@hOloRj2%&b( zg~-7QULgmzq?yDvs#_Bc%OpcH^K&P<&ST?q1;bidu_~R`vNLs^;El(2`Nz`fz^2?A zX1_x_0rbo5A8NmnJ;53lF4K6(M5lJC5jDy*;}5d~S`dB9H$U(OkBB*Eth9?6ifQ6eY9MJ^9X|gqE<0ZI|e! zF{}!!cLI$+wQ7^0yR*652h$TqSMUBmw@<$SSp8kq*14d6 zOcVq4gwuRnpv`uHiVPMN;eDDZNER1 zOu9DC*RW1+pgwncqjwC>2{aqFketk)#lkGr=_j3JDH4e|>CTPOE-m*~b#gv^A~}B=9Z#KZyeNh<~o6=r#ly3j`v>T{wRj? z8+CoII9aOJmgwsuef8|>B&MJn zB)b{grJX%@|Dc_`yN2xC)SYlzcgP(9J>&L;=E8Rk$T?|OILGZ-IF) zpEqJf8EY|B5;ZNZiwcfl5i5o&Y9>w;bt1(`G`f(=Eu^!vv$Ii@u_|X#vSOlzC0tpy z(Tr6^$#R+Q5;Rk?mri;3JjRBu7ga2as*Ize5?3`^r>2Wois(kdl#6s89?M z8)lIsRIG+#hWW0c0P3JuTt@#2Ezw@JUX86o4HebLkT;_ytgv&x5t~m&R00@8p z2!H?xfB*=900@8p2!Oyn5g6imVUL`}I*GYG`Ed?wGKrfBS&W%+EGjV*i>g-C#Dp4& zNveslX=rI&s-P1G(IlG*ameL4EpZV^QgN}U5=B&t@uH|i=u8D&He#X?j~Wp}Hr0e8 zPg|>J%h*O)i+NCT+p8b3`2ud?6Hd5Be>CP4IPW)LWnlvW z5C8!X009sH0T2KI5C8!X009uVuL53PaLLYWft`#SxWoME;Lb)0XcRscNo&5q*RxNa z`78AEAC36}S2*D_;mUoD6ix;LAOHd&00JNY0w4eaAOHd&00JP;64>MRJpT0VSwcS* zpt63R47ocFfzE}JjV z{Aj}mK41s{1V8`;KmY_l00ck)1V8`;KmY_lV4y&d<^)^g0{bprxLn@5yo=2jXpRf8 xaRWA|fW6;=7.9" + } + }, + "node_modules/@cap-js/sqlite": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/@cap-js/sqlite/-/sqlite-1.7.7.tgz", + "integrity": "sha512-SOmFJMr6pjWOniFRkJsrI0BpQEQT5Q8o+IVZ/LXFj6+bAe0NQQztzxhMQx62V/Px3u58JJM3xkPMU+QC5PcJHw==", + "dev": true, + "dependencies": { + "@cap-js/db-service": "^1.14.1", + "better-sqlite3": "^11.0.0" + }, + "peerDependencies": { + "@sap/cds": ">=7.6" + } + }, + "node_modules/@sap/cds": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@sap/cds/-/cds-8.5.0.tgz", + "integrity": "sha512-mRiLBPcY5vC1xi21pPqzMtp1HY9FOOFajkiuSArqnwtiyp2fxqWVombuVE9lTB2UyBl9bL8XXwrpjzDftIbnBg==", + "dependencies": { + "@sap/cds-compiler": ">=5.1", + "@sap/cds-fiori": "^1", + "@sap/cds-foss": "^5.0.0" + }, + "bin": { + "cds-deploy": "lib/dbs/cds-deploy.js", + "cds-serve": "bin/serve.js", + "cds-test": "bin/test.js", + "chest": "bin/test.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "express": ">=4" + }, + "peerDependenciesMeta": { + "express": { + "optional": true + } + } + }, + "node_modules/@sap/cds-compiler": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@sap/cds-compiler/-/cds-compiler-5.5.0.tgz", + "integrity": "sha512-UlNcFjkoBEbknmMCQWvbMETtbIU22heVj+5ZNh3ewZpBo7ClmUGueRWIt5Hlzle9l1JscpPMZUpt/VYgx2Z/KA==", + "dependencies": { + "antlr4": "4.9.3" + }, + "bin": { + "cdsc": "bin/cdsc.js", + "cdshi": "bin/cdshi.js", + "cdsse": "bin/cdsse.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@sap/cds-fiori": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@sap/cds-fiori/-/cds-fiori-1.2.8.tgz", + "integrity": "sha512-UXvsd4pGxnrxMBDO3HWLHFYhkVIsz3F15ePrAqHpeUKXw42ToCFFu+QJTbhKtONKlxoW1DVDobga4K1dvSyzrw==", + "peerDependencies": { + "@sap/cds": ">=7.6", + "express": ">=4" + } + }, + "node_modules/@sap/cds-foss": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@sap/cds-foss/-/cds-foss-5.0.1.tgz", + "integrity": "sha512-q6h7LkEx6w9LswCIQzJJ2mnoyeGS8jrmBXN4I4+aECRL60mkLskoqGetot+2tX2xXGxCYJuo5v1dtSafwBqTRQ==", + "dependencies": { + "big.js": "^6.1.1", + "generic-pool": "^3.8.2", + "xmlbuilder": "^15.1.1", + "yaml": "^2.2.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "node_modules/@types/node": { + "version": "22.10.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.0.tgz", + "integrity": "sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA==", + "dev": true, + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/qs": { + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/antlr4": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.9.3.tgz", + "integrity": "sha512-qNy2odgsa0skmNMCuxzXhM4M8J1YDaPv3TI+vCdnOAanu0N982wBrSqziDKRDctEZLZy9VffqIZXc0UGjjSP/g==", + "engines": { + "node": ">=14" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/better-sqlite3": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.6.0.tgz", + "integrity": "sha512-2J6k/eVxcFYY2SsTxsXrj6XylzHWPxveCn4fKPKZFv/Vqn/Cd7lOuX4d7rGQXT5zL+97MkNL3nSbCrIoe3LkgA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "prebuild-install": "^7.1.1" + } + }, + "node_modules/big.js": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-6.2.2.tgz", + "integrity": "sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==", + "engines": { + "node": "*" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bigjs" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.10", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generic-pool": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz", + "integrity": "sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/yaml": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..454899f --- /dev/null +++ b/package.json @@ -0,0 +1,37 @@ +{ + "name": "capb2b-main", + "version": "1.0.0", + "description": "A simple CAP project.", + "repository": "", + "license": "UNLICENSED", + "private": true, + "dependencies": { + "@sap/cds": "^8", + "express": "^4" + }, + "devDependencies": { + "@cap-js/cds-types": "^0.7.0", + "@cap-js/sqlite": "^1" + }, + "scripts": { + "start": "cds-serve" + }, + "cds": { + "requires": { + "db": { + "[testing]": { + "kind": "sqlite", + "credentials": { + "url": "bookshop.sqlite" + } + }, + "[development]": { + "kind": "sqlite", + "credentials": { + "url": ":memory:" + } + } + } + } + } +} diff --git a/services.cds b/services.cds new file mode 100644 index 0000000..5707961 --- /dev/null +++ b/services.cds @@ -0,0 +1,41 @@ +// removed the key and decorated each of the entities with aspects +// aspects for entities with canonical user id +// using from '@sap/cds-common-content'; +// using { cuid, managed } from '@sap/cds/common'; + +aspect cuid { + key ID : UUID; +} + +// service bookshop { +// entity Books : cuid { +// title : String; +// author : Association to Authors; +// } + +// entity Authors : cuid { +// name : String; +// } + +// } + +service bookshop { + entity Books : cuid { + //one book - one author + title : String; + author_ID: type of Authors:ID; + author: Association to Authors on author.ID = author_ID; + } + + entity Authors : cuid { + //one author - many books + name : String; + books: Association to many Books on books.author = $self; + } + +} + +// service banana { +// // +// entity something as projection on bookshop.Books {title} +// } diff --git a/services.js b/services.js new file mode 100644 index 0000000..ab5b6f3 --- /dev/null +++ b/services.js @@ -0,0 +1,5 @@ +module.exports = (say)=>{ + say.on ('hello', req => `Hello ${req.data.to}!`) + } + +// module.epxorrts node management \ No newline at end of file diff --git a/test.http b/test.http new file mode 100644 index 0000000..b7fce16 --- /dev/null +++ b/test.http @@ -0,0 +1,26 @@ +### +# @name CreateNewBook +POST http://localhost:4004/odata/v4/bookshop/Books +Content-Type: application/json + +{"title": "TESTINGGG2 Long And Thanks For All The Fish"} + + + +### +# @name BooksQuery +GET http://localhost:4004/odata/v4/bookshop/Books + + + +### @name DeleteOperation +@book_ID = {{ BooksQuery.response.body.value[2].ID }} +GET http://localhost:4004/odata/v4/bookshop/Books({{book_ID}}) +### +DELETE http://localhost:4004/odata/v4/bookshop/Books({{book_ID}}) + + + +### +# @name ReadSpecificBookEntity +GET http://localhost:4004/odata/v4/bookshop/Books({{book_ID}})