diff --git a/electron.ts b/electron.ts index 1872e7167..3e44e03ce 100644 --- a/electron.ts +++ b/electron.ts @@ -1,6 +1,6 @@ "use strict"; -import electron = require('electron'); +import electron from "electron"; import sqlInit from "./src/services/sql_init.js"; import appIconService from "./src/services/app_icon.js"; import windowService from "./src/services/window.js"; diff --git a/spec/etapi/import.spec.ts b/spec/etapi/import.spec.ts index 735e328d1..88c9e0a88 100644 --- a/spec/etapi/import.spec.ts +++ b/spec/etapi/import.spec.ts @@ -1,6 +1,6 @@ import etapi from "../support/etapi.js"; -import fs = require('fs'); -import path = require('path'); +import fs from "fs"; +import path from "path"; etapi.describeEtapi("import", () => { // temporarily skip this test since test-export.zip is missing diff --git a/spec/etapi/notes.spec.ts b/spec/etapi/notes.spec.ts index 8fcfc4c77..cbfd4de7e 100644 --- a/spec/etapi/notes.spec.ts +++ b/spec/etapi/notes.spec.ts @@ -1,4 +1,4 @@ -import crypto = require('crypto'); +import crypto from "crypto"; import etapi from "../support/etapi.js"; etapi.describeEtapi("notes", () => { diff --git a/spec/search/becca_mocking.ts b/spec/search/becca_mocking.ts index 984ea2940..487a6b668 100644 --- a/spec/search/becca_mocking.ts +++ b/spec/search/becca_mocking.ts @@ -2,7 +2,7 @@ import BNote from "../../src/becca/entities/bnote.js"; import BBranch from "../../src/becca/entities/bbranch.js"; import BAttribute from "../../src/becca/entities/battribute.js"; import becca from "../../src/becca/becca.js"; -import randtoken = require('rand-token'); +import randtoken from "rand-token"; import SearchResult from "../../src/services/search/search_result.js"; import { NoteType } from "../../src/becca/entities/rows"; randtoken.generator({ source: "crypto" }); diff --git a/spec/support/etapi.ts b/spec/support/etapi.ts index 0d36f1380..00310d9cc 100644 --- a/spec/support/etapi.ts +++ b/spec/support/etapi.ts @@ -1,5 +1,5 @@ -import child_process = require('child_process'); -import kill = require('tree-kill'); +import child_process from "child_process"; +import kill from "tree-kill"; let etapiAuthToken: string | undefined; diff --git a/src/app.ts b/src/app.ts index ebda1a44c..1cdf5e643 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,9 +1,9 @@ -import express = require('express'); -import path = require('path'); -import favicon = require('serve-favicon'); -import cookieParser = require('cookie-parser'); -import helmet = require('helmet'); -import compression = require('compression'); +import express from "express"; +import path from "path"; +import favicon from "serve-favicon"; +import cookieParser from "cookie-parser"; +import helmet from "helmet"; +import compression from "compression"; import sessionParser from "./routes/session_parser.js"; import utils from "./services/utils.js"; diff --git a/src/becca/entities/bnote.ts b/src/becca/entities/bnote.ts index 1c8d229a5..2b12d9815 100644 --- a/src/becca/entities/bnote.ts +++ b/src/becca/entities/bnote.ts @@ -9,8 +9,8 @@ import AbstractBeccaEntity from "./abstract_becca_entity.js"; import BRevision from "./brevision.js"; import BAttachment from "./battachment.js"; import TaskContext from "../../services/task_context.js"; -import dayjs = require('dayjs'); -import utc = require('dayjs/plugin/utc'); +import dayjs from "dayjs"; +import utc from "dayjs/plugin/utc"; import eventService from "../../services/events.js"; import { AttachmentRow, NoteRow, NoteType, RevisionRow } from './rows'; import BBranch from "./bbranch.js"; diff --git a/src/etapi/spec.ts b/src/etapi/spec.ts index 530249d46..e9fdca960 100644 --- a/src/etapi/spec.ts +++ b/src/etapi/spec.ts @@ -1,7 +1,7 @@ import { Router } from "express"; -import fs = require('fs'); -import path = require('path'); +import fs from "fs"; +import path from "path"; const specPath = path.join(__dirname, 'etapi.openapi.yaml'); let spec: string | null = null; diff --git a/src/routes/api/backend_log.ts b/src/routes/api/backend_log.ts index d55602e13..bdd15e17b 100644 --- a/src/routes/api/backend_log.ts +++ b/src/routes/api/backend_log.ts @@ -1,6 +1,6 @@ "use strict"; -import fs = require('fs'); +import fs from "fs"; import dateUtils from "../../services/date_utils.js"; import dataDir from "../../services/data_dir.js"; const { LOG_DIR } = dataDir; diff --git a/src/routes/api/clipper.ts b/src/routes/api/clipper.ts index 31926afb0..f81a8c2ce 100644 --- a/src/routes/api/clipper.ts +++ b/src/routes/api/clipper.ts @@ -12,10 +12,10 @@ import appInfo from "../../services/app_info.js"; import ws from "../../services/ws.js"; import log from "../../services/log.js"; import utils from "../../services/utils.js"; -import path = require('path'); +import path from "path"; import htmlSanitizer from "../../services/html_sanitizer.js"; import attributeFormatter from "../../services/attribute_formatter.js"; -import jsdom = require('jsdom'); +import jsdom from "jsdom"; import BNote from "../../becca/entities/bnote.js"; import ValidationError from "../../errors/validation_error.js"; const { JSDOM } = jsdom; diff --git a/src/routes/api/files.ts b/src/routes/api/files.ts index e889cc8a4..72231567e 100644 --- a/src/routes/api/files.ts +++ b/src/routes/api/files.ts @@ -4,10 +4,10 @@ import protectedSessionService from "../../services/protected_session.js"; import utils from "../../services/utils.js"; import log from "../../services/log.js"; import noteService from "../../services/notes.js"; -import tmp = require('tmp'); -import fs = require('fs'); +import tmp from "tmp"; +import fs from "fs"; import { Readable } from 'stream'; -import chokidar = require('chokidar'); +import chokidar from "chokidar"; import ws from "../../services/ws.js"; import becca from "../../becca/becca.js"; import ValidationError from "../../errors/validation_error.js"; diff --git a/src/routes/api/image.ts b/src/routes/api/image.ts index e8df615c1..6af237982 100644 --- a/src/routes/api/image.ts +++ b/src/routes/api/image.ts @@ -3,7 +3,7 @@ import imageService from "../../services/image.js"; import becca from "../../becca/becca.js"; const RESOURCE_DIR = require('../../services/resource_dir').RESOURCE_DIR; -import fs = require('fs'); +import fs from "fs"; import { Request, Response } from 'express'; import BNote from "../../becca/entities/bnote.js"; import BRevision from "../../becca/entities/brevision.js"; diff --git a/src/routes/api/import.ts b/src/routes/api/import.ts index 51864738a..ee9f7d7ae 100644 --- a/src/routes/api/import.ts +++ b/src/routes/api/import.ts @@ -5,7 +5,7 @@ import opmlImportService from "../../services/import/opml.js"; import zipImportService from "../../services/import/zip.js"; import singleImportService from "../../services/import/single.js"; import cls from "../../services/cls.js"; -import path = require('path'); +import path from "path"; import becca from "../../becca/becca.js"; import beccaLoader from "../../becca/becca_loader.js"; import log from "../../services/log.js"; diff --git a/src/routes/api/revisions.ts b/src/routes/api/revisions.ts index 0be6d6399..af82b7121 100644 --- a/src/routes/api/revisions.ts +++ b/src/routes/api/revisions.ts @@ -5,7 +5,7 @@ import revisionService from "../../services/revisions.js"; import utils from "../../services/utils.js"; import sql from "../../services/sql.js"; import cls from "../../services/cls.js"; -import path = require('path'); +import path from "path"; import becca from "../../becca/becca.js"; import blobService from "../../services/blob.js"; import eraseService from "../../services/erase.js"; diff --git a/src/routes/api/sender.ts b/src/routes/api/sender.ts index a20526498..96cd1fcb4 100644 --- a/src/routes/api/sender.ts +++ b/src/routes/api/sender.ts @@ -1,6 +1,6 @@ "use strict"; -import imageType = require('image-type'); +import imageType from "image-type"; import imageService from "../../services/image.js"; import noteService from "../../services/notes.js"; import sanitize_attribute_name from "../../services/sanitize_attribute_name.js"; diff --git a/src/routes/assets.ts b/src/routes/assets.ts index c84c7e31d..2bf03bf6d 100644 --- a/src/routes/assets.ts +++ b/src/routes/assets.ts @@ -1,8 +1,8 @@ import assetPath from "../services/asset_path.js"; -import path = require('path'); -import express = require('express'); +import path from "path"; +import express from "express"; import env from "../services/env.js"; -import serveStatic = require('serve-static'); +import serveStatic from "serve-static"; const persistentCacheStatic = (root: string, options?: serveStatic.ServeStaticOptions>>) => { if (!env.isDev()) { diff --git a/src/routes/routes.ts b/src/routes/routes.ts index 5e78de447..b71746b48 100644 --- a/src/routes/routes.ts +++ b/src/routes/routes.ts @@ -1,17 +1,17 @@ "use strict"; import utils from "../services/utils.js"; -import multer = require('multer'); +import multer from "multer"; import log from "../services/log.js"; -import express = require('express'); +import express from "express"; const router = express.Router(); import auth from "../services/auth.js"; import cls from "../services/cls.js"; import sql from "../services/sql.js"; import entityChangesService from "../services/entity_changes.js"; -import csurf = require('csurf'); +import csurf from "csurf"; import { createPartialContentHandler } from "express-partial-content"; -import rateLimit = require('express-rate-limit'); +import rateLimit from "express-rate-limit"; import AbstractBeccaEntity from "../becca/entities/abstract_becca_entity.js"; import NotFoundError from "../errors/not_found_error.js"; import ValidationError from "../errors/validation_error.js"; diff --git a/src/routes/session_parser.ts b/src/routes/session_parser.ts index 58d26e642..88ae80b9d 100644 --- a/src/routes/session_parser.ts +++ b/src/routes/session_parser.ts @@ -1,4 +1,4 @@ -import session = require('express-session'); +import session from "express-session"; import sessionSecret from "../services/session_secret.js"; import dataDir from "../services/data_dir.js"; const FileStore = require('session-file-store')(session); diff --git a/src/services/anonymization.ts b/src/services/anonymization.ts index 8a0a8828f..e3b0b1d7b 100644 --- a/src/services/anonymization.ts +++ b/src/services/anonymization.ts @@ -1,10 +1,10 @@ import BUILTIN_ATTRIBUTES from "./builtin_attributes.js"; -import fs = require('fs-extra'); +import fs from "fs-extra"; import dataDir from "./data_dir.js"; import dateUtils from "./date_utils.js"; -import Database = require('better-sqlite3'); +import Database from "better-sqlite3"; import sql from "./sql.js"; -import path = require('path'); +import path from "path"; function getFullAnonymizationScript() { // we want to delete all non-builtin attributes because they can contain sensitive names and values diff --git a/src/services/app_icon.ts b/src/services/app_icon.ts index 02a0769d2..0d2556f94 100644 --- a/src/services/app_icon.ts +++ b/src/services/app_icon.ts @@ -1,10 +1,10 @@ "use strict"; -import path = require('path'); +import path from "path"; import resourceDir from "./resource_dir.js"; import log from "./log.js"; -import os = require('os'); -import fs = require('fs'); +import os from "os"; +import fs from "fs"; import config from "./config.js"; import utils from "./utils.js"; diff --git a/src/services/backend_script_api.ts b/src/services/backend_script_api.ts index 80f114810..757a4c826 100644 --- a/src/services/backend_script_api.ts +++ b/src/services/backend_script_api.ts @@ -6,9 +6,9 @@ import attributeService from "./attributes.js"; import dateNoteService from "./date_notes.js"; import treeService from "./tree.js"; import config from "./config.js"; -import axios = require('axios'); -import dayjs = require('dayjs'); -import xml2js = require('xml2js'); +import axios from "axios"; +import dayjs from "dayjs"; +import xml2js from "xml2js"; import cloningService from "./cloning.js"; import appInfo from "./app_info.js"; import searchService from "./search/services/search.js"; diff --git a/src/services/backup.ts b/src/services/backup.ts index a855fc71f..b56f54c34 100644 --- a/src/services/backup.ts +++ b/src/services/backup.ts @@ -2,13 +2,13 @@ import dateUtils from "./date_utils.js"; import optionService from "./options.js"; -import fs = require('fs-extra'); +import fs from "fs-extra"; import dataDir from "./data_dir.js"; import log from "./log.js"; import syncMutexService from "./sync_mutex.js"; import cls from "./cls.js"; import sql from "./sql.js"; -import path = require('path'); +import path from "path"; type BackupType = ("daily" | "weekly" | "monthly"); diff --git a/src/services/cls.ts b/src/services/cls.ts index d119c8a93..83365b7e5 100644 --- a/src/services/cls.ts +++ b/src/services/cls.ts @@ -1,4 +1,4 @@ -import clsHooked = require('cls-hooked'); +import clsHooked from "cls-hooked"; import { EntityChange } from './entity_changes_interface'; const namespace = clsHooked.createNamespace("trilium"); diff --git a/src/services/config.ts b/src/services/config.ts index 7936147db..10bead0f1 100644 --- a/src/services/config.ts +++ b/src/services/config.ts @@ -1,9 +1,9 @@ "use strict"; -import ini = require('ini'); -import fs = require('fs'); +import ini from "ini"; +import fs from "fs"; import dataDir from "./data_dir.js"; -import path = require('path'); +import path from "path"; import resourceDir from "./resource_dir.js"; const configSampleFilePath = path.resolve(resourceDir.RESOURCE_DIR, "config-sample.ini"); diff --git a/src/services/data_dir.ts b/src/services/data_dir.ts index 1b267850a..b9a4ab8ef 100644 --- a/src/services/data_dir.ts +++ b/src/services/data_dir.ts @@ -8,9 +8,9 @@ * - as a fallback if the previous step fails, we'll use home dir */ -import os = require('os'); -import fs = require('fs'); -import path = require('path'); +import os from "os"; +import fs from "fs"; +import path from "path"; function getAppDataDir() { let appDataDir = os.homedir(); // fallback if OS is not recognized diff --git a/src/services/date_utils.ts b/src/services/date_utils.ts index b22cb2d88..b2e57852a 100644 --- a/src/services/date_utils.ts +++ b/src/services/date_utils.ts @@ -1,4 +1,4 @@ -import dayjs = require('dayjs'); +import dayjs from "dayjs"; import cls from "./cls.js"; const LOCAL_DATETIME_FORMAT = 'YYYY-MM-DD HH:mm:ss.SSSZZ'; diff --git a/src/services/encryption/data_encryption.ts b/src/services/encryption/data_encryption.ts index ce874c119..978dcd440 100644 --- a/src/services/encryption/data_encryption.ts +++ b/src/services/encryption/data_encryption.ts @@ -1,6 +1,6 @@ "use strict"; -import crypto = require('crypto'); +import crypto from "crypto"; import log from "../log.js"; function arraysIdentical(a: any[] | Buffer, b: any[] | Buffer) { diff --git a/src/services/encryption/my_scrypt.ts b/src/services/encryption/my_scrypt.ts index f8a07a930..0310a1b1f 100644 --- a/src/services/encryption/my_scrypt.ts +++ b/src/services/encryption/my_scrypt.ts @@ -1,7 +1,7 @@ "use strict"; import optionService from "../options.js"; -import crypto = require('crypto'); +import crypto from "crypto"; function getVerificationHash(password: crypto.BinaryLike) { const salt = optionService.getOption('passwordVerificationSalt'); diff --git a/src/services/etapi_tokens.ts b/src/services/etapi_tokens.ts index f314a7e8e..6d1c810ae 100644 --- a/src/services/etapi_tokens.ts +++ b/src/services/etapi_tokens.ts @@ -1,7 +1,7 @@ import becca from "../becca/becca.js"; import utils from "./utils.js"; import BEtapiToken from "../becca/entities/betapi_token.js"; -import crypto = require('crypto'); +import crypto from "crypto"; function getTokens() { return becca.getEtapiTokens(); diff --git a/src/services/export/md.ts b/src/services/export/md.ts index 3e6754c1c..c13824b09 100644 --- a/src/services/export/md.ts +++ b/src/services/export/md.ts @@ -1,7 +1,7 @@ "use strict"; -import TurndownService = require('turndown'); -import turndownPluginGfm = require('joplin-turndown-plugin-gfm'); +import TurndownService from "turndown"; +import turndownPluginGfm from "joplin-turndown-plugin-gfm"; let instance: TurndownService | null = null; diff --git a/src/services/export/single.ts b/src/services/export/single.ts index 50ff47ca8..c1d52cdf7 100644 --- a/src/services/export/single.ts +++ b/src/services/export/single.ts @@ -1,7 +1,7 @@ "use strict"; -import mimeTypes = require('mime-types'); -import html = require('html'); +import mimeTypes from "mime-types"; +import html from "html"; import utils from "../utils.js"; import mdService from "./md.js"; import becca from "../../becca/becca.js"; diff --git a/src/services/export/zip.ts b/src/services/export/zip.ts index 05123beda..add63e81f 100644 --- a/src/services/export/zip.ts +++ b/src/services/export/zip.ts @@ -1,18 +1,18 @@ "use strict"; -import html = require('html'); +import html from "html"; import dateUtils from "../date_utils.js"; -import path = require('path'); -import mimeTypes = require('mime-types'); +import path from "path"; +import mimeTypes from "mime-types"; import mdService from "./md.js"; import packageInfo from "../../../package.json.js"; import utils from "../utils.js"; import protectedSessionService from "../protected_session.js"; -import sanitize = require('sanitize-filename'); -import fs = require('fs'); +import sanitize from "sanitize-filename"; +import fs from "fs"; import becca from "../../becca/becca.js"; const RESOURCE_DIR = require('../../services/resource_dir').RESOURCE_DIR; -import archiver = require('archiver'); +import archiver from "archiver"; import log from "../log.js"; import TaskContext from "../task_context.js"; import ValidationError from "../../errors/validation_error.js"; diff --git a/src/services/html_sanitizer.ts b/src/services/html_sanitizer.ts index 8e82edd3c..3fec30fb8 100644 --- a/src/services/html_sanitizer.ts +++ b/src/services/html_sanitizer.ts @@ -1,5 +1,5 @@ -import sanitizeHtml = require('sanitize-html'); -import sanitizeUrl = require('@braintree/sanitize-url'); +import sanitizeHtml from "sanitize-html"; +import sanitizeUrl from "@braintree/sanitize-url"; // intended mainly as protection against XSS via import // secondarily, it (partly) protects against "CSS takeover" diff --git a/src/services/image.ts b/src/services/image.ts index 7223d0af0..2cd6734ec 100644 --- a/src/services/image.ts +++ b/src/services/image.ts @@ -6,11 +6,11 @@ import protectedSessionService from "./protected_session.js"; import noteService from "./notes.js"; import optionService from "./options.js"; import sql from "./sql.js"; -import jimp = require('jimp'); -import imageType = require('image-type'); -import sanitizeFilename = require('sanitize-filename'); -import isSvg = require('is-svg'); -import isAnimated = require('is-animated'); +import jimp from "jimp"; +import imageType from "image-type"; +import sanitizeFilename from "sanitize-filename"; +import isSvg from "is-svg"; +import isAnimated from "is-animated"; import htmlSanitizer from "./html_sanitizer.js"; async function processImage(uploadBuffer: Buffer, originalName: string, shrinkImageSwitch: boolean) { diff --git a/src/services/import/enex.ts b/src/services/import/enex.ts index 0c1228aae..c172284ac 100644 --- a/src/services/import/enex.ts +++ b/src/services/import/enex.ts @@ -1,5 +1,5 @@ -import sax = require('sax'); -import stream = require('stream'); +import sax from "sax"; +import stream from "stream"; import { Throttle } from 'stream-throttle'; import log from "../log.js"; import utils from "../utils.js"; diff --git a/src/services/import/markdown.ts b/src/services/import/markdown.ts index 97c540be4..023302915 100644 --- a/src/services/import/markdown.ts +++ b/src/services/import/markdown.ts @@ -1,6 +1,6 @@ "use strict"; -import marked = require('marked'); +import marked from "marked"; import htmlSanitizer from "../html_sanitizer.js"; import importUtils from "./utils.js"; diff --git a/src/services/import/mime.ts b/src/services/import/mime.ts index dd4c96244..e01769381 100644 --- a/src/services/import/mime.ts +++ b/src/services/import/mime.ts @@ -1,7 +1,7 @@ "use strict"; -import mimeTypes = require('mime-types'); -import path = require('path'); +import mimeTypes from "mime-types"; +import path from "path"; import { TaskData } from '../task_context_interface'; const CODE_MIME_TYPES: Record = { diff --git a/src/services/import/opml.ts b/src/services/import/opml.ts index 316290dbf..da126564d 100644 --- a/src/services/import/opml.ts +++ b/src/services/import/opml.ts @@ -1,7 +1,7 @@ "use strict"; import noteService from "../../services/notes.js"; -import xml2js = require('xml2js'); +import xml2js from "xml2js"; import protectedSessionService from "../protected_session.js"; import htmlSanitizer from "../html_sanitizer.js"; import TaskContext from "../task_context.js"; diff --git a/src/services/import/zip.ts b/src/services/import/zip.ts index 0f274271c..39fc61024 100644 --- a/src/services/import/zip.ts +++ b/src/services/import/zip.ts @@ -6,11 +6,11 @@ import log from "../../services/log.js"; import noteService from "../../services/notes.js"; import attributeService from "../../services/attributes.js"; import BBranch from "../../becca/entities/bbranch.js"; -import path = require('path'); +import path from "path"; import protectedSessionService from "../protected_session.js"; import mimeService from "./mime.js"; import treeService from "../tree.js"; -import yauzl = require('yauzl'); +import yauzl from "yauzl"; import htmlSanitizer from "../html_sanitizer.js"; import becca from "../../becca/becca.js"; import BAttachment from "../../becca/entities/battachment.js"; diff --git a/src/services/log.ts b/src/services/log.ts index f352dc175..fbae6668a 100644 --- a/src/services/log.ts +++ b/src/services/log.ts @@ -1,7 +1,7 @@ "use strict"; import { Request, Response } from "express"; -import fs = require('fs'); +import fs from "fs"; import dataDir from "./data_dir.js"; import cls from "./cls.js"; diff --git a/src/services/migration.ts b/src/services/migration.ts index 37948953c..f1912a386 100644 --- a/src/services/migration.ts +++ b/src/services/migration.ts @@ -1,6 +1,6 @@ import backupService from "./backup.js"; import sql from "./sql.js"; -import fs = require('fs-extra'); +import fs from "fs-extra"; import log from "./log.js"; import utils from "./utils.js"; import resourceDir from "./resource_dir.js"; diff --git a/src/services/notes.ts b/src/services/notes.ts index 60de35b42..2997ac7ad 100644 --- a/src/services/notes.ts +++ b/src/services/notes.ts @@ -9,20 +9,20 @@ import log from "../services/log.js"; import utils from "../services/utils.js"; import revisionService from "./revisions.js"; import request from "./request.js"; -import path = require('path'); -import url = require('url'); +import path from "path"; +import url from "url"; import becca from "../becca/becca.js"; import BBranch from "../becca/entities/bbranch.js"; import BNote from "../becca/entities/bnote.js"; import BAttribute from "../becca/entities/battribute.js"; import BAttachment from "../becca/entities/battachment.js"; -import dayjs = require('dayjs'); +import dayjs from "dayjs"; import htmlSanitizer from "./html_sanitizer.js"; import ValidationError from "../errors/validation_error.js"; import noteTypesService from "./note_types.js"; -import fs = require('fs'); +import fs from "fs"; import ws from "./ws.js"; -import html2plaintext = require('html2plaintext'); +import html2plaintext from "html2plaintext"; import { AttachmentRow, AttributeRow, BranchRow, NoteRow, NoteType } from '../becca/entities/rows'; import TaskContext from "./task_context.js"; import { NoteParams } from './note-interface'; diff --git a/src/services/request.ts b/src/services/request.ts index 995ed97bb..a98c82a93 100644 --- a/src/services/request.ts +++ b/src/services/request.ts @@ -2,7 +2,7 @@ import utils from "./utils.js"; import log from "./log.js"; -import url = require('url'); +import url from "url"; import syncOptions from "./sync_options.js"; import { ExecOpts } from './request_interface'; diff --git a/src/services/resource_dir.ts b/src/services/resource_dir.ts index edb805264..8c057174a 100644 --- a/src/services/resource_dir.ts +++ b/src/services/resource_dir.ts @@ -1,6 +1,6 @@ import log from "./log.js"; -import path = require('path'); -import fs = require('fs'); +import path from "path"; +import fs from "fs"; const RESOURCE_DIR = path.resolve(__dirname, "../.."); diff --git a/src/services/search/expressions/note_content_fulltext.ts b/src/services/search/expressions/note_content_fulltext.ts index 3533efdeb..1de51ce70 100644 --- a/src/services/search/expressions/note_content_fulltext.ts +++ b/src/services/search/expressions/note_content_fulltext.ts @@ -8,7 +8,7 @@ import NoteSet from "../note_set.js"; import log from "../../log.js"; import becca from "../../../becca/becca.js"; import protectedSessionService from "../../protected_session.js"; -import striptags = require('striptags'); +import striptags from "striptags"; import utils from "../../utils.js"; import sql from "../../sql.js"; diff --git a/src/services/search/services/parse.ts b/src/services/search/services/parse.ts index 389e018d7..9f94c2e0d 100644 --- a/src/services/search/services/parse.ts +++ b/src/services/search/services/parse.ts @@ -1,6 +1,6 @@ "use strict"; -import dayjs = require('dayjs'); +import dayjs from "dayjs"; import AndExp from "../expressions/and.js"; import OrExp from "../expressions/or.js"; import NotExp from "../expressions/not.js"; diff --git a/src/services/search/services/search.ts b/src/services/search/services/search.ts index 6ce2caa8d..5d703c3b5 100644 --- a/src/services/search/services/search.ts +++ b/src/services/search/services/search.ts @@ -1,6 +1,6 @@ "use strict"; -import normalizeString = require('normalize-strings'); +import normalizeString from "normalize-strings"; import lex from "./lex.js"; import handleParens from "./handle_parens.js"; import parse from "./parse.js"; diff --git a/src/services/session_secret.ts b/src/services/session_secret.ts index 835aac38f..b09538270 100644 --- a/src/services/session_secret.ts +++ b/src/services/session_secret.ts @@ -1,7 +1,7 @@ "use strict"; -import fs = require('fs'); -import crypto = require('crypto'); +import fs from "fs"; +import crypto from "crypto"; import dataDir from "./data_dir.js"; import log from "./log.js"; diff --git a/src/services/sql.ts b/src/services/sql.ts index 84ea52018..b46986442 100644 --- a/src/services/sql.ts +++ b/src/services/sql.ts @@ -8,8 +8,8 @@ import log from "./log.js"; import type { Statement, Database as DatabaseType, RunResult } from "better-sqlite3"; import dataDir from "./data_dir.js"; import cls from "./cls.js"; -import fs = require('fs-extra'); -import Database = require('better-sqlite3'); +import fs from "fs-extra"; +import Database from "better-sqlite3"; const dbConnection: DatabaseType = new Database(dataDir.DOCUMENT_PATH); dbConnection.pragma('journal_mode = WAL'); diff --git a/src/services/sql_init.ts b/src/services/sql_init.ts index ad4777105..a31f7e709 100644 --- a/src/services/sql_init.ts +++ b/src/services/sql_init.ts @@ -1,5 +1,5 @@ import log from "./log.js"; -import fs = require('fs'); +import fs from "fs"; import resourceDir from "./resource_dir.js"; import sql from "./sql.js"; import utils from "./utils.js"; diff --git a/src/services/tray.ts b/src/services/tray.ts index 5939da76d..dc3f04d4b 100644 --- a/src/services/tray.ts +++ b/src/services/tray.ts @@ -1,5 +1,5 @@ import { Menu, Tray } from 'electron'; -import path = require('path'); +import path from "path"; import windowService from "./window.js"; import optionService from "./options.js"; diff --git a/src/services/utils.ts b/src/services/utils.ts index b3d549467..dd2d9cd6a 100644 --- a/src/services/utils.ts +++ b/src/services/utils.ts @@ -1,12 +1,12 @@ "use strict"; -import crypto = require('crypto'); +import crypto from "crypto"; const randtoken = require('rand-token').generator({source: 'crypto'}); -import unescape = require('unescape'); -import escape = require('escape-html'); -import sanitize = require('sanitize-filename'); -import mimeTypes = require('mime-types'); -import path = require('path'); +import unescape from "unescape"; +import escape from "escape-html"; +import sanitize from "sanitize-filename"; +import mimeTypes from "mime-types"; +import path from "path"; function newEntityId() { return randomString(12); diff --git a/src/services/window.ts b/src/services/window.ts index 3a4aece7d..3c5a4c53f 100644 --- a/src/services/window.ts +++ b/src/services/window.ts @@ -1,5 +1,5 @@ -import path = require('path'); -import url = require('url'); +import path from "path"; +import url from "url"; import port from "./port.js"; import optionService from "./options.js"; import env from "./env.js"; @@ -7,7 +7,7 @@ import log from "./log.js"; import sqlInit from "./sql_init.js"; import cls from "./cls.js"; import keyboardActionsService from "./keyboard_actions.js"; -import remoteMain = require('@electron/remote/main') +import remoteMain from "@electron/remote/main" import { App, BrowserWindow, WebContents, ipcMain } from 'electron'; // Prevent the window being garbage collected diff --git a/src/services/ws.ts b/src/services/ws.ts index 5f448e97c..d2f9ff1d3 100644 --- a/src/services/ws.ts +++ b/src/services/ws.ts @@ -1,4 +1,4 @@ -import WebSocket = require('ws'); +import WebSocket from "ws"; import utils from "./utils.js"; import log from "./log.js"; import sql from "./sql.js"; diff --git a/src/share/content_renderer.ts b/src/share/content_renderer.ts index 1d64dcd0c..235008129 100644 --- a/src/share/content_renderer.ts +++ b/src/share/content_renderer.ts @@ -2,7 +2,7 @@ import { JSDOM } from "jsdom"; import shaca from "./shaca/shaca.js"; import assetPath from "../services/asset_path.js"; import shareRoot from "./share_root.js"; -import escapeHtml = require('escape-html'); +import escapeHtml from "escape-html"; import SNote from "./shaca/entities/snote.js"; interface Result { diff --git a/src/share/routes.ts b/src/share/routes.ts index 34af79feb..754db3010 100644 --- a/src/share/routes.ts +++ b/src/share/routes.ts @@ -1,5 +1,5 @@ -import safeCompare = require('safe-compare'); -import ejs = require('ejs'); +import safeCompare from "safe-compare"; +import ejs from "ejs"; import type { Request, Response, Router } from "express"; diff --git a/src/share/shaca/entities/snote.ts b/src/share/shaca/entities/snote.ts index 02eea8636..269744101 100644 --- a/src/share/shaca/entities/snote.ts +++ b/src/share/shaca/entities/snote.ts @@ -3,7 +3,7 @@ import sql from "../../sql.js"; import utils from "../../../services/utils.js"; import AbstractShacaEntity from "./abstract_shaca_entity.js"; -import escape = require('escape-html'); +import escape from "escape-html"; import { Blob } from '../../../services/blob-interface'; import SAttachment from "./sattachment.js"; import SAttribute from "./sattribute.js"; diff --git a/src/share/sql.ts b/src/share/sql.ts index 9990039c2..106d251ba 100644 --- a/src/share/sql.ts +++ b/src/share/sql.ts @@ -1,6 +1,6 @@ "use strict"; -import Database = require('better-sqlite3'); +import Database from "better-sqlite3"; import dataDir from "../services/data_dir.js"; const dbConnection = new Database(dataDir.DOCUMENT_PATH, { readonly: true }); diff --git a/src/types.d.ts b/src/types.d.ts index 9dbab6745..f6bb7ed30 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -19,7 +19,7 @@ declare module 'normalize-strings' { } declare module 'joplin-turndown-plugin-gfm' { - import TurndownService = require('turndown'); + import TurndownService from "turndown"; namespace gfm { function gfm(service: TurndownService): void; } diff --git a/src/www.ts b/src/www.ts index 0e1bae6e9..c1ec2f0f3 100644 --- a/src/www.ts +++ b/src/www.ts @@ -20,9 +20,9 @@ process.on('SIGTERM', exit); import app from "./app.js"; import sessionParser from "./routes/session_parser.js"; -import fs = require('fs'); -import http = require('http'); -import https = require('https'); +import fs from "fs"; +import http from "http"; +import https from "https"; import config from "./services/config.js"; import log from "./services/log.js"; import appInfo from "./services/app_info.js"; @@ -30,7 +30,7 @@ import ws from "./services/ws.js"; import utils from "./services/utils.js"; import port from "./services/port.js"; import host from "./services/host.js"; -import semver = require('semver'); +import semver from "semver"; if (!semver.satisfies(process.version, ">=10.5.0")) { console.error("Trilium only supports node.js 10.5 and later"); diff --git a/webpack.config.ts b/webpack.config.ts index 56146fbd2..1c67bbe84 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -1,4 +1,4 @@ -import path = require('path'); +import path from "path"; import assetPath from "./src/services/asset_path.js"; module.exports = {