1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
unleash.unleash/frontend
renovate[bot] 5a01a7e981
chore(deps): update dependency sass to v1.80.3 (#8562)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [sass](https://redirect.github.com/sass/dart-sass) | [`1.77.8` ->
`1.80.3`](https://renovatebot.com/diffs/npm/sass/1.77.8/1.80.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/sass/1.80.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sass/1.80.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sass/1.77.8/1.80.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sass/1.77.8/1.80.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>sass/dart-sass (sass)</summary>

###
[`v1.80.3`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1803)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.80.2...1.80.3)

-   Fix a bug where `@import url("...")` would crash in plain CSS files.

- Improve consistency of how warnings are emitted by different parts of
the
compiler. This should result in minimal user-visible changes, but
different
types of warnings should now respond more reliably to flags like
`--quiet`,
    `--verbose`, and `--silence-deprecation`.

###
[`v1.80.2`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1802)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.80.1...1.80.2)

- Fix a bug where deprecation warnings were incorrectly emitted for the
    plain-CSS `invert()` function.

###
[`v1.80.1`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1801)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.80.0...1.80.1)

- Fix a bug where repeated deprecation warnings were not automatically
limited.

###
[`v1.80.0`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1800)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.79.6...1.80.0)

- `@import` is now officially deprecated, as are global built-in
functions that
are available within built-in modules. See [the Sass blog post] for more
    details on the deprecation process.

[the Sass blog post]: https://sass-lang.com/blog/import-is-deprecated/

##### Embedded Host

- Fix an error that would sometimes occur when deprecation warnings were
    emitted when using a custom importer with the legacy API.

###
[`v1.79.6`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1796)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.79.5...1.79.6)

- Fix a bug where Sass would add an extra `*/` after loud comments with
    whitespace after an explicit `*/` in the indented syntax.

- **Potentially breaking bug fix:** Adding text after an explicit `*/`
in the
indented syntax is now an error, rather than silently generating invalid
CSS.

##### Embedded Host

-   Properly export the `SassBoolean` type.

###
[`v1.79.5`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1795)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.79.4...1.79.5)

-   Changes to how `selector.unify()` and `@extend` combine selectors:

- The relative order of pseudo-classes (like `:hover`) and
pseudo-elements
(like `::before`) within each original selector is now preserved when
        they're combined.

- Pseudo selectors are now consistently placed at the end of the
combined
selector, regardless of which selector they came from. Previously, this
reordering only applied to pseudo-selectors in the second selector.

- Tweak the color transformation matrices for OKLab and OKLCH to match
the
    newer, more accurate values in the CSS spec.

-   Fix a slight inaccuracy case when converting to `srgb-linear` and
    `display-p3`.

- **Potentially breaking bug fix:** `math.unit()` now wraps multiple
denominator
units in parentheses. For example, `px/(em*em)` instead of `px/em*em`.

##### Command-Line Interface

- Use `@parcel/watcher` to watch the filesystem when running from
JavaScript and
not using `--poll`. This should mitigate more frequent failures users
have
been seeing since version 4.0.0 of Chokidar, our previous watching tool,
was
    released.

##### JS API

- Fix `SassColor.interpolate()` to allow an undefined `options`
parameter, as
    the types indicate.

##### Embedded Sass

- Properly pass missing color channel values to and from custom
functions.

###
[`v1.79.4`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1794)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.79.3...1.79.4)

##### JS API

- Fix a bug where passing `green` or `blue` to `color.change()` for
legacy
    colors would fail.

###
[`v1.79.3`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1793)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.79.2...1.79.3)

-   Update the `$channel` parameter in the suggested replacement for
    `color.red()`, `color.green()`, `color.blue()`, `color.hue()`,
    `color.saturation()`, `color.lightness()`, `color.whiteness()`, and
    `color.blackness()` to use a quoted string.

###
[`v1.79.2`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1792)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.79.1...1.79.2)

- Add a `$space` parameter to the suggested replacement for
`color.red()`,
`color.green()`, `color.blue()`, `color.hue()`, `color.saturation()`,
    `color.lightness()`, `color.whiteness()`, and `color.blackness()`.

- Update deprecation warnings for the legacy JS API to include a link to
    [relevant documentation].

[relevant documentation]: https://sass-lang.com/d/legacy-js-api

###
[`v1.79.1`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1791)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.79.0...1.79.1)

-   No user-visible changes.

###
[`v1.79.0`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1790)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.78.0...1.79.0)

- **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.

[color spaces]:
https://developer.mozilla.org/en-US/docs/Web/CSS/color_value

- 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.

###
[`v1.78.0`](https://redirect.github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1780)

[Compare
Source](https://redirect.github.com/sass/dart-sass/compare/1.77.8...1.78.0)

- The `meta.feature-exists` function is now deprecated. This deprecation
is
    named `feature-exists`.

- Fix a crash when using `@at-root` without any queries or children in
the
    indented syntax.

##### JS API

- Backport the deprecation options (`fatalDeprecations`,
`futureDeprecations`,
and `silenceDeprecations`) to the legacy JS API. The legacy JS API is
itself
deprecated, and you should move off of it if possible, but this will
allow
users of bundlers and other tools that are still using the legacy API to
    still control deprecation warnings.

- Fix a bug where accessing `SourceSpan.url` would crash when a relative
URL was
    passed to the Sass API.

##### Embedded Sass

- Explicitly expose a `sass` executable from the `sass-embedded` npm
package.
    This was intended to be included in 1.63.0, but due to the way
platform-specific dependency executables are installed it did not work
as
intended. Now users can run `npx sass` for local installs or just `sass`
when
    `sass-embedded` is installed globally.

- Add linux-riscv64, linux-musl-riscv64, and android-riscv64 support for
the
    `sass-embedded` npm package.

- Fix an edge case where the Dart VM could hang when shutting down when
requests
    were in flight.

- Fix a race condition where the embedded host could fail to shut down
if it was
    closed around the same time a new compilation was started.

- Fix a bug where parse-time deprecation warnings could not be
controlled by
    the deprecation options in some circumstances.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMzMuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEzMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-28 22:05:36 +00:00
..
.yarn/releases
cypress
public
scripts
src feat: playground result count buckets (#8555) 2024-10-28 15:43:07 +01:00
.editorconfig
.gitignore
.npmignore
.nvmrc
.yarnrc.yml
check-imports.rc
cypress.config.ts
cypress.d.ts
index.html
index.js
orval.config.js
package.json chore(deps): update dependency sass to v1.80.3 (#8562) 2024-10-28 22:05:36 +00:00
README.md
tsconfig.json
tsconfig.node.json
vercel.json
vite.config.mts
yarn.lock chore(deps): update dependency sass to v1.80.3 (#8562) 2024-10-28 22:05:36 +00:00

frontend

This directory contains the Unleash Admin UI frontend app.

Run with a local instance of the unleash-api

Refer to the Contributing to Unleash guide for instructions. The frontend dev server runs (in port 3000) simultaneously with the backend dev server (in port 4242):

yarn install
yarn dev

Run with a sandbox instance of the Unleash API

Alternatively, instead of running unleash-api on localhost, you can use a remote instance:

cd ./frontend
yarn install
yarn run start:sandbox

Running end-to-end tests

We have a set of Cypress tests that run on the build before a PR can be merged so it's important that you check these yourself before submitting a PR. On the server the tests will run against the deployed Heroku app so this is what you probably want to test against:

yarn run start:sandbox

In a different shell, you can run the tests themselves:

yarn run e2e:heroku

If you need to test against patches against a local server instance, you'll need to run that, and then run the end to end tests using:

yarn run e2e

You may also need to test that a feature works against the enterprise version of unleash. Assuming the Heroku instance is still running, this can be done by:

yarn run start:enterprise
yarn run e2e

Generating the OpenAPI client

The frontend uses an OpenAPI client generated from the backend's OpenAPI spec. Whenever there are changes to the backend API, the client should be regenerated:

For now we only use generated types (src/openapi/models). We will use methods (src/openapi/apis) for new features soon.

yarn gen:api
rm -rf src/openapi/apis

clean up src/openapi/index.ts imports, only keep first line export * from './models';

This script assumes that you have a running instance of the enterprise backend at http://localhost:4242. The new OpenAPI client will be generated from the runtime schema of this instance. The target URL can be changed by setting the UNLEASH_OPENAPI_URL env var.

Analyzing bundle size

npx vite-bundle-visualizer in the root of the frontend directory