Skip to content
This repository was archived by the owner on May 25, 2025. It is now read-only.

Commit a99ad49

Browse files
feat: modernize, convert to ESM
BREAKING CHANGE: ^^^
1 parent 53ad101 commit a99ad49

15 files changed

+1699
-2503
lines changed

eslint.config.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
// prettier-ignore
2-
module.exports = [
3-
...require('@naturalcycles/dev-lib/cfg/eslint.config'),
1+
import sharedConfig from '@naturalcycles/dev-lib/cfg/eslint.config.js'
2+
3+
export default [
4+
...sharedConfig,
5+
{
6+
rules: {
7+
'@typescript-eslint/consistent-type-imports': 2,
8+
},
9+
},
410
]

jest.config.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

package.json

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"name": "@naturalcycles/redis-lib",
3+
"type": "module",
34
"scripts": {
45
"prepare": "husky",
56
"build": "dev-lib build",
@@ -9,15 +10,17 @@
910
"lbt": "dev-lib lbt"
1011
},
1112
"dependencies": {
12-
"@naturalcycles/db-lib": "^9.9.2",
13-
"@naturalcycles/js-lib": "^14.217.0",
14-
"@naturalcycles/nodejs-lib": "^13.8.0",
15-
"ioredis": "^5.3.2"
13+
"@naturalcycles/db-lib": "^10",
14+
"@naturalcycles/js-lib": "^14",
15+
"@naturalcycles/nodejs-lib": "^13",
16+
"ioredis": "^5"
1617
},
1718
"devDependencies": {
18-
"@naturalcycles/dev-lib": "^15.22.0",
19-
"@types/node": "^22.7.5",
20-
"jest": "^29.7.0"
19+
"@naturalcycles/dev-lib": "^17",
20+
"@types/node": "^22",
21+
"@vitest/coverage-v8": "^3",
22+
"tsx": "^4",
23+
"vitest": "^3"
2124
},
2225
"files": [
2326
"dist",
@@ -38,7 +41,7 @@
3841
"url": "https://github.com/NaturalCycles/redis-lib"
3942
},
4043
"engines": {
41-
"node": ">=20.13"
44+
"node": ">=22.10"
4245
},
4346
"version": "2.0.0",
4447
"description": "Redis implementation of CommonKeyValueDB interface",

prettier.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
module.exports = require('@naturalcycles/dev-lib/cfg/prettier.config')
1+
import sharedConfig from '@naturalcycles/dev-lib/cfg/prettier.config.js'
2+
3+
export default sharedConfig

src/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
export * from './redisClient'
2-
export * from './redisHashKeyValueDB'
3-
export * from './redisKeyValueDB'
1+
export * from './redisClient.js'
2+
export * from './redisHashKeyValueDB.js'
3+
export * from './redisKeyValueDB.js'

src/redis.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { TEST_TABLE } from '@naturalcycles/db-lib/dist/testing'
1+
import { TEST_TABLE } from '@naturalcycles/db-lib/dist/testing/index.js'
22
import { pDelay } from '@naturalcycles/js-lib'
3-
import { RedisClient } from './redisClient'
4-
import { RedisKeyValueDB } from './redisKeyValueDB'
3+
import { expect, test } from 'vitest'
4+
import { RedisClient } from './redisClient.js'
5+
import { RedisKeyValueDB } from './redisKeyValueDB.js'
56

67
test('redis lazy initialization should not throw', async () => {
78
await using _redis = new RedisClient({

src/redisClient.manual.test.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
import { localTime, UnixTimestamp } from '@naturalcycles/js-lib'
2-
import { RedisClient } from './redisClient'
1+
import type { UnixTimestamp } from '@naturalcycles/js-lib'
2+
import { localTime } from '@naturalcycles/js-lib'
3+
import { afterAll, beforeAll, beforeEach, describe, expect, test } from 'vitest'
4+
import { RedisClient } from './redisClient.js'
35

46
let client: RedisClient
57

src/redisClient.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import {
2-
_stringMapEntries,
1+
import type {
32
AnyObject,
43
CommonLogger,
54
NullableBuffer,
@@ -8,11 +7,12 @@ import {
87
StringMap,
98
UnixTimestamp,
109
} from '@naturalcycles/js-lib'
11-
import { ReadableTyped } from '@naturalcycles/nodejs-lib'
10+
import { _stringMapEntries } from '@naturalcycles/js-lib'
11+
import type { ReadableTyped } from '@naturalcycles/nodejs-lib'
1212
import type { Redis, RedisOptions } from 'ioredis'
1313
import type * as RedisLib from 'ioredis'
14-
import type { ScanStreamOptions } from 'ioredis/built/types'
15-
import type { ChainableCommander } from 'ioredis/built/utils/RedisCommander'
14+
import type { ScanStreamOptions } from 'ioredis/built/types.js'
15+
import type { ChainableCommander } from 'ioredis/built/utils/RedisCommander.js'
1616

1717
export interface CommonClient extends AsyncDisposable {
1818
connected: boolean

src/redisHashKeyValueDB.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import {
1+
import type {
22
CommonDBCreateOptions,
33
CommonKeyValueDB,
4-
commonKeyValueDBFullSupport,
54
CommonKeyValueDBSaveBatchOptions,
65
IncrementTuple,
76
KeyValueDBTuple,
87
} from '@naturalcycles/db-lib'
9-
import { ReadableTyped } from '@naturalcycles/nodejs-lib'
10-
import { RedisKeyValueDBCfg } from './redisKeyValueDB'
8+
import { commonKeyValueDBFullSupport } from '@naturalcycles/db-lib'
9+
import type { ReadableTyped } from '@naturalcycles/nodejs-lib'
10+
import type { RedisKeyValueDBCfg } from './redisKeyValueDB.js'
1111

1212
/**
1313
* RedisHashKeyValueDB is a KeyValueDB implementation that uses hash fields to simulate tables.

src/redisKeyValueDB.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import {
1+
import type {
22
CommonDBCreateOptions,
33
CommonKeyValueDB,
4-
commonKeyValueDBFullSupport,
54
CommonKeyValueDBSaveBatchOptions,
65
IncrementTuple,
76
KeyValueDBTuple,
87
} from '@naturalcycles/db-lib'
8+
import { commonKeyValueDBFullSupport } from '@naturalcycles/db-lib'
99
import { _isTruthy, _zip } from '@naturalcycles/js-lib'
10-
import { ReadableTyped } from '@naturalcycles/nodejs-lib'
11-
import { RedisClient } from './redisClient'
10+
import type { ReadableTyped } from '@naturalcycles/nodejs-lib'
11+
import type { RedisClient } from './redisClient.js'
1212

1313
export interface RedisKeyValueDBCfg {
1414
client: RedisClient

0 commit comments

Comments
 (0)