hide-a-bed 7.0.0-beta.2 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
1
  {
2
- "arrowParens": "avoid",
3
- "semi": false,
2
+ "$schema": "./node_modules/oxfmt/configuration_schema.json",
4
3
  "singleQuote": true,
4
+ "semi": false,
5
5
  "trailingComma": "none",
6
- "printWidth": 100
6
+ "arrowParens": "avoid",
7
+ "ignorePatterns": []
7
8
  }
package/.oxlintrc.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
3
+ "plugins": ["typescript"],
4
+ "ignorePatterns": ["dist/", "node_modules/", "docs/", "types/"],
5
+ "rules": {
6
+ "@typescript-eslint/ban-ts-comment": [
7
+ "error",
8
+ {
9
+ "ts-expect-error": "allow-with-description",
10
+ "ts-ignore": "allow-with-description",
11
+ "ts-nocheck": "allow-with-description",
12
+ "ts-check": false
13
+ }
14
+ ],
15
+ "@typescript-eslint/no-explicit-any": "error",
16
+ "no-unused-vars": [
17
+ "error",
18
+ {
19
+ "ignoreRestSiblings": true
20
+ }
21
+ ]
22
+ },
23
+ "overrides": [
24
+ {
25
+ "files": ["**/*.test.{js,ts,mjs,mts}"],
26
+ "rules": {
27
+ "@typescript-eslint/no-explicit-any": "off"
28
+ }
29
+ }
30
+ ]
31
+ }
@@ -1158,8 +1158,7 @@ const KEYS_TO_QUOTE = [
1158
1158
  "key",
1159
1159
  "keys",
1160
1160
  "startkey",
1161
- "startkey_docid",
1162
- "update"
1161
+ "startkey_docid"
1163
1162
  ];
1164
1163
  /**
1165
1164
  * Serialize CouchDB view options into a URL-safe query string, quoting values CouchDB expects as JSON.
@@ -1126,8 +1126,7 @@ const KEYS_TO_QUOTE = [
1126
1126
  "key",
1127
1127
  "keys",
1128
1128
  "startkey",
1129
- "startkey_docid",
1130
- "update"
1129
+ "startkey_docid"
1131
1130
  ];
1132
1131
  /**
1133
1132
  * Serialize CouchDB view options into a URL-safe query string, quoting values CouchDB expects as JSON.
@@ -1,3 +1,4 @@
1
+ // oxlint-disable typescript/no-explicit-any
1
2
  import type z from 'zod'
2
3
  import { CouchConfig, type CouchConfigInput } from '../schema/config.mts'
3
4
  import { withRetry } from './retry.mts'
@@ -81,11 +82,7 @@ export const bindConfig = (config: CouchConfigInput): BoundInstance => {
81
82
  * @param config The CouchDB configuration
82
83
  * @returns The bound function, possibly wrapped with retry logic
83
84
  */
84
- export function getBoundWithRetry<
85
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
- TBound extends (...args: any[]) => Promise<any>
87
- >(
88
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ export function getBoundWithRetry<TBound extends (...args: any[]) => Promise<any>>(
89
86
  func: (config: CouchConfig, ...args: any[]) => Promise<any>,
90
87
  config: CouchConfig
91
88
  ) {
package/impl/bulkGet.mts CHANGED
@@ -257,7 +257,7 @@ export async function bulkGetDictionary<DocSchema extends StandardSchemaV1 = typ
257
257
 
258
258
  const doc = row.doc
259
259
  const docId =
260
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
260
+ // oxlint-disable-next-line @typescript-eslint/no-explicit-any
261
261
  typeof (doc as any)?._id === 'string' ? (doc as any)._id : row.id
262
262
 
263
263
  if (!docId) {
package/impl/retry.mts CHANGED
@@ -36,7 +36,7 @@ type MaybePromise<T> = PromiseLike<T> | T
36
36
  * @param options Retry tuning parameters.
37
37
  * @returns A function mirroring `fn` that automatically retries on {@link RetryableError}.
38
38
  */
39
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
+ // oxlint-disable-next-line typescript/no-explicit-any
40
40
  export function withRetry<Fn extends (...args: any[]) => MaybePromise<any>>(
41
41
  fn: Fn,
42
42
  options: RetryOptions = {}
@@ -31,7 +31,7 @@ export type WatchHandle = {
31
31
  export function watchDocs(
32
32
  configInput: CouchConfigInput,
33
33
  docIds: string | string[],
34
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ // oxlint-disable-next-line @typescript-eslint/no-explicit-any
35
35
  onChange: (change: any) => void,
36
36
  optionsInput: WatchOptionsInput = {}
37
37
  ): WatchHandle {
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
1
+ /* oxlint-disable @typescript-eslint/no-explicit-any */
2
2
  import { ViewRow } from '../../schema/couch/couch.output.schema.ts'
3
3
  import type { StandardSchemaV1 } from '../../types/standard-schema.ts'
4
4
  import { z } from 'zod'
@@ -167,7 +167,7 @@ export class QueryBuilder {
167
167
 
168
168
  type AssertViewOptionsCovered =
169
169
  Exclude<keyof ViewOptions, keyof QueryBuilder> extends never ? true : never
170
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
170
+ // oxlint-disable-next-line @typescript-eslint/no-unused-vars
171
171
  const _assertViewOptionsCovered: AssertViewOptionsCovered = true
172
172
 
173
173
  export const createQuery = (): QueryBuilder => new QueryBuilder()
@@ -6,8 +6,7 @@ const KEYS_TO_QUOTE: (keyof ViewOptions)[] = [
6
6
  'key',
7
7
  'keys',
8
8
  'startkey',
9
- 'startkey_docid',
10
- 'update'
9
+ 'startkey_docid'
11
10
  ]
12
11
 
13
12
  /**
@@ -1,4 +1,4 @@
1
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1
+ // oxlint-disable-next-line @typescript-eslint/ban-ts-comment
2
2
  // @ts-nocheck
3
3
  import { EventEmitter } from 'events'
4
4
 
package/package.json CHANGED
@@ -1,7 +1,21 @@
1
1
  {
2
2
  "name": "hide-a-bed",
3
- "version": "7.0.0-beta.2",
3
+ "version": "7.0.1",
4
4
  "description": "An abstraction over couchdb calls that includes easy mock/stubs with pouchdb",
5
+ "keywords": [
6
+ "couchdb",
7
+ "test"
8
+ ],
9
+ "homepage": "https://github.com/ryanramage/hide-a-bed#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/ryanramage/hide-a-bed/issues"
12
+ },
13
+ "license": "ISC",
14
+ "author": "ryan ramage",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/ryanramage/hide-a-bed.git"
18
+ },
5
19
  "type": "module",
6
20
  "main": "./dist/cjs/index.cjs",
7
21
  "module": "./dist/esm/index.mjs",
@@ -18,6 +32,9 @@
18
32
  "default": "./dist/esm/index.mjs"
19
33
  }
20
34
  },
35
+ "publishConfig": {
36
+ "registry": "https://registry.npmjs.org/"
37
+ },
21
38
  "scripts": {
22
39
  "clean": "rm -rf types/output && rm -rf dist && (find . -name \"log.txt\" -type f -delete || true)",
23
40
  "build": "npm run clean && tsc && tsdown",
@@ -25,30 +42,16 @@
25
42
  "dev": "typedoc --watch ./index.mts & npx -y serve ./docs",
26
43
  "test": "node --test --test-global-setup ./test/setup.mts",
27
44
  "test:watch": "node --test --watch --test-global-setup ./test/setup.mts",
28
- "lint": "eslint .",
29
- "lint:fix": "eslint . --fix",
30
- "format": "prettier --write .",
31
- "format:check": "prettier --check .",
45
+ "lint": "oxlint .",
46
+ "lint:fix": "oxlint --fix .",
47
+ "format": "oxfmt --write .",
48
+ "format:check": "oxfmt --check .",
32
49
  "typecheck": "tsc --noEmit",
33
50
  "typecheck:watch": "tsc --noEmit --watch",
34
51
  "prepublishOnly": "npm run build",
35
- "validate": "npm run format && npm run lint && npm run typecheck",
52
+ "validate": "npm run format:check && npm run lint && npm run typecheck",
36
53
  "full": "npm run lint:fix && npm run build && npm run clean"
37
54
  },
38
- "repository": {
39
- "type": "git",
40
- "url": "git+https://github.com/ryanramage/hide-a-bed.git"
41
- },
42
- "keywords": [
43
- "couchdb",
44
- "test"
45
- ],
46
- "author": "ryan ramage",
47
- "license": "ISC",
48
- "bugs": {
49
- "url": "https://github.com/ryanramage/hide-a-bed/issues"
50
- },
51
- "homepage": "https://github.com/ryanramage/hide-a-bed#readme",
52
55
  "dependencies": {
53
56
  "stream-chain": "3.4.0",
54
57
  "stream-json": "1.9.1",
@@ -56,20 +59,14 @@
56
59
  "zod": "4.2.1"
57
60
  },
58
61
  "devDependencies": {
59
- "@eslint/js": "9.39.2",
60
62
  "@types/node": "24.12.0",
61
63
  "@types/stream-json": "1.7.8",
62
- "eslint": "9.39.2",
63
- "globals": "16.5.0",
64
+ "oxfmt": "0.41.0",
65
+ "oxlint": "1.56.0",
64
66
  "pouchdb-server": "4.2.0",
65
- "prettier": "3.7.4",
66
67
  "tsdown": "0.18.1",
67
68
  "typedoc": "0.28.15",
68
- "typescript": "5.9.3",
69
- "typescript-eslint": "8.50.1"
70
- },
71
- "publishConfig": {
72
- "registry": "https://registry.npmjs.org/"
69
+ "typescript": "5.9.3"
73
70
  },
74
71
  "volta": {
75
72
  "node": "24.12.0",
@@ -1 +1 @@
1
- {"version":3,"file":"bindConfig.d.mts","sourceRoot":"","sources":["../../../impl/bindConfig.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindConfig.d.mts","sourceRoot":"","sources":["../../../impl/bindConfig.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queryString.d.mts","sourceRoot":"","sources":["../../../../impl/utils/queryString.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAYtE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,MAAM,CAyB7D"}
1
+ {"version":3,"file":"queryString.d.mts","sourceRoot":"","sources":["../../../../impl/utils/queryString.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAWtE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,MAAM,CAyB7D"}
package/eslint.config.js DELETED
@@ -1,20 +0,0 @@
1
- import js from '@eslint/js'
2
- import globals from 'globals'
3
- import tseslint from 'typescript-eslint'
4
- import { defineConfig, globalIgnores } from 'eslint/config'
5
-
6
- export default defineConfig([
7
- globalIgnores(['dist/', 'node_modules/', 'docs/', 'types/']),
8
- {
9
- files: ['**/*.{js,mjs,cjs,ts,mts,cts}'],
10
- plugins: { js },
11
- extends: ['js/recommended'],
12
- languageOptions: { globals: globals.browser }
13
- },
14
- tseslint.configs.recommended,
15
- {
16
- rules: {
17
- '@typescript-eslint/no-unused-vars': ['error', { ignoreRestSiblings: true }]
18
- }
19
- }
20
- ])
@@ -1,3 +0,0 @@
1
- declare const _default: import("eslint/config").Config[];
2
- export default _default;
3
- //# sourceMappingURL=eslint.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../../eslint.config.js"],"names":[],"mappings":""}