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
12 changes: 11 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.1.0-alpha.4] - 2026-02-26

### Added
- Automated fallback to source build for Windows (`win32`) via `postinstall` script
- Added `Cargo.toml`, `Cargo.lock`, `build.rs`, and `src/` to published npm files to support building from source

### Changed
- Documentation: Updated README to clarify Windows installation limitations and roadmap

## [0.1.0-alpha.3] - 2026-02-09

### Fixed
Expand Down Expand Up @@ -107,7 +116,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Security policy and code of conduct
- GitHub issue templates for bug reports and feature requests

[Unreleased]: https://github.com/dmytroPolhul/eventum/compare/v0.1.0-alpha.2...HEAD
[Unreleased]: https://github.com/dmytroPolhul/eventum/compare/v0.1.0-alpha.4...HEAD
[0.1.0-alpha.4]: https://github.com/dmytroPolhul/eventum/compare/v0.1.0-alpha.3...v0.1.0-alpha.4
[0.1.0-alpha.3]: https://github.com/dmytroPolhul/eventum/compare/v0.1.0-alpha.2...v0.1.0-alpha.3
[0.1.0-alpha.2]: https://github.com/dmytroPolhul/eventum/compare/v0.1.0-alpha.1...v0.1.0-alpha.2
[0.1.0-alpha.1]: https://github.com/dmytroPolhul/eventum/compare/v0.1.0-alpha.0...v0.1.0-alpha.1
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "eventum"
version = "0.1.0-alpha.3"
version = "0.1.0-alpha.4"
edition = "2021"

build = "build.rs"
Expand Down
21 changes: 20 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,24 @@ yarn add eventum

---

## Windows support

Prebuilt binaries for Windows are temporarily unavailable due to npm publishing restrictions.

Windows users can build from source using:

- Rust (stable toolchain)
- Node.js >= 18
- Visual Studio Build Tools

Run:

```bash
npm install
```

---

## Quick Start

```ts
Expand Down Expand Up @@ -302,7 +320,7 @@ MIT
## Roadmap

- [ ] Async file writing support (currently uses synchronous I/O)
- [x] Prebuilt binaries for common platforms (npm, arm64, x64)
- [x] Prebuilt binaries for common platforms (npm, arm64, x64) — *Windows temporarily requires manual build*
- [ ] External transport targets (HTTP, sockets, Kafka, etc.)
- [ ] WebAssembly support
- [ ] File compression on rotation
Expand All @@ -311,6 +329,7 @@ MIT

## Known Limitations (Alpha)

- **Windows support**: Prebuilt binaries are temporarily unavailable due to npm restrictions. Windows users must build from source.
- **File I/O is synchronous**: File writes may block the event loop on slow disks. Use batching to mitigate.
- **Log loss on crash**: Buffered logs are lost if process crashes without calling `shutdown()`.
- **Single config warning**: Logger only warns once if used before `setConfig()`, then silently discards logs.
Expand Down
34 changes: 9 additions & 25 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 16 additions & 23 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,19 @@
{
"name": "eventum",
"version": "0.1.0-alpha.3",
"version": "0.1.0-alpha.4",
"private": false,
"description": "Ultra-fast, low-overhead logger for Node.js powered by Rust and napi-rs",
"homepage": "https://github.com/dmytroPolhul/eventum#readme",
"engines": {
"node": ">=18.0.0"
},
"os": [
"darwin",
"linux",
"win32"
],
"cpu": [
"x64",
"arm64"
],
"optionalDependencies": {
"eventum-darwin-arm64": "0.1.0-alpha.3",
"eventum-darwin-x64": "0.1.0-alpha.3",
"eventum-linux-arm64-gnu": "0.1.0-alpha.3",
"eventum-linux-arm64-musl": "0.1.0-alpha.3",
"eventum-linux-x64-gnu": "0.1.0-alpha.3",
"eventum-linux-x64-musl": "0.1.0-alpha.3",
"eventum-win32-arm64": "0.1.0-alpha.3",
"eventum-win32-x64": "0.1.0-alpha.3"
"eventum-darwin-arm64": "0.1.0-alpha.4",
"eventum-darwin-x64": "0.1.0-alpha.4",
"eventum-linux-arm64-gnu": "0.1.0-alpha.4",
"eventum-linux-arm64-musl": "0.1.0-alpha.4",
"eventum-linux-x64-gnu": "0.1.0-alpha.4",
"eventum-linux-x64-musl": "0.1.0-alpha.4"
},
"bugs": {
"url": "https://github.com/dmytroPolhul/eventum/issues"
Expand All @@ -51,7 +40,8 @@
"test:coverage": "vitest run --coverage",
"build": "napi build --release",
"prepublishOnly": "npm run build",
"bench": "node benchmarks/compare-targets-bench.js"
"bench": "node benchmarks/compare-targets-bench.js",
"postinstall": "node scripts/postinstall.cjs"
},
"napi": {
"name": "eventum",
Expand All @@ -65,8 +55,6 @@
"aarch64-unknown-linux-gnu",
"x86_64-unknown-linux-musl",
"aarch64-unknown-linux-musl",
"x86_64-pc-windows-msvc",
"aarch64-pc-windows-msvc",
"x86_64-apple-darwin",
"aarch64-apple-darwin"
]
Expand All @@ -78,7 +66,12 @@
"index.d.ts",
"README.md",
"LICENSE",
"examples/images/"
"scripts/",
"examples/images/",
"Cargo.toml",
"Cargo.lock",
"build.rs",
"src"
],
"keywords": [
"logger",
Expand All @@ -102,4 +95,4 @@
"node-addon-api": "^8.3.1",
"vitest": "^4.0.17"
}
}
}
7 changes: 7 additions & 0 deletions scripts/postinstall.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const { platform } = require('os')
const { execSync } = require('child_process')

if (platform() === 'win32') {
console.log('[eventum] Building native module from source for Windows...')
execSync('npx --yes @napi-rs/cli build --release', { stdio: 'inherit' })
}