1
0
mirror of https://github.com/redis/node-redis.git synced 2025-09-11 18:50:46 +03:00
Commit Graph

306 Commits

Author SHA1 Message Date
Leibale
6059b1edd8 Merge branch 'v5' of github.com:leibale/node-redis into v5 2023-06-22 18:33:45 -04:00
Leibale Eidelman
4e6d018d77 V4 (#1624)
* init v4

* add .gitignore to benchmark

* spawn redis-servers for tests,
add some tests,
fix client auth on connect

* add tests coverage report

* add tests workflow, replace nyc text reporter with text-summary

* run tests with node 16.x & redis 6.x only (for now)

* add socket events on client,
stop reconnectiong when manually calling disconnect,
remove abort signal listener when a command is written on the socket

* add isOpen boolean getter on client, add maxLength option to command queue, add test for client.multi

* move to use CommonJS

* add MULTI and EXEC commands to when executing multi command, make client.multi return type innerit the module commands, clean some tests, exclute spec files from coverage report

* missing file from commit 61edd4f1b5

* exclude spec files from coverage report

* add support for options in a command function (.get, .set, ...), add support for the SELECT command, implement a couple of commands, fix client socket reconnection strategy, add support for using replicas (RO) in cluster, and more..

* fix client.blPop test

* use which to find redis-server path

* change command options to work with Symbol rather then WeakSet

* implement more commands

* Add support for lua scripts in client & muilti, fix client socket initiator, implement simple cluster nodes discovery strategy

* replace `callbackify` with `legacyMode`

* add the SCAN command and client.scanIterator

* rename scanIterator

* init benchmark workflow

* fix benchmark workflow

* fix benchmark workflow

* fix benchmark workflow

* push coverage report to Coveralls

* fix Coveralls

* generator lcov (for Coveralls)

* fix .nycrc.json

* PubSub

* add support for all set commands (including sScanIterator)

* support pipeline

* fix KEEPTTL in SET

* remove console.log

* add HyperLogLog commands

* update README.md (thanks to @guyroyse)

* add support for most of the "keys commands"

* fix EXPIREAT.spec.ts

* add support for date in both EXPIREAT & EXPIRE

* add tests

* better cluster nodes discorvery strategy after MOVED error, add PubSub test

* fix PubSub UNSUBSCRIBE/PUNSUBSCRIBE without channel and/or listener

* fix PubSub

* add release-it to dev dependencies

* Release 4.0.0-next.0

* fix .npmignore

* Release 4.0.0-next.1

* fix links in README.md

* fix .npmignore

* Release 4.0.0-next.2

* add support for all sorted set commands

* add support for most stream commands

* add missing file from commit 53de279afe

* lots of todo commends

* make PubSub test more stable

* clean ZPOPMAX

* add support for lua scripts and modules in cluster, spawn cluster for tests, add some cluster tests, fix pubsub listener arguments

* GET.spec.ts

* add support for List commands, fix some Sorted Set commands, add some cluster commands, spawn cluster for testing, add support for command options in cluster, and more

* add missing file from commit faab94fab2

* clean ZRANK and ZREVRANK

* add XREAD and XREADGROUP commands

* remove unused files

* implement a couple of more commands, make cluster random iterator be per node (instead of per slot)

* Release 4.0.0-next.3

* app spec files to npmignore

* fix some code analyzers (LGTM, deepsource, codeclimate) issues

* fix CLUSTER_NODES, add some tests

* add HSCAN, clean some commands, add tests for generic transformers

* add missing files from 0feb35a1fb

* update README.md (thanks to @guyroyse)

* handle ASK errors, add some commands and tests

* Release 4.0.0-next.4

* replace "modern" with "v4"

* remove unused imports

* add all ACL subcommands, all MODULE subcommands, and some other commands

* remove 2 unused imports

* fix BITFIELD command

* fix XTRIM spec file

* clean code

* fix package.json types field

* better modules support, fix some bugs in legacy mode, add some tests

* remove unused function

* add test for hScanIterator

* change node mimimum version to 12 (latest LTS)

* update tsconfig.json to support node 12, run tests on Redis 5 & 6 and on all node live versions

* remove future node releases :P

* remove "lib" from ts compiler options

* Update tsconfig.json

* fix build

* run some tests only on supported redis versions, use coveralls parallel mode

* fix tests

* Do not use "timers/promises", fix "isRedisVersionGreaterThan"

* skip AbortController tests when not available

* use 'fs'.promises instead of 'fs/promises'

* add some missing commands

* run GETDEL tests only if the redis version is greater than 6.2

* implement some GEO commands, improve scan generic transformer, expose RPUSHX

* fix GEOSEARCH & GEOSEARCHSTORE

* use socket.setNoDelay and queueMicrotask to improve latency

* commands-queue.ts: String length / byte length counting issue (#1630)

* Update commands-queue.ts

Hopefully fixing #1628

* Reverted 2fa5ea6, and implemented test for byte length check

* Changed back to Buffer.byteLength, due to issue author input. Updated test to look for 4 bytes.

* Fixed. There were two places that length was calculated.

* Removed redundant string assignment

* add 2 bytes test as well

Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>

* fix scripts in multi

* do not hide bugs in redis

* fix for e7bf09644b

* remove unused import

* implement WATCH command, fix ZRANGESTORE & GEOSEARCHSTORE tests

* update README.md

Co-authored-by: @GuyRoyse

* use typedoc to auto generate documentation

* run "npm install" before "npm run documentation"

* clean documentation workflow

* fix WATCH spec file

* increase "CLUSTER_NODE_TIMEOUT" to 5000ms to avoid "CLUSTERDOWN" errors in tests

* pull cluster state every 100 ms

* await meetPromises before pulling the cluster state

* enhance the way commanders (client/multi/cluster) get extended with modules and scripts

* add test for socket retry strategy

* implement more commands

* set GETEX minimum version to 6.2

* remove unused imports

* add support for multi in cluster

* upgrade dependencies

* Release 4.0.0-next.5

* remove unused imports

* improve benchmarking

* use the same Multi with duplicated clients

* exclude some files from the documentation, add some exports, clean code

* fix #1636 - handle null in multi.exec

* remove unused import

* add supoprt for tuples in HSET

* add FIRST_KEY_INDEX to HSET

* add a bunch of missing commands, fix MSET and HELLO, add some tests

* add FIRST_KEY_INDEX to MSET and MSETNX

* upgrade actions

* fix coverallsapp/github-action version

* Update documentation.yml

* Update documentation.yml

* clean code

* remove unused imports

* use "npm ci" instead of "npm install"

* fix `self` binding on client modules, use connection pool for `duplicateConnection`

* add client.executeIsolated, rename "duplicateConnection" to "isolated", update README.md (thanks to @GuyRoyse and @SimonPrickett)

* update README (thanks to @GuyRoyse), add some tests

* try to fix "cluster is down" errors in tests

* try to fix "cluster is down" errors in tests

* upgrade dependencies

* update package-lock

* Release 4.0.0-next.6

* fix #1636 - fix WatchError

* fix for f1bf0beebf - remove .only from multi tests

* Release 4.0.0-next.7

* update README and other markdown files

Co-authored-by: @GuyRoyse & @SimonPrickett

* Doc updates. (#1640)

* update docs, upgrade dependencies

* fix README

* Release 4.0.0-rc.0

* Update README.md

* update docs, add `connectTimeout` options, fix tls

Co-authored-by: Guy Royse <guy@guyroyse.com>

* npm update, "fix" some tests, clean code

* fix AssertionError import

* fix #1642 - fix XREAD, XREADGROUP and XTRIM

* fix #1644 - add the QUIT command

* add socket.noDelay and socket.keepAlive configurations

* Update README.md (#1645)

* Update README.md

Fixed issue with how connection string was specified.
Now you can have user@host without having to specify a password, which just makes more sense

* Update client-configuration.md as well

Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>

* update socket.reconnectStrategy description

* fix borken link in v3-to-v4.md

* increase test coverage, fix bug in cluster redirection strategy, implement CLIENT_ID, remove unused EXEC command

Co-authored-by: Nova <novaw@warrenservices.co.uk>
Co-authored-by: Simon Prickett <simon@crudworks.org>
Co-authored-by: Guy Royse <guy@guyroyse.com>
2021-09-02 10:04:48 -04:00
leibale
09f0fe8228 "fix" tests 2021-03-17 19:28:05 -04:00
Guy Korland
428e1c8a7b Add support for Redis 6 auth pass [user] (#1508)
* Add support for `auth pass user`

* fix lint issues

* fix typo

* fix more lint issues

* more lints fixes

* reverse password user order

* update redis-commands

* Update individualCommands.js

Clean code

* Update individualCommands.js

* Update auth.spec.js

* Update index.js

Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>
2021-03-17 19:21:37 -04:00
Leibale Eidelman
fbca5cda0a Upgrade node and dependencies (#1578)
* upgrade workflow actions

* fix setup-node version

* change redis-64 version to 3.0.503

* fix "no password is set" for redis6,
fix tests to work with redis6,
add redis6 to workflows

* do not use assert.match (was added only at v13.6.0 & v12.16.0)

* fix errors.subscribeUnsubscribeOnly regex

* fix invaliodPassword typo

* send --save "" to redis-server in tests

* upgrade dependencies, set node minimum version to 10, use current LTS versions in tests and benchmark workflows

* change windows tests too

* revert mocha back to ^4.1.0

* fix for f5528504a0 - revert mocha back to ^4.1.0

* fix some tests and upgrade mocha

* fix two more tests

* try to fix tests in windows

* upgrade denque and redis-commands
ref #1575

* replace `new Buffer` (deprecated) with `Buffer.from`

* Buffer.from(0) should be Buffer.alloc(0)
2021-03-08 14:12:26 -05:00
Mike Diarmid
f2050f9daf tests: setup GitHub Actions to replace Travis (#1497)
Additionally adds testing against many Node.js versions and Redis versions.
2020-02-11 00:17:09 +00:00
Salakar
da31ade348 tests: improve coverage & fix unreachable code branches 2020-02-09 15:44:52 +00:00
Salakar
176bfc2101 tests: add comments about travis windows issue workaround 2020-02-09 14:23:47 +00:00
Salakar
9f01198c04 chore: try workaround travis windows hanging issue 2020-02-09 14:13:05 +00:00
Salakar
79927c56a0 tests: remove unused parser client option from all tests & helpers 2020-02-09 06:08:30 +00:00
Salakar
c0cc0bfab4 start of work towards v3 release 2020-02-09 02:05:21 +00:00
Mike Diarmid
1d8fa45689 tests: fix windows text 2020-02-07 02:01:52 +00:00
Salakar
3569a68f5d tests: fix test on windows 2020-02-07 01:46:35 +00:00
Salakar
9220016c7d tests: use util.getSystemErrorName for errno 2020-02-07 01:06:47 +00:00
Salakar
9e3b57eae7 tests: use util.getSystemErrorName for errno 2020-02-07 00:54:52 +00:00
Salakar
9d65e1c3ed tests: fix buffer test (failed due to new parser) & remove unused node feature checks (< 4) 2020-02-07 00:31:08 +00:00
Salakar
13ec6afe58 tests: fix Error & Domain tests on Node >= 13 2020-02-06 23:59:31 +00:00
Salakar
36b62fe579 tests: fix error codes test Node >= 13 2020-02-06 22:26:55 +00:00
Salakar
031e00f22e tests: fix socket timeout test Node <= 4 2020-02-06 22:13:22 +00:00
Salakar
7c551bf474 tests: fix tls tests and enable stunnel tests for travis 2020-02-06 21:27:49 +00:00
Salakar
fbdac9e0ad tests: remove hiredis from testing suite
as parser no longer supports hiredis
2020-02-06 21:26:53 +00:00
Salakar
c78e55d874 tests: use stream timeout property instead of internal property
fixes broken test
2020-02-06 21:25:28 +00:00
Vissarut Tantiwattanarom
78936ac50c feat(parser): update to latest Redis parser & errors (#1470)
* Update redis errors and redis parser
* Fix lint errors
* Add node 12 to travis ci
* Add appveyor node 12
* Fix some of existing errors

This drops support for hiredis.
2020-02-03 17:53:56 +00:00
Mario de Frutos Dieguez
f384e86302 Added timestamp to debug traces (#1426)
* Added timestamp to debug traces

* Make it compatible with node 0.10 and 0.12
2019-05-07 22:50:25 +02:00
JinHyuk Kim
50b4009005 fix incorrect code for eslint rules (#1367)
* fix code for eslint rules
2019-02-06 15:19:03 +01:00
Andy Ganchrow
128ca62346 test: Fix typo encountert in test 2019-02-05 21:39:03 +01:00
andy addington
06635b77cc test: Fix typo in assertEquals message 2019-02-05 21:39:03 +01:00
Salakar
c159815e62 update utils.spec queue tests to support denque push() differences 2018-05-22 22:04:47 +01:00
Michael Diarmid
04a09aa2ff Merge pull request #1304 from Salakar/master
Performance Increase - Minor
2018-05-22 21:26:11 +01:00
Ingo Fischer
673b177075 accept both error messages (win!=Linux) 2018-04-04 00:05:31 +02:00
Ingo Fischer
6b294db7a2 fix test because error message seems changed 2018-04-04 00:05:31 +02:00
Mark McNelis
19c80c617c fix: client duplicate function now allows db param to be passed 2018-02-23 17:14:47 +00:00
Salakar
cf0a323fbc utils spec change - forgot to push 2018-02-11 14:34:50 +00:00
calebboyd
1a4c410b41 docs: add note about rediss usage 2018-01-09 17:58:41 +01:00
calebboyd
5d6e471d0c feat: add support for rediss protocol in url 2018-01-09 17:58:41 +01:00
Ruben Bridgewater
1380ad67a3 fix: test on old node versions 2017-08-01 00:36:12 -03:00
Ruben Bridgewater
ad8355a137 fix: add command tests 2017-08-01 00:25:52 -03:00
Ruben Bridgewater
51fdbb7fc2 chore: improve new add_command and add documentation 2017-08-01 00:10:57 -03:00
Kyle Davis
0437aa4985 enabled adding abritary commands
added test and add_command alias

original and special char commands

tweaked code spacing
2017-08-01 00:10:23 -03:00
Ruben Bridgewater
4f7f1adf50 fix: silence auth errors on reconnect 2017-07-23 14:45:17 -03:00
Ruben Bridgewater
e5c8f813ec fix: revert some dev dependency updates to run tests 2017-07-21 01:04:43 -03:00
Ruben Bridgewater
16632f43f1 fix emitting internal auth error on reconnect 2017-07-20 21:24:38 -03:00
Ruben Bridgewater
789471b30a chore: update peer dependency version 2017-07-20 20:24:40 -03:00
Ruben Bridgewater
a2255d7fe2 Fix error messages not being visible in the stack trace of AbortErrors 2017-03-11 15:17:44 -03:00
Ruben Bridgewater
c4b9b4ea26 Fix test on windows 2017-01-16 09:53:31 +01:00
Ruben Bridgewater
8688986051 Add issue to corresponding spec 2017-01-16 09:47:37 +01:00
Ruben Bridgewater
db0e8c53cc Fixed parser not being reset in case the redis connection
closed ASAP for overcoming of output buffer limits.

Fixes #1190
2017-01-15 13:23:20 +01:00
Ruben Bridgewater
dffa8a6aee Fix parser being reset in case (p)message_buffer is attached
without the parser set to return buffers.

This might result in corrupt data if the listener is attached
while the parser holds partial data.
2017-01-15 13:20:00 +01:00
Ruben Bridgewater
b9540d4965 Fix monitor mode not working with IPv6, sockets or lua scripts
Fixes #1189
Fixes #1037
2017-01-12 23:51:41 +01:00
Ruben Bridgewater
4e98cb9442 Improve error message 2016-10-31 20:54:13 +01:00