upgrade to lowdb 6.1.1 and use JSONPreset

See example in https://github.com/typicode/lowdb/releases/tag/v6.1.0
This commit is contained in:
Ralf Vogler 2023-11-02 16:18:25 +01:00
parent 280ab70975
commit bf870919a6
3 changed files with 19 additions and 25 deletions

32
package-lock.json generated
View file

@ -12,7 +12,7 @@
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"enquirer": "^2.4.1", "enquirer": "^2.4.1",
"lowdb": "^6.0.1", "lowdb": "^6.1.1",
"otplib": "^12.0.1", "otplib": "^12.0.1",
"playwright-firefox": "^1.38.1", "playwright-firefox": "^1.38.1",
"puppeteer-extra-plugin-stealth": "^2.11.2" "puppeteer-extra-plugin-stealth": "^2.11.2"
@ -351,11 +351,11 @@
} }
}, },
"node_modules/lowdb": { "node_modules/lowdb": {
"version": "6.0.1", "version": "6.1.1",
"resolved": "https://registry.npmjs.org/lowdb/-/lowdb-6.0.1.tgz", "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-6.1.1.tgz",
"integrity": "sha512-1ktuKYLlQzAWwl4/PQkIr8JzNXgcTM6rAhpXaQ6BR+VwI98Q8ZwMFhBOn9u0ldcW3K/WWzhYpS3xyGTshgVGzA==", "integrity": "sha512-HO13FCxI8SCwfj2JRXOKgXggxnmfSc+l0aJsZ5I34X3pwzG/DPBSKyKu3Zkgg/pNmx854SVgE2la0oUeh6wzNw==",
"dependencies": { "dependencies": {
"steno": "^3.0.0" "steno": "^3.1.1"
}, },
"engines": { "engines": {
"node": ">=16" "node": ">=16"
@ -642,11 +642,11 @@
} }
}, },
"node_modules/steno": { "node_modules/steno": {
"version": "3.0.0", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/steno/-/steno-3.0.0.tgz", "resolved": "https://registry.npmjs.org/steno/-/steno-3.1.1.tgz",
"integrity": "sha512-uZtn7Ht9yXLiYgOsmo8btj4+f7VxyYheMt8g6F1ANjyqByQXEE2Gygjgenp3otHH1TlHsS4JAaRGv5wJ1wvMNw==", "integrity": "sha512-B7c6EVH7oEiaMRW36SjUnktkDwp/qd4pQiduylyiqvcZEZDeX0IIFZRBZdwO/RaVo60M0wkDwC0e8yeKaR4VGg==",
"engines": { "engines": {
"node": ">=14.16" "node": ">=16"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/typicode" "url": "https://github.com/sponsors/typicode"
@ -957,11 +957,11 @@
"integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==" "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ=="
}, },
"lowdb": { "lowdb": {
"version": "6.0.1", "version": "6.1.1",
"resolved": "https://registry.npmjs.org/lowdb/-/lowdb-6.0.1.tgz", "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-6.1.1.tgz",
"integrity": "sha512-1ktuKYLlQzAWwl4/PQkIr8JzNXgcTM6rAhpXaQ6BR+VwI98Q8ZwMFhBOn9u0ldcW3K/WWzhYpS3xyGTshgVGzA==", "integrity": "sha512-HO13FCxI8SCwfj2JRXOKgXggxnmfSc+l0aJsZ5I34X3pwzG/DPBSKyKu3Zkgg/pNmx854SVgE2la0oUeh6wzNw==",
"requires": { "requires": {
"steno": "^3.0.0" "steno": "^3.1.1"
} }
}, },
"merge-deep": { "merge-deep": {
@ -1134,9 +1134,9 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
}, },
"steno": { "steno": {
"version": "3.0.0", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/steno/-/steno-3.0.0.tgz", "resolved": "https://registry.npmjs.org/steno/-/steno-3.1.1.tgz",
"integrity": "sha512-uZtn7Ht9yXLiYgOsmo8btj4+f7VxyYheMt8g6F1ANjyqByQXEE2Gygjgenp3otHH1TlHsS4JAaRGv5wJ1wvMNw==" "integrity": "sha512-B7c6EVH7oEiaMRW36SjUnktkDwp/qd4pQiduylyiqvcZEZDeX0IIFZRBZdwO/RaVo60M0wkDwC0e8yeKaR4VGg=="
}, },
"strip-ansi": { "strip-ansi": {
"version": "6.0.1", "version": "6.0.1",

View file

@ -13,7 +13,7 @@
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"enquirer": "^2.4.1", "enquirer": "^2.4.1",
"lowdb": "^6.0.1", "lowdb": "^6.1.1",
"otplib": "^12.0.1", "otplib": "^12.0.1",
"playwright-firefox": "^1.38.1", "playwright-firefox": "^1.38.1",
"puppeteer-extra-plugin-stealth": "^2.11.2" "puppeteer-extra-plugin-stealth": "^2.11.2"

10
util.js
View file

@ -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); export const resolve = (...a) => a.length && a[0] == '0' ? null : path.resolve(...a);
// json database // json database
import { Low } from 'lowdb'; import { JSONPreset } from 'lowdb/node';
import { JSONFile } from 'lowdb/node'; export const jsonDb = (file, defaultData) => JSONPreset(dataDir(file), defaultData);
export const jsonDb = async (file, defaultData) => {
const db = new Low(new JSONFile(dataDir(file)), defaultData);
await db.read();
return db;
};
export const delay = ms => new Promise(resolve => setTimeout(resolve, ms)); 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 // date and time as UTC (no timezone offset) in nicely readable and sortable format, e.g., 2022-10-06 12:05:27.313