PackageTrack

npm · #3644

@acemir/cssom

0.9.31acemir/CSSOM

CSS Object Model implementation and CSS parser

Release timeline

32 releases since 2025
2026

Releases

  1. 0.9.3112 Jan 2026
    Release notes2 sources agree

    Patch Changes

    Open source →
  2. 0.9.3023 Dec 2025
    Release notes2 sources agree

    Patch Changes

    • #85 25f9726 Thanks @acemir! - feat: sync styleSheet.title with ownerNode.title

      • set selectorText, style and media configurable
      • improve docs and test utils
    • #81 4e349c3 Thanks @acemir! - fix: preserve context for sibling nested selectors

    • #84 84ac918 Thanks @acemir! - feat: implement CSSPropertyRule

    • #83 623e136 Thanks @acemir! - feat: improve CSSImportRule implementation

      • set CSSImportRule.styleSheet to unconstructed
      • avoid insert @import rules into a constructed stylesheet
    Open source →
  3. 0.9.2910 Dec 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  4. 0.9.287 Dec 2025
    Release notes2 sources agree

    Patch Changes

    • 3c2b77f Thanks @acemir! - fix: importRule stylesheet assign from globalObject
    Open source →
  5. 0.9.277 Dec 2025
    Release notes2 sources agree

    Patch Changes

    • #72 f27c829 Thanks @acemir! - feat: enhance CSSOM setup method to create instance with globalObject support
    Open source →
  6. 0.9.265 Dec 2025
    Release notes2 sources agree

    Patch Changes

    • #70 e597dfe Thanks @acemir! - fix: improve CSSStyleSheet MediaList and parser
      • CSSStyleSheet replace and replaceSync mutates cssText instead of reasign
      • CSSStyleSheet.removeRule index defaults to 0
      • set MediaList.mediaText to null empties the the list
      • MediaList.toString returns the same as MediaList.mediaText
      • CSSOM.parse initializes styleSheet.media.mediaText with the content of ownerNode media attribute when available
    Open source →
  7. 0.9.254 Dec 2025
    Release notes2 sources agree

    Patch Changes

    • #66 e369d14 Thanks @Naycon! - Fix TypeError when parsing @media after nested selectors inside @layer

      When parsing CSS with nested selectors (&) followed by @media rules inside an @layer block, the parser would crash with "Cannot read properties of null (reading 'constructor')" because nestedSelectorRule.parentRule can be null when the parent context is a CSSLayerBlockRule rather than a CSSStyleRule.

    • #69 52b93c7 Thanks @acemir! - fix: auto-closing statement rules

    • #68 907a0c2 Thanks @acemir! - feat: rules interfaces and parse improvements

      • Expose CSSOM.setup method for globalObject configuration
      • Add StyleSheet missing interface properties
      • Add CSSStyleSheet constructor options and missing interface properties
      • Set cssRules readonly on CSSStylesheet and CSSGroupingRules
      • Fix CSSRule.cssText interface implementation
      • Improve pseudo-class with selectors list validations
      • Imrpove auto-close for all unclosed nested structures
      • Handle CSSLayerStatementRule inside CSSLayerBlockRule and other grouping rules
      • Handle CSSFontFaceRule, CSSKeyframeRule and CSSPageRule nesting edge cases
      • Imrpove code consistency on rules type and prototype assign
    Open source →
  8. 0.9.2422 Nov 2025
    Release notes2 sources agree

    Patch Changes

    • #60 dc858f3 Thanks @acemir! - fix: ending nested rules processing and unclosed sheet edge cases

    • #62 e65434c Thanks @acemir! - fix: serialization with empty nested declarations

    • #63 f334c70 Thanks @acemir! - fix: parser improvements

      • Fix CSSScopeRule allows CSSNestedDeclarations
      • Fix mediaText setter with empty value
      • Improve performance and security on selectors validation
      • Handle escape sequences before processing special characters
    • #59 fccf639 Thanks @Xiphoseer! - feat: implement CSSStyleSheet: replaceSync, replace

    Open source →
  9. 0.9.237 Nov 2025
    Release notes2 sources agree

    Patch Changes

    • #56 555f3cb Thanks @acemir! - fix: prevent adding semicolon to token if it already ends with one
    Open source →
  10. 0.9.227 Nov 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  11. 0.9.217 Nov 2025
    Release notes2 sources agree

    Patch Changes

    • #52 e912362 Thanks @acemir! - feat: support CSSPageRule and implementation improvements
    Open source →
  12. 0.9.205 Nov 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  13. 0.9.1920 Oct 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  14. 0.9.1819 Oct 2025
    Release notes2 sources agree

    Patch Changes

    • #43 374d9a5 Thanks @acemir! - feat: improve parse options
      • add opts to CSSOM.parse
      • improve insertRule and deleteRule edge cases
      • adjust @font-face cannot be nested
      • throw correct error on insertRule invalid index
      • adjust @import canonical text and layer validation
      • adjust selectorText values formatting
    Open source →
  15. 0.9.1718 Oct 2025
    Release notes2 sources agree

    Patch Changes

    • #41 a48b41f Thanks @acemir! - feat: sync common rules interfaces

      • CSSRule parentRule and parentStyleSheet, are now prototype getters to be readonly according to the CSSRule interface.
      • CSSStyleRule selectorText and style are now prototype getter and setter according to the CSSStyleRule interface.
      • Added a try catch to override local CSSStyleDeclaration with the one from cssstyle when needed
      • Implemented methods and indexed getters for CSSKeyframesRule
      • Implementd errorUtils for a more organized way to handle errors
    Open source →
  16. 0.9.1616 Oct 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  17. 0.9.1516 Oct 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  18. 0.9.1416 Oct 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  19. 0.9.1316 Oct 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  20. 0.9.1216 Oct 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  21. 0.9.1116 Oct 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  22. 0.9.1025 Jul 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  23. 0.9.925 Jul 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  24. 0.9.825 Jul 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  25. 0.9.725 Jul 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  26. 0.9.624 Jul 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  27. 0.9.524 Jul 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  28. 0.9.424 Jul 2025
    Release notes2 sources agree

    Patch Changes

    Open source →
  29. 0.9.324 Jul 2025
    Release notes2 sources agree

    Patch Changes

    • d2a81ae Thanks @acemir! - feat: support attribute selector case-insensitive flag
    Open source →
  30. 0.9.224 Jul 2025
    Release notes2 sources agree

    Patch Changes

    • #8 5ea9d4f Thanks @acemir! - feat: parser improvements on selectors, declaration values and error handling
    Open source →
  31. 0.9.115 Jul 2025
    Release notes

    Patch Changes

    • #7 6d14f90 Thanks @acemir! - feat: add layer() and supports() to CSSImportRule

    • #6 a6526ad Thanks @acemir! - feat: support CSSLayerStatementRule, adjust CSSLayerBlockRule and improves at-rule validation

    • #4 46a61ee Thanks @anntseng! - fix: check the priority value of the existing property

    • #3 243e8cd Thanks @DiogoDoreto! - index parameter of CSSStyleSheet.insertRule is now optional

    Open source →
    Release notes

    Patch Changes

    • #7 6d14f90 Thanks @acemir! - feat: add layer() and supports() to @import rule

    • #6 a6526ad Thanks @acemir! - feat: support CSSLayerStatementRule, adjust CSSLayerBlockRule and improves at-rule validation

    • #4 46a61ee Thanks @anntseng! - fix: check the priority value of the existing property

    • #3 243e8cd Thanks @DiogoDoreto! - index parameter of CSSStyleSheet.insertRule is now optional

    Open source →
  32. 0.9.012 Jul 2025
    Release notes2 sources agree

    Changes

    • #2 64e49ef - feat: support for nested selectors, nested declarations and at-rule validations
    Open source →