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
- Actively maintained: Upstream shows a recent push (2026-03-19), suggesting ongoing development, but the most recent published update in the provided history is 9.0.1 (2025-02-19), so published update cadence since then is unclear.
- Update cadence: Historically, updates are clustered around major type system changes (not frequent), with a long gap between 9.0.1 (2025-02-19) and the next evidence point being the 2026-03-19 upstream push.
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.