diff --git a/.changeset/experimental-auto-flush.md b/.changeset/experimental-auto-flush.md deleted file mode 100644 index f0b3f2d..0000000 --- a/.changeset/experimental-auto-flush.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -'@ciolabs/html-mod': minor ---- - -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`). diff --git a/.changeset/lemon-moons-arrive.md b/.changeset/lemon-moons-arrive.md deleted file mode 100644 index a845151..0000000 --- a/.changeset/lemon-moons-arrive.md +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- diff --git a/.changeset/prettier-eslint-fix.md b/.changeset/prettier-eslint-fix.md deleted file mode 100644 index 2c977a0..0000000 --- a/.changeset/prettier-eslint-fix.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -'@ciolabs/config-prettier': patch ---- - -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. diff --git a/packages/config-prettier/CHANGELOG.md b/packages/config-prettier/CHANGELOG.md index 6b4beef..e501179 100644 --- a/packages/config-prettier/CHANGELOG.md +++ b/packages/config-prettier/CHANGELOG.md @@ -1,5 +1,19 @@ # @ciolabs/config-prettier +## 0.0.2 + +### Patch Changes + +- [#28](https://github.com/customerio/ciolabs/pull/28) [`273de45`](https://github.com/customerio/ciolabs/commit/273de45c3d9e3156464c36d41a771494a35599fb) Thanks [@avigoldman](https://github.com/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. + ## 0.0.1 ### Patch Changes diff --git a/packages/config-prettier/package.json b/packages/config-prettier/package.json index 401a3be..34ab1c6 100644 --- a/packages/config-prettier/package.json +++ b/packages/config-prettier/package.json @@ -1,6 +1,6 @@ { "name": "@ciolabs/config-prettier", - "version": "0.0.1", + "version": "0.0.2", "description": "Shared Prettier configuration for Customer.io projects", "main": "./dist/index.js", "types": "./dist/index.d.ts", diff --git a/packages/html-mod/CHANGELOG.md b/packages/html-mod/CHANGELOG.md index 1152777..494000a 100644 --- a/packages/html-mod/CHANGELOG.md +++ b/packages/html-mod/CHANGELOG.md @@ -1,5 +1,49 @@ # @ciolabs/html-mod +## 0.1.0 + +### Minor Changes + +- [#28](https://github.com/customerio/ciolabs/pull/28) [`3f7b86b`](https://github.com/customerio/ciolabs/commit/3f7b86b55dc567aa75cf39c98e3fd41d17c7f194) Thanks [@avigoldman](https://github.com/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`). + ## 0.0.4 ### Patch Changes diff --git a/packages/html-mod/package.json b/packages/html-mod/package.json index 18d209a..c76552d 100644 --- a/packages/html-mod/package.json +++ b/packages/html-mod/package.json @@ -1,6 +1,6 @@ { "name": "@ciolabs/html-mod", - "version": "0.0.4", + "version": "0.1.0", "description": "Manipulate HTML strings with a Browser-like API", "author": "Customer.io ", "license": "Apache-2.0 WITH Commons-Clause",