| author | Eric Roberts
<eric@devl.me> 2026-09-09 21:12:31 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2026-09-14 13:37:45 UTC |
| parent | 0f2c33eed2e4b95a0cbd79e35585c14a37fa8099 |
| .oxlintrc.json | +16 | -0 |
| Makefile | +8 | -2 |
| borogove/persistence/IDB.js | +5 | -6 |
| borogove/persistence/MediaStoreCache.js | +2 | -2 |
| npm/package.json | +3 | -2 |
| test/persistence-tests.ts | +2 | -2 |
diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 0000000..8248ac5 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,16 @@ +{ + "env": { + "browser": true, + }, + "rules": { + "eslint/no-undef": "warn" + }, + "overrides": [ + { + "files": ["playwright.config.ts"], + "env": { + "node": true, + } + } + ] +} diff --git a/Makefile b/Makefile index 316505e..dd67f5a 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ all: npm libborogove.batteriesincluded.so .WAIT libborogove.so libborogove.a test: haxe test.hxml -ci: format-check test playwright +ci: format-check lint test playwright mkdir -p .cache haxe testjs.hxml haxe testcpp.hxml @@ -59,7 +59,7 @@ npm/borogove.js: printf "\nexport class borogove_Presence {}\n" >> npm/borogove.d.ts $(RM) npm/*.bak -npm: format-check npm/borogove-browser.js npm/borogove.js borogove/persistence/IDB.js borogove/persistence/MediaStoreCache.js borogove/persistence/sqlite-worker1.mjs +npm: format-check lint npm/borogove-browser.js npm/borogove.js borogove/persistence/IDB.js borogove/persistence/MediaStoreCache.js borogove/persistence/sqlite-worker1.mjs cp borogove/persistence/IDB.js npm cp borogove/persistence/MediaStoreCache.js npm cp borogove/persistence/sqlite-worker1.mjs npm @@ -166,3 +166,9 @@ format: format-check: npx --no-install oxfmt --check '**/*.{ts,js}' --ignore-path .gitignore + +lint: + npx --no-install oxlint + +lint-fix: + npx --no-install oxlint --fix --fix-suggestions diff --git a/borogove/persistence/IDB.js b/borogove/persistence/IDB.js index 4f9f424..cd245a9 100644 --- a/borogove/persistence/IDB.js +++ b/borogove/persistence/IDB.js @@ -15,7 +15,6 @@ import { borogove_Member, borogove_Role, borogove_JID, - borogove_Presence, borogove_Reaction, borogove_ReactionUpdate, borogove_SerializedChat, @@ -185,7 +184,7 @@ export default async (dbname, media, tokenize, stemmer) => { db.createObjectStore("chats", { keyPath: ["account", "chatId"] }); } if (!db.objectStoreNames.contains("members")) { - const members = db.createObjectStore("members", { + db.createObjectStore("members", { keyPath: ["account", "id"], }); } @@ -1280,7 +1279,7 @@ export default async (dbname, media, tokenize, stemmer) => { ), ); if (reactionResult?.value?.append && message.html().trim() == "") { - const reactToMesssage = await this.getMessage( + const reactToMessage = await this.getMessage( account, message.chatId(), reactionResult.value.serverId, @@ -1812,7 +1811,7 @@ export default async (dbname, media, tokenize, stemmer) => { const prekeys = []; const req = store.openCursor(keyRange); - return new Promise((resolve, reject) => { + return new Promise((resolve) => { req.onsuccess = (event) => { const cursor = event.target.result; if (cursor) { @@ -1846,8 +1845,8 @@ export default async (dbname, media, tokenize, stemmer) => { const tx = db.transaction(["keyvaluepairs"], "readwrite"); const store = tx.objectStore("keyvaluepairs"); await Promise.all([ - await promisifyRequest(store.put(sm, "sm:" + account)), - await promisifyRequest(store.put(sortId, "sortId:" + account)), + promisifyRequest(store.put(sm, "sm:" + account)), + promisifyRequest(store.put(sortId, "sortId:" + account)), ]); return true; }, diff --git a/borogove/persistence/MediaStoreCache.js b/borogove/persistence/MediaStoreCache.js index 222119c..04fa770 100644 --- a/borogove/persistence/MediaStoreCache.js +++ b/borogove/persistence/MediaStoreCache.js @@ -32,8 +32,8 @@ export default (cacheName, { routeHashPath } = { routeHashPath: null }) => { new Response( source.pipeThrough( new TransformStream({ - start(controller) {}, - flush(controller) {}, + start() {}, + flush() {}, transform(chunk, controller) { sha256.update(chunk); sha1.update(chunk); diff --git a/npm/package.json b/npm/package.json index de9ff02..9479a79 100644 --- a/npm/package.json +++ b/npm/package.json @@ -30,8 +30,7 @@ "dependencies": { "@xmpp/client": "^0.14.0", "@xmpp/debug": "^0.14.0", - "@xmpp/sasl-scram-sha-1": "^0.14.0", - "oxfmt": "^0.67.0" + "@xmpp/sasl-scram-sha-1": "^0.14.0" }, "peerDependenciesMeta": { "@sqlite.org/sqlite-wasm": { @@ -41,6 +40,8 @@ "devDependencies": { "@playwright/test": "1.60.0", "@sqlite.org/sqlite-wasm": "^3.53.0-build1", + "oxlint": "^1.82.0", + "oxfmt": "^0.67.0", "typescript": "^5.4.5" } } diff --git a/test/persistence-tests.ts b/test/persistence-tests.ts index 83151d2..55d3ab4 100644 --- a/test/persistence-tests.ts +++ b/test/persistence-tests.ts @@ -1170,7 +1170,7 @@ export function sharedPersistenceTests(test: PersistenceTest) { persistence, }) => { const result = await page.evaluate( - async ({ borogove, persistence }) => { + async ({ persistence }) => { await persistence.storeLogin( "alice@example.com", "client1", @@ -1286,7 +1286,7 @@ export function sharedPersistenceTests(test: PersistenceTest) { persistence, }) => { const result = await page.evaluate( - async ({ borogove, persistence }) => { + async ({ persistence }) => { await persistence.storeLogin("alice@example.com", "", "", null); // or updating with SM may not work await persistence.storeStreamManagement( "alice@example.com",