hastscript is a hyperscript-style helper for creating hast (HTML AST) trees using function calls. It provides `h` for HTML and `s` for SVG, converting simple selectors and children into the hast node structures and normalizing attributes into the form expected by hast.
Project status
- Active maintenance: Evidence suggests some ongoing work (GitHub upstream push on 2026-03-19), but no published updates since 9.0.1 (2025-02-19), so the project looks more quiet than actively releasing as of today (2026-09-10).
- Update cadence: Major updates appear roughly at 8.0.0 (2023-08), 9.0.0 (2024-01), then a follow-up 9.0.1 (2025-02), implying infrequent, roughly year-scale movement rather than continuous iteration.
AI summary generated
Recent updates
9.0.1
Release 9.0.1 is described only as an update to the `property-information` dependency. The actual diff shows additional, broader changes, especially around TypeScript declaration output and the internal JSX runtime/type surface area.
BreakingFeatures9.0.0
hastscript 9.0.0 focuses on changing how the library disambiguates the second argument to `h(tag, ...)` between element properties and child nodes, described as better custom element support. The code changes significantly alter the overload detection heuristics, and the release also updates TypeScript packaging to include declaration maps.
Breaking8.0.0
hastscript 8.0.0 is a major release that updates the TypeScript typing infrastructure and reworks how the JSX runtimes are implemented and exported. It also raises the minimum supported Node.js version to 16 and removes some previously available export entrypoints.
Breaking7.2.0
Release 7.2.0 adds support for the automatic JSX dev runtime by exporting `jsxDEV` from the runtime entry points, alongside documentation and type-definition doc improvements. The code changes also include several contributor-focused updates to build/test tooling and configuration, which are not fully reflected in the short release notes.
Features7.1.0
Release 7.1.0 primarily adds an exported `Result` type and refreshes documentation. The code diff shows mostly type-definition JSDoc adjustments (no clear runtime logic changes), plus some contributor and tooling changes in the build/test setup.
Features7.0.2
hastscript 7.0.2 primarily updates TypeScript typing support so `props` can be `undefined`, and enables stricter TypeScript checking by turning on `strict` in `tsconfig.json`. The code changes also include a few internal refactors (mostly `const`/`let` and TS directive adjustments) plus some packaging and CI/tooling updates not mentioned in the release notes.
7.0.1
v7.0.1 is primarily a TypeScript typing update related to the classic and automatic JSX runtimes. The code diff also includes packaging and entry-point restructuring, including new top-level wrapper modules for html, svg, and jsx-runtime.
7.0.0
Release 7.0.0 introduces ESM support, adds TypeScript type generation based on JSDoc, and enables automatic JSX runtime usage. It also adds support for using `h` and `s` as JSX pragmas, along with separate HTML and SVG JSX runtime entry points.
BreakingFeatures6.0.0
Release 6.0.0 primarily introduces TypeScript support by adding new declaration files for the main `hastscript` entry point and `hastscript/svg`. The runtime JavaScript appears unchanged, but the new typings can affect TypeScript compile-time compatibility.
BreakingFeatures5.1.2
Release 5.1.2 appears to be a small maintenance update with documentation text changes. The code diff also updates npm package metadata (description/keywords) and bumps some development tool dependencies.