This release refines Atomic’s DOM tooling for broader compatibility and better developer experience
Improved
- dx: Loosened type constraints on
$.query
and$.queryAll
in Atomic Utils. These functions now accept anyParentNode
, allowing direct use ondocument
,DocumentFragment
, etc. Without type assertions. - dx: Automatically prepends
:scope
to selectors when appropriate (for example when root is an Element and selector doesn’t already start with:scope
). This improves ergonomics when selecting relative children without needing to manually write scoped queries. - safety: Added internal guards to
$.query
/$.queryAll
to validate selector strings and gracefully handle invalid queries. These guards avoid runtime crashes from malformed selectors or unsupported nodes. - ergonomics: Developers can now reliably write queries like
$.query(document, 'body')
or$.query(root, 'div > img')
without worrying about scoping quirks or environment-specific selector issues.
Fixed
- Edge case in new atomicMinify utility with certain keywords requiring space postfixes that were being stripped. Fixed by adding a sentinel value pre-minification.
- Ensure atomicMinify safely handles non-ascii chars as well (eg CJK)
As always, stay frosty ❄️