
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
An easy-to-use, fast, and defensive Typescript/Javascript test runner designed to help you to write simple, readable, and maintainable tests.
Kizu is a screamingly fast, minimalist test runner for TypeScript and JavaScript. It has a small, easy-to-learn API that lets you focus on your tests, not your tooling.
Designed to help you write simple, readable, and maintainable tests that do not slow you down.
assert.equal() assertion method handles primitives, deep objects, arrays, Maps, Sets, and even RegExp pattern matching. Uses strict equality and comparison by value. Helps keep your tests simple and readable.tsconfig.json and uses tsx for TypeScript compilation.For more examples, see the examples and src folders.
# Run all tests in the src directory and its subdirectories, and only show failures in the output.
npx kizu 'src/**/*.test.ts' --fail-only
# Run a specific test file and show all output
npx kizu 'src/example.test.ts'
// example.test.ts
import {test} from 'kizu';
// Basic test
function greet(name: string): string {
return `hello, ${name}`;
}
test('greet', (assert) => {
assert.equal(greet('world'), 'hello, world');
});
// Deep object comparison
test('user object', (assert) => {
const actual = {
name: 'John',
age: 30,
email: 'john@example.com',
hobbies: ['reading', 'coding', 'hiking'],
preferences: {
theme: 'dark',
notifications: true
}
};
const expected = {
name: /^[A-Za-z]+$/,
age: /^\d+$/,
email: /^[^@]+@[^@]+\.[^@]+$/,
hobbies: ['reading', 'coding', 'hiking'],
preferences: {
theme: 'dark',
notifications: true
}
};
assert.equal(actual, expected); // Complex & deep strict object comparison by value, type-safe, and with regular expressions!
});
// Error handling
function throwError(): never {
throw new Error('oops');
}
test('throwError', (assert) => {
assert.throws(() => throwError(), /oops/);
});
// Async test
async function fetchData(): Promise<string> {
return Promise.resolve('data');
}
test('fetchData', async (assert) => {
const data = await fetchData();
assert.equal(data, 'data');
});
// React component testing
import React, { useState } from 'react';
import { render, screen, fireEvent, cleanup } from '@testing-library/react';
function Counter({ initialValue = 0 }) {
const [count, setCount] = useState(initialValue);
return (
<div>
<span>Count: {count}</span>
<button onClick={() => setCount(count + 1)}>+</button>
</div>
);
}
test('Counter component', (assert) => {
render(<Counter initialValue={5} />);
assert.equal(screen.getByText('Count: 5').textContent, 'Count: 5');
fireEvent.click(screen.getByText('+'));
assert.equal(screen.getByText('Count: 6').textContent, 'Count: 6');
cleanup();
});
To install and get started with kizu, see our Getting Started guide.
See the examples and src folders for more examples.
main and request review. Make sure all tests pass and coverage is good.Aeroview is a lightning-fast, developer-friendly, AI-powered logging IDE. Get started for free at https://aeroview.io.
Want to sponsor this project? Reach out.
FAQs
An easy-to-use, fast, and defensive Typescript/Javascript test runner designed to help you to write simple, readable, and maintainable tests.
We found that kizu demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.