diff --git a/package.json b/package.json index 49a26afbd..39bca9ab9 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "ts-expect": "1.3.0", "ts-node": "10.9.2", "typescript": "5.6.2", - "typescript-eslint": "8.11.0" + "typescript-eslint": "8.14.0" }, "peerDependencies": { "mongodb": "^6.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 834926570..5cd4af1a3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,10 +46,10 @@ importers: version: 9.1.0(eslint@9.14.0(jiti@1.20.0)) eslint-config-standard: specifier: 17.1.0 - version: 17.1.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)))(eslint-plugin-n@17.6.0(eslint@9.14.0(jiti@1.20.0)))(eslint-plugin-promise@7.1.0(eslint@9.14.0(jiti@1.20.0)))(eslint@9.14.0(jiti@1.20.0)) + version: 17.1.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)))(eslint-plugin-n@17.6.0(eslint@9.14.0(jiti@1.20.0)))(eslint-plugin-promise@7.1.0(eslint@9.14.0(jiti@1.20.0)))(eslint@9.14.0(jiti@1.20.0)) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)) + version: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)) eslint-plugin-prettier: specifier: 5.2.1 version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.20.0)))(eslint@9.14.0(jiti@1.20.0))(prettier@3.3.2) @@ -102,8 +102,8 @@ importers: specifier: 5.6.2 version: 5.6.2 typescript-eslint: - specifier: 8.11.0 - version: 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + specifier: 8.14.0 + version: 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) packages: @@ -1056,8 +1056,8 @@ packages: '@types/yargs@17.0.24': resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - '@typescript-eslint/eslint-plugin@8.11.0': - resolution: {integrity: sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==} + '@typescript-eslint/eslint-plugin@8.14.0': + resolution: {integrity: sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -1067,8 +1067,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.11.0': - resolution: {integrity: sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==} + '@typescript-eslint/parser@8.14.0': + resolution: {integrity: sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1077,12 +1077,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.11.0': - resolution: {integrity: sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==} + '@typescript-eslint/scope-manager@8.14.0': + resolution: {integrity: sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.11.0': - resolution: {integrity: sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==} + '@typescript-eslint/type-utils@8.14.0': + resolution: {integrity: sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1090,12 +1090,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.11.0': - resolution: {integrity: sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==} + '@typescript-eslint/types@8.14.0': + resolution: {integrity: sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.11.0': - resolution: {integrity: sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==} + '@typescript-eslint/typescript-estree@8.14.0': + resolution: {integrity: sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1103,14 +1103,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.11.0': - resolution: {integrity: sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==} + '@typescript-eslint/utils@8.14.0': + resolution: {integrity: sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.11.0': - resolution: {integrity: sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==} + '@typescript-eslint/visitor-keys@8.14.0': + resolution: {integrity: sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} JSONStream@1.3.5: @@ -4027,8 +4027,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript-eslint@8.11.0: - resolution: {integrity: sha512-cBRGnW3FSlxaYwU8KfAewxFK5uzeOAp0l2KebIlPDOT5olVi65KDG/yjBooPBG0kGW/HLkoz1c/iuBFehcS3IA==} + typescript-eslint@8.14.0: + resolution: {integrity: sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -5540,14 +5540,14 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.0 - '@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/type-utils': 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) - '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.11.0 + '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.14.0 + '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.14.0 eslint: 9.14.0(jiti@1.20.0) graphemer: 1.4.0 ignore: 5.3.1 @@ -5558,12 +5558,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2)': + '@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2)': dependencies: - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.11.0 + '@typescript-eslint/scope-manager': 8.14.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.14.0 debug: 4.3.7 eslint: 9.14.0(jiti@1.20.0) optionalDependencies: @@ -5571,15 +5571,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.11.0': + '@typescript-eslint/scope-manager@8.14.0': dependencies: - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/visitor-keys': 8.11.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/visitor-keys': 8.14.0 - '@typescript-eslint/type-utils@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.2) + '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -5588,12 +5588,12 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.11.0': {} + '@typescript-eslint/types@8.14.0': {} - '@typescript-eslint/typescript-estree@8.11.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.14.0(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/visitor-keys': 8.11.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/visitor-keys': 8.14.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -5605,20 +5605,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2)': + '@typescript-eslint/utils@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@1.20.0)) - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.14.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.2) eslint: 9.14.0(jiti@1.20.0) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.11.0': + '@typescript-eslint/visitor-keys@8.14.0': dependencies: - '@typescript-eslint/types': 8.11.0 + '@typescript-eslint/types': 8.14.0 eslint-visitor-keys: 3.4.3 JSONStream@1.3.5: @@ -6531,10 +6531,10 @@ snapshots: dependencies: eslint: 9.14.0(jiti@1.20.0) - eslint-config-standard@17.1.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)))(eslint-plugin-n@17.6.0(eslint@9.14.0(jiti@1.20.0)))(eslint-plugin-promise@7.1.0(eslint@9.14.0(jiti@1.20.0)))(eslint@9.14.0(jiti@1.20.0)): + eslint-config-standard@17.1.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)))(eslint-plugin-n@17.6.0(eslint@9.14.0(jiti@1.20.0)))(eslint-plugin-promise@7.1.0(eslint@9.14.0(jiti@1.20.0)))(eslint@9.14.0(jiti@1.20.0)): dependencies: eslint: 9.14.0(jiti@1.20.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)) eslint-plugin-n: 17.6.0(eslint@9.14.0(jiti@1.20.0)) eslint-plugin-promise: 7.1.0(eslint@9.14.0(jiti@1.20.0)) @@ -6546,11 +6546,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@9.14.0(jiti@1.20.0)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@9.14.0(jiti@1.20.0)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) eslint: 9.14.0(jiti@1.20.0) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -6563,7 +6563,7 @@ snapshots: eslint: 9.14.0(jiti@1.20.0) eslint-compat-utils: 0.1.2(eslint@9.14.0(jiti@1.20.0)) - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -6574,7 +6574,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.14.0(jiti@1.20.0) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@9.14.0(jiti@1.20.0)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@9.14.0(jiti@1.20.0)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -6586,7 +6586,7 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -8855,11 +8855,11 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2): + typescript-eslint@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) - '@typescript-eslint/parser': 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) - '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2))(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) + '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@1.20.0))(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: diff --git a/src/mongodbTypes.ts b/src/mongodbTypes.ts index 6429feba4..07260a849 100644 --- a/src/mongodbTypes.ts +++ b/src/mongodbTypes.ts @@ -192,6 +192,7 @@ export type PaprArrayElementsProperties = { * 'objectList.$[element].foo': any; * } */ +// eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style export type PaprArrayNestedProperties = { [Property in `${KeysOfAType, Record[]>}.$${ | '' diff --git a/src/utils.ts b/src/utils.ts index ba7782f35..43c5183aa 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -36,11 +36,10 @@ type TimestampSchemaProperty< ? never : TProperty; -export type TimestampSchema = { - [key in - | TimestampSchemaProperty<'createdAt', TOptions> - | TimestampSchemaProperty<'updatedAt', TOptions>]: Date; -}; +export type TimestampSchema = Record< + TimestampSchemaProperty<'createdAt', TOptions> | TimestampSchemaProperty<'updatedAt', TOptions>, + Date +>; export interface ModelOptions { hooks?: Hooks;