diff --git a/packages/app-cli/app/command-sync.ts b/packages/app-cli/app/command-sync.ts index b4e85755bb..cb5c42e8fe 100644 --- a/packages/app-cli/app/command-sync.ts +++ b/packages/app-cli/app/command-sync.ts @@ -37,17 +37,8 @@ class Command extends BaseCommand { ]; } - static lockFile(filePath: string): Promise { - return new Promise((resolve, reject) => { - locker.lock(filePath, { stale: 1000 * 60 * 5 }, (error: any, release: any) => { - if (error) { - reject(error); - return; - } - - resolve(release); - }); - }); + static async lockFile(filePath: string): Promise { + return locker.lock(filePath, { stale: 1000 * 60 * 5 }); } static isLocked(filePath: string) { diff --git a/packages/app-desktop/package.json b/packages/app-desktop/package.json index 9bc51ca1d7..bb2a0570b9 100644 --- a/packages/app-desktop/package.json +++ b/packages/app-desktop/package.json @@ -157,7 +157,7 @@ "node-fetch": "1.7.3", "node-notifier": "10.0.1", "node-rsa": "1.1.1", - "pretty-bytes": "6.0.0", + "pretty-bytes": "5.6.0", "re-resizable": "6.9.9", "react": "16.14.0", "react-datetime": "3.2.0", diff --git a/packages/app-mobile/components/screens/NoteTagsDialog.js b/packages/app-mobile/components/screens/NoteTagsDialog.js index c52da05597..c7b6a5908b 100644 --- a/packages/app-mobile/components/screens/NoteTagsDialog.js +++ b/packages/app-mobile/components/screens/NoteTagsDialog.js @@ -114,7 +114,7 @@ class NoteTagsDialogComponent extends React.Component { }); tagListData.sort((a, b) => { - if (a.selected === b.selected) return naturalCompare.caseInsensitive(a.title, b.title); + if (a.selected === b.selected) return naturalCompare(a.title, b.title, { caseInsensitive: true }); else if (b.selected === true) return 1; else return -1; }); diff --git a/packages/lib/fs-driver-node.ts b/packages/lib/fs-driver-node.ts index 3ae0f72642..e6314a6570 100644 --- a/packages/lib/fs-driver-node.ts +++ b/packages/lib/fs-driver-node.ts @@ -1,7 +1,7 @@ import { resolve as nodeResolve } from 'path'; import FsDriverBase, { Stat } from './fs-driver-base'; import time from './time'; -const md5File = require('md5-file/promise'); +const md5File = require('md5-file'); const fs = require('fs-extra'); export default class FsDriverNode extends FsDriverBase { diff --git a/packages/lib/import-enex.ts b/packages/lib/import-enex.ts index b317783bfd..dbb5ebef1a 100644 --- a/packages/lib/import-enex.ts +++ b/packages/lib/import-enex.ts @@ -82,19 +82,6 @@ async function decodeBase64File(sourceFilePath: string, destFilePath: string) { }); } -async function md5FileAsync(filePath: string): Promise { - return new Promise((resolve, reject) => { - md5File(filePath, (error: any, hash: string) => { - if (error) { - reject(error); - return; - } - - resolve(hash); - }); - }); -} - function removeUndefinedProperties(note: NoteEntity) { const output: any = {}; for (const n in note) { @@ -184,7 +171,7 @@ async function processNoteResource(resource: ExtractedResource) { // If no resource ID is present, the resource ID is actually the MD5 of the data. // This ID will match the "hash" attribute of the corresponding tag. // resourceId = md5(decodedData); - resource.id = await md5FileAsync(resource.dataFilePath); + resource.id = await md5File(resource.dataFilePath); } if (!resource.id || !resource.size) { diff --git a/packages/server/package.json b/packages/server/package.json index c8ec760275..df6e5336c6 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -46,7 +46,7 @@ "nodemailer": "6.8.0", "nodemon": "2.0.20", "pg": "8.8.0", - "pretty-bytes": "6.0.0", + "pretty-bytes": "5.6.0", "prettycron": "0.10.0", "query-string": "7.1.1", "rate-limiter-flexible": "2.4.1", diff --git a/packages/server/src/db.ts b/packages/server/src/db.ts index ecd3d36724..aac666bfd5 100644 --- a/packages/server/src/db.ts +++ b/packages/server/src/db.ts @@ -295,10 +295,14 @@ export async function migrateList(db: DbConnection, asString: boolean = true) { // ] // ] - const formatName = (migrationInfo: any) => { - const name = migrationInfo.file ? migrationInfo.file : migrationInfo; + const getMigrationName = (migrationInfo: any) => { + if (migrationInfo && migrationInfo.name) return migrationInfo.name; + if (migrationInfo && migrationInfo.file) return migrationInfo.file; + return migrationInfo; + }; - const s = name.split('.'); + const formatName = (migrationInfo: any) => { + const s = getMigrationName(migrationInfo).split('.'); s.pop(); return s.join('.'); }; diff --git a/packages/tools/release-clipper.js b/packages/tools/release-clipper.js index f414ba12a4..c1bbcac995 100644 --- a/packages/tools/release-clipper.js +++ b/packages/tools/release-clipper.js @@ -1,6 +1,6 @@ const fs = require('fs-extra'); const { execCommand, rootDir } = require('./tool-utils.js'); -const md5File = require('md5-file/promise'); +const md5File = require('md5-file'); const glob = require('glob'); const clipperDir = `${rootDir}/packages/app-clipper`; diff --git a/packages/tools/website/build.ts b/packages/tools/website/build.ts index 96bf615571..e33336c7df 100644 --- a/packages/tools/website/build.ts +++ b/packages/tools/website/build.ts @@ -21,7 +21,7 @@ const buildConfig = readCredentialFileJson('website-build.json', { const glob = require('glob'); const path = require('path'); -const md5File = require('md5-file/promise'); +const md5File = require('md5-file'); const docDir = `${dirname(dirname(dirname(dirname(__dirname))))}/joplin-website/docs`; if (!pathExistsSync(docDir)) throw new Error(`Doc directory does not exist: ${docDir}`); diff --git a/yarn.lock b/yarn.lock index 3029b2ffd6..34052135b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4149,7 +4149,7 @@ __metadata: node-fetch: 1.7.3 node-notifier: 10.0.1 node-rsa: 1.1.1 - pretty-bytes: 6.0.0 + pretty-bytes: 5.6.0 re-resizable: 6.9.9 react: 16.14.0 react-datetime: 3.2.0 @@ -4565,7 +4565,7 @@ __metadata: nodemailer: 6.8.0 nodemon: 2.0.20 pg: 8.8.0 - pretty-bytes: 6.0.0 + pretty-bytes: 5.6.0 prettycron: 0.10.0 query-string: 7.1.1 rate-limiter-flexible: 2.4.1 @@ -26453,10 +26453,10 @@ __metadata: languageName: node linkType: hard -"pretty-bytes@npm:6.0.0": - version: 6.0.0 - resolution: "pretty-bytes@npm:6.0.0" - checksum: 0bb9f95e617236404b29a8392c6efd82d65805f622f5e809ecd70068102be857d4e3276c86d2a32fa2ef851cc29472e380945dab7bec83ec79bd57a19a10faf7 +"pretty-bytes@npm:5.6.0, pretty-bytes@npm:^5.2.0": + version: 5.6.0 + resolution: "pretty-bytes@npm:5.6.0" + checksum: 9c082500d1e93434b5b291bd651662936b8bd6204ec9fa17d563116a192d6d86b98f6d328526b4e8d783c07d5499e2614a807520249692da9ec81564b2f439cd languageName: node linkType: hard @@ -26467,13 +26467,6 @@ __metadata: languageName: node linkType: hard -"pretty-bytes@npm:^5.2.0": - version: 5.6.0 - resolution: "pretty-bytes@npm:5.6.0" - checksum: 9c082500d1e93434b5b291bd651662936b8bd6204ec9fa17d563116a192d6d86b98f6d328526b4e8d783c07d5499e2614a807520249692da9ec81564b2f439cd - languageName: node - linkType: hard - "pretty-format@npm:^25.2.1, pretty-format@npm:^25.5.0": version: 25.5.0 resolution: "pretty-format@npm:25.5.0"