From 13e7abe58c6a87c8e1d1e9ed697a29a452570be3 Mon Sep 17 00:00:00 2001 From: Daniele Briggi <=> Date: Wed, 11 Dec 2024 13:11:50 +0000 Subject: [PATCH 1/2] chore(tests): invalid people db --- package.json | 2 +- test/database.test.ts | 29 +++++++++++++++++++---------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index c297977..ac7e83b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sqlitecloud/drivers", - "version": "1.0.343", + "version": "1.0.345", "description": "SQLiteCloud drivers for Typescript/Javascript in edge, web and node clients", "main": "./lib/index.js", "types": "./lib/index.d.ts", diff --git a/test/database.test.ts b/test/database.test.ts index 85705ef..a22bc90 100644 --- a/test/database.test.ts +++ b/test/database.test.ts @@ -3,7 +3,15 @@ */ import { SQLiteCloudRowset, SQLiteCloudRow, SQLiteCloudError, sanitizeSQLiteIdentifier } from '../src/index' -import { getTestingDatabase, getTestingDatabaseAsync, getChinookDatabase, removeDatabase, removeDatabaseAsync, LONG_TIMEOUT, getChinookWebsocketConnection } from './shared' +import { + getTestingDatabase, + getTestingDatabaseAsync, + getChinookDatabase, + removeDatabase, + removeDatabaseAsync, + LONG_TIMEOUT, + getChinookWebsocketConnection +} from './shared' import { RowCountCallback } from '../src/drivers/types' import { expect, describe, it } from '@jest/globals' import { Database } from 'sqlite3' @@ -481,7 +489,7 @@ describe('Database.sql (async)', () => { it('should sanitize database name and run the query', async () => { const database = await getTestingDatabaseAsync() - const databaseName = sanitizeSQLiteIdentifier('people.sqlite') + const databaseName = sanitizeSQLiteIdentifier(database.getConfiguration().database || '') await expect(database.sql(`USE DATABASE ${databaseName}`)).resolves.toBe('OK') }) @@ -489,15 +497,16 @@ describe('Database.sql (async)', () => { const database = await getTestingDatabaseAsync() const table = sanitizeSQLiteIdentifier('people') - await expect(database.sql(`USE DATABASE people.sqlite; SELECT id FROM ${table} LIMIT 1`)).resolves.toMatchObject([{ id: 1 }]) + await expect(database.sql(`SELECT id FROM ${table} LIMIT 1`)).resolves.toMatchObject([{ id: 1 }]) }) it('should sanitize SQL Injection as table name', async () => { const database = await getTestingDatabaseAsync() + const databaseName = database.getConfiguration().database - const databaseName = sanitizeSQLiteIdentifier('people.sqlite; SELECT * FROM people; -- ') - await expect(database.sql(`USE DATABASE ${databaseName}`)).rejects.toThrow( - 'Database name contains invalid characters (people.sqlite; SELECT * FROM people; --).' + const sanitizedDBName = sanitizeSQLiteIdentifier(`${databaseName}; SELECT * FROM people; -- `) + await expect(database.sql(`USE DATABASE ${sanitizedDBName}`)).rejects.toThrow( + `Database name contains invalid characters (${databaseName}; SELECT * FROM people; --).` ) const table = sanitizeSQLiteIdentifier('people; -- ') @@ -508,17 +517,17 @@ describe('Database.sql (async)', () => { it('should throw exception when using table name as binding', async () => { const database = await getTestingDatabaseAsync() const table = 'people' - await expect(database.sql`USE DATABASE people.sqlite; SELECT * FROM ${table}`).rejects.toThrow('near "?": syntax error') + await expect(database.sql`SELECT * FROM ${table}`).rejects.toThrow('near "?": syntax error') }) it('should built in commands accept bindings', async () => { const database = await getTestingDatabaseAsync() - let databaseName = 'people.sqlite' + const databaseName = database.getConfiguration().database || '' await expect(database.sql`USE DATABASE ${databaseName}`).resolves.toBe('OK') - databaseName = 'people.sqlite; SELECT * FROM people' - await expect(database.sql`USE DATABASE ${databaseName}`).rejects.toThrow('Database name contains invalid characters (people.sqlite; SELECT * FROM people).') + const databaseNameInjectSQL = `${databaseName}; SELECT * FROM people` + await expect(database.sql`USE DATABASE ${databaseNameInjectSQL}`).rejects.toThrow(`Database name contains invalid characters (${databaseNameInjectSQL}).`) let key = 'logo_level' let value = 'debug' From 96f3842bfe117b80679c14b73faca9235e47869e Mon Sep 17 00:00:00 2001 From: Gioele Cantoni Date: Wed, 11 Dec 2024 15:26:29 +0100 Subject: [PATCH 2/2] rm eslint --- .eslintrc.js | 34 -- bun.lockb | Bin 454499 -> 414459 bytes package-lock.json | 1052 +++------------------------------ package.json | 7 - src/drivers/connection-tls.ts | 1 - src/drivers/connection-ws.ts | 3 +- src/drivers/database.ts | 3 - src/drivers/protocol.ts | 1 - src/drivers/statement.ts | 26 +- src/drivers/utilities.ts | 1 - 10 files changed, 94 insertions(+), 1034 deletions(-) delete mode 100644 .eslintrc.js diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 4bfbce4..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,34 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint', 'node', 'prettier'], - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'] - }, - extends: [ - 'eslint:recommended', - 'plugin:node/recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking', - 'plugin:prettier/recommended' - ], - rules: { - 'prettier/prettier': 'warn', - 'node/no-missing-import': 'off', - 'node/no-empty-function': 'off', - 'node/no-unsupported-features/es-syntax': 'off', - 'node/no-missing-require': 'off', - 'node/shebang': 'off', - '@typescript-eslint/no-use-before-define': 'off', - quotes: ['warn', 'single', { avoidEscape: true }], - semi: ['error', 'never'], - 'node/no-unpublished-import': 'off', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/no-explicit-any': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off' - } -} diff --git a/bun.lockb b/bun.lockb index cb0a3404f82a04b45b4794389c996c2d54483201..b73ae3f85fd1f86fedf7ea80d7d43630449e01d5 100755 GIT binary patch delta 71973 zcmeFacbF7a*X~`_Jq^?-VNgUeB0*7tfDAA=twpr}x4tDu4c zA}VIVh?oaOMa&TshQ}Np71R0MwO8ZFi|_lKbDi(}@m-Xxx!1b)+OhWDwX14(`Qf|u zeqB}Pveqr1{I&eof`^|O(EF1kZn=KPFKgD`G~%jmIe+YT>u-aKD%E?Z&Ez4KJRR@H z7msXM@10lTk>&pE?|Ef8zUO6wBNs2Oo$@hiU@VC_99J}E)&zW~mbwVz;p-EAwuS#l zYBjOvSop`-ivKC@b--Z>&)XL)DJmR06K;GJXFmo8@V{2}yu-osF%I&)mSxo_%03Wr z!<_`kaeVQ#ajj;}@M;jK@I*M+uboPewye^ksk4hpJnvF$dCx1HGNrh5rdKq#XlxhW;MKg=17I{;PrxuTGHGbNu@G9nv!kH6WO)i>OWcFxK=?w(=SJs0+ zYO5|F>4cy7IbDvWzSZIO&v8CuCl*ebOrFcJtHDn!ENwM@O5ubnu$A{j+DmDzuNk(B zHSh8><R9F+UJpo+2$lzTa-EZ?Rjg&WO&saCio);#si0WSBUwO#ZchM$3oUOa7L zQAzR4(lN8fk5>y77Znxd9@)WLL2|0u9R8^Er87&W&6?_Y)3C+=%GpzP$JBN9n3BS= zMWvp%0bBeZAjM6U4XWoHrWTbL=BYGK zNzts*;_>smM+v7&WoI>T_1*%iKrfpAl<5;D7tfqIZ(d=^1oHQeZRB~i2yX}GctgFi zgHaTrHmHXCtf9;B^v14W`xyTxyu#0;pV2sFr-3Ty_r_;>Sk$w^##uE|_Z{p~n0G{{ zY2@sUE1Wk;MOZ@&ovPhW&Dy3e=S&V0o4FkS>zQ|cEAUraZ(|S~0v5Jl1b}y9H(^|r zZH8?QG4D{%Bdly{xGAf4=au-VB3FZ|Kv7Yv@x>*jGc#k9PFCD2Jvr3CfXHAB_-i}^w`d!}J z6>I^h)A#~>Z7=1O-O$I4qW__!yE6Kxf__iN8VWCijllH%+&IoPb-c41hMCUuf2)u5uzXUP z-dWEGKhI6T-+|0WWfQu%nv|QpX|l6dnBP3Z-Fy9D!gKThBWMMVcOmgEVl4opeC?K;MJLH&Tyfb*CL?? z;LoQ!{18-z%*Zo~nJJfJ>(rKj>H~d2wLo*Q8EKXMewu6Q9yC=$?ANf>dDa=f5LC@4 zf~rvuP%Y2^WNt6pInUY8fYB%*oyPDhu@&#tIc~VNu=MA^w}L+!KBbcNhS0D{FZ4Wo z%9>!S03XfuynOHxQ1&&T5*&+DBX9<`;@2S|)uj6~Fe=U?qAQ03|gF5pHSY7(#n)Ya;fYg~eJv6b*Spw9KvOP${l%Us`R z4l4Y9c=eGPlP9zqS6t%lT0jw~@EYM~Ra+eN3*G_N?RaN{{jYb$pR5J_^zmMPcto|@ z1ye20v7o&Af{Hb5`Z(4J#U=AsIC~SQGBvxw`PBwhh7#8KtoOZ-ZU~oDYweE=H&ttN zME{kpAUhJyc`c|!r%oot8QjzqPh{(h@FS;v!$_+58z;kVUmr>4Q`+S0(vaz3b2JkY%VxZO3^*Pv2A0Mw~^{SG&e zOf8yOGTr-YIW==)$@D^+HFN5l-R0s{2UVw^?{w>mVdO)p!wYKUq&|UDcT(J06DGEs zJF{roIMU4Asbua@F2C1Z(OE2(loZbMF2q*Zr{3+#GP9_pRCg@Lt#>U{ICgr;G}1W+ zTX}CLAJyS*D}#-Xg0jp2d4mA;jq#;Lvx}z9ES5o*>T##_m@C;_P!mc~Ny+q*Rz-6ghl^|0PJQyY z3vEuQ>Q~or!xPTF4OFqZJ?TzY8jR{kmlRKN#!V@nR&-5~OuJ4hZ8fiO>J*Rr%Nd1qx!o)9&~vU` zG6i2td{tl+`2@O_PMTg!^LgHh&$|rzgBrp|86FDijJG$eLIUczJIh_qD4I4~XWENO zK|1G>uqK$XhM55{zLZ9vSyH%et83XwrPHU4PZduono%-+s&29-zT`5RJf&zB{oMPM zQCXLSwt=<4mD^m&Lof&Xn3o;i4(e27=AhCkg{2dTe=WSaW-D-iu=1;}Vk1ELpG`U` zC6rl)Tt!CvVb21^Z+XpSIL_?upjsveR9~qCDxqJQn1$OwHLWUCTw3H6mKM&S9A4ox zH@LbGt_qFxUBRZD)*%($k-vqL`grCk2V*emJd`?m40RW%4CWM#nNc`)vN!)-cM4{K z%CIw74Lk*mTIxMl<0{)-ykYPv@Qv8Q!b!79(eq}Nq>5Xq1ijvO5n6#NVM9>ocrg*w zguBlzGYe-Fj+s*A^&(*v+|5udQ7ofhKXj+^J5UA8*bNC+y466nf-kkVFK zt$CRO&YPxGJn!Z|-O#umRKdp;j~_37F?LTS$iyq#yTBYWO+5!&eSCu9afZDNTY?P; z-_a}VQm0|+wk$sy<6RSeRPG}{jrq*-wMivED(^F(I%Mt2epH^KsXSgRDw+3?g=Z$M z#iXaMG@^=2?`_gkyaUW{df-Q0cMJ%hD(jZ*M`N=ss4?FHRNrp2j~_K$(cBqDdI^f092oTznZJi2C$|sM4M66B{C0N z9z`@0hFgRN7r5nC;BpW#iQG8k7hj$Y?^W2Z+Qz}rp>sEhPCz-7DwRE4V7 z_M^$FJ+@lzMYHb*75)>aDy1t_(cEH^^Sm3ZFEj_0;OaVl)JHD|mB4wR3h+Z+SJ00@ z)$o2$eST`;i3C)T@m!wuCL%K` z3rpus8w-DPJdD*JkousJYoM_cxyvr$>HCbSJn#0r35ByJDE>nSx$^(hy~scDcM?wx z-xpK^tpwF~3%Rn6DfGNNZ0Z{;D-O5TubsM)Vno#`Eh$#1e{E{^^s$qUfgRL|XHSTv2$;%O7Q9^&FJ0qJn5vL9PG z$2)PMk|Wr z4|n1BgH<(j)}hF8_l%oc0<}P8ybq|F?`-7?TtvpI;YF=o{C>2gGCH-5Yq6PyC9THO zgx_K-UiY?+&jr~Z+11vhqbL-BZQ6@WJf;pt5p#NP7m zzNX3QhGC8F2i6!gf67B|-+A|~r{6hxN$T`hz6#5_U+C8hgC5CXlJ9x_h*miq+$T4< z534N}?`-6Z+y zg6ooroOlVVqZ0M2ghBsgu$1mMfY7LZvCpc83;X8>E$9iZ99w(l1}9=EKU{`&@~edf z1M(BEhzt9l)wK$}=;%!Rpg)%K!gWAyZ~<1g$f7hsIaXIJDls6}PlV+Ilm4VI7?cc_ z(KFlaO5=H~p1Z7r=qyTu>T#mSV#zZrq+qdiIbp%z{KR*Vl!Yp_49f>6gIV-bmn|8^ zHq{IZhU5poL#m5Z3Uf%O6=R?S7OhV^6^6mkWNh(%VZqS+U|%MXK?Frj7>vg19yzLK zE#E)P9!8&lR4ZpGcF>TE@UD6Vqs-zI(gIhS74@`WJC+iQrw8}-J5@QrHL@SI$EdJ; zcrvjBu3flgcwX=X+TpwM_!CQQLM!yj4GNjdU7>OYa%Q9;#uL~p}GE;uzX}Pc4eI~`*^x@ zT~{~Sdt`2+0IN&5rAJ!`pJp8!7{87gt?yl z9hT}|CF<90o9v258D?PVEV=%*8cUwhq!4_BrJA^~`rNC@lUfeW4TfN8bdWpNxn{XZ zV=QScdp+%EFYH)7Q!iIKiqm!ZsIAdE@4%sI6bQ_gm)9?MOZ}{ zEAb81$>E~jd9iN}2@A&OCzc=Tc@x9_PVh60tk4okz0hCGRCV5xZs!*l0f@u<`g+^mXp_9a-|BTqHd zt5}K`HHKd)EH6$5om%Zmi%vcfODB`+)5%w3>7nR3yf z{>*T}0$ZQWNgzBVfM8AAVzmmk~u11A`k26u>Z(BIZaE(o@^Ip zPtW)Lu+Q|QpC2yZ@2s$VdNNktKFpqxAJk^3M?E*a^)OBbmOJyR>|!kSRW}+Q$8rs> znc#aYHAGZq|Il#3smWmWk=AhOtw)j;R&)~5gWEYv`9!0@Zx=2oVSzvbB%{XUq+N%l z)64A7NPG>en+qF|o2ZjZUsLZ&+<`Vwnm;=XW+wd}VV{|t0y0ucm7)=TK9(C}q!in5 zbeKIWKll-{A1>~^9}_N^l?*l?Q<39r&QAJghJ9uy6R(gr%{VhJcKNa4=Gpm)_c(`L z!$q_5SlslPlT0k2M{$B@=OsQy8ySTh6$W#Y{`|1dT;{`R-zf{SC@`Gx9+{DUcz<3*JmKQFboExmiq7WJtJ#+uBS2CJuekThS zQ#11tc?F(#ib@-MsUR$%`CIn&yc5EzbMq4Cp;4u|d4E6YiRPSKrm6mU!6|62Yf_8Y zmHonnXXX1X!t%3{!KM8({aZcmSuA%tRNeRhH&E%JXXW}m!}7CPU=9eg&*9_~baIq? zKI62fiunIY3k2sX`KXiX+P`^Vn0*Gwofc5Kz~aN&ad#P1Lz!bJ=6VnauS*)#K5d-hq#BI!8M8Xljb zT^OY>BMdG|CcYiXO=*5ao8ZarE_RH#Fzd)|ylyE@WTs9;9sT+Bh65-z%;t3M-Lcy)ea;Hi;KP7g+! z&Pt0CI(?MtVzi0U=yv7TBoot1HG|MWVz-rs1xxc2zd=lh>Z8Yb(E=s$7+R0$Vsh{- z^)a3J!f?T|WU%@SH=4ZYT0QVg+9Db&Ea+peo*5Qgn;&#%L~%Oonza_oou|c2H9O{q z+1KR!|2+)Q&XLUW=1d6`C?jOIG&RV}te%|dZm^jM_6r;fe~&2{Q}m#766!CizFjaWYj7u=Lg%)3-)C|PArL@k{SJ1&8*58rU<8?(1p@4i|mCDC_@=Pip$`3c%} zVO2&=$RojsI_7fEyIflAmCM6|wfX*paKYN7zdriAZy4N?Obke?B^TY47kfD!F1#f_ z*7K@x;Z6C8`>x`)Cu)(#S4ZcBA+-w4RXTA^CiFNou1YJr`qzX7x8(=lVdtwyg@cFW z`fbDV+minDFj$w2y|FYbSeNhTg$vdtgE`A=y%ycu-HX+oNZida1I4b*TtszY>GU^i z8kUlG>%v?AW_^xja~1KLT<5GPO@CZien&EK6H{FmOQh<#Zz+q^TXioWbCQsVZq(`!9JWz zWyP4B!p+p($>0KGSitg_;>8tV!9Dpwn;YDCrr}6$GL~8-TKdOszah-NH$U+uWL~)C zn!MnU8#4>3#i!;b&cWiL4aL77tu4{G#$K8me1_E_$~k9xZqQ(*3#%M0awlT-jxtaK z+@Y}OMr%8o;<$T`{a3k4`l?pY4@-^j7R?K>+yta0%u`raOV()F;erjxME+`Ghg(j_ z3udFWCuUB#^^V-&W~^hdYDH_k&#_cyZjrCc4eH+HYQ~N4fKF8~l&E_;@Soo=pHDol zCNzWYOTNL1u6K!HYpesu?pYIVelS1r6U5MHK3;RP=N&IC@YlM_A(6Lrs)C{Bh@NC5 zu8|cze|a9Q0G@`Ko9iDKE_gT@6x@<&Zr$u%faMxQ>w!&JgY*z8k#j4njdaz+SRteJ zicaSyG&Ln%gd55OZ_6|+&kX!w;ew5eYcir%B&2H zt2f%~Xa(Vx@~&0xaogqSY4pxPSoBUDE=KDoEqEPGgPkQa4{&PS>v|2P=7rdY4}}F=@)J!Tj!yodykHDk zTY{r!Yr!%s^-YEYv+C33r(o@@56vD#sAhs_B( zXydM%-yyld94zO#Sn;qlZivUY`4X#RdeOl=%lp53Ya5mS;78q=aSd7eH|svE&Xl8O z^o;9ktb8o@#H-aNR~t?T*Q=AUbhaCWnr3gnQu(=Nuws52iy_6+gRYNJ%jj|aWoRSu za8vB3SZYx$Zm|w~+~q@S^GIqARxV+*?^2#;KOSy=B|rEU(lwU`c&jHejm~5dOf}1` z|DG_*ot~^GUD7UWFqRu5y2viaQlVYgo95{Xao|�)oTu-rU(Gg={WqQ*;PKg}Mz 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 delta 96129 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.10.0" - } - }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "license": "Apache-2.0", @@ -6993,137 +6979,6 @@ "node": ">=10.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.19.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.4", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.9.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.2.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/js": { - "version": "9.16.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz", - "integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.4", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.3", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@gar/promisify": { "version": "1.1.3", "dev": true, @@ -7155,62 +7010,6 @@ "@hapi/hoek": "^9.0.0" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@isaacs/ttlcache": { "version": "1.4.1", "license": "ISC", @@ -7721,6 +7520,7 @@ "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "license": "MIT", + "peer": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -7732,6 +7532,7 @@ "node_modules/@nodelib/fs.stat": { "version": "2.0.5", "license": "MIT", + "peer": true, "engines": { "node": ">= 8" } @@ -7739,6 +7540,7 @@ "node_modules/@nodelib/fs.walk": { "version": "1.2.8", "license": "MIT", + "peer": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -7770,17 +7572,6 @@ "node": ">=10" } }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/@react-native-community/cli": { "version": "14.0.0", "license": "MIT", @@ -8831,303 +8622,79 @@ "version": "21.0.3", "license": "MIT" }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.17.0.tgz", - "integrity": "sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==", + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/type-utils": "8.17.0", - "@typescript-eslint/utils": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.17.0.tgz", - "integrity": "sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/typescript-estree": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.17.0.tgz", - "integrity": "sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.17.0.tgz", - "integrity": "sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.17.0", - "@typescript-eslint/utils": "8.17.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.17.0.tgz", - "integrity": "sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.17.0.tgz", - "integrity": "sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.17.0.tgz", - "integrity": "sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/typescript-estree": "8.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.17.0.tgz", - "integrity": "sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.17.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" + "dependencies": { + "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { @@ -9294,14 +8861,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, "node_modules/acorn-walk": { "version": "8.3.0", "dev": true, @@ -10494,11 +10053,6 @@ "node": ">=4.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/deepmerge": { "version": "4.3.1", "license": "MIT", @@ -10812,6 +10366,7 @@ "node_modules/escape-string-regexp": { "version": "4.0.0", "license": "MIT", + "peer": true, "engines": { "node": ">=10" }, @@ -10819,254 +10374,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "9.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.16.0.tgz", - "integrity": "sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.9.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.16.0", - "@eslint/plugin-kit": "^0.2.3", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.5", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-es/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-utils": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-plugin-node/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-plugin-node/node_modules/ignore": { - "version": "5.2.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "8.2.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/esprima": { "version": "4.0.1", "license": "BSD-2-Clause", @@ -11078,25 +10385,6 @@ "node": ">=4" } }, - "node_modules/esquery": { - "version": "1.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "dev": true, @@ -11119,6 +10407,7 @@ "node_modules/esutils": { "version": "2.0.3", "license": "BSD-2-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -11212,14 +10501,10 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-diff": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/fast-glob": { "version": "3.3.2", "license": "MIT", + "peer": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -11234,6 +10519,7 @@ "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "license": "ISC", + "peer": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -11246,11 +10532,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, "node_modules/fast-xml-parser": { "version": "4.4.1", "funding": [ @@ -11283,6 +10564,7 @@ "node_modules/fastq": { "version": "1.15.0", "license": "ISC", + "peer": true, "dependencies": { "reusify": "^1.0.4" } @@ -11294,17 +10576,6 @@ "bser": "2.1.1" } }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/file-uri-to-path": { "version": "1.0.0", "dev": true, @@ -11486,6 +10757,7 @@ "node_modules/find-up": { "version": "5.0.0", "license": "MIT", + "peer": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -11505,23 +10777,6 @@ "flat": "cli.js" } }, - "node_modules/flat-cache": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "dev": true, - "license": "ISC" - }, "node_modules/flow-enums-runtime": { "version": "0.0.6", "license": "MIT", @@ -11702,46 +10957,15 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/glob-to-regexp": { "version": "0.4.1", "dev": true, "license": "BSD-2-Clause" }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "license": "ISC" }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, "node_modules/has-flag": { "version": "4.0.0", "license": "MIT", @@ -11900,14 +11124,6 @@ ], "license": "BSD-3-Clause" }, - "node_modules/ignore": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/image-size": { "version": "1.1.1", "license": "MIT", @@ -11925,6 +11141,7 @@ "node_modules/import-fresh": { "version": "3.3.0", "license": "MIT", + "peer": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -11939,6 +11156,7 @@ "node_modules/import-fresh/node_modules/resolve-from": { "version": "4.0.0", "license": "MIT", + "peer": true, "engines": { "node": ">=4" } @@ -12061,6 +11279,7 @@ "node_modules/is-extglob": { "version": "2.1.1", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -12083,6 +11302,7 @@ "node_modules/is-glob": { "version": "4.0.3", "license": "MIT", + "peer": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -12995,11 +12215,6 @@ "node": ">=4" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "license": "MIT", @@ -13014,11 +12229,6 @@ "dev": true, "license": "MIT" }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/json5": { "version": "2.2.3", "license": "MIT", @@ -13037,14 +12247,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/keyv": { - "version": "4.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, "node_modules/kind-of": { "version": "6.0.3", "license": "MIT", @@ -13066,18 +12268,6 @@ "node": ">=6" } }, - "node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/lighthouse-logger": { "version": "1.4.2", "license": "Apache-2.0", @@ -13123,6 +12313,7 @@ "node_modules/locate-path": { "version": "6.0.0", "license": "MIT", + "peer": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -13143,11 +12334,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.throttle": { "version": "4.1.1", "license": "MIT", @@ -13450,6 +12636,7 @@ "node_modules/merge2": { "version": "1.4.1", "license": "MIT", + "peer": true, "engines": { "node": ">= 8" } @@ -14548,22 +13735,6 @@ "node": ">=8" } }, - "node_modules/optionator": { - "version": "0.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/ora": { "version": "5.4.1", "license": "MIT", @@ -14602,6 +13773,7 @@ "node_modules/p-locate": { "version": "5.0.0", "license": "MIT", + "peer": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -14637,6 +13809,7 @@ "node_modules/parent-module": { "version": "1.0.1", "license": "MIT", + "peer": true, "dependencies": { "callsites": "^3.0.0" }, @@ -14814,14 +13987,6 @@ "node": ">=10" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/prettier": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", @@ -14838,17 +14003,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", @@ -14977,7 +14131,8 @@ "url": "https://feross.org/support" } ], - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/randombytes": { "version": "2.1.0", @@ -15344,17 +14499,6 @@ "@babel/runtime": "^7.8.4" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { "version": "5.3.2", "license": "MIT", @@ -15467,6 +14611,7 @@ "node_modules/reusify": { "version": "1.0.4", "license": "MIT", + "peer": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -15505,6 +14650,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "queue-microtask": "^1.2.2" } @@ -16105,21 +15251,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/synckit": { - "version": "0.9.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -16395,17 +15526,6 @@ "node": ">=18" } }, - "node_modules/ts-api-utils": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, "node_modules/ts-jest": { "version": "29.2.5", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz", @@ -16499,7 +15619,8 @@ }, "node_modules/tslib": { "version": "2.7.0", - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/tunnel-agent": { "version": "0.6.0", @@ -16512,17 +15633,6 @@ "node": "*" } }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/type-detect": { "version": "4.0.8", "license": "MIT", diff --git a/package.json b/package.json index ac7e83b..a79014d 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "build": "rm -rf ./lib/ && tsc --project tsconfig.build.json && npx webpack", "publish": "npm run build && npm publish --access public", "prettier": "prettier --write 'src/**/*'", - "lint": "eslint ./src/ --fix && tsc --noEmit", "typedoc": "rm -rf ./docs/ && typedoc --out docs && typedoc --plugin typedoc-plugin-markdown --out docs/markdown", "npmgui": "npx npm-gui@latest", "prepare": "husky" @@ -60,14 +59,8 @@ "@types/lz4": "^0.6.4", "@types/node": "^22.10.1", "@types/whatwg-url": "^13.0.0", - "@typescript-eslint/eslint-plugin": "^8.17.0", - "@typescript-eslint/parser": "^8.17.0", "dotenv": "^16.4.7", "dotenv-cli": "^7.4.4", - "eslint": "9.16.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "5.2.1", "husky": "^9.1.7", "jest": "^29.7.0", "jest-html-reporter": "^3.10.2", diff --git a/src/drivers/connection-tls.ts b/src/drivers/connection-tls.ts index db444ef..c632a7e 100644 --- a/src/drivers/connection-tls.ts +++ b/src/drivers/connection-tls.ts @@ -37,7 +37,6 @@ export class SQLiteCloudTlsConnection extends SQLiteCloudConnection { } /* Opens a connection with the server and sends the initialization commands. Will throw in case of errors. */ - /* eslint-disable @typescript-eslint/no-unused-vars */ connectTransport(config: SQLiteCloudConfig, callback?: ErrorCallback): this { console.assert(!this.connected, 'SQLiteCloudTlsConnection.connect - connection already established') if (this.config.verbose) { diff --git a/src/drivers/connection-ws.ts b/src/drivers/connection-ws.ts index ac03362..cb85cd5 100644 --- a/src/drivers/connection-ws.ts +++ b/src/drivers/connection-ws.ts @@ -46,7 +46,7 @@ export class SQLiteCloudWebsocketConnection extends SQLiteCloudConnection { if (!this.socket) { callback?.call(this, new SQLiteCloudError('Connection not established', { errorCode: 'ERR_CONNECTION_NOT_ESTABLISHED' })) return this - } + } if (typeof commands === 'string') { commands = { query: commands } @@ -62,7 +62,6 @@ export class SQLiteCloudWebsocketConnection extends SQLiteCloudConnection { if (metadata.numberOfRows !== undefined && metadata.numberOfColumns !== undefined && metadata.columns !== undefined) { console.assert(Array.isArray(data), 'SQLiteCloudWebsocketConnection.transportCommands - data is not an array') // we can recreate a SQLiteCloudRowset from the response which we know to be an array of arrays - // eslint-disable-next-line @typescript-eslint/no-unsafe-call const rowset = new SQLiteCloudRowset(metadata, data.flat()) callback?.call(this, null, rowset) return diff --git a/src/drivers/database.ts b/src/drivers/database.ts index 2d09236..85a80de 100644 --- a/src/drivers/database.ts +++ b/src/drivers/database.ts @@ -7,9 +7,6 @@ // https://github.com/TryGhost/node-sqlite3 // https://github.com/TryGhost/node-sqlite3/blob/master/lib/sqlite3.d.ts -/* eslint-disable @typescript-eslint/no-unused-vars */ -/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ - import { SQLiteCloudConnection } from './connection' import { SQLiteCloudRowset } from './rowset' import { SQLiteCloudConfig, SQLiteCloudError, RowCountCallback, SQLiteCloudArrayType, SQLiteCloudCommand } from './types' diff --git a/src/drivers/protocol.ts b/src/drivers/protocol.ts index bfbfd7f..ae9238d 100644 --- a/src/drivers/protocol.ts +++ b/src/drivers/protocol.ts @@ -74,7 +74,6 @@ export function decompressBuffer(buffer: Buffer): { buffer: Buffer; dataType: st const compressedBuffer = commandBuffer.subarray(commandBuffer.length - compressedSize) // lz4js library is javascript and doesn't have types so we silence the type check - // eslint-disable-next-line const decompressionResult: number = lz4.decompressBlock(compressedBuffer, decompressedBuffer, 0, compressedSize, 0) // the entire command is composed of the header (which is not compressed) + the decompressed block decompressedBuffer = Buffer.concat([commandBuffer.subarray(0, commandBuffer.length - compressedSize), decompressedBuffer]) diff --git a/src/drivers/statement.ts b/src/drivers/statement.ts index 3c4def0..629bd79 100644 --- a/src/drivers/statement.ts +++ b/src/drivers/statement.ts @@ -6,8 +6,6 @@ import { popCallback } from './utilities' import { Database } from './database' import { ErrorCallback, RowCallback, RowsCallback, RowCountCallback, ResultsCallback, SQLiteCloudCommand } from './types' -/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ - /** * A statement generated by Database.prepare used to prepare SQL with ? bindings. * @@ -65,15 +63,15 @@ export class Statement { // apply new bindings then execute this.bind(...args, () => { const query = this._preparedSql.query || '' - const parametes: any = [...this._preparedSql.parameters ?? []] + const parametes: any = [...(this._preparedSql.parameters ?? [])] this._database.run(query, ...parametes, callback) }) } else { // execute prepared sql with same bindings const query = this._preparedSql.query || '' - const parametes: any = [...this._preparedSql.parameters ?? []] + const parametes: any = [...(this._preparedSql.parameters ?? [])] this._database.run(query, ...parametes, callback) - } + } return this } @@ -94,15 +92,15 @@ export class Statement { // apply new bindings then execute this.bind(...args, () => { const query = this._preparedSql.query || '' - const parametes: any = [...this._preparedSql.parameters ?? []] + const parametes: any = [...(this._preparedSql.parameters ?? [])] this._database.get(query, ...parametes, callback) }) } else { // execute prepared sql with same bindings const query = this._preparedSql.query || '' - const parametes: any = [...this._preparedSql.parameters ?? []] + const parametes: any = [...(this._preparedSql.parameters ?? [])] this._database.get(query, ...parametes, callback) - } + } return this } @@ -120,15 +118,15 @@ export class Statement { // apply new bindings then execute this.bind(...args, () => { const query = this._preparedSql.query || '' - const parametes: any = [...this._preparedSql.parameters ?? []] + const parametes: any = [...(this._preparedSql.parameters ?? [])] this._database.all(query, ...parametes, callback) }) } else { // execute prepared sql with same bindings const query = this._preparedSql.query || '' - const parametes: any = [...this._preparedSql.parameters ?? []] + const parametes: any = [...(this._preparedSql.parameters ?? [])] this._database.all(query, ...parametes, callback) - } + } return this } @@ -146,15 +144,15 @@ export class Statement { // apply new bindings then execute this.bind(...args, () => { const query = this._preparedSql.query || '' - const parametes: any = [...this._preparedSql.parameters ?? [], ...[callback, complete as RowCountCallback]] + const parametes: any = [...(this._preparedSql.parameters ?? []), ...[callback, complete as RowCountCallback]] this._database.each(query, ...parametes) }) } else { // execute prepared sql with same bindings const query = this._preparedSql.query || '' - const parametes: any = [...this._preparedSql.parameters ?? [], ...[callback, complete as RowCountCallback]] + const parametes: any = [...(this._preparedSql.parameters ?? []), ...[callback, complete as RowCountCallback]] this._database.each(query, ...parametes) - } + } return this } diff --git a/src/drivers/utilities.ts b/src/drivers/utilities.ts index 462c489..3af3034 100644 --- a/src/drivers/utilities.ts +++ b/src/drivers/utilities.ts @@ -183,7 +183,6 @@ export function validateConfiguration(config: SQLiteCloudConfig): SQLiteCloudCon if (!config.connectionstring) { // build connection string from configuration, values are already validated - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions if (config.apikey) { config.connectionstring = `sqlitecloud://${config.host}:${config.port}/${config.database || ''}?apikey=${config.apikey}` } else {