Skip to content

Releases: customerio/ciolabs

@ciolabs/framecast@0.2.0

30 Mar 14:36
32dc100

Choose a tag to compare

Minor Changes

  • #46 aabf68d Thanks @avigoldman! - Add queueMessages option to waitForReady() and public clearQueue() method. When queueMessages: true, broadcast() calls are automatically queued until the handshake completes, then flushed. On timeout, queued messages are discarded.

@ciolabs/framecast@0.1.0

30 Mar 13:30
c375ae9

Choose a tag to compare

Minor Changes

  • #44 9d76ad4 Thanks @avigoldman! - Add signalReady() and waitForReady() methods for built-in iframe ready handshake support. This removes the need for consumers to build their own ready handshake pattern when using srcdoc iframes.

@ciolabs/html-mod@1.0.1

22 Feb 15:35
391d4d4

Choose a tag to compare

Patch Changes

  • #41 c19865b Thanks @avigoldman! - Update README to reflect that the auto-flush implementation is now the default. Remove outdated flush() and isFlushed() docs, add element reference stability examples, and add migration notes for users upgrading from older versions.

@ciolabs/html-process-conditional-comments@0.0.4

19 Feb 20:52
eb1969f

Choose a tag to compare

Patch Changes

  • #39 f240699 Thanks @avigoldman! - Bundle ranges-apply into CJS dist

    ranges-apply and its dependencies (ranges-merge, tiny-invariant) are ESM-only packages. Without bundling them, CJS consumers (like server-procedures in parcel) can't require() the ciolabs packages. Added noExternal to tsup configs to inline these deps into the dist output.

@ciolabs/html-process-conditional-comments@0.0.3

19 Feb 18:16
fb0a43a

Choose a tag to compare

Patch Changes

  • #37 246e876 Thanks @avigoldman! - Fix formatting parity with parcel-standalone's email-pretty

    Replaced MagicString with ranges-apply in both html-preserve-comment-whitespace and html-email-formatter to match the string manipulation approach used by parcel-standalone. ranges-apply collects all edits as range tuples and applies them atomically, correctly handling overlapping and adjacent whitespace regions between nearby HTML comments. MagicString could produce unexpected results in these cases.

    Pinned js-beautify to ~1.13.4 to match the version used by parcel-standalone. The newer js-beautify@1.15.x changed how inline content with HTML comments is formatted, which caused whitespace around conditional comments to be collapsed instead of preserved.

    Formatting differences

    Whitespace around conditional comments is now preserved:

    Before (with js-beautify@1.15.x + MagicString):

    <!-- Input -->
    <div><!--[if MAC]> hello <![endif]--></div>
    
    <!-- Output — whitespace collapsed -->
    <div><!--[if MAC]> hello <![endif]--></div>

    After (with js-beautify@1.13.x + ranges-apply):

    <!-- Input -->
    <div><!--[if MAC]> hello <![endif]--></div>
    
    <!-- Output — whitespace preserved -->
    <div><!--[if MAC]> hello <![endif]--></div>

    Multi-line conditional comments and complex documents are unaffected — the alignment and indentation behavior remains the same:

    <!-- Input -->
    <html style="">
      <body class="">
        <!--[if mso]><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="background-color: rgb(255, 255, 255);"><![endif]-->
        <!--[if mso]></td></tr></table><![endif]-->
      </body>
    </html>
    
    <!-- Output (same before and after) -->
    <html style="">
      <body class="">
        <!--[if mso]><table cellpadding="0" cellspacing="0" border="0" width="100%">
          <tr>
        <td style="background-color: rgb(255, 255, 255);"><![endif]-->
    
        <!--[if mso]></td>
          </tr>
        </table><![endif]-->
      </body>
    </html>

@ciolabs/html-preserve-comment-whitespace@0.0.3

19 Feb 20:52
eb1969f

Choose a tag to compare

Patch Changes

  • #39 f240699 Thanks @avigoldman! - Bundle ranges-apply into CJS dist

    ranges-apply and its dependencies (ranges-merge, tiny-invariant) are ESM-only packages. Without bundling them, CJS consumers (like server-procedures in parcel) can't require() the ciolabs packages. Added noExternal to tsup configs to inline these deps into the dist output.

@ciolabs/html-preserve-comment-whitespace@0.0.2

19 Feb 18:16
fb0a43a

Choose a tag to compare

Patch Changes

  • #37 246e876 Thanks @avigoldman! - Fix formatting parity with parcel-standalone's email-pretty

    Replaced MagicString with ranges-apply in both html-preserve-comment-whitespace and html-email-formatter to match the string manipulation approach used by parcel-standalone. ranges-apply collects all edits as range tuples and applies them atomically, correctly handling overlapping and adjacent whitespace regions between nearby HTML comments. MagicString could produce unexpected results in these cases.

    Pinned js-beautify to ~1.13.4 to match the version used by parcel-standalone. The newer js-beautify@1.15.x changed how inline content with HTML comments is formatted, which caused whitespace around conditional comments to be collapsed instead of preserved.

    Formatting differences

    Whitespace around conditional comments is now preserved:

    Before (with js-beautify@1.15.x + MagicString):

    <!-- Input -->
    <div><!--[if MAC]> hello <![endif]--></div>
    
    <!-- Output — whitespace collapsed -->
    <div><!--[if MAC]> hello <![endif]--></div>

    After (with js-beautify@1.13.x + ranges-apply):

    <!-- Input -->
    <div><!--[if MAC]> hello <![endif]--></div>
    
    <!-- Output — whitespace preserved -->
    <div><!--[if MAC]> hello <![endif]--></div>

    Multi-line conditional comments and complex documents are unaffected — the alignment and indentation behavior remains the same:

    <!-- Input -->
    <html style="">
      <body class="">
        <!--[if mso]><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="background-color: rgb(255, 255, 255);"><![endif]-->
        <!--[if mso]></td></tr></table><![endif]-->
      </body>
    </html>
    
    <!-- Output (same before and after) -->
    <html style="">
      <body class="">
        <!--[if mso]><table cellpadding="0" cellspacing="0" border="0" width="100%">
          <tr>
        <td style="background-color: rgb(255, 255, 255);"><![endif]-->
    
        <!--[if mso]></td>
          </tr>
        </table><![endif]-->
      </body>
    </html>

@ciolabs/html-mod@1.0.0

19 Feb 01:26
24c1675

Choose a tag to compare

Major Changes

  • #35 4e6a04a Thanks @avigoldman! - Promote experimental auto-flush implementation to be the default.

    Breaking changes

    • flush() and isFlushed() removed — the AST is always kept in sync automatically
    • __ensureFlushed() removed
    • __flushed property removed
    • generateMap() / generateDecodedMap() removed (source map generation via MagicString)
    • trim(charType) / trimStart(charType) / trimEnd(charType) no longer accept a char type parameter
    • __s (MagicString instance) no longer exists — use __source and __overwrite() instead
    • removeAttribute() now cleans up extra whitespace instead of leaving gaps
    • magic-string is no longer a dependency

    Migration

    If you were importing from @ciolabs/html-mod/experimental, you can now import from @ciolabs/html-mod directly. The ./experimental export still works but is deprecated.

@ciolabs/html-email-formatter@0.0.5

19 Feb 20:52
eb1969f

Choose a tag to compare

Patch Changes

  • #39 f240699 Thanks @avigoldman! - Bundle ranges-apply into CJS dist

    ranges-apply and its dependencies (ranges-merge, tiny-invariant) are ESM-only packages. Without bundling them, CJS consumers (like server-procedures in parcel) can't require() the ciolabs packages. Added noExternal to tsup configs to inline these deps into the dist output.

  • Updated dependencies [f240699]:

    • @ciolabs/html-preserve-comment-whitespace@0.0.3

@ciolabs/html-email-formatter@0.0.4

19 Feb 18:16
fb0a43a

Choose a tag to compare

Patch Changes

  • #37 246e876 Thanks @avigoldman! - Fix formatting parity with parcel-standalone's email-pretty

    Replaced MagicString with ranges-apply in both html-preserve-comment-whitespace and html-email-formatter to match the string manipulation approach used by parcel-standalone. ranges-apply collects all edits as range tuples and applies them atomically, correctly handling overlapping and adjacent whitespace regions between nearby HTML comments. MagicString could produce unexpected results in these cases.

    Pinned js-beautify to ~1.13.4 to match the version used by parcel-standalone. The newer js-beautify@1.15.x changed how inline content with HTML comments is formatted, which caused whitespace around conditional comments to be collapsed instead of preserved.

    Formatting differences

    Whitespace around conditional comments is now preserved:

    Before (with js-beautify@1.15.x + MagicString):

    <!-- Input -->
    <div><!--[if MAC]> hello <![endif]--></div>
    
    <!-- Output — whitespace collapsed -->
    <div><!--[if MAC]> hello <![endif]--></div>

    After (with js-beautify@1.13.x + ranges-apply):

    <!-- Input -->
    <div><!--[if MAC]> hello <![endif]--></div>
    
    <!-- Output — whitespace preserved -->
    <div><!--[if MAC]> hello <![endif]--></div>

    Multi-line conditional comments and complex documents are unaffected — the alignment and indentation behavior remains the same:

    <!-- Input -->
    <html style="">
      <body class="">
        <!--[if mso]><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td style="background-color: rgb(255, 255, 255);"><![endif]-->
        <!--[if mso]></td></tr></table><![endif]-->
      </body>
    </html>
    
    <!-- Output (same before and after) -->
    <html style="">
      <body class="">
        <!--[if mso]><table cellpadding="0" cellspacing="0" border="0" width="100%">
          <tr>
        <td style="background-color: rgb(255, 255, 255);"><![endif]-->
    
        <!--[if mso]></td>
          </tr>
        </table><![endif]-->
      </body>
    </html>
  • Updated dependencies [246e876]:

    • @ciolabs/html-preserve-comment-whitespace@0.0.2