From bf870919a66f3872f96328772ad219aa32c684f7 Mon Sep 17 00:00:00 2001 From: Ralf Vogler Date: Thu, 2 Nov 2023 16:18:25 +0100 Subject: [PATCH] upgrade to lowdb 6.1.1 and use JSONPreset See example in https://github.com/typicode/lowdb/releases/tag/v6.1.0 --- package-lock.json | 32 ++++++++++++++++---------------- package.json | 2 +- util.js | 10 ++-------- 3 files changed, 19 insertions(+), 25 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4cb3c34..320fab8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "cross-env": "^7.0.3", "dotenv": "^16.3.1", "enquirer": "^2.4.1", - "lowdb": "^6.0.1", + "lowdb": "^6.1.1", "otplib": "^12.0.1", "playwright-firefox": "^1.38.1", "puppeteer-extra-plugin-stealth": "^2.11.2" @@ -351,11 +351,11 @@ } }, "node_modules/lowdb": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-6.0.1.tgz", - "integrity": "sha512-1ktuKYLlQzAWwl4/PQkIr8JzNXgcTM6rAhpXaQ6BR+VwI98Q8ZwMFhBOn9u0ldcW3K/WWzhYpS3xyGTshgVGzA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-6.1.1.tgz", + "integrity": "sha512-HO13FCxI8SCwfj2JRXOKgXggxnmfSc+l0aJsZ5I34X3pwzG/DPBSKyKu3Zkgg/pNmx854SVgE2la0oUeh6wzNw==", "dependencies": { - "steno": "^3.0.0" + "steno": "^3.1.1" }, "engines": { "node": ">=16" @@ -642,11 +642,11 @@ } }, "node_modules/steno": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/steno/-/steno-3.0.0.tgz", - "integrity": "sha512-uZtn7Ht9yXLiYgOsmo8btj4+f7VxyYheMt8g6F1ANjyqByQXEE2Gygjgenp3otHH1TlHsS4JAaRGv5wJ1wvMNw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/steno/-/steno-3.1.1.tgz", + "integrity": "sha512-B7c6EVH7oEiaMRW36SjUnktkDwp/qd4pQiduylyiqvcZEZDeX0IIFZRBZdwO/RaVo60M0wkDwC0e8yeKaR4VGg==", "engines": { - "node": ">=14.16" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/typicode" @@ -957,11 +957,11 @@ "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==" }, "lowdb": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-6.0.1.tgz", - "integrity": "sha512-1ktuKYLlQzAWwl4/PQkIr8JzNXgcTM6rAhpXaQ6BR+VwI98Q8ZwMFhBOn9u0ldcW3K/WWzhYpS3xyGTshgVGzA==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-6.1.1.tgz", + "integrity": "sha512-HO13FCxI8SCwfj2JRXOKgXggxnmfSc+l0aJsZ5I34X3pwzG/DPBSKyKu3Zkgg/pNmx854SVgE2la0oUeh6wzNw==", "requires": { - "steno": "^3.0.0" + "steno": "^3.1.1" } }, "merge-deep": { @@ -1134,9 +1134,9 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "steno": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/steno/-/steno-3.0.0.tgz", - "integrity": "sha512-uZtn7Ht9yXLiYgOsmo8btj4+f7VxyYheMt8g6F1ANjyqByQXEE2Gygjgenp3otHH1TlHsS4JAaRGv5wJ1wvMNw==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/steno/-/steno-3.1.1.tgz", + "integrity": "sha512-B7c6EVH7oEiaMRW36SjUnktkDwp/qd4pQiduylyiqvcZEZDeX0IIFZRBZdwO/RaVo60M0wkDwC0e8yeKaR4VGg==" }, "strip-ansi": { "version": "6.0.1", diff --git a/package.json b/package.json index d447382..94a0493 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "cross-env": "^7.0.3", "dotenv": "^16.3.1", "enquirer": "^2.4.1", - "lowdb": "^6.0.1", + "lowdb": "^6.1.1", "otplib": "^12.0.1", "playwright-firefox": "^1.38.1", "puppeteer-extra-plugin-stealth": "^2.11.2" diff --git a/util.js b/util.js index 94cccfd..9904486 100644 --- a/util.js +++ b/util.js @@ -11,14 +11,8 @@ export const dataDir = s => path.resolve(__dirname, 'data', s); export const resolve = (...a) => a.length && a[0] == '0' ? null : path.resolve(...a); // json database -import { Low } from 'lowdb'; -import { JSONFile } from 'lowdb/node'; -export const jsonDb = async (file, defaultData) => { - const db = new Low(new JSONFile(dataDir(file)), defaultData); - await db.read(); - return db; -}; - +import { JSONPreset } from 'lowdb/node'; +export const jsonDb = (file, defaultData) => JSONPreset(dataDir(file), defaultData); export const delay = ms => new Promise(resolve => setTimeout(resolve, ms)); // date and time as UTC (no timezone offset) in nicely readable and sortable format, e.g., 2022-10-06 12:05:27.313