From 745b5b7a18727e0c2b18271a08a43b480655a230 Mon Sep 17 00:00:00 2001 From: xSuneth <44576805+xSuneth@users.noreply.github.com> Date: Mon, 9 Mar 2026 01:06:40 +0530 Subject: [PATCH] fix: stabilize tests and clean build warnings --- package.json | 2 +- packages/core/package.json | 2 +- packages/core/src/SecureInput.test.ts | 34 +++++++++++++++++++++++++++ packages/react/package.json | 2 +- packages/react/src/index.test.ts | 9 +++++++ packages/wasm/src/lib.rs | 2 +- 6 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 packages/core/src/SecureInput.test.ts create mode 100644 packages/react/src/index.test.ts diff --git a/package.json b/package.json index 4b1cd10..6c16db5 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "description": "WASM-powered input obfuscation library for preventing client-side scraping", "scripts": { - "build": "pnpm -r --filter \"./packages/*\" --filter \"!./packages/examples\" build", + "build": "pnpm -r --filter @secure-input/wasm --filter @secure-input/core --filter @secure-input/react build", "build:wasm": "pnpm --filter @secure-input/wasm build", "build:core": "pnpm --filter @secure-input/core build", "build:react": "pnpm --filter @secure-input/react build", diff --git a/packages/core/package.json b/packages/core/package.json index eb1a962..81a48e7 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -34,7 +34,7 @@ "scripts": { "build": "vite build && tsc --project tsconfig.build.json", "dev": "vite build --watch", - "test": "vitest", + "test": "vitest --run", "clean": "rm -rf dist" }, "dependencies": { diff --git a/packages/core/src/SecureInput.test.ts b/packages/core/src/SecureInput.test.ts new file mode 100644 index 0000000..91aa6e0 --- /dev/null +++ b/packages/core/src/SecureInput.test.ts @@ -0,0 +1,34 @@ +import { describe, expect, it, vi } from "vitest"; + +const { MockCryptoWorker } = vi.hoisted(() => { + class MockCryptoWorker { + addEventListener(): void { + // no-op for constructor wiring + } + + postMessage(): void { + // no-op for smoke test + } + + terminate(): void { + // no-op for destroy smoke test + } + } + + return { MockCryptoWorker }; +}); + +vi.mock("./worker/crypto.worker?worker&inline", () => ({ + default: MockCryptoWorker, +})); + +import { SecureInput } from "./SecureInput"; + +describe("SecureInput", () => { + it("creates and destroys without throwing", () => { + const instance = new SecureInput(); + + expect(instance).toBeInstanceOf(SecureInput); + expect(() => instance.destroy()).not.toThrow(); + }); +}); diff --git a/packages/react/package.json b/packages/react/package.json index dc2443e..5bb84af 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -34,7 +34,7 @@ "scripts": { "build": "vite build && tsc --project tsconfig.build.json", "dev": "vite build --watch", - "test": "vitest", + "test": "vitest --run", "clean": "rm -rf dist" }, "dependencies": { diff --git a/packages/react/src/index.test.ts b/packages/react/src/index.test.ts new file mode 100644 index 0000000..e75af45 --- /dev/null +++ b/packages/react/src/index.test.ts @@ -0,0 +1,9 @@ +import { describe, expect, it } from "vitest"; +import * as reactExports from "./index"; + +describe("react package exports", () => { + it("exposes SecureInput component and useSecureInput hook", () => { + expect(typeof reactExports.SecureInput).toBe("function"); + expect(typeof reactExports.useSecureInput).toBe("function"); + }); +}); diff --git a/packages/wasm/src/lib.rs b/packages/wasm/src/lib.rs index 01b71bc..0735c14 100644 --- a/packages/wasm/src/lib.rs +++ b/packages/wasm/src/lib.rs @@ -1,6 +1,6 @@ use chacha20poly1305::{ aead::{Aead, KeyInit}, - ChaCha20Poly1305, Nonce, Key, + ChaCha20Poly1305, Nonce, }; use wasm_bindgen::prelude::*; use base64::{Engine as _, engine::general_purpose};