Skip to content

Compile Twitter Bootstrap 4 #4

@connorskees

Description

@connorskees

A 1.0 release of grass should be able to compile bootstrap identically to dart-sass. The features currently blocking Bootstrap from even compiling are

  • @extend
  • @keyframes
  • @supports
  • map as value in map
  • strange issue involving color functions and precision (this turned out to be due to a lack of rounding in the output of builtin functions red, green, and blue)
  • short circuiting of and operator
  • short circuiting of or operator
  • control flow inside style inside control flow
  • better handling of @import
  • self referential default function arguments

The places where grass and dart-sass differ in output are

  • attribute quoting is incorrect (e.g. output should be ["foo"] => [foo], but we retain quotes). dart-sass has complex rules for determining whether quotes should be emitted or not
  • newlines after multiline comments are retained for some reason in certain conditions. The newlines should be stripped.
  • extended selectors should be wrapped in Rc<RefCell<Selector>>
  • all sorts of media query features
    • variables are evaluated when inside parens
    • validation
    • we emit too many linebreaks inside @media
    • complex rules for emitting newlines around @media
  • line breaks after comments in selectors are not retained
  • division with / should only occur in special cases

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions