Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": {
Expand Down
34 changes: 34 additions & 0 deletions packages/core/src/SecureInput.test.ts
Original file line number Diff line number Diff line change
@@ -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();
});
});
2 changes: 1 addition & 1 deletion packages/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": {
Expand Down
9 changes: 9 additions & 0 deletions packages/react/src/index.test.ts
Original file line number Diff line number Diff line change
@@ -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");
});
});
2 changes: 1 addition & 1 deletion packages/wasm/src/lib.rs
Original file line number Diff line number Diff line change
@@ -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};
Expand Down
Loading