Files
wickra/.gitignore
T
kingchenc eb4454ab27 P5: track index.d.ts + reject invalid periods in the Node binding (#83)
* build(node): track the generated index.d.ts (P5.1)

index.js was committed but index.d.ts was gitignored, an inconsistency that
also contradicts CONTRIBUTING ('regenerate both .d.ts/.js when a binding API
changes'). Track index.d.ts too so the repo carries the TypeScript types as a
matched pair with index.js. Generated by napi build; ~214 indicator classes.

* fix(node): reject invalid periods instead of clamping them (P5.4)

The Node scalar-indicator macro clamped period 0 to 1 (via clamp_period + must)
and the multi-parameter constructors did the same, silently swallowing the
core's PeriodZero validation. The core rejects period 0 (Error::PeriodZero),
and the Python and WASM bindings already propagate it — Node was the outlier,
masking caller mistakes. Make the macro constructor fallible and let every
constructor propagate the core error via map_err, removing clamp_period/must.
Update the smoke test (period 0 now throws, matching core/Python/WASM).

* docs(changelog): note the Node period-validation change (P5.4)

Behavior change per CONTRIBUTING: Node constructors now reject invalid periods
instead of clamping. Add an [Unreleased] Changed entry.

* chore: drop accidentally committed scratch log
2026-05-31 05:22:56 +02:00

62 lines
1.1 KiB
Plaintext

# Rust
/target/
**/target/
Cargo.lock.bak
*.pdb
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.pyd
*.egg-info/
.pytest_cache/
.venv/
venv/
.python-version
dist/
build/
wheels/
*.whl
# Editor / OS
.idea/
.vscode/
*.swp
.DS_Store
Thumbs.db
# Maturin
target/wheels/
# Benchmarks
criterion/
# Coverage
*.profraw
lcov.info
tarpaulin-report.html
# Local config that should not be committed
*.local.toml
# Node binding artifacts
**/node_modules/
bindings/node/*.node
bindings/node/npm-debug.log*
# index.js + index.d.ts are generated by `napi build` but committed (a matched
# pair) so consumers and the repo get TypeScript types; CONTRIBUTING requires
# regenerating both when a binding's public API changes.
# package-lock.json is committed for the tracked Node packages — bindings/node/
# and examples/node/ — so contributors get reproducible npm installs. There is
# no top-level npm package, and the ghost-ignored site/ keeps its lockfile local.
# See CONTRIBUTING.md "Lockfile policy" for the full per-component breakdown.
# WASM build output
bindings/wasm/pkg/
# Python venv
.venv/
venv/