Skip to content

Conversation

@github-actions
Copy link
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@ciolabs/[email protected]

Minor Changes

  • #28 3f7b86b Thanks @avigoldman! - Add experimental auto-flush implementation that eliminates manual flush() calls

    New Features

    Experimental Auto-Flush Implementation

    • Import path: @ciolabs/html-mod/experimental
    • Automatically synchronizes AST after every modification
    • No manual flush() calls required
    • Element references stay valid across modifications
    • 2.16x faster for modify+query patterns (most common in visual editors)

    Dataset API (Both Versions)

    • Added dataset property to HtmlModElement
    • Full Proxy-based implementation with camelCase ↔ kebab-case conversion
    • Compatible with standard DOM DOMStringMap interface
    • Supports all dataset operations: get, set, delete, enumerate

    Performance

    Benchmarks (vs stable version):

    • Parse + setAttribute: 1.19x faster
    • Modify + query pattern: 2.16x faster
    • Real-world templates: 1.29x faster
    • Batched modifications: 3.07x slower (rare pattern)

    Documentation

    • See EXPERIMENTAL.md for complete feature comparison
    • Migration guide included for switching from stable to experimental
    • Comprehensive deployment recommendations

    Testing

    • 624 tests passing (vs 196 in stable)
    • Includes adversarial testing, stress testing, and real-world scenarios
    • Zero drift over 10,000+ consecutive operations
    • Handles malformed HTML gracefully

    Breaking Changes

    None - fully backward compatible. The experimental version is available at a separate import path (/experimental).

@ciolabs/[email protected]

Patch Changes

  • #28 273de45 Thanks @avigoldman! - Remove Prettier import sorting plugin to resolve conflict with ESLint import/order rule

    Changes

    • Removed @trivago/prettier-plugin-sort-imports plugin
    • Removed importOrder and importOrderSeparation configuration
    • ESLint's import/order rule now handles all import organization
    • Fixes conflict where Prettier and ESLint were fighting over import formatting

    This allows both tools to work together harmoniously without conflicting changes.

@avigoldman avigoldman merged commit e80d317 into main Dec 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants