Skip to content

Bolt v2.0.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@sghoweri sghoweri released this 12 Oct 12:29
· 12964 commits to master since this release

Bolt v2 at a Glance:

Features and Improvements

  • Massive Webpack speed improvements (especially on subsequent saves after the initial bootup)

  • Hot module reloading

  • ~10x faster Sass compiles

  • Brand new theming system building off of the best ideas from the 1st iteration, but with much, much better IE 11 support! #827

  • New @bolt/components-critical-css-vars loader that asynchronously loads up fallback CSS created for browsers without support for CSS Variables

  • Very first component-level end-to-end integration tests added for the Brightcove Video player in Chrome and IE 11 — testing being done via NightwatchJS and Sauce Labs

  • Updated the chip component to use new theming system #839

  • Updated the pagination component to use the new theming system #838

  • Updated the Bolt now.sh deployment script to now point everything at the main boltdesignsystem.com domain moving forward. #841

Deprecated

Removed Deprecated Pegakit Sass

  • Removed font-weight mixin
  • Removed font-size mixin
  • Removed font-family mixin
  • Removed palette mixin
  • Removed clearfix mixin
  • Removed button-color mixin
  • Removed respond-to mixin

Updated docs to reflect deprecation notices

Navbar Gradient and Spacing Options Removed

  • Removed gradient and vspacing config options + demo examples from the current Navbar component (already deprecated and config options already removed internally)

Medium Theme Removed

  • Medium theme option removed from the Band and Card components

Bolt Core Updates

  • Add Pattern Lab demos of using custom element version of button
  • Disables default behavior of opening new browser tab when PL starts
  • Add example to PL of external JS binding to and targeting when a shadow DOM encapsulated button gets clicked, including handling when a component ends up getting re-rendered (which could cause event listeners to get disconnected if not properly handled)
  • Clean up Pattern Lab page examples to not show up in PL view all by default
  • Upgrade our custom Sassdoc plugin to internally cache the JSON data exported by Sassdoc and only write this out to the filesystem when the data changes. This fixes the issue we’ve been having with nearly every single Webpack-watched file change resulting in the same JSON data getting outputted, ultimately causing Pattern Lab to recompile a ton more than it needs to
  • Update Pattern Lab’s watch task in Bolt Build Tools to not immediately recompile Pattern Lab as soon as the the filesystem starts to get watched for changes, saving us from an unnecessary PL recompile when the build tools first boot up
  • Globally renames the HyperHTML-based component base custom element Class we ship in Bolt core from BoltComponent to withHyperHTML to more clearly spell out how that component renderer renders out components + match naming convention already in place with our withPreact custom component renderer
  • Moves our low level helper custom element replace-with-children into a new elements folder that ships with Bolt core and removes it from the Bolt button component
  • Updates all of our component custom element classes to consistently export the main Class; necessarily for extending and building off of any custom elements we ship in Bolt
  • Adds proper slot support to our existing Button component as a reference point to iterate on in other custom elements
  • Updates our button component to fully render itself to the Shadow Dom if supported (vs previously only rendering out its slot to the Shadow Dom); ties in with the external JS binding example in Pattern Lab
  • Cleans up, consolidates button component Twig template
  • Fix button component alignment when embedded inside the card footer
  • Cleans up the existing priority nav component styles; updates to use the new theming system
  • Removes any component level Bolt core dependencies not needed or used in every component; necessary for code splitting and optimizations performed by our build tools
  • Moves to the preact-html dependency over to the code snippet component, the only place it’s currently getting used
  • Add experimental LiHTML component renderer being tested out as a possible lighter weight replacement for both Preact and HyperHTML; no components currently utilize but many of the HyperHTML-related changes prep is for this component renderer consolidation
  • Add example to the text component of switching which tag gets rendered in a HyperHTML-based component, in a much more consolidated syntax
  • Update Babel config dependencies, remove plugins no longer required
  • Fixes several Sassdoc warnings getting thrown