From dc61110ca8221fbc0096709c22cd68197f084597 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 20 Mar 2024 19:06:58 +0000
Subject: [PATCH 1/8] chore(deps): update dependency @swc/core to v1.4.7
(#6643)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@swc/core](https://swc.rs)
([source](https://togithub.com/swc-project/swc)) | [`1.4.6` ->
`1.4.7`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.4.6/1.4.7) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
swc-project/swc (@swc/core)
###
[`v1.4.7`](https://togithub.com/swc-project/swc/blob/HEAD/CHANGELOG.md#147---2024-03-13)
[Compare
Source](https://togithub.com/swc-project/swc/compare/v1.4.6...v1.4.7)
##### Bug Fixes
- **(es/minifier)** Fix eval of `toString` of array with holes
([#8727](https://togithub.com/swc-project/swc/issues/8727))
([f3fbd9d](https://togithub.com/swc-project/swc/commit/f3fbd9d54925b708139a37865508430cdcb98f9a))
- **(es/minifier)** Do not evaluate `slice` calls with negative index
([#8726](https://togithub.com/swc-project/swc/issues/8726))
([23f9635](https://togithub.com/swc-project/swc/commit/23f9635d2cb523d63e5d1611dcf55922bcc54a87))
- **(es/minifier)** Handle cyclic references while dropping unused
properties
([#8725](https://togithub.com/swc-project/swc/issues/8725))
([102241b](https://togithub.com/swc-project/swc/commit/102241b812b8e815b59575178193bb71b4264bab))
- **(es/minifier)** Fix evaluation of array literals with `void 0`
([#8733](https://togithub.com/swc-project/swc/issues/8733))
([aa0154d](https://togithub.com/swc-project/swc/commit/aa0154d2d86b0bed7ffed3324c7a650ffe111c93))
- **(es/minifier)** Fix removal of array pattern bindings
([#8730](https://togithub.com/swc-project/swc/issues/8730))
([312f0d8](https://togithub.com/swc-project/swc/commit/312f0d8427b3c4436b491ed4265f9469dc017f8f))
- **(es/minifier)** Make `Finalizer` handle `hoisted_props` correctly
([#8738](https://togithub.com/swc-project/swc/issues/8738))
([95761b7](https://togithub.com/swc-project/swc/commit/95761b76bf09a4d2c09517b2bd7bf7b78ee2149f))
- **(es/proposal)** Fix var placement for using transform
([#8732](https://togithub.com/swc-project/swc/issues/8732))
([633cd89](https://togithub.com/swc-project/swc/commit/633cd89bacef5f0efef20f1dfa709cff1ecba36f))
##### Features
- **(es/lints)** Add `no-prototype-builtins` rule
([#8684](https://togithub.com/swc-project/swc/issues/8684))
([a5dbb17](https://togithub.com/swc-project/swc/commit/a5dbb17612327c66366086f99b44c6731d125ffc))
- **(es/lints)** Add `prefer-object-spread` rule
([#8696](https://togithub.com/swc-project/swc/issues/8696))
([aa9297b](https://togithub.com/swc-project/swc/commit/aa9297b42e001f6b7319881870f6012a56c50aef))
##### Refactor
- **(es)** Prepare `wasm32-wasi-preview1-threads` target support
([#8724](https://togithub.com/swc-project/swc/issues/8724))
([e3acd14](https://togithub.com/swc-project/swc/commit/e3acd1476c2428e5329a359bb7323687c06108d2))
---
### 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.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
package.json | 2 +-
yarn.lock | 108 +++++++++++++++++++++++++--------------------------
2 files changed, 55 insertions(+), 55 deletions(-)
diff --git a/package.json b/package.json
index 11726e5ae5..df7507804d 100644
--- a/package.json
+++ b/package.json
@@ -153,7 +153,7 @@
"@apidevtools/swagger-parser": "10.1.0",
"@babel/core": "7.24.0",
"@biomejs/biome": "1.6.1",
- "@swc/core": "1.4.6",
+ "@swc/core": "1.4.7",
"@swc/jest": "0.2.36",
"@types/bcryptjs": "2.4.6",
"@types/cors": "2.8.17",
diff --git a/yarn.lock b/yarn.lock
index 27eace1afd..52587069b5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1175,74 +1175,74 @@
p-queue "^6.6.1"
p-retry "^4.0.0"
-"@swc/core-darwin-arm64@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.6.tgz#4465c6f1ae011d4829ba8923f6aac9aae7828416"
- integrity sha512-bpggpx/BfLFyy48aUKq1PsNUxb7J6CINlpAUk0V4yXfmGnpZH80Gp1pM3GkFDQyCfq7L7IpjPrIjWQwCrL4hYw==
+"@swc/core-darwin-arm64@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.7.tgz#158c7d1a5d1aa0d1e57f24f7a58fa23389d4b666"
+ integrity sha512-IhfP2Mrrh9WcdlBJQbPNBhfdOhW/SC910SiuzvxaLgJmzq1tw6TVDNUz4Zf85TbK5uzgR0emtPc9hTGxynl57A==
-"@swc/core-darwin-x64@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.6.tgz#5ddda080ad9824b56d6470163c752e27e22d5a89"
- integrity sha512-vJn+/ZuBTg+vtNkcmgZdH6FQpa0hFVdnB9bAeqYwKkyqP15zaPe6jfC+qL2y/cIeC7ASvHXEKrnCZgBLxfVQ9w==
+"@swc/core-darwin-x64@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.7.tgz#4a7a9a935d1a23402d45a1602026e4f677983776"
+ integrity sha512-MO01pnxJDS6st5IiqyTnAOz9kpAPP/O4lzEUH9E80XdXBzwptS5hNTM0egBlqueWDFrPM26RI81JLtyTU7kR8w==
-"@swc/core-linux-arm-gnueabihf@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.6.tgz#eb6dbd10bd4b6ad36f85ef9c99c675f1aa4f598b"
- integrity sha512-hEmYcB/9XBAl02MtuVHszhNjQpjBzhk/NFulnU33tBMbNZpy2TN5yTsitezMq090QXdDz8sKIALApDyg07ZR8g==
+"@swc/core-linux-arm-gnueabihf@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.7.tgz#54f80af37fae84676d50f729312bd5ff384a8c42"
+ integrity sha512-+cDaXW6PZqGhXIq9C4xE+/QuyUsLkXf8d8uSXep+rZYDl4YHS9Fi7HpZQnqLX6al/iVhwe3VnxHMGw50gxcr/g==
-"@swc/core-linux-arm64-gnu@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.6.tgz#41ce65332b2e8d5bf69b0e95fd02a9134784d5de"
- integrity sha512-/UCYIVoGpm2YVvGHZM2QOA3dexa28BjcpLAIYnoCbgH5f7ulDhE8FAIO/9pasj+kixDBsdqewHfsNXFYlgGJjQ==
+"@swc/core-linux-arm64-gnu@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.7.tgz#0f0a47b6e6d2d5404c755a73ba52a71240763500"
+ integrity sha512-RNnVHRKhEtA3pM34wgb3Vumf5M6/XlWzFdkHEMZIkOKyNSUhZiv8X3tsEK+n1rZQWIDkvlw4YyHtB8vK18WdCA==
-"@swc/core-linux-arm64-musl@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.6.tgz#0d579abd7960db3f08915beac0f3bac3cd202425"
- integrity sha512-LGQsKJ8MA9zZ8xHCkbGkcPSmpkZL2O7drvwsGKynyCttHhpwVjj9lguhD4DWU3+FWIsjvho5Vu0Ggei8OYi/Lw==
+"@swc/core-linux-arm64-musl@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.7.tgz#baafa993ae121f43162a00fdb774b8456c0079bc"
+ integrity sha512-p7Xm4Pib02d1SFS9XXMoOcCTDIkFWMspspptPX00VcjAdZYnXWujWGuD2W+KN1gq5syHB1g3TsYs9LP2dGsKqw==
-"@swc/core-linux-x64-gnu@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.6.tgz#204d4a722ae8e9d4800d37583b64ef6472f6ad74"
- integrity sha512-10JL2nLIreMQDKvq2TECnQe5fCuoqBHu1yW8aChqgHUyg9d7gfZX/kppUsuimqcgRBnS0AjTDAA+JF6UsG/2Yg==
+"@swc/core-linux-x64-gnu@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.7.tgz#88cfbc497c997aff209b57115d9cbaf597393ff9"
+ integrity sha512-ViI5jy03cFYPETsye1J+oPbHE4v8oIDN34qebzvgHUlNKOXfc1ig0Zha5oQnKp3zj1rmjcSLIMqK++WR021G5A==
-"@swc/core-linux-x64-musl@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.6.tgz#d2d1b1130a275a428ff144fedaffb75db8081022"
- integrity sha512-EGyjFVzVY6Do89x8sfah7I3cuP4MwtwzmA6OlfD/KASqfCFf5eIaEBMbajgR41bVfMV7lK72lwAIea5xEyq1AQ==
+"@swc/core-linux-x64-musl@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.7.tgz#12f6277d3f7167a698a5c87d0796dd810f8eb273"
+ integrity sha512-Nf3Axcx/ILl7XE44eidNNPF39rg/KIeqg2545vrOXJG02iu7pEjZuu8wm6w+23BpP4COjZJymlg9LzPT1ZBD5Q==
-"@swc/core-win32-arm64-msvc@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.6.tgz#86066f9eee4e73b24826184f930eb3fb44e2b973"
- integrity sha512-gfW9AuXvwSyK07Vb8Y8E9m2oJZk21WqcD+X4BZhkbKB0TCZK0zk1j/HpS2UFlr1JB2zPKPpSWLU3ll0GEHRG2A==
+"@swc/core-win32-arm64-msvc@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.7.tgz#591ea5067d3ee0d1f45b313dde2b8d8fb6be5eb2"
+ integrity sha512-MFkJEaC59AO2HpndmHhCkaj8NJus5etjMtBphOe9em7jmmfdQ7mLenKHbZ/CspHNl8yNPO9Qzpa/at2838x+RQ==
-"@swc/core-win32-ia32-msvc@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.6.tgz#238b5143b9fec2048cf0a0e24763775561a472b1"
- integrity sha512-ZuQm81FhhvNVYtVb9GfZ+Du6e7fZlkisWvuCeBeRiyseNt1tcrQ8J3V67jD2nxje8CVXrwG3oUIbPcybv2rxfQ==
+"@swc/core-win32-ia32-msvc@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.7.tgz#bc603df8aff3a21d4f9f2b834e751d3ec1bf45ef"
+ integrity sha512-nwrfERocUei9sxqd6URrWcEC3KDcTBD+beMerB9idvuzy4rcm5k1O1ClUlZ9pJOZn+vMN1tqZjLze4hJMT9STQ==
-"@swc/core-win32-x64-msvc@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.6.tgz#36f8fbe6ec04c5b39c34ad41bb6803ba9a306da7"
- integrity sha512-UagPb7w5V0uzWSjrXwOavGa7s9iv3wrVdEgWy+/inm0OwY4lj3zpK9qDnMWAwYLuFwkI3UG4Q3dH8wD+CUUcjw==
+"@swc/core-win32-x64-msvc@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.7.tgz#b4683ad864591e127f865fd1fbca2cfbae9e672a"
+ integrity sha512-d5T8Z/axAml8FTA+T9RS2mwJDNIbSSz5jcEiWaGuKVDIoSZib2HpMvnMydOGsIrmjfS1Z4ZhdAawivPhAZ3M8Q==
-"@swc/core@1.4.6":
- version "1.4.6"
- resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.6.tgz#d2bceb1296aaf0fa6fbd85eb6f8d797fe5cd8d8c"
- integrity sha512-A7iK9+1qzTCIuc3IYcS8gPHCm9bZVKUJrfNnwveZYyo6OFp3jLno4WOM2yBy5uqedgYATEiWgBYHKq37KrU6IA==
+"@swc/core@1.4.7":
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.4.7.tgz#94ac45187fa2fdbd6cbb34dbda089c174ec64c1d"
+ integrity sha512-I7a9sUxB+z+UCf6KudqrQH/RgLal/S+E+t4uBdbggycLyJe7WvBgPrQlcN5UpEuD9YC2PJ0CN6kgD6ARStg+pg==
dependencies:
"@swc/counter" "^0.1.2"
"@swc/types" "^0.1.5"
optionalDependencies:
- "@swc/core-darwin-arm64" "1.4.6"
- "@swc/core-darwin-x64" "1.4.6"
- "@swc/core-linux-arm-gnueabihf" "1.4.6"
- "@swc/core-linux-arm64-gnu" "1.4.6"
- "@swc/core-linux-arm64-musl" "1.4.6"
- "@swc/core-linux-x64-gnu" "1.4.6"
- "@swc/core-linux-x64-musl" "1.4.6"
- "@swc/core-win32-arm64-msvc" "1.4.6"
- "@swc/core-win32-ia32-msvc" "1.4.6"
- "@swc/core-win32-x64-msvc" "1.4.6"
+ "@swc/core-darwin-arm64" "1.4.7"
+ "@swc/core-darwin-x64" "1.4.7"
+ "@swc/core-linux-arm-gnueabihf" "1.4.7"
+ "@swc/core-linux-arm64-gnu" "1.4.7"
+ "@swc/core-linux-arm64-musl" "1.4.7"
+ "@swc/core-linux-x64-gnu" "1.4.7"
+ "@swc/core-linux-x64-musl" "1.4.7"
+ "@swc/core-win32-arm64-msvc" "1.4.7"
+ "@swc/core-win32-ia32-msvc" "1.4.7"
+ "@swc/core-win32-x64-msvc" "1.4.7"
"@swc/counter@^0.1.2", "@swc/counter@^0.1.3":
version "0.1.3"
From 82f146902586717fc23f93db91b7ac3e0f864219 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 20 Mar 2024 23:49:05 +0000
Subject: [PATCH 2/8] chore(deps): update dependency vite-tsconfig-paths to
v4.3.2 (#6645)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[vite-tsconfig-paths](https://togithub.com/aleclarson/vite-tsconfig-paths)
| [`4.3.1` ->
`4.3.2`](https://renovatebot.com/diffs/npm/vite-tsconfig-paths/4.3.1/4.3.2)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
aleclarson/vite-tsconfig-paths (vite-tsconfig-paths)
###
[`v4.3.2`](https://togithub.com/aleclarson/vite-tsconfig-paths/compare/v4.3.1...c02e4a2da868a6a0dc5489108d7c2f85acd5a7df)
[Compare
Source](https://togithub.com/aleclarson/vite-tsconfig-paths/compare/v4.3.1...v4.3.2)
---
### 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.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 18 +++++++++---------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index a7e8f0ca10..f0c3c32cd6 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -119,7 +119,7 @@
"vite": "5.1.6",
"vite-plugin-env-compatible": "2.0.1",
"vite-plugin-svgr": "3.3.0",
- "vite-tsconfig-paths": "4.3.1",
+ "vite-tsconfig-paths": "4.3.2",
"vitest": "1.3.1",
"whatwg-fetch": "3.6.20"
},
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 9272b52641..b228fde8c8 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -6906,10 +6906,10 @@ tsconfck@^2.0.1:
resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-2.1.2.tgz#f667035874fa41d908c1fe4d765345fcb1df6e35"
integrity sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==
-tsconfck@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.0.2.tgz#d8e279f7a049d55f207f528d13fa493e1d8e7ceb"
- integrity sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==
+tsconfck@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.0.3.tgz#d9bda0e87d05b1c360e996c9050473c7e6f8084f"
+ integrity sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==
tslib@^1.14.1:
version "1.14.1"
@@ -7278,14 +7278,14 @@ vite-plugin-svgr@3.3.0:
"@svgr/core" "^8.1.0"
"@svgr/plugin-jsx" "^8.1.0"
-vite-tsconfig-paths@4.3.1:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.1.tgz#28762938151e7c80aec9d70c57e65ddce43a576f"
- integrity sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==
+vite-tsconfig-paths@4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz#321f02e4b736a90ff62f9086467faf4e2da857a9"
+ integrity sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==
dependencies:
debug "^4.1.1"
globrex "^0.1.2"
- tsconfck "^3.0.1"
+ tsconfck "^3.0.3"
vite@5.1.6, vite@^5.0.0:
version "5.1.6"
From 3e5598ac05c2448eeb9aca20441c6dce0b5691fa Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 20 Mar 2024 23:49:30 +0000
Subject: [PATCH 3/8] chore(deps): update dependency @types/node to v18.19.24
(#6644)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`18.19.23` ->
`18.19.24`](https://renovatebot.com/diffs/npm/@types%2fnode/18.19.23/18.19.24)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### 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.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 8 ++++----
package.json | 2 +-
yarn.lock | 8 ++++----
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index f0c3c32cd6..d849cdad80 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -55,7 +55,7 @@
"@types/lodash.isequal": "^4.5.8",
"@types/lodash.mapvalues": "^4.6.9",
"@types/lodash.omit": "4.5.9",
- "@types/node": "18.19.23",
+ "@types/node": "18.19.24",
"@types/react": "17.0.76",
"@types/react-dom": "17.0.25",
"@types/react-linkify": "1.0.4",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index b228fde8c8..70fc3c5227 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -2249,10 +2249,10 @@
dependencies:
undici-types "~5.26.4"
-"@types/node@18.19.23":
- version "18.19.23"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.23.tgz#e02c759218bc9957423a3f7d585d511b17be2351"
- integrity sha512-wtE3d0OUfNKtZYAqZb8HAWGxxXsImJcPUAgZNw+dWFxO6s5tIwIjyKnY76tsTatsNCLJPkVYwUpq15D38ng9Aw==
+"@types/node@18.19.24":
+ version "18.19.24"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.24.tgz#707d8a4907e55901466e60e8f7a62bc6197ace95"
+ integrity sha512-eghAz3gnbQbvnHqB+mgB2ZR3aH6RhdEmHGS48BnV75KceQPHqabkxKI0BbUSsqhqy2Ddhc2xD/VAR9ySZd57Lw==
dependencies:
undici-types "~5.26.4"
diff --git a/package.json b/package.json
index df7507804d..081ba3c93b 100644
--- a/package.json
+++ b/package.json
@@ -167,7 +167,7 @@
"@types/make-fetch-happen": "10.0.4",
"@types/memoizee": "0.4.11",
"@types/mime": "3.0.4",
- "@types/node": "18.19.23",
+ "@types/node": "18.19.24",
"@types/nodemailer": "6.4.14",
"@types/owasp-password-strength-test": "1.3.2",
"@types/pg": "8.11.2",
diff --git a/yarn.lock b/yarn.lock
index 52587069b5..477137f364 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1525,10 +1525,10 @@
dependencies:
undici-types "~5.26.4"
-"@types/node@18.19.23":
- version "18.19.23"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.23.tgz#e02c759218bc9957423a3f7d585d511b17be2351"
- integrity sha512-wtE3d0OUfNKtZYAqZb8HAWGxxXsImJcPUAgZNw+dWFxO6s5tIwIjyKnY76tsTatsNCLJPkVYwUpq15D38ng9Aw==
+"@types/node@18.19.24":
+ version "18.19.24"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.24.tgz#707d8a4907e55901466e60e8f7a62bc6197ace95"
+ integrity sha512-eghAz3gnbQbvnHqB+mgB2ZR3aH6RhdEmHGS48BnV75KceQPHqabkxKI0BbUSsqhqy2Ddhc2xD/VAR9ySZd57Lw==
dependencies:
undici-types "~5.26.4"
From 09c88e97e4089ac5e3cddcc6af26bb66b3bcb465 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 20 Mar 2024 23:49:59 +0000
Subject: [PATCH 4/8] chore(deps): update dependency cypress to v13.7.0 (#6646)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [cypress](https://cypress.io)
([source](https://togithub.com/cypress-io/cypress)) | [`13.6.6` ->
`13.7.0`](https://renovatebot.com/diffs/npm/cypress/13.6.6/13.7.0) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
cypress-io/cypress (cypress)
###
[`v13.7.0`](https://togithub.com/cypress-io/cypress/releases/tag/v13.7.0)
[Compare
Source](https://togithub.com/cypress-io/cypress/compare/v13.6.6...v13.7.0)
Changelog:
---
### 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.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index d849cdad80..056175b753 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -74,7 +74,7 @@
"classnames": "2.5.1",
"copy-to-clipboard": "3.3.3",
"countries-and-timezones": "^3.4.0",
- "cypress": "13.6.6",
+ "cypress": "13.7.0",
"cypress-vite": "^1.4.0",
"date-fns": "2.30.0",
"date-fns-tz": "^2.0.0",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 70fc3c5227..53a156bcf3 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -3259,10 +3259,10 @@ cypress-vite@^1.4.0:
chokidar "^3.5.3"
debug "^4.3.4"
-cypress@13.6.6:
- version "13.6.6"
- resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.6.tgz#5133f231ed1c6e57dc8dcbf60aade220bcd6884b"
- integrity sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A==
+cypress@13.7.0:
+ version "13.7.0"
+ resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.7.0.tgz#19e53c0bd6eca5e3bde0d6ac9e98fbf1782e3a9e"
+ integrity sha512-UimjRSJJYdTlvkChcdcfywKJ6tUYuwYuk/n1uMMglrvi+ZthNhoRYcxnWgTqUtkl17fXrPAsD5XT2rcQYN1xKA==
dependencies:
"@cypress/request" "^3.0.0"
"@cypress/xvfb" "^1.2.4"
From c7a5bf90b037624d6d3b51f0d9520ba45e8e39d0 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 21 Mar 2024 01:11:14 +0000
Subject: [PATCH 5/8] chore(deps): update dependency sass to v1.72.0 (#6647)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [sass](https://togithub.com/sass/dart-sass) | [`1.71.1` ->
`1.72.0`](https://renovatebot.com/diffs/npm/sass/1.71.1/1.72.0) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
sass/dart-sass (sass)
###
[`v1.72.0`](https://togithub.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#1720)
[Compare
Source](https://togithub.com/sass/dart-sass/compare/1.71.1...1.72.0)
- Support adjacent `/`s without whitespace in between when parsing plain
CSS
expressions.
- Allow the Node.js `pkg:` importer to load Sass stylesheets for
`package.json`
`exports` field entries without extensions.
- When printing suggestions for variables, use underscores in variable
names
when the original usage used underscores.
##### JavaScript API
- Properly resolve `pkg:` imports with the Node.js package importer when
arguments are passed to the JavaScript process.
---
### 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.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 11 +----------
2 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index 056175b753..7e8377de57 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -109,7 +109,7 @@
"react-table": "7.8.0",
"react-test-renderer": "17.0.2",
"react-timeago": "7.2.0",
- "sass": "1.71.1",
+ "sass": "1.72.0",
"semver": "7.6.0",
"swr": "2.2.5",
"tss-react": "4.9.4",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 53a156bcf3..2a2041f027 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -6358,16 +6358,7 @@ safe-stable-stringify@^1.1:
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-sass@1.71.1:
- version "1.71.1"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.71.1.tgz#dfb09c63ce63f89353777bbd4a88c0a38386ee54"
- integrity sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==
- dependencies:
- chokidar ">=3.0.0 <4.0.0"
- immutable "^4.0.0"
- source-map-js ">=0.6.2 <2.0.0"
-
-sass@^1.71.1:
+sass@1.72.0, sass@^1.71.1:
version "1.72.0"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.72.0.tgz#5b9978943fcfb32b25a6a5acb102fc9dabbbf41c"
integrity sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==
From fb88048acfbc4f28ede9a0e902f0536cf2a96670 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 21 Mar 2024 01:11:34 +0000
Subject: [PATCH 6/8] chore(deps): update dependency vanilla-jsoneditor to
^0.23.0 (#6648)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vanilla-jsoneditor](https://togithub.com/josdejong/svelte-jsoneditor)
| [`^0.22.0` ->
`^0.23.0`](https://renovatebot.com/diffs/npm/vanilla-jsoneditor/0.22.0/0.23.0)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
josdejong/svelte-jsoneditor (vanilla-jsoneditor)
###
[`v0.23.0`](https://togithub.com/josdejong/svelte-jsoneditor/blob/HEAD/CHANGELOG.md#0230-2024-03-13)
[Compare
Source](https://togithub.com/josdejong/svelte-jsoneditor/compare/v0.22.0...v0.23.0)
##### âš BREAKING CHANGES
- The `onRenderContextMenu` callback now also triggers when the editor
is `readOnly`,
so you now have to handle that case in the callback.
##### Features
-
[#399](https://togithub.com/josdejong/svelte-jsoneditor/issues/399)
enable onRenderContextMenu when the editor is readOnly
([#411](https://togithub.com/josdejong/svelte-jsoneditor/issues/411))
([db3fb57](https://togithub.com/josdejong/svelte-jsoneditor/commit/db3fb57dc62210b906628cfba1287808bf5bd304))
- extend the contexts of `onRenderMenu` and `onRenderContextMenu` with a
prop `readOnly`
([#411](https://togithub.com/josdejong/svelte-jsoneditor/issues/411))
([4df5548](https://togithub.com/josdejong/svelte-jsoneditor/commit/4df55481a17c22211538df1cd289faec3af25177))
- search and replace in table mode
([#415](https://togithub.com/josdejong/svelte-jsoneditor/issues/415))
([0860f3e](https://togithub.com/josdejong/svelte-jsoneditor/commit/0860f3ea422a09eb21e84a345a9bccada7866c6b))
##### Bug Fixes
- cannot convert an Array into an Object
([4b3af48](https://togithub.com/josdejong/svelte-jsoneditor/commit/4b3af488faa29704f3e74d451b8af9d0434f1273))
- context menu not closing when clicking a button in a dropdown menu
([e2c419a](https://togithub.com/josdejong/svelte-jsoneditor/commit/e2c419acb31d23257e37911117d50ae0d26697d2))
- disable all relevant context menu buttons when readOnly (see
[#411](https://togithub.com/josdejong/svelte-jsoneditor/issues/411))
([c66ee09](https://togithub.com/josdejong/svelte-jsoneditor/commit/c66ee09165587800c3c734af6af683026ac2f8c1))
- disable wrapped line indent when using tabs because that doesn't work
well
([2a067e1](https://togithub.com/josdejong/svelte-jsoneditor/commit/2a067e1551d2881b2977726a1dcfb6ed6d045504))
- editor not getting focus when clicking inside the welcome screen of
table mode
([919a31e](https://togithub.com/josdejong/svelte-jsoneditor/commit/919a31ecd5912a43eb964197c23f0811d7c202ea))
- insert an object or array in tree mode in an empty document not
working
([5382e1c](https://togithub.com/josdejong/svelte-jsoneditor/commit/5382e1ce75b46b5b84fd8fc76764a7a5e9b03a62))
- status bar not visible when caret is at the start of the document
([dca87f0](https://togithub.com/josdejong/svelte-jsoneditor/commit/dca87f02800f2b16c311a013581d2ba4db31518f))
- table row actions not disabled in the table mode context menu when
having an empty document
([7123249](https://togithub.com/josdejong/svelte-jsoneditor/commit/7123249d28eecae4e9a6875760d63fb47fabbcdd))
---
### 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.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index 7e8377de57..6b3b49aa39 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -115,7 +115,7 @@
"tss-react": "4.9.4",
"typescript": "4.8.4",
"use-query-params": "^2.2.1",
- "vanilla-jsoneditor": "^0.22.0",
+ "vanilla-jsoneditor": "^0.23.0",
"vite": "5.1.6",
"vite-plugin-env-compatible": "2.0.1",
"vite-plugin-svgr": "3.3.0",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 2a2041f027..a2c68d74d4 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -7176,10 +7176,10 @@ validator@^13.7.0:
resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b"
integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==
-vanilla-jsoneditor@^0.22.0:
- version "0.22.0"
- resolved "https://registry.yarnpkg.com/vanilla-jsoneditor/-/vanilla-jsoneditor-0.22.0.tgz#0ba372d517c38c866b48b821e6fa1ba3b6d7c415"
- integrity sha512-r6AN3NAWyVFb9pH6iNIa2Q1YiSGai4PGhFN+YnR4OJzXE72hu/Xu/MUbVyGvJxchhPcWj6bIPB1Ox5KSOspmFA==
+vanilla-jsoneditor@^0.23.0:
+ version "0.23.0"
+ resolved "https://registry.yarnpkg.com/vanilla-jsoneditor/-/vanilla-jsoneditor-0.23.0.tgz#edecb3620886eae9db5e53082969f2a56161cb3f"
+ integrity sha512-8gWgvj9xqnlI5M4lXxFN0NUeDsYqT4izh6PeztViRtwaXywH8Z8J0GUWMlnnzWuhvSjnZxlrCP5Yce5V6vwqUA==
dependencies:
"@codemirror/autocomplete" "^6.13.0"
"@codemirror/commands" "^6.3.3"
From 8080a1d9076f1d01086bb3f20b1891608a617dc9 Mon Sep 17 00:00:00 2001
From: Mateusz Kwasniewski
Date: Thu, 21 Mar 2024 09:08:19 +0100
Subject: [PATCH 7/8] feat: read change requests for insights (#6651)
---
.../createProjectInsightsService.ts | 6 ++
.../fake-project-insights-read-model.ts | 19 ++++++
.../project-insights-read-model-type.ts | 12 ++++
.../project-insights-read-model.ts | 59 +++++++++++++++++++
.../project-insights-service.ts | 42 +++++++------
.../projects-insights.e2e.test.ts | 10 ++++
src/lib/features/project/project-service.ts | 57 ------------------
7 files changed, 130 insertions(+), 75 deletions(-)
create mode 100644 src/lib/features/project-insights/fake-project-insights-read-model.ts
create mode 100644 src/lib/features/project-insights/project-insights-read-model-type.ts
create mode 100644 src/lib/features/project-insights/project-insights-read-model.ts
diff --git a/src/lib/features/project-insights/createProjectInsightsService.ts b/src/lib/features/project-insights/createProjectInsightsService.ts
index c2b65e101b..7550239fdf 100644
--- a/src/lib/features/project-insights/createProjectInsightsService.ts
+++ b/src/lib/features/project-insights/createProjectInsightsService.ts
@@ -12,6 +12,8 @@ import FeatureTypeStore from '../../db/feature-type-store';
import FakeFeatureTypeStore from '../../../test/fixtures/fake-feature-type-store';
import { ProjectInsightsService } from './project-insights-service';
import ProjectStore from '../project/project-store';
+import { ProjectInsightsReadModel } from './project-insights-read-model';
+import { FakeProjectInsightsReadModel } from './fake-project-insights-read-model';
export const createProjectInsightsService = (
db: Db,
@@ -34,6 +36,7 @@ export const createProjectInsightsService = (
const featureTypeStore = new FeatureTypeStore(db, getLogger);
const projectStatsStore = new ProjectStatsStore(db, eventBus, getLogger);
const featureToggleService = createFeatureToggleService(db, config);
+ const projectInsightsReadModel = new ProjectInsightsReadModel(db);
return new ProjectInsightsService(
{
@@ -43,6 +46,7 @@ export const createProjectInsightsService = (
projectStatsStore,
},
featureToggleService,
+ projectInsightsReadModel,
);
};
@@ -54,6 +58,7 @@ export const createFakeProjectInsightsService = (
const featureTypeStore = new FakeFeatureTypeStore();
const projectStatsStore = new FakeProjectStatsStore();
const featureToggleService = createFakeFeatureToggleService(config);
+ const projectInsightsReadModel = new FakeProjectInsightsReadModel();
return new ProjectInsightsService(
{
@@ -63,5 +68,6 @@ export const createFakeProjectInsightsService = (
projectStatsStore,
},
featureToggleService,
+ projectInsightsReadModel,
);
};
diff --git a/src/lib/features/project-insights/fake-project-insights-read-model.ts b/src/lib/features/project-insights/fake-project-insights-read-model.ts
new file mode 100644
index 0000000000..961ca03944
--- /dev/null
+++ b/src/lib/features/project-insights/fake-project-insights-read-model.ts
@@ -0,0 +1,19 @@
+import type {
+ ChangeRequestCounts,
+ IProjectInsightsReadModel,
+} from './project-insights-read-model-type';
+
+const changeRequestCounts: ChangeRequestCounts = {
+ total: 0,
+ approved: 0,
+ applied: 0,
+ rejected: 0,
+ reviewRequired: 10,
+ scheduled: 0,
+};
+
+export class FakeProjectInsightsReadModel implements IProjectInsightsReadModel {
+ async getChangeRequests(projectId: string): Promise {
+ return changeRequestCounts;
+ }
+}
diff --git a/src/lib/features/project-insights/project-insights-read-model-type.ts b/src/lib/features/project-insights/project-insights-read-model-type.ts
new file mode 100644
index 0000000000..f100d77299
--- /dev/null
+++ b/src/lib/features/project-insights/project-insights-read-model-type.ts
@@ -0,0 +1,12 @@
+export type ChangeRequestCounts = {
+ total: number;
+ approved: number;
+ applied: number;
+ rejected: number;
+ reviewRequired: number;
+ scheduled: number;
+};
+
+export interface IProjectInsightsReadModel {
+ getChangeRequests(projectId: string): Promise;
+}
diff --git a/src/lib/features/project-insights/project-insights-read-model.ts b/src/lib/features/project-insights/project-insights-read-model.ts
new file mode 100644
index 0000000000..122ce20c7c
--- /dev/null
+++ b/src/lib/features/project-insights/project-insights-read-model.ts
@@ -0,0 +1,59 @@
+import type {
+ ChangeRequestCounts,
+ IProjectInsightsReadModel,
+} from './project-insights-read-model-type';
+import type { Db } from '../../db/db';
+
+export type ChangeRequestDBState =
+ | 'Approved'
+ | 'In review'
+ | 'Applied'
+ | 'Scheduled'
+ | 'Rejected';
+
+export class ProjectInsightsReadModel implements IProjectInsightsReadModel {
+ private db: Db;
+
+ constructor(db: Db) {
+ this.db = db;
+ }
+
+ async getChangeRequests(projectId: string): Promise {
+ const changeRequestCounts: ChangeRequestCounts = {
+ total: 0,
+ approved: 0,
+ applied: 0,
+ rejected: 0,
+ reviewRequired: 0,
+ scheduled: 0,
+ };
+
+ const rows: Array<{ state: ChangeRequestDBState; count: string }> =
+ await this.db('change_requests')
+ .select('state')
+ .count('* as count')
+ .where('project', '=', projectId)
+ .groupBy('state');
+
+ return rows.reduce((acc, current) => {
+ if (current.state === 'Applied') {
+ acc.applied = Number(current.count);
+ acc.total += Number(current.count);
+ } else if (current.state === 'Approved') {
+ acc.approved = Number(current.count);
+ acc.total += Number(current.count);
+ } else if (current.state === 'Rejected') {
+ acc.rejected = Number(current.count);
+ acc.total += Number(current.count);
+ } else if (current.state === 'In review') {
+ acc.reviewRequired = Number(current.count);
+ acc.total += Number(current.count);
+ } else if (current.state === 'Scheduled') {
+ acc.scheduled = Number(current.count);
+ acc.total += Number(current.count);
+ }
+
+ return acc;
+ }, changeRequestCounts);
+ }
+}
diff --git a/src/lib/features/project-insights/project-insights-service.ts b/src/lib/features/project-insights/project-insights-service.ts
index a8f20ded20..a2aba73813 100644
--- a/src/lib/features/project-insights/project-insights-service.ts
+++ b/src/lib/features/project-insights/project-insights-service.ts
@@ -10,6 +10,7 @@ import { calculateAverageTimeToProd } from '../feature-toggle/time-to-production
import type { IProjectStatsStore } from '../../types/stores/project-stats-store-type';
import type { ProjectDoraMetricsSchema } from '../../openapi';
import { calculateProjectHealth } from '../../domain/project-health/project-health';
+import type { IProjectInsightsReadModel } from './project-insights-read-model-type';
export class ProjectInsightsService {
private projectStore: IProjectStore;
@@ -22,6 +23,8 @@ export class ProjectInsightsService {
private projectStatsStore: IProjectStatsStore;
+ private projectInsightsReadModel: IProjectInsightsReadModel;
+
constructor(
{
projectStore,
@@ -36,12 +39,14 @@ export class ProjectInsightsService {
| 'featureTypeStore'
>,
featureToggleService: FeatureToggleService,
+ projectInsightsReadModel: IProjectInsightsReadModel,
) {
this.projectStore = projectStore;
this.featureToggleStore = featureToggleStore;
this.featureTypeStore = featureTypeStore;
this.featureToggleService = featureToggleService;
this.projectStatsStore = projectStatsStore;
+ this.projectInsightsReadModel = projectInsightsReadModel;
}
private async getDoraMetrics(
@@ -103,27 +108,28 @@ export class ProjectInsightsService {
inactive: 3,
totalPreviousMonth: 15,
},
- changeRequests: {
- total: 24,
- approved: 5,
- applied: 2,
- rejected: 4,
- reviewRequired: 10,
- scheduled: 3,
- },
};
- const [stats, featureTypeCounts, health, leadTime] = await Promise.all([
- this.projectStatsStore.getProjectStats(projectId),
- this.featureToggleService.getFeatureTypeCounts({
- projectId,
- archived: false,
- }),
- this.getHealthInsights(projectId),
- this.getDoraMetrics(projectId),
- ]);
+ const [stats, featureTypeCounts, health, leadTime, changeRequests] =
+ await Promise.all([
+ this.projectStatsStore.getProjectStats(projectId),
+ this.featureToggleService.getFeatureTypeCounts({
+ projectId,
+ archived: false,
+ }),
+ this.getHealthInsights(projectId),
+ this.getDoraMetrics(projectId),
+ this.projectInsightsReadModel.getChangeRequests(projectId),
+ ]);
- return { ...result, stats, featureTypeCounts, health, leadTime };
+ return {
+ ...result,
+ stats,
+ featureTypeCounts,
+ health,
+ leadTime,
+ changeRequests,
+ };
}
private async getProjectHealth(
diff --git a/src/lib/features/project-insights/projects-insights.e2e.test.ts b/src/lib/features/project-insights/projects-insights.e2e.test.ts
index a7205c1cda..d84a2a7e7f 100644
--- a/src/lib/features/project-insights/projects-insights.e2e.test.ts
+++ b/src/lib/features/project-insights/projects-insights.e2e.test.ts
@@ -34,6 +34,8 @@ test('project insights happy path', async () => {
.expect('Content-Type', /json/)
.expect(200);
+ console.log(body);
+
expect(body).toMatchObject({
stats: {
avgTimeToProdCurrentWindow: 0,
@@ -53,5 +55,13 @@ test('project insights happy path', async () => {
staleCount: 0,
rating: 100,
},
+ changeRequests: {
+ total: 0,
+ approved: 0,
+ applied: 0,
+ rejected: 0,
+ reviewRequired: 0,
+ scheduled: 0,
+ },
});
});
diff --git a/src/lib/features/project/project-service.ts b/src/lib/features/project/project-service.ts
index 085a84b8d9..a6ce3f78a3 100644
--- a/src/lib/features/project/project-service.ts
+++ b/src/lib/features/project/project-service.ts
@@ -76,7 +76,6 @@ import type {
IProjectEnterpriseSettingsUpdate,
IProjectQuery,
} from './project-store-type';
-import { calculateProjectHealth } from '../../domain/project-health/project-health';
const getCreatedBy = (user: IUser) => user.email || user.username || 'unknown';
@@ -1240,62 +1239,6 @@ export default class ProjectService {
};
}
- private async getHealthInsights(projectId: string) {
- const [overview, featureTypes] = await Promise.all([
- this.getProjectHealth(projectId, false, undefined),
- this.featureTypeStore.getAll(),
- ]);
-
- const { activeCount, potentiallyStaleCount, staleCount } =
- calculateProjectHealth(overview.features, featureTypes);
-
- return {
- activeCount,
- potentiallyStaleCount,
- staleCount,
- rating: overview.health,
- };
- }
-
- async getProjectInsights(projectId: string) {
- const result = {
- leadTime: {
- projectAverage: 17.1,
- features: [
- { name: 'feature1', timeToProduction: 120 },
- { name: 'feature2', timeToProduction: 0 },
- { name: 'feature3', timeToProduction: 33 },
- { name: 'feature4', timeToProduction: 131 },
- { name: 'feature5', timeToProduction: 2 },
- ],
- },
- members: {
- active: 20,
- inactive: 3,
- totalPreviousMonth: 15,
- },
- changeRequests: {
- total: 24,
- approved: 5,
- applied: 2,
- rejected: 4,
- reviewRequired: 10,
- scheduled: 3,
- },
- };
-
- const [stats, featureTypeCounts, health] = await Promise.all([
- this.projectStatsStore.getProjectStats(projectId),
- this.featureToggleService.getFeatureTypeCounts({
- projectId,
- archived: false,
- }),
- this.getHealthInsights(projectId),
- ]);
-
- return { ...result, stats, featureTypeCounts, health };
- }
-
async getProjectHealth(
projectId: string,
archived: boolean = false,
From c41ec49615745e3ed3b31f5b0a49ef85671d528c Mon Sep 17 00:00:00 2001
From: Jaanus Sellin
Date: Thu, 21 Mar 2024 11:27:37 +0200
Subject: [PATCH 8/8] feat: remove active/inactive members (#6654)

---
.../ProjectMembers/ProjectMembers.test.tsx | 9 +-
.../ProjectMembers/ProjectMembers.tsx | 101 +-----------------
.../useProjectInsights/useProjectInsights.ts | 5 +-
.../models/projectInsightsSchemaMembers.ts | 10 +-
.../project-insights-service.ts | 5 +-
.../openapi/spec/project-insights-schema.ts | 17 +--
6 files changed, 18 insertions(+), 129 deletions(-)
diff --git a/frontend/src/component/project/Project/ProjectInsights/ProjectMembers/ProjectMembers.test.tsx b/frontend/src/component/project/Project/ProjectInsights/ProjectMembers/ProjectMembers.test.tsx
index 4540bdcecf..62fa52c47b 100644
--- a/frontend/src/component/project/Project/ProjectInsights/ProjectMembers/ProjectMembers.test.tsx
+++ b/frontend/src/component/project/Project/ProjectInsights/ProjectMembers/ProjectMembers.test.tsx
@@ -4,15 +4,12 @@ import { ProjectMembers } from './ProjectMembers';
test('Show outdated project members', async () => {
const members = {
- active: 10,
- totalPreviousMonth: 2,
- inactive: 5,
+ currentMembers: 10,
+ change: 2,
};
render();
- await screen.findByText('15');
- await screen.findByText('+13');
await screen.findByText('10');
- await screen.findByText('5');
+ await screen.findByText('+2');
});
diff --git a/frontend/src/component/project/Project/ProjectInsights/ProjectMembers/ProjectMembers.tsx b/frontend/src/component/project/Project/ProjectInsights/ProjectMembers/ProjectMembers.tsx
index 0de33b3891..f69323b813 100644
--- a/frontend/src/component/project/Project/ProjectInsights/ProjectMembers/ProjectMembers.tsx
+++ b/frontend/src/component/project/Project/ProjectInsights/ProjectMembers/ProjectMembers.tsx
@@ -1,5 +1,5 @@
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
-import { Box, styled, Typography, useTheme } from '@mui/material';
+import { Box, styled, Typography } from '@mui/material';
import { StatusBox } from '../ProjectInsightsStats/StatusBox';
import KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight';
import { Link } from 'react-router-dom';
@@ -23,92 +23,17 @@ export const StyledProjectInfoWidgetContainer = styled('div')(({ theme }) => ({
gap: theme.spacing(2.5),
}));
-export const BarContainer = styled('div')(({ theme }) => ({
- width: '100%',
- height: '20px',
- display: 'flex',
-}));
-
-const ActiveBar = styled('span', {
- shouldForwardProp: (prop) => prop !== 'percentage',
-})<{
- percentage: number;
-}>(({ theme, percentage }) => ({
- width: `${percentage - 1}%`,
- backgroundColor: theme.palette.success.border,
- borderRadius: theme.shape.borderRadius,
-}));
-
-const InactiveBar = styled('span', {
- shouldForwardProp: (prop) => prop !== 'percentage',
-})<{
- percentage: number;
-}>(({ theme, percentage }) => ({
- width: `${percentage - 1}%`,
- backgroundColor: theme.palette.warning.border,
- marginLeft: 'auto',
- borderRadius: theme.shape.borderRadius,
-}));
-
-export const CountContainer = styled('div')(({ theme }) => ({
- display: 'flex',
- flexDirection: 'column',
- gap: theme.spacing(1.5),
-}));
-
-export const CountRow = styled(NavigationBar)(({ theme }) => ({
- display: 'flex',
- padding: theme.spacing(0.5, 1, 0, 2),
- alignItems: 'center',
- gap: theme.spacing(3),
- alignSelf: 'stretch',
- borderRadius: theme.shape.borderRadiusMedium,
- background: '#F7F7FA',
-}));
-
-const StatusWithDot = styled(Box)(({ theme }) => ({
- display: 'flex',
- alignItems: 'center',
- gap: theme.spacing(1),
-}));
-
-const Dot = styled('span', {
- shouldForwardProp: (prop) => prop !== 'color',
-})<{
- color?: string;
-}>(({ theme, color }) => ({
- height: '15px',
- width: '15px',
- borderRadius: '50%',
- display: 'inline-block',
- backgroundColor: color,
-}));
-
-export const StyledCount = styled('span')(({ theme }) => ({
- fontSize: theme.typography.h1.fontSize,
- fontWeight: theme.typography.fontWeightRegular,
- color: theme.palette.text.primary,
-}));
-
export const ProjectMembers = ({
members,
projectId,
}: IProjectMembersProps) => {
const { uiConfig } = useUiConfig();
- const theme = useTheme();
const link = uiConfig?.versionInfo?.current?.enterprise
? `/projects/${projectId}/settings/access`
: `/admin/users`;
- const { active, totalPreviousMonth, inactive } = members;
-
- const currentMembers = active + inactive;
- const change = currentMembers - (totalPreviousMonth || 0);
-
- const activePercentage = (active / currentMembers) * 100;
- const inactivePercentage = (inactive / currentMembers) * 100;
-
+ const { currentMembers, change } = members;
return (
@@ -122,28 +47,6 @@ export const ProjectMembers = ({
>
-
-
-
-
-
-
-
-
- Active
- {active}
-
-
-
-
-
-
- Inactive
- {inactive}
-
-
-
-
);
};
diff --git a/frontend/src/hooks/api/getters/useProjectInsights/useProjectInsights.ts b/frontend/src/hooks/api/getters/useProjectInsights/useProjectInsights.ts
index 1b80ea4e3f..89d6274287 100644
--- a/frontend/src/hooks/api/getters/useProjectInsights/useProjectInsights.ts
+++ b/frontend/src/hooks/api/getters/useProjectInsights/useProjectInsights.ts
@@ -46,9 +46,8 @@ const placeholderData: ProjectInsightsSchema = {
staleCount: 0,
},
members: {
- active: 0,
- inactive: 0,
- totalPreviousMonth: 0,
+ currentMembers: 0,
+ change: 0,
},
changeRequests: {
total: 0,
diff --git a/frontend/src/openapi/models/projectInsightsSchemaMembers.ts b/frontend/src/openapi/models/projectInsightsSchemaMembers.ts
index 736662cea6..bf3df04fbe 100644
--- a/frontend/src/openapi/models/projectInsightsSchemaMembers.ts
+++ b/frontend/src/openapi/models/projectInsightsSchemaMembers.ts
@@ -8,10 +8,8 @@
* Active/inactive users summary
*/
export type ProjectInsightsSchemaMembers = {
- /** The number of active project members who have used Unleash in the past 60 days */
- active: number;
- /** The number of inactive project members who have not used Unleash in the past 60 days */
- inactive: number;
- /** The number of total project members in the previous month */
- totalPreviousMonth?: number;
+ /** The change in the number of project members compared to the previous month */
+ change: number;
+ /** The number of total project members */
+ currentMembers: number;
};
diff --git a/src/lib/features/project-insights/project-insights-service.ts b/src/lib/features/project-insights/project-insights-service.ts
index a2aba73813..69e5a1879d 100644
--- a/src/lib/features/project-insights/project-insights-service.ts
+++ b/src/lib/features/project-insights/project-insights-service.ts
@@ -104,9 +104,8 @@ export class ProjectInsightsService {
async getProjectInsights(projectId: string) {
const result = {
members: {
- active: 20,
- inactive: 3,
- totalPreviousMonth: 15,
+ currentMembers: 20,
+ change: 3,
},
};
diff --git a/src/lib/openapi/spec/project-insights-schema.ts b/src/lib/openapi/spec/project-insights-schema.ts
index 60fef5e162..f06ce050f3 100644
--- a/src/lib/openapi/spec/project-insights-schema.ts
+++ b/src/lib/openapi/spec/project-insights-schema.ts
@@ -64,26 +64,19 @@ export const projectInsightsSchema = {
},
members: {
type: 'object',
- required: ['active', 'inactive'],
+ required: ['currentMembers', 'change'],
properties: {
- active: {
+ currentMembers: {
type: 'number',
- description:
- 'The number of active project members who have used Unleash in the past 60 days',
+ description: 'The number of total project members',
example: 10,
},
- inactive: {
+ change: {
type: 'number',
description:
- 'The number of inactive project members who have not used Unleash in the past 60 days',
+ 'The change in the number of project members compared to the previous month',
example: 10,
},
- totalPreviousMonth: {
- type: 'number',
- description:
- 'The number of total project members in the previous month',
- example: 8,
- },
},
description: 'Active/inactive users summary',
},