Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update npm package sass to v1.79.1 #5197

Merged
merged 1 commit into from
Sep 21, 2024
Merged

Update npm package sass to v1.79.1 #5197

merged 1 commit into from
Sep 21, 2024

Conversation

hash-worker[bot]
Copy link
Contributor

@hash-worker hash-worker bot commented Sep 20, 2024

This PR contains the following updates:

Package Type Update Change Pending
sass devDependencies minor 1.78.0 -> 1.79.1 1.79.3 (+1)

Release Notes

sass/dart-sass (sass)

v1.79.1

Compare Source

  • No user-visible changes.

v1.79.0

Compare Source

  • Breaking change: Passing a number with unit % to the $alpha parameter
    of color.change(), color.adjust(), change-color(), and adjust-color()
    is now interpreted as a percentage, instead of ignoring the unit. For example,
    color.change(red, $alpha: 50%) now returns rgb(255 0 0 / 0.5).

  • Potentially breaking compatibility fix: Sass no longer rounds RGB channels
    to the nearest integer. This means that, for example, rgb(0 0 1) != rgb(0 0 0.6). This matches the latest version of the CSS spec and browser behavior.

  • Potentially breaking compatibility fix: Passing large positive or negative
    values to color.adjust() can now cause a color's channels to go outside that
    color's gamut. In most cases this will currently be clipped by the browser and
    end up showing the same color as before, but once browsers implement gamut
    mapping it may produce a different result.

  • Add support for CSS Color Level 4 color spaces. Each color value now tracks
    its color space along with the values of each channel in that color space.
    There are two general principles to keep in mind when dealing with new color
    spaces:

    1. With the exception of legacy color spaces (rgb, hsl, and hwb), colors
      will always be emitted in the color space they were defined in unless
      they're explicitly converted.

    2. The color.to-space() function is the only way to convert a color to
      another color space. Some built-in functions may do operations in a
      different color space, but they'll always convert back to the original space
      afterwards.

  • rgb colors can now have non-integer channels and channels outside the normal
    gamut of 0-255. These colors are always emitted using the rgb() syntax so
    that modern browsers that are being displayed on wide-gamut devices can
    display the most accurate color possible.

  • Add support for all the new color syntax defined in Color Level 4, including:

    • oklab(), oklch(), lab(), and lch() functions;
    • a top-level hwb() function that matches the space-separated CSS syntax;
    • and a color() function that supports the srgb, srgb-linear,
      display-p3, a98-rgb, prophoto-rgb, rec2020, xyz, xyz-d50, and
      xyz-d65 color spaces.
  • Add new functions for working with color spaces:

    • color.to-space($color, $space) converts $color to the given $space. In
      most cases this conversion is lossless—the color may end up out-of-gamut for
      the destination color space, but browsers will generally display it as best
      they can regardless. However, the hsl and hwb spaces can't represent
      out-of-gamut colors and so will be clamped.

    • color.channel($color, $channel, $space: null) returns the value of the
      given $channel in $color, after converting it to $space if necessary.
      It should be used instead of the old channel-specific functions such as
      color.red() and color.hue().

    • color.same($color1, $color2) returns whether two colors represent the same
      color even across color spaces. It differs from $color1 == $color2 because
      == never consider colors in different (non-legacy) spaces as equal.

    • color.is-in-gamut($color, $space: null) returns whether $color is
      in-gamut for its color space (or $space if it's passed).

    • color.to-gamut($color, $space: null) returns $color constrained to its
      space's gamut (or to $space's gamut, if passed). This is generally not
      recommended since even older browsers will display out-of-gamut colors as
      best they can, but it may be necessary in some cases.

    • color.space($color): Returns the name of $color's color space.

    • color.is-legacy($color): Returns whether $color is in a legacy color
      space (rgb, hsl, or hwb).

    • color.is-powerless($color, $channel, $space: null): Returns whether the
      given $channel of $color is powerless in $space (or its own color
      space). A channel is "powerless" if its value doesn't affect the way the
      color is displayed, such as hue for a color with 0 chroma.

    • color.is-missing($color, $channel): Returns whether $channel's value is
      missing in $color. Missing channels can be explicitly specified using the
      special value none and can appear automatically when color.to-space()
      returns a color with a powerless channel. Missing channels are usually
      treated as 0, except when interpolating between two colors and in
      color.mix() where they're treated as the same value as the other color.

  • Update existing functions to support color spaces:

    • hsl() and color.hwb() no longer forbid out-of-bounds values. Instead,
      they follow the CSS spec by clamping them to within the allowed range.

    • color.change(), color.adjust(), and color.scale() now support all
      channels of all color spaces. However, if you want to modify a channel
      that's not in $color's own color space, you have to explicitly specify the
      space with the $space parameter. (For backwards-compatibility, this
      doesn't apply to legacy channels of legacy colors—for example, you can still
      adjust an rgb color's saturation without passing $space: hsl).

    • color.mix() and color.invert() now support the standard CSS algorithm
      for interpolating between two colors (the same one that's used for gradients
      and animations). To use this, pass the color space to use for interpolation
      to the $method parameter. For polar color spaces like hsl and oklch,
      this parameter also allows you to specify how hue interpolation is handled.

    • color.complement() now supports a $space parameter that indicates which
      color space should be used to take the complement.

    • color.grayscale() now operates in the oklch space for non-legacy colors.

    • color.ie-hex-str() now automatically converts its color to the rgb space
      and gamut-maps it so that it can continue to take colors from any color
      space.

  • The following functions are now deprecated, and uses should be replaced with
    the new color-space-aware functions defined above:

    • The color.red(), color.green(), color.blue(), color.hue(),
      color.saturation(), color.lightness(), color.whiteness(), and
      color.blackness() functions, as well as their global counterparts, should
      be replaced with calls to color.channel().

    • The global adjust-hue(), saturate(), desaturate(), lighten(),
      darken(), transaprentize(), fade-out(), opacify(), and fade-in()
      functions should be replaced by color.adjust() or color.scale().

  • Add a global-builtin future deprecation, which can be opted-into with the
    --future-deprecation flag or the futureDeprecations option in the JS or
    Dart API. This emits warnings when any global built-in functions that are
    now available in sass: modules are called. It will become active by default
    in an upcoming release alongside the @import deprecation.

Dart API
  • Added a ColorSpace class which represents the various color spaces defined
    in the CSS spec.

  • Added SassColor.space which returns a color's color space.

  • Added SassColor.channels and .channelsOrNull which returns a list
    of channel values, with missing channels converted to 0 or exposed as null,
    respectively.

  • Added SassColor.isLegacy, .isInGamut, .channel(), .isChannelMissing(),
    .isChannelPowerless(), .toSpace(), .toGamut(), .changeChannels(), and
    .interpolate() which do the same thing as the Sass functions of the
    corresponding names.

  • SassColor.rgb() now allows out-of-bounds and non-integer arguments.

  • SassColor.hsl() and .hwb() now allow out-of-bounds arguments.

  • Added SassColor.hwb(), .srgb(), .srgbLinear(), .displayP3(),
    .a98Rgb(), .prophotoRgb(), .rec2020(), .xyzD50(), .xyzD65(),
    .lab(), .lch(), .oklab(), .oklch(), and .forSpace() constructors.

  • Deprecated SassColor.red, .green, .blue, .hue, .saturation,
    .lightness, .whiteness, and .blackness in favor of
    SassColor.channel().

  • Deprecated SassColor.changeRgb(), .changeHsl(), and .changeHwb() in
    favor of SassColor.changeChannels().

  • Added SassNumber.convertValueToUnit() as a shorthand for
    SassNumber.convertValue() with a single numerator.

  • Added InterpolationMethod and HueInterpolationMethod which collectively
    represent the method to use to interpolate two colors.

JS API
  • While the legacy API has been deprecated since we released the modern API, we
    now emit warnings when the legacy API is used to make sure users are aware
    that it will be removed in Dart Sass 2.0.0. In the meantime, you can silence
    these warnings by passing legacy-js-api in silenceDeprecations when using
    the legacy API.

  • Modify SassColor to accept a new space option, with support for all the
    new color spaces defined in Color Level 4.

  • Add SassColor.space which returns a color's color space.

  • Add SassColor.channels and .channelsOrNull which returns a list of channel
    values, with missing channels converted to 0 or exposed as null, respectively.

  • Add SassColor.isLegacy, .isInGamut(), .channel(), .isChannelMissing(),
    .isChannelPowerless(), .toSpace(), .toGamut(), .change(), and
    .interpolate() which do the same thing as the Sass functions of the
    corresponding names.

  • Deprecate SassColor.red, .green, .blue, .hue, .saturation,
    .lightness, .whiteness, and .blackness in favor of
    SassColor.channel().

Embedded Sass
  • Add Color SassScript value, with support for all the new color spaces
    defined in Color Level 4.

  • Remove RgbColor, HslColor and HwbColor SassScript values.


Configuration

📅 Schedule: Branch creation - "before 4am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@hash-worker hash-worker bot enabled auto-merge September 20, 2024 22:54
@github-actions github-actions bot added area/deps Relates to third-party dependencies (area) area/apps > hash* Affects HASH (a `hash-*` app) type/eng > frontend Owned by the @frontend team area/apps labels Sep 20, 2024
hashdotai
hashdotai previously approved these changes Sep 20, 2024
@hash-worker hash-worker bot changed the title Update npm package sass to v1.79.3 Update npm package sass to v1.79.0 Sep 20, 2024
hashdotai
hashdotai previously approved these changes Sep 20, 2024
@hash-worker hash-worker bot changed the title Update npm package sass to v1.79.0 Update npm package sass to v1.79.1 Sep 21, 2024
Copy link
Contributor

Benchmark results

@rust/graph-benches – Integrations

scaling_read_entity_linkless

Function Value Mean Flame graphs
entity_by_id 10 entities $$1.87 \mathrm{ms} \pm 5.79 \mathrm{μs}\left({\color{gray}0.369 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 100 entities $$2.04 \mathrm{ms} \pm 9.10 \mathrm{μs}\left({\color{gray}0.631 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1000 entities $$2.77 \mathrm{ms} \pm 18.1 \mathrm{μs}\left({\color{lightgreen}-19.743 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 10000 entities $$12.3 \mathrm{ms} \pm 135 \mathrm{μs}\left({\color{gray}-1.969 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1 entities $$1.87 \mathrm{ms} \pm 6.18 \mathrm{μs}\left({\color{gray}0.733 \mathrm{\%}}\right) $$ Flame Graph

scaling_read_entity_complete_zero_depth

Function Value Mean Flame graphs
entity_by_id 10 entities $$2.09 \mathrm{ms} \pm 15.6 \mathrm{μs}\left({\color{gray}4.48 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 50 entities $$4.00 \mathrm{ms} \pm 25.6 \mathrm{μs}\left({\color{gray}-1.316 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 5 entities $$1.91 \mathrm{ms} \pm 6.73 \mathrm{μs}\left({\color{gray}0.345 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 25 entities $$2.79 \mathrm{ms} \pm 77.6 \mathrm{μs}\left({\color{gray}4.83 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1 entities $$1.89 \mathrm{ms} \pm 9.18 \mathrm{μs}\left({\color{gray}1.29 \mathrm{\%}}\right) $$ Flame Graph

representative_read_entity

Function Value Mean Flame graphs
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1 $$16.0 \mathrm{ms} \pm 176 \mathrm{μs}\left({\color{lightgreen}-27.768 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1 $$15.8 \mathrm{ms} \pm 176 \mathrm{μs}\left({\color{lightgreen}-32.889 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1 $$15.6 \mathrm{ms} \pm 143 \mathrm{μs}\left({\color{gray}-2.304 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/block/v/1 $$14.8 \mathrm{ms} \pm 170 \mathrm{μs}\left({\color{lightgreen}-6.711 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1 $$15.1 \mathrm{ms} \pm 186 \mathrm{μs}\left({\color{gray}-4.481 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1 $$14.9 \mathrm{ms} \pm 172 \mathrm{μs}\left({\color{lightgreen}-7.025 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1 $$15.1 \mathrm{ms} \pm 173 \mathrm{μs}\left({\color{gray}-3.576 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2 $$15.7 \mathrm{ms} \pm 196 \mathrm{μs}\left({\color{gray}1.40 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1 $$16.1 \mathrm{ms} \pm 205 \mathrm{μs}\left({\color{gray}3.36 \mathrm{\%}}\right) $$ Flame Graph

representative_read_entity_type

Function Value Mean Flame graphs
get_entity_type_by_id Account ID: d4e16033-c281-4cde-aa35-9085bf2e7579 $$1.42 \mathrm{ms} \pm 6.12 \mathrm{μs}\left({\color{gray}0.667 \mathrm{\%}}\right) $$ Flame Graph

scaling_read_entity_complete_one_depth

Function Value Mean Flame graphs
entity_by_id 10 entities $$48.8 \mathrm{ms} \pm 1.94 \mathrm{ms}\left({\color{lightgreen}-6.083 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 50 entities $$274 \mathrm{ms} \pm 2.39 \mathrm{ms}\left({\color{lightgreen}-81.882 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 5 entities $$25.1 \mathrm{ms} \pm 182 \mathrm{μs}\left({\color{gray}1.54 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 25 entities $$72.6 \mathrm{ms} \pm 313 \mathrm{μs}\left({\color{gray}-1.553 \mathrm{\%}}\right) $$ Flame Graph
entity_by_id 1 entities $$20.0 \mathrm{ms} \pm 58.6 \mathrm{μs}\left({\color{gray}-0.048 \mathrm{\%}}\right) $$ Flame Graph

representative_read_multiple_entities

Function Value Mean Flame graphs
link_by_source_by_property depths: DT=2, PT=2, ET=2, E=2 $$97.8 \mathrm{ms} \pm 386 \mathrm{μs}\left({\color{gray}-0.158 \mathrm{\%}}\right) $$ Flame Graph
link_by_source_by_property depths: DT=0, PT=2, ET=2, E=2 $$93.3 \mathrm{ms} \pm 427 \mathrm{μs}\left({\color{gray}-0.135 \mathrm{\%}}\right) $$ Flame Graph
link_by_source_by_property depths: DT=255, PT=255, ET=255, E=255 $$106 \mathrm{ms} \pm 429 \mathrm{μs}\left({\color{gray}-0.779 \mathrm{\%}}\right) $$ Flame Graph
link_by_source_by_property depths: DT=0, PT=0, ET=0, E=0 $$41.9 \mathrm{ms} \pm 225 \mathrm{μs}\left({\color{gray}-0.813 \mathrm{\%}}\right) $$ Flame Graph
link_by_source_by_property depths: DT=0, PT=0, ET=0, E=2 $$78.8 \mathrm{ms} \pm 454 \mathrm{μs}\left({\color{gray}-0.652 \mathrm{\%}}\right) $$ Flame Graph
link_by_source_by_property depths: DT=0, PT=0, ET=2, E=2 $$89.1 \mathrm{ms} \pm 490 \mathrm{μs}\left({\color{gray}-0.768 \mathrm{\%}}\right) $$ Flame Graph
entity_by_property depths: DT=2, PT=2, ET=2, E=2 $$58.3 \mathrm{ms} \pm 247 \mathrm{μs}\left({\color{gray}0.578 \mathrm{\%}}\right) $$ Flame Graph
entity_by_property depths: DT=0, PT=2, ET=2, E=2 $$54.0 \mathrm{ms} \pm 293 \mathrm{μs}\left({\color{gray}0.063 \mathrm{\%}}\right) $$ Flame Graph
entity_by_property depths: DT=255, PT=255, ET=255, E=255 $$67.3 \mathrm{ms} \pm 294 \mathrm{μs}\left({\color{gray}0.724 \mathrm{\%}}\right) $$ Flame Graph
entity_by_property depths: DT=0, PT=0, ET=0, E=0 $$38.8 \mathrm{ms} \pm 242 \mathrm{μs}\left({\color{gray}-0.540 \mathrm{\%}}\right) $$ Flame Graph
entity_by_property depths: DT=0, PT=0, ET=0, E=2 $$43.2 \mathrm{ms} \pm 268 \mathrm{μs}\left({\color{gray}0.431 \mathrm{\%}}\right) $$ Flame Graph
entity_by_property depths: DT=0, PT=0, ET=2, E=2 $$50.0 \mathrm{ms} \pm 359 \mathrm{μs}\left({\color{gray}1.26 \mathrm{\%}}\right) $$ Flame Graph

@hash-worker hash-worker bot added this pull request to the merge queue Sep 21, 2024
Merged via the queue into main with commit 5ad7550 Sep 21, 2024
160 checks passed
@hash-worker hash-worker bot deleted the deps/js/sass-1.x branch September 21, 2024 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/apps > hash* Affects HASH (a `hash-*` app) area/apps area/deps Relates to third-party dependencies (area) type/eng > frontend Owned by the @frontend team
Development

Successfully merging this pull request may close these issues.

1 participant