From fe35d4ac394fee546a62e9c4bfc1e45b74b19583 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 18:21:57 +0000 Subject: [PATCH 01/17] chore(deps): update dependency @types/node to v20.16.14 (#8579) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.16.13` -> `20.16.14`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.13/20.16.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.13/20.16.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.13/20.16.14?slim=true)](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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/Unleash/unleash). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 2169d67b14..e55bb31963 100644 --- a/package.json +++ b/package.json @@ -191,7 +191,7 @@ "@types/memoizee": "0.4.11", "@types/mime": "4.0.0", "@types/mustache": "^4.2.5", - "@types/node": "20.16.13", + "@types/node": "20.16.14", "@types/nodemailer": "6.4.16", "@types/owasp-password-strength-test": "1.3.2", "@types/pg": "8.11.10", diff --git a/yarn.lock b/yarn.lock index 20c8543208..cff9a4c135 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2061,12 +2061,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:20.16.13": - version: 20.16.13 - resolution: "@types/node@npm:20.16.13" +"@types/node@npm:20.16.14": + version: 20.16.14 + resolution: "@types/node@npm:20.16.14" dependencies: undici-types: "npm:~6.19.2" - checksum: 10c0/7f4fd7176db0802c62e11ebbf7a66d0248e2dc8ec9153d9fc8bcb164d9aed581d91c407046c823c522e60d0babfdc24a1618dba7f2c6920ef1a24e1d416c9550 + checksum: 10c0/297da38ff6668ecd672b17a100b715166cab33bc8d586521fa28b2d2fb47b04475e1ad9f55e8a436c31d72c1fefa7bd4485a8ad66d2adc9b4515d8a28937e8b9 languageName: node linkType: hard @@ -9359,7 +9359,7 @@ __metadata: "@types/memoizee": "npm:0.4.11" "@types/mime": "npm:4.0.0" "@types/mustache": "npm:^4.2.5" - "@types/node": "npm:20.16.13" + "@types/node": "npm:20.16.14" "@types/nodemailer": "npm:6.4.16" "@types/owasp-password-strength-test": "npm:1.3.2" "@types/pg": "npm:8.11.10" From 93f3f5ff038b2950cdb1d5ea5f3fe574e907d4c5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 18:22:44 +0000 Subject: [PATCH 02/17] chore(deps): update dependency @babel/core to v7.25.9 (#8578) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@babel/core](https://babel.dev/docs/en/next/babel-core) ([source](https://redirect.github.com/babel/babel/tree/HEAD/packages/babel-core)) | [`7.25.8` -> `7.25.9`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.25.8/7.25.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/7.25.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@babel%2fcore/7.25.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@babel%2fcore/7.25.8/7.25.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.25.8/7.25.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
babel/babel (@​babel/core) ### [`v7.25.9`](https://redirect.github.com/babel/babel/blob/HEAD/CHANGELOG.md#v7259-2024-10-22) [Compare Source](https://redirect.github.com/babel/babel/compare/v7.25.8...v7.25.9) ##### :bug: Bug Fix - `babel-parser`, `babel-template`, `babel-types` - [#​16905](https://redirect.github.com/babel/babel/pull/16905) fix: Keep type annotations in `syntacticPlaceholders` mode ([@​liuxingbaoyu](https://redirect.github.com/liuxingbaoyu)) - `babel-helper-compilation-targets`, `babel-preset-env` - [#​16907](https://redirect.github.com/babel/babel/pull/16907) fix: support BROWSERSLIST{,\_CONFIG} env ([@​JLHwung](https://redirect.github.com/JLHwung)) - Other - [#​16884](https://redirect.github.com/babel/babel/pull/16884) Analyze `ClassAccessorProperty` to prevent the `no-undef` rule ([@​victorenator](https://redirect.github.com/victorenator)) ##### :house: Internal - `babel-helper-transform-fixture-test-runner` - [#​16914](https://redirect.github.com/babel/babel/pull/16914) remove test options flaky ([@​JLHwung](https://redirect.github.com/JLHwung)) ##### :running_woman: Performance - `babel-parser`, `babel-types` - [#​16918](https://redirect.github.com/babel/babel/pull/16918) perf: Make `VISITOR_KEYS` etc. faster to access ([@​liuxingbaoyu](https://redirect.github.com/liuxingbaoyu))
--- ### 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/Unleash/unleash). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- website/package.json | 2 +- website/yarn.lock | 210 +++++++++++++++++++------------------------ yarn.lock | 210 +++++++++++++++++++------------------------ 4 files changed, 190 insertions(+), 234 deletions(-) diff --git a/package.json b/package.json index e55bb31963..5c3aa1c456 100644 --- a/package.json +++ b/package.json @@ -173,7 +173,7 @@ }, "devDependencies": { "@apidevtools/swagger-parser": "10.1.0", - "@babel/core": "7.25.8", + "@babel/core": "7.25.9", "@biomejs/biome": "^1.8.3", "@cyclonedx/yarn-plugin-cyclonedx": "^1.0.0-rc.7", "@swc/core": "1.7.39", diff --git a/website/package.json b/website/package.json index 360d8e69ca..dad8d6b987 100644 --- a/website/package.json +++ b/website/package.json @@ -68,7 +68,7 @@ ] }, "devDependencies": { - "@babel/core": "7.25.8", + "@babel/core": "7.25.9", "@docusaurus/module-type-aliases": "2.3.1", "@tsconfig/docusaurus": "2.0.3", "babel-loader": "9.2.1", diff --git a/website/yarn.lock b/website/yarn.lock index 59fcd04a94..9042544505 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -245,13 +245,14 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/code-frame@npm:7.25.7" +"@babel/code-frame@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/code-frame@npm:7.26.0" dependencies: - "@babel/highlight": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc + checksum: 10c0/46f7e367714be736b52ea3c01b24f47e2102e210fb83021d1c8237d8fc511b9538909e16e2fcdbb5cb6173e0794e28624309a59014e52fcfb7bde908f5284388 languageName: node linkType: hard @@ -269,10 +270,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.7": - version: 7.25.8 - resolution: "@babel/compat-data@npm:7.25.8" - checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4 +"@babel/compat-data@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/compat-data@npm:7.26.0" + checksum: 10c0/6325c9151a3c9b0a3a807e854a26255ef66d989bff331475a935af9bb18f160e0fffe6aed550e4e96b63f91efcd874bfbaab2a1f4a2f8d25645d712a0de590fb languageName: node linkType: hard @@ -300,26 +301,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.25.8": - version: 7.25.8 - resolution: "@babel/core@npm:7.25.8" +"@babel/core@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/core@npm:7.25.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helpers": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.8" - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.8" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helpers": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 + checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d languageName: node linkType: hard @@ -404,15 +405,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/generator@npm:7.25.7" +"@babel/generator@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/generator@npm:7.26.0" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/parser": "npm:^7.26.0" + "@babel/types": "npm:^7.26.0" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96 + checksum: 10c0/b6bb9185f19a97eaf58e04a6d39a13237076678e7ed16b6321dea914535d4bf6a8d7727c9dcb65539845aa0096b326eb67be4bab764bd74bcfd848e2eda68609 languageName: node linkType: hard @@ -480,16 +482,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-compilation-targets@npm:7.25.7" +"@babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c + checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa languageName: node linkType: hard @@ -699,13 +701,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-imports@npm:7.25.7" +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 languageName: node linkType: hard @@ -740,17 +742,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-transforms@npm:7.25.7" +"@babel/helper-module-transforms@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090 + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a languageName: node linkType: hard @@ -864,16 +865,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-simple-access@npm:7.25.7" - dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059 - languageName: node - linkType: hard - "@babel/helper-skip-transparent-expression-wrappers@npm:^7.18.9": version: 7.20.0 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.20.0" @@ -931,10 +922,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-string-parser@npm:7.25.7" - checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 languageName: node linkType: hard @@ -973,10 +964,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-identifier@npm:7.25.7" - checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0 +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d languageName: node linkType: hard @@ -994,10 +985,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-option@npm:7.25.7" - checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e languageName: node linkType: hard @@ -1046,13 +1037,13 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helpers@npm:7.25.7" +"@babel/helpers@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/helpers@npm:7.26.0" dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228 + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" + checksum: 10c0/343333cced6946fe46617690a1d0789346960910225ce359021a88a60a65bc0d791f0c5d240c0ed46cf8cc63b5fd7df52734ff14e43b9c32feae2b61b1647097 languageName: node linkType: hard @@ -1100,18 +1091,6 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/highlight@npm:7.25.7" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.7" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa - languageName: node - linkType: hard - "@babel/parser@npm:^7.12.7, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.18.8, @babel/parser@npm:^7.20.2": version: 7.20.3 resolution: "@babel/parser@npm:7.20.3" @@ -1157,14 +1136,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/parser@npm:7.25.8" +"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0": + version: 7.26.1 + resolution: "@babel/parser@npm:7.26.1" dependencies: - "@babel/types": "npm:^7.25.8" + "@babel/types": "npm:^7.26.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 + checksum: 10c0/dc7d4e6b7eb667fa0784e7e2c3f6f92ca12ad72242f6d4311995310dae55093f02acdb595b69b0dbbf04cb61ad87156ac03186ff32eacfa35149c655bc22c14b languageName: node linkType: hard @@ -3070,14 +3049,14 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/template@npm:7.25.7" +"@babel/template@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9 + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab languageName: node linkType: hard @@ -3099,18 +3078,18 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/traverse@npm:7.25.7" +"@babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a + checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 languageName: node linkType: hard @@ -3169,14 +3148,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/types@npm:7.25.8" +"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" dependencies: - "@babel/helper-string-parser": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8 languageName: node linkType: hard @@ -16379,7 +16357,7 @@ plugin-image-zoom@flexanalytics/plugin-image-zoom: version: 0.0.0-use.local resolution: "websitev-2@workspace:." dependencies: - "@babel/core": "npm:7.25.8" + "@babel/core": "npm:7.25.9" "@docusaurus/core": "npm:2.3.1" "@docusaurus/module-type-aliases": "npm:2.3.1" "@docusaurus/plugin-client-redirects": "npm:2.3.1" diff --git a/yarn.lock b/yarn.lock index cff9a4c135..68f75aa56c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,13 +104,14 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/code-frame@npm:7.25.7" +"@babel/code-frame@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/code-frame@npm:7.26.0" dependencies: - "@babel/highlight": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc + checksum: 10c0/46f7e367714be736b52ea3c01b24f47e2102e210fb83021d1c8237d8fc511b9538909e16e2fcdbb5cb6173e0794e28624309a59014e52fcfb7bde908f5284388 languageName: node linkType: hard @@ -121,33 +122,33 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.7": - version: 7.25.8 - resolution: "@babel/compat-data@npm:7.25.8" - checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4 +"@babel/compat-data@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/compat-data@npm:7.26.0" + checksum: 10c0/6325c9151a3c9b0a3a807e854a26255ef66d989bff331475a935af9bb18f160e0fffe6aed550e4e96b63f91efcd874bfbaab2a1f4a2f8d25645d712a0de590fb languageName: node linkType: hard -"@babel/core@npm:7.25.8": - version: 7.25.8 - resolution: "@babel/core@npm:7.25.8" +"@babel/core@npm:7.25.9": + version: 7.25.9 + resolution: "@babel/core@npm:7.25.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/helper-compilation-targets": "npm:^7.25.7" - "@babel/helper-module-transforms": "npm:^7.25.7" - "@babel/helpers": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.8" - "@babel/template": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.8" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helpers": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086 + checksum: 10c0/40d3064ebe906f65ed4153a0f4d75c679a19e4d71e425035b7bbe2d292a9167274f1a0d908d4d6c8f484fcddeb10bd91e0c7878fdb3dfad1bb00f6a319ce431d languageName: node linkType: hard @@ -197,15 +198,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/generator@npm:7.25.7" +"@babel/generator@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/generator@npm:7.26.0" dependencies: - "@babel/types": "npm:^7.25.7" + "@babel/parser": "npm:^7.26.0" + "@babel/types": "npm:^7.26.0" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96 + checksum: 10c0/b6bb9185f19a97eaf58e04a6d39a13237076678e7ed16b6321dea914535d4bf6a8d7727c9dcb65539845aa0096b326eb67be4bab764bd74bcfd848e2eda68609 languageName: node linkType: hard @@ -224,16 +226,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-compilation-targets@npm:7.25.7" +"@babel/helper-compilation-targets@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-compilation-targets@npm:7.25.9" dependencies: - "@babel/compat-data": "npm:^7.25.7" - "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/compat-data": "npm:^7.25.9" + "@babel/helper-validator-option": "npm:^7.25.9" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c + checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa languageName: node linkType: hard @@ -279,13 +281,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-imports@npm:7.25.7" +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 languageName: node linkType: hard @@ -305,17 +307,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-module-transforms@npm:7.25.7" +"@babel/helper-module-transforms@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: - "@babel/helper-module-imports": "npm:^7.25.7" - "@babel/helper-simple-access": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - "@babel/traverse": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090 + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a languageName: node linkType: hard @@ -335,16 +336,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-simple-access@npm:7.25.7" - dependencies: - "@babel/traverse": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059 - languageName: node - linkType: hard - "@babel/helper-split-export-declaration@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-split-export-declaration@npm:7.18.6" @@ -384,10 +375,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-string-parser@npm:7.25.7" - checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 languageName: node linkType: hard @@ -426,10 +417,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-identifier@npm:7.25.7" - checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0 +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d languageName: node linkType: hard @@ -440,10 +431,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helper-validator-option@npm:7.25.7" - checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e languageName: node linkType: hard @@ -458,13 +449,13 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/helpers@npm:7.25.7" +"@babel/helpers@npm:^7.25.9": + version: 7.26.0 + resolution: "@babel/helpers@npm:7.26.0" dependencies: - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228 + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.26.0" + checksum: 10c0/343333cced6946fe46617690a1d0789346960910225ce359021a88a60a65bc0d791f0c5d240c0ed46cf8cc63b5fd7df52734ff14e43b9c32feae2b61b1647097 languageName: node linkType: hard @@ -490,18 +481,6 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/highlight@npm:7.25.7" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.7" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa - languageName: node - linkType: hard - "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7": version: 7.20.7 resolution: "@babel/parser@npm:7.20.7" @@ -529,14 +508,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/parser@npm:7.25.8" +"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0": + version: 7.26.1 + resolution: "@babel/parser@npm:7.26.1" dependencies: - "@babel/types": "npm:^7.25.8" + "@babel/types": "npm:^7.26.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4 + checksum: 10c0/dc7d4e6b7eb667fa0784e7e2c3f6f92ca12ad72242f6d4311995310dae55093f02acdb595b69b0dbbf04cb61ad87156ac03186ff32eacfa35149c655bc22c14b languageName: node linkType: hard @@ -734,14 +713,14 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/template@npm:7.25.7" +"@babel/template@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/template@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" - checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9 + "@babel/code-frame": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab languageName: node linkType: hard @@ -763,18 +742,18 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.25.7": - version: 7.25.7 - resolution: "@babel/traverse@npm:7.25.7" +"@babel/traverse@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/traverse@npm:7.25.9" dependencies: - "@babel/code-frame": "npm:^7.25.7" - "@babel/generator": "npm:^7.25.7" - "@babel/parser": "npm:^7.25.7" - "@babel/template": "npm:^7.25.7" - "@babel/types": "npm:^7.25.7" + "@babel/code-frame": "npm:^7.25.9" + "@babel/generator": "npm:^7.25.9" + "@babel/parser": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a + checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1 languageName: node linkType: hard @@ -822,14 +801,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8": - version: 7.25.8 - resolution: "@babel/types@npm:7.25.8" +"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" dependencies: - "@babel/helper-string-parser": "npm:^7.25.7" - "@babel/helper-validator-identifier": "npm:^7.25.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8 languageName: node linkType: hard @@ -9340,7 +9318,7 @@ __metadata: resolution: "unleash-server@workspace:." dependencies: "@apidevtools/swagger-parser": "npm:10.1.0" - "@babel/core": "npm:7.25.8" + "@babel/core": "npm:7.25.9" "@biomejs/biome": "npm:^1.8.3" "@cyclonedx/yarn-plugin-cyclonedx": "npm:^1.0.0-rc.7" "@slack/web-api": "npm:^7.3.4" From 6efb9b61e129590744d4b5ae00329bbfeb7f4214 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 19:45:40 +0000 Subject: [PATCH 03/17] chore(deps): update dependency jsonpath-plus to v10.1.0 (#8580) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [jsonpath-plus](https://redirect.github.com/s3u/JSONPath) | [`10.0.0` -> `10.1.0`](https://renovatebot.com/diffs/npm/jsonpath-plus/10.0.0/10.1.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jsonpath-plus/10.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jsonpath-plus/10.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jsonpath-plus/10.0.0/10.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jsonpath-plus/10.0.0/10.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
s3u/JSONPath (jsonpath-plus) ### [`v10.1.0`](https://redirect.github.com/s3u/JSONPath/blob/HEAD/CHANGES.md#1010) [Compare Source](https://redirect.github.com/s3u/JSONPath/compare/v10.0.7...v10.1.0) - feat: add typeof operator to safe script ### [`v10.0.7`](https://redirect.github.com/s3u/JSONPath/blob/HEAD/CHANGES.md#1007) [Compare Source](https://redirect.github.com/s3u/JSONPath/compare/v10.0.6...v10.0.7) - fix(security): prevent `constructor` access - docs: add security policy file ### [`v10.0.6`](https://redirect.github.com/s3u/JSONPath/blob/HEAD/CHANGES.md#1006) [Compare Source](https://redirect.github.com/s3u/JSONPath/compare/v10.0.5...v10.0.6) - fix(security): prevent `call`/`apply` invocation of `Function` ### [`v10.0.5`](https://redirect.github.com/s3u/JSONPath/blob/HEAD/CHANGES.md#1005) [Compare Source](https://redirect.github.com/s3u/JSONPath/compare/v10.0.4...v10.0.5) - fix: remove overly aggressive disabling of native functions but disallow `__proto__` ### [`v10.0.4`](https://redirect.github.com/s3u/JSONPath/blob/HEAD/CHANGES.md#1004) [Compare Source](https://redirect.github.com/s3u/JSONPath/compare/v10.0.3...v10.0.4) - fix(security): further prevent binding of Function calls which may evade detection ### [`v10.0.3`](https://redirect.github.com/s3u/JSONPath/blob/HEAD/CHANGES.md#1003) [Compare Source](https://redirect.github.com/s3u/JSONPath/compare/v10.0.2...v10.0.3) - fix(security): prevent binding of Function calls which may evade detection ### [`v10.0.2`](https://redirect.github.com/s3u/JSONPath/blob/HEAD/CHANGES.md#1002) [Compare Source](https://redirect.github.com/s3u/JSONPath/compare/v10.0.1...v10.0.2) - fix(security): prevent Function calls outside of member expressions ### [`v10.0.1`](https://redirect.github.com/s3u/JSONPath/blob/HEAD/CHANGES.md#1001) - fix(security): prohibit `Function` in "safe" vm
--- ### 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](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 e3e3e2895f..ff2a5d109a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -128,7 +128,7 @@ "resolutions": { "@codemirror/state": "6.4.1", "@xmldom/xmldom": "^0.9.0", - "jsonpath-plus": "10.0.0", + "jsonpath-plus": "10.1.0", "json5": "^2.2.2", "vite": "5.4.9", "semver": "7.6.3", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 098fac3960..8404ed117f 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -6737,9 +6737,9 @@ __metadata: languageName: node linkType: hard -"jsonpath-plus@npm:10.0.0": - version: 10.0.0 - resolution: "jsonpath-plus@npm:10.0.0" +"jsonpath-plus@npm:10.1.0": + version: 10.1.0 + resolution: "jsonpath-plus@npm:10.1.0" dependencies: "@jsep-plugin/assignment": "npm:^1.2.1" "@jsep-plugin/regex": "npm:^1.0.3" @@ -6747,7 +6747,7 @@ __metadata: bin: jsonpath: bin/jsonpath-cli.js jsonpath-plus: bin/jsonpath-cli.js - checksum: 10c0/0bd0ad79397f319c8543f090a944ea08c933c13d69ad5213f202f738ef4abd46de57c917844a83e2e89643cadbfc2e327a402c01eaf50bd1870882d50a4a8b95 + checksum: 10c0/1ff0743f9113f7750b598563c7886e1b07c19f112c4a8d976165e6799ff9774279985d1f4a147e87eacc0b94eb27dbd6e3ab5cf0728d4ba947f00757bc6aebb4 languageName: node linkType: hard From fc8571d5cf4906c1c044272ffb2a5ac71798823e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 19:45:47 +0000 Subject: [PATCH 04/17] chore(deps): update dependency msw to v2.5.0 (#8581) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [msw](https://mswjs.io) ([source](https://redirect.github.com/mswjs/msw)) | [`2.4.12` -> `2.5.0`](https://renovatebot.com/diffs/npm/msw/2.4.12/2.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/msw/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/msw/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/msw/2.4.12/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/msw/2.4.12/2.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
mswjs/msw (msw) ### [`v2.5.0`](https://redirect.github.com/mswjs/msw/releases/tag/v2.5.0) [Compare Source](https://redirect.github.com/mswjs/msw/compare/v2.4.13...v2.5.0) #### v2.5.0 (2024-10-22) ##### Features - isolate parent and child frames when handling requests ([#​2324](https://redirect.github.com/mswjs/msw/issues/2324)) ([`a1a81ba`](https://redirect.github.com/mswjs/msw/commit/a1a81ba00170bbcdfc6f64baa4a3630e153d77b3)) [@​kettanaito](https://redirect.github.com/kettanaito) ### [`v2.4.13`](https://redirect.github.com/mswjs/msw/releases/tag/v2.4.13) [Compare Source](https://redirect.github.com/mswjs/msw/compare/v2.4.12...v2.4.13) #### v2.4.13 (2024-10-22) ##### Bug Fixes - update `@inquirer/confirm` to 4.0 ([#​2300](https://redirect.github.com/mswjs/msw/issues/2300)) ([`0cf9cce`](https://redirect.github.com/mswjs/msw/commit/0cf9cce8da519e7bd5a8c8ffcdab348ffb55a3ec)) [@​greysteil](https://redirect.github.com/greysteil) [@​kettanaito](https://redirect.github.com/kettanaito)
--- ### 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](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 | 84 ++++++++++++++++++++++++------------------- 2 files changed, 48 insertions(+), 38 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index ff2a5d109a..61f0441e95 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -93,7 +93,7 @@ "lodash.mapvalues": "^4.6.0", "lodash.omit": "4.5.0", "millify": "^6.0.0", - "msw": "2.4.12", + "msw": "2.5.0", "orval": "^6.31.0", "pkginfo": "0.4.1", "plausible-tracker": "0.3.9", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 8404ed117f..a6a4cc6861 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1383,48 +1383,49 @@ __metadata: languageName: node linkType: hard -"@inquirer/confirm@npm:^3.0.0": - version: 3.1.9 - resolution: "@inquirer/confirm@npm:3.1.9" +"@inquirer/confirm@npm:^4.0.0": + version: 4.0.1 + resolution: "@inquirer/confirm@npm:4.0.1" dependencies: - "@inquirer/core": "npm:^8.2.2" - "@inquirer/type": "npm:^1.3.3" - checksum: 10c0/9fb63a052cbe3705bcab706b3e68d70aa75ac7c7bfc04cc4fee2319e4da9355150c99b205bc72b595844e1549705643049e71d14070a3ab3d6483941c1e6a239 + "@inquirer/core": "npm:^9.2.1" + "@inquirer/type": "npm:^2.0.0" + checksum: 10c0/8ea5e6a63efa348b626750384c249cc903280e38c2596bb42c640f178b375dbc389d8c4d040b2e4759b3937d8a188e245ca262b8dc7cdb2fa35dfce4104c2e8f languageName: node linkType: hard -"@inquirer/core@npm:^8.2.2": - version: 8.2.2 - resolution: "@inquirer/core@npm:8.2.2" +"@inquirer/core@npm:^9.2.1": + version: 9.2.1 + resolution: "@inquirer/core@npm:9.2.1" dependencies: - "@inquirer/figures": "npm:^1.0.3" - "@inquirer/type": "npm:^1.3.3" + "@inquirer/figures": "npm:^1.0.6" + "@inquirer/type": "npm:^2.0.0" "@types/mute-stream": "npm:^0.0.4" - "@types/node": "npm:^20.12.13" + "@types/node": "npm:^22.5.5" "@types/wrap-ansi": "npm:^3.0.0" ansi-escapes: "npm:^4.3.2" - chalk: "npm:^4.1.2" - cli-spinners: "npm:^2.9.2" cli-width: "npm:^4.1.0" mute-stream: "npm:^1.0.0" signal-exit: "npm:^4.1.0" strip-ansi: "npm:^6.0.1" wrap-ansi: "npm:^6.2.0" - checksum: 10c0/6a04b42f856b31f892bd2195cbb214a38836f708f09925b36a50b11e3e84dca73ebf008ff7a42f2e7901350450a1cec8fe625c43cc1a90eda3c10ed7e4527cca + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/11c14be77a9fa85831de799a585721b0a49ab2f3b7d8fd1780c48ea2b29229c6bdc94e7892419086d0f7734136c2ba87b6a32e0782571eae5bbd655b1afad453 languageName: node linkType: hard -"@inquirer/figures@npm:^1.0.3": - version: 1.0.3 - resolution: "@inquirer/figures@npm:1.0.3" - checksum: 10c0/099e062f000baafb4010014ece443d0cd211f562194854dc52a128bfe514611f8cc3da4cdb5092d75440956aff201dcd8e893b8a71feb104f97b0b00c6a696cf +"@inquirer/figures@npm:^1.0.6": + version: 1.0.7 + resolution: "@inquirer/figures@npm:1.0.7" + checksum: 10c0/d7b4cfcd38dd43d1ac79da52c4478aa89145207004a471aa2083856f1d9b99adef45563f09d66c09d6457b09200fcf784527804b70ad3bd517cbc5e11142c2df languageName: node linkType: hard -"@inquirer/type@npm:^1.3.3": - version: 1.3.3 - resolution: "@inquirer/type@npm:1.3.3" - checksum: 10c0/84048694410bb5b2c55dc4e48da6369ce942b9e8f8016d15ef63ab3f9873832a56cc12a50582b5b2b626821bfe29973dfcc19edc90f58490b51df1f4d9d0a074 +"@inquirer/type@npm:^2.0.0": + version: 2.0.0 + resolution: "@inquirer/type@npm:2.0.0" + dependencies: + mute-stream: "npm:^1.0.0" + checksum: 10c0/8c663d52beb2b89a896d3c3d5cc3d6d024fa149e565555bcb42fa640cbe23fba7ff2c51445342cef1fe6e46305e2d16c1590fa1d11ad0ddf93a67b655ef41f0a languageName: node linkType: hard @@ -3084,7 +3085,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.12.12, @types/node@npm:^20.12.13": +"@types/node@npm:^20.12.12": version: 20.17.1 resolution: "@types/node@npm:20.17.1" dependencies: @@ -3093,6 +3094,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.5.5": + version: 22.8.4 + resolution: "@types/node@npm:22.8.4" + dependencies: + undici-types: "npm:~6.19.8" + checksum: 10c0/f88d030480630194a9168772462ec09b2d86454f34368c46d2b7fda5dc6e14594b1576fcc5c35cc53b57a4d1e8dd2865a85ae81f34ded0d1af753a0f5d294c25 + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" @@ -4143,13 +4153,6 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^2.9.2": - version: 2.9.2 - resolution: "cli-spinners@npm:2.9.2" - checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 - languageName: node - linkType: hard - "cli-table3@npm:~0.6.1": version: 0.6.5 resolution: "cli-table3@npm:0.6.5" @@ -7609,14 +7612,14 @@ __metadata: languageName: node linkType: hard -"msw@npm:2.4.12": - version: 2.4.12 - resolution: "msw@npm:2.4.12" +"msw@npm:2.5.0": + version: 2.5.0 + resolution: "msw@npm:2.5.0" dependencies: "@bundled-es-modules/cookie": "npm:^2.0.0" "@bundled-es-modules/statuses": "npm:^1.0.1" "@bundled-es-modules/tough-cookie": "npm:^0.1.6" - "@inquirer/confirm": "npm:^3.0.0" + "@inquirer/confirm": "npm:^4.0.0" "@mswjs/interceptors": "npm:^0.36.5" "@open-draft/until": "npm:^2.1.0" "@types/cookie": "npm:^0.6.0" @@ -7637,7 +7640,7 @@ __metadata: optional: true bin: msw: cli/index.js - checksum: 10c0/1f24544e5aaac4a5184cae48ee4f6f8a85d1476f361cb7b831fcabfb4cdedbb03a38298c1b1c3af77118c439b797d8a95e2398ba1c233cf353be496de1a0ef9c + checksum: 10c0/59eb6d2496b4d44f6b5507802beffd780ac03efc0b02cc092886d1ff6b9266297274ee655cf89bcccc49988d960f685f0dd571535663bc7f60f38e8040d9a092 languageName: node linkType: hard @@ -10153,7 +10156,7 @@ __metadata: lodash.mapvalues: "npm:^4.6.0" lodash.omit: "npm:4.5.0" millify: "npm:^6.0.0" - msw: "npm:2.4.12" + msw: "npm:2.5.0" orval: "npm:^6.31.0" pkginfo: "npm:0.4.1" plausible-tracker: "npm:0.3.9" @@ -10836,6 +10839,13 @@ __metadata: languageName: node linkType: hard +"yoctocolors-cjs@npm:^2.1.2": + version: 2.1.2 + resolution: "yoctocolors-cjs@npm:2.1.2" + checksum: 10c0/a0e36eb88fea2c7981eab22d1ba45e15d8d268626e6c4143305e2c1628fa17ebfaa40cd306161a8ce04c0a60ee0262058eab12567493d5eb1409780853454c6f + languageName: node + linkType: hard + "zustand@npm:4.0.0": version: 4.0.0 resolution: "zustand@npm:4.0.0" From 545f5d8be673834b54cf3efadcecffa5bcee16db Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 29 Oct 2024 23:24:45 +0000 Subject: [PATCH 05/17] fix(deps): update dependency @slack/web-api to v7.6.0 (#8584) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@slack/web-api](https://slack.dev/node-slack-sdk/web-api) ([source](https://redirect.github.com/slackapi/node-slack-sdk)) | [`7.5.0` -> `7.6.0`](https://renovatebot.com/diffs/npm/@slack%2fweb-api/7.5.0/7.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fweb-api/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fweb-api/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fweb-api/7.5.0/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fweb-api/7.5.0/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
slackapi/node-slack-sdk (@​slack/web-api) ### [`v7.6.0`](https://redirect.github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.6.0) [Compare Source](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.5.0...@slack/web-api@7.6.0) ### What's New We've added support for [a new Slack Connect invite automation API: `conversations.requestShared.list`](https://api.slack.com/methods/conversations.requestSharedInvite.list). Use the `list` API as well as the `approve` and `deny` APIs to automate approval and denial of Slack Connect invites into your Slack workspaces. More details about this feature are available in our [Governing Slack Connect invites docs](https://api.slack.com/automation/governing-slack-connect-invites). Also, the response types for a few APIs were extended with a few new properties. Check out [#​2071](https://redirect.github.com/slackapi/node-slack-sdk/issues/2071) for the minor details. ### Changelog [`59f200a`](https://redirect.github.com/slackapi/node-slack-sdk/commit/59f200a9) web-api(feat): add support for `conversations.requestShared.list` API ([#​2072](https://redirect.github.com/slackapi/node-slack-sdk/issues/2072)) [`01d9d2d`](https://redirect.github.com/slackapi/node-slack-sdk/commit/01d9d2df) web-api(feat): minor additions to some admin API response types ([#​2071](https://redirect.github.com/slackapi/node-slack-sdk/issues/2071))
--- ### 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/Unleash/unleash). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 68f75aa56c..1bd2e396f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1533,8 +1533,8 @@ __metadata: linkType: hard "@slack/web-api@npm:^7.3.4": - version: 7.5.0 - resolution: "@slack/web-api@npm:7.5.0" + version: 7.7.0 + resolution: "@slack/web-api@npm:7.7.0" dependencies: "@slack/logger": "npm:^4.0.0" "@slack/types": "npm:^2.9.0" @@ -1548,7 +1548,7 @@ __metadata: p-queue: "npm:^6" p-retry: "npm:^4" retry: "npm:^0.13.1" - checksum: 10c0/067af68cb4aa823a13c328ae6db60ad22e41a97cdc2b69836176980a3075026c563f131b62f50ca9176481a0f6a4667e969fef783c63ea9cc1f206104fd20177 + checksum: 10c0/1b1703206872ff106103440397aa37031ea862448f1c84ffc9c8efc71f8edc1b1ca129a18b7d2d3f7e9b0c7760052e1739a8165e407dc7b58e6140a8000cf7ff languageName: node linkType: hard From 3337786e5a3be001a6aad672c2c1a84ac1b7b0c5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 00:56:50 +0000 Subject: [PATCH 06/17] fix(deps): update dependency pg to v8.13.0 (#8585) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pg](https://redirect.github.com/brianc/node-postgres) ([source](https://redirect.github.com/brianc/node-postgres/tree/HEAD/packages/pg)) | [`8.12.0` -> `8.13.0`](https://renovatebot.com/diffs/npm/pg/8.12.0/8.13.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pg/8.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pg/8.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pg/8.12.0/8.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pg/8.12.0/8.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
brianc/node-postgres (pg) ### [`v8.13.0`](https://redirect.github.com/brianc/node-postgres/compare/pg@8.12.0...pg@8.13.0) [Compare Source](https://redirect.github.com/brianc/node-postgres/compare/pg@8.12.0...pg@8.13.0)
--- ### 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/Unleash/unleash). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 88 +++++++++++++++---------------------------------------- 1 file changed, 24 insertions(+), 64 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1bd2e396f8..44d2730613 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2749,13 +2749,6 @@ __metadata: languageName: node linkType: hard -"buffer-writer@npm:2.0.0": - version: 2.0.0 - resolution: "buffer-writer@npm:2.0.0" - checksum: 10c0/c91b2ab09a200cf0862237e5a4dbd5077003b42d26d4f0c596ec7149f82ef83e0751d670bcdf379ed988d1a08c0fac7759a8cb928cf1a4710a1988a7618b1190 - languageName: node - linkType: hard - "buildcheck@npm:~0.0.6": version: 0.0.6 resolution: "buildcheck@npm:0.0.6" @@ -7224,13 +7217,6 @@ __metadata: languageName: node linkType: hard -"packet-reader@npm:1.0.0": - version: 1.0.0 - resolution: "packet-reader@npm:1.0.0" - checksum: 10c0/c86c3321bb07e0f03cc2db59f7701184e0bbfcb914f1fdc963993b03262486deb402292adcef39b64e3530ea66b3b2e2163d6da7b3792a730bdd1c6df3175aaa - languageName: node - linkType: hard - "parse-database-url@npm:^0.3.0, parse-database-url@npm:~0.3.0": version: 0.3.0 resolution: "parse-database-url@npm:0.3.0" @@ -7374,13 +7360,20 @@ __metadata: languageName: node linkType: hard -"pg-connection-string@npm:^2.5.0, pg-connection-string@npm:^2.6.2, pg-connection-string@npm:^2.6.4": +"pg-connection-string@npm:^2.5.0": version: 2.6.4 resolution: "pg-connection-string@npm:2.6.4" checksum: 10c0/0d0b617df0fc6507bf6a94bdcd56c7a305788a1402d69bff9773350947c8f525d6d8136128065370749a3325e99658ae40fbdcce620fb8e60126181f0591a6a6 languageName: node linkType: hard +"pg-connection-string@npm:^2.7.0": + version: 2.7.0 + resolution: "pg-connection-string@npm:2.7.0" + checksum: 10c0/50a1496a1c858f9495d78a2c7a66d93ef3602e718aff2953bb5738f3ea616d7f727f32fc20513c9bed127650cd14c1ddc7b458396f4000e689d4b64c65c5c51e + languageName: node + linkType: hard + "pg-int8@npm:1.0.1": version: 1.0.1 resolution: "pg-int8@npm:1.0.1" @@ -7395,35 +7388,26 @@ __metadata: languageName: node linkType: hard -"pg-pool@npm:^3.6.1": - version: 3.6.1 - resolution: "pg-pool@npm:3.6.1" +"pg-pool@npm:^3.7.0": + version: 3.7.0 + resolution: "pg-pool@npm:3.7.0" peerDependencies: pg: ">=8.0" - checksum: 10c0/47837c4e4c2b9e195cec01bd58b6e276acc915537191707ad4d6ed975fd9bc03c73f63cb7fde4cb0e08ed059e35faf60fbd03744dee3af71d4b4631ab40eeb7f + checksum: 10c0/9128673cf941f288c0cb1a74ca959a9b4f6075ef73b2cc7dece5d4db3dd7043784869e7c12bce2e69ca0df22132a419cc45c2050b4373632856fe8bae9eb94b5 languageName: node linkType: hard -"pg-pool@npm:^3.6.2": - version: 3.6.2 - resolution: "pg-pool@npm:3.6.2" - peerDependencies: - pg: ">=8.0" - checksum: 10c0/14c524549490954b5e48457a4b808df8f619f6deeb3b395b0cd184a8f4ed65a9273fe0697ba0341a41d6745af197f1437eb1cf51fff0cbbf5b0fb3852ebe5392 - languageName: node - linkType: hard - -"pg-protocol@npm:*, pg-protocol@npm:^1.6.0": +"pg-protocol@npm:*": version: 1.6.0 resolution: "pg-protocol@npm:1.6.0" checksum: 10c0/318a4d1e9cebd3927b10a8bc412f5017117a1f9a5fafb628d75847da7d1ab81c33250de58596bd0990029e14e92a995a851286d60fc236692299faf509572213 languageName: node linkType: hard -"pg-protocol@npm:^1.6.1": - version: 1.6.1 - resolution: "pg-protocol@npm:1.6.1" - checksum: 10c0/7eadef4010ac0a3925c460be7332ca4098a5c6d5181725a62193fcfa800000ae6632d98d814f3989b42cf5fdc3b45e34c714a1959d29174e81e30730e140ae5f +"pg-protocol@npm:^1.7.0": + version: 1.7.0 + resolution: "pg-protocol@npm:1.7.0" + checksum: 10c0/c4af854d9b843c808231c0040fed89f2b9101006157df8da2bb2f62a7dde702de748d852228dc22df41cc7ffddfb526af3bcb34b278b581e9f76a060789186c1 languageName: node linkType: hard @@ -7455,16 +7439,14 @@ __metadata: languageName: node linkType: hard -"pg@npm:^8.11.2": - version: 8.11.3 - resolution: "pg@npm:8.11.3" +"pg@npm:^8.11.2, pg@npm:^8.12.0": + version: 8.13.1 + resolution: "pg@npm:8.13.1" dependencies: - buffer-writer: "npm:2.0.0" - packet-reader: "npm:1.0.0" pg-cloudflare: "npm:^1.1.1" - pg-connection-string: "npm:^2.6.2" - pg-pool: "npm:^3.6.1" - pg-protocol: "npm:^1.6.0" + pg-connection-string: "npm:^2.7.0" + pg-pool: "npm:^3.7.0" + pg-protocol: "npm:^1.7.0" pg-types: "npm:^2.1.0" pgpass: "npm:1.x" peerDependencies: @@ -7475,29 +7457,7 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: 10c0/07e6967fc8bd5d72bab9be6620626e8e3ab59128ebf56bf0de83d67f10801a19221d88b3317e90b93339ba48d0498b39967b782ae39686aabda6bc647bceb438 - languageName: node - linkType: hard - -"pg@npm:^8.12.0": - version: 8.12.0 - resolution: "pg@npm:8.12.0" - dependencies: - pg-cloudflare: "npm:^1.1.1" - pg-connection-string: "npm:^2.6.4" - pg-pool: "npm:^3.6.2" - pg-protocol: "npm:^1.6.1" - pg-types: "npm:^2.1.0" - pgpass: "npm:1.x" - peerDependencies: - pg-native: ">=3.0.1" - dependenciesMeta: - pg-cloudflare: - optional: true - peerDependenciesMeta: - pg-native: - optional: true - checksum: 10c0/973e49b5e7327c42fc62806efa8c824159ab7a0b676cefe6eeb51a59b6e226587911ec27697f36c18d69e58a7f4f0b76d0829364087194d13ed431ab7c9c417a + checksum: 10c0/c13bc661cbdb115337bc8519254836faf4bd79106dfd7ed588c8ece8c8b2dd3b7376bfec9a9a2f7646fa095b0b310cec77a83c3ba2ea4872331446eb93fd9055 languageName: node linkType: hard From 916e890c93309778c09b00888e85da5c168f2194 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 03:24:39 +0000 Subject: [PATCH 07/17] chore(deps): update dependency vite to v5.4.10 (#8586) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.9` -> `5.4.10`](https://renovatebot.com/diffs/npm/vite/5.4.9/5.4.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.9/5.4.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.9/5.4.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
vitejs/vite (vite) ### [`v5.4.10`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.10) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v5.4.9...v5.4.10) Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.10/packages/vite/CHANGELOG.md) for 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 these updates again. --- - [ ] 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). Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- frontend/package.json | 4 ++-- frontend/yarn.lock | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 61f0441e95..c14a4f2097 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -118,7 +118,7 @@ "typescript": "5.4.5", "use-query-params": "^2.2.1", "vanilla-jsoneditor": "^0.23.0", - "vite": "5.4.9", + "vite": "5.4.10", "vite-plugin-env-compatible": "2.0.1", "vite-plugin-svgr": "3.3.0", "vite-tsconfig-paths": "4.3.2", @@ -130,7 +130,7 @@ "@xmldom/xmldom": "^0.9.0", "jsonpath-plus": "10.1.0", "json5": "^2.2.2", - "vite": "5.4.9", + "vite": "5.4.10", "semver": "7.6.3", "ws": "^8.18.0", "@types/react": "18.3.11" diff --git a/frontend/yarn.lock b/frontend/yarn.lock index a6a4cc6861..5b3f0e5154 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -10181,7 +10181,7 @@ __metadata: typescript: "npm:5.4.5" use-query-params: "npm:^2.2.1" vanilla-jsoneditor: "npm:^0.23.0" - vite: "npm:5.4.9" + vite: "npm:5.4.10" vite-plugin-env-compatible: "npm:2.0.1" vite-plugin-svgr: "npm:3.3.0" vite-tsconfig-paths: "npm:4.3.2" @@ -10454,9 +10454,9 @@ __metadata: languageName: node linkType: hard -"vite@npm:5.4.9": - version: 5.4.9 - resolution: "vite@npm:5.4.9" +"vite@npm:5.4.10": + version: 5.4.10 + resolution: "vite@npm:5.4.10" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -10493,7 +10493,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/e9c59f2c639047e37c79bbbb151c7a55a3dc27932957cf4cf0447ee0bdcc1ddfd9b1fb3ba0465371c01ba3616d62561327855794c2d652213c3a10a32e6d369d + checksum: 10c0/4ef4807d2fd166a920de244dbcec791ba8a903b017a7d8e9f9b4ac40d23f8152c1100610583d08f542b47ca617a0505cfc5f8407377d610599d58296996691ed languageName: node linkType: hard From 5f67dcefcd8122ec30121f69d2ace99673f1eeb2 Mon Sep 17 00:00:00 2001 From: Jaanus Sellin Date: Wed, 30 Oct 2024 10:38:42 +0200 Subject: [PATCH 08/17] feat: archive is now part of project feature list (#8587) ![image](https://github.com/user-attachments/assets/6218a1f7-1ef7-49f8-85d0-c6ee1c34d954) --- .../ArchivedFeatureDeleteConfirm.tsx | 2 +- .../ArchivedFeatureReviveConfirm.tsx | 3 +- .../ProjectFeatureToggles.tsx | 63 ++++++++++++++----- .../ProjectOverviewFilters.tsx | 8 +++ .../hooks/useRowActions.tsx | 49 +++++++++++++++ 5 files changed, 107 insertions(+), 18 deletions(-) diff --git a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm.tsx b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm.tsx index 4fa9f92d76..4793db7e6c 100644 --- a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm.tsx +++ b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm.tsx @@ -11,7 +11,7 @@ interface IArchivedFeatureDeleteConfirmProps { deletedFeatures: string[]; projectId: string; open: boolean; - setOpen: React.Dispatch>; + setOpen: (open: boolean) => void; refetch: () => void; } diff --git a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm.tsx b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm.tsx index 9fa0ffd358..3a1cfeee66 100644 --- a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm.tsx +++ b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm.tsx @@ -1,5 +1,4 @@ import { Alert, styled } from '@mui/material'; -import type React from 'react'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { formatUnknownError } from 'utils/formatUnknownError'; import useToast from 'hooks/useToast'; @@ -11,7 +10,7 @@ interface IArchivedFeatureReviveConfirmProps { revivedFeatures: string[]; projectId: string; open: boolean; - setOpen: React.Dispatch>; + setOpen: (open: boolean) => void; refetch: () => void; } diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.tsx index 9ae5d4b0f2..8525dfa00c 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.tsx @@ -47,6 +47,8 @@ import { ProjectOnboarding } from '../../../onboarding/flow/ProjectOnboarding'; import { useLocalStorageState } from 'hooks/useLocalStorageState'; import { ProjectOnboarded } from 'component/onboarding/flow/ProjectOnboarded'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; +import { ArchivedFeatureActionCell } from '../../../archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureActionCell'; +import { ArchiveBatchActions } from '../../../archive/ArchiveTable/ArchiveBatchActions'; interface IPaginatedProjectFeatureTogglesProps { environments: string[]; @@ -115,6 +117,8 @@ export const ProjectFeatureToggles = ({ setFeatureArchiveState, setFeatureStaleDialogState, setShowMarkCompletedDialogue, + setShowFeatureReviveDialogue, + setShowFeatureDeleteDialogue, } = useRowActions(refetch, projectId); const isPlaceholder = Boolean(initialLoad || (loading && total)); @@ -321,14 +325,32 @@ export const ProjectFeatureToggles = ({ columnHelper.display({ id: 'actions', header: '', - cell: ({ row }) => ( - - ), + cell: ({ row }) => + tableState.archived ? ( + { + setShowFeatureReviveDialogue({ + featureId: row.id, + open: true, + }); + }} + onDelete={() => { + setShowFeatureDeleteDialogue({ + featureId: row.id, + open: true, + }); + }} + /> + ) : ( + + ), + enableSorting: false, enableHiding: false, meta: { @@ -585,13 +607,24 @@ export const ProjectFeatureToggles = ({ } /> - + {tableState.archived ? ( + { + refetch(); + table.resetRowSelection(); + }} + /> + ) : ( + + )} ); diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx index 0bbb2da2d3..ffce3a6f89 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx @@ -95,6 +95,14 @@ export const ProjectOverviewFilters: VFC = ({ singularOperators: ['IS', 'IS_NOT'], pluralOperators: ['IS_ANY_OF', 'IS_NONE_OF'], }, + { + label: 'Show only archived', + icon: 'inventory', + options: [{ label: 'True', value: 'true' }], + filterKey: 'archived', + singularOperators: ['IS'], + pluralOperators: ['IS_ANY_OF'], + }, ]; setAvailableFilters(availableFilters); diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/hooks/useRowActions.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/hooks/useRowActions.tsx index 5ba17bf051..ad05827e40 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/hooks/useRowActions.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/hooks/useRowActions.tsx @@ -2,6 +2,8 @@ import { useState } from 'react'; import { FeatureArchiveDialog } from 'component/common/FeatureArchiveDialog/FeatureArchiveDialog'; import { FeatureStaleDialog } from 'component/common/FeatureStaleDialog/FeatureStaleDialog'; import { MarkCompletedDialogue } from 'component/feature/FeatureView/FeatureOverview/FeatureLifecycle/MarkCompletedDialogue'; +import { ArchivedFeatureDeleteConfirm } from '../../../../archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm'; +import { ArchivedFeatureReviveConfirm } from '../../../../archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm'; export const useRowActions = (onChange: () => void, projectId: string) => { const [featureArchiveState, setFeatureArchiveState] = useState< @@ -20,6 +22,21 @@ export const useRowActions = (onChange: () => void, projectId: string) => { featureId: 'default', open: false, }); + const [showFeatureReviveDialogue, setShowFeatureReviveDialogue] = useState<{ + featureId: string; + open: boolean; + }>({ + featureId: 'default', + open: false, + }); + const [showFeatureDeleteDialogue, setShowFeatureDeleteDialogue] = useState<{ + featureId: string; + open: boolean; + }>({ + featureId: 'default', + open: false, + }); + const rowActionsDialogs = ( <> void, projectId: string) => { featureId={showMarkCompletedDialogue.featureId} onComplete={onChange} /> + { + setShowFeatureDeleteDialogue((prev) => ({ + ...prev, + open, + })); + }} + refetch={onChange} + /> + { + setShowFeatureReviveDialogue((prev) => ({ + ...prev, + open, + })); + }} + refetch={() => { + setShowFeatureReviveDialogue((prev) => ({ + ...prev, + open: false, + })); + onChange(); + }} + /> ); @@ -62,5 +109,7 @@ export const useRowActions = (onChange: () => void, projectId: string) => { setFeatureArchiveState, setFeatureStaleDialogState, setShowMarkCompletedDialogue, + setShowFeatureReviveDialogue, + setShowFeatureDeleteDialogue, }; }; From c1dcbde8d9b3d35355786a176a904eaf8b9946cc Mon Sep 17 00:00:00 2001 From: Mateusz Kwasniewski Date: Wed, 30 Oct 2024 10:11:10 +0100 Subject: [PATCH 09/17] fix: welcome message with no name (#8588) --- .../src/component/personalDashboard/PersonalDashboard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/component/personalDashboard/PersonalDashboard.tsx b/frontend/src/component/personalDashboard/PersonalDashboard.tsx index 48dcf06e17..afc6bbe74f 100644 --- a/frontend/src/component/personalDashboard/PersonalDashboard.tsx +++ b/frontend/src/component/personalDashboard/PersonalDashboard.tsx @@ -105,9 +105,9 @@ export const PersonalDashboard = () => { const { trackEvent } = usePlausibleTracker(); const { setSplashSeen } = useSplashApi(); const { splash } = useAuthSplash(); - const name = user?.name; + const name = user?.name || ''; - usePageTitle(`Dashboard: ${name}`); + usePageTitle(name ? `Dashboard: ${name}` : 'Dashboard'); const { personalDashboard, refetch: refetchDashboard } = usePersonalDashboard(); From 65c7f77980b85281d8ea475fdbddeb2906d4b2c2 Mon Sep 17 00:00:00 2001 From: Jaanus Sellin Date: Wed, 30 Oct 2024 11:52:01 +0200 Subject: [PATCH 10/17] feat: hide archive UI behind flag (#8591) This new UI needs more work and we are soon making 6.4 release, I do not want to release it without flag. Putting it behind flag. --- .../ProjectOverviewFilters.tsx | 22 ++++++++++++------- frontend/src/interfaces/uiConfig.ts | 1 + src/lib/types/experimental.ts | 7 +++++- src/server-dev.ts | 1 + 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx index ffce3a6f89..0a2d8479a9 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx @@ -6,6 +6,7 @@ import { type IFilterItem, } from 'component/filter/Filters/Filters'; import { useProjectFlagCreators } from 'hooks/api/getters/useProjectFlagCreators/useProjectFlagCreators'; +import { useUiFlag } from 'hooks/useUiFlag'; interface IProjectOverviewFilters { state: FilterItemParamHolder; @@ -21,6 +22,7 @@ export const ProjectOverviewFilters: VFC = ({ const { tags } = useAllTags(); const { flagCreators } = useProjectFlagCreators(project); const [availableFilters, setAvailableFilters] = useState([]); + const simplifyProjectOverview = useUiFlag('simplifyProjectOverview'); useEffect(() => { const tagsOptions = (tags || []).map((tag) => ({ @@ -95,14 +97,18 @@ export const ProjectOverviewFilters: VFC = ({ singularOperators: ['IS', 'IS_NOT'], pluralOperators: ['IS_ANY_OF', 'IS_NONE_OF'], }, - { - label: 'Show only archived', - icon: 'inventory', - options: [{ label: 'True', value: 'true' }], - filterKey: 'archived', - singularOperators: ['IS'], - pluralOperators: ['IS_ANY_OF'], - }, + ...(simplifyProjectOverview + ? ([ + { + label: 'Show only archived', + icon: 'inventory', + options: [{ label: 'True', value: 'true' }], + filterKey: 'archived', + singularOperators: ['IS'], + pluralOperators: ['IS_ANY_OF'], + }, + ] as IFilterItem[]) + : []), ]; setAvailableFilters(availableFilters); diff --git a/frontend/src/interfaces/uiConfig.ts b/frontend/src/interfaces/uiConfig.ts index 71479206df..202cbceed3 100644 --- a/frontend/src/interfaces/uiConfig.ts +++ b/frontend/src/interfaces/uiConfig.ts @@ -91,6 +91,7 @@ export type UiFlags = { purchaseAdditionalEnvironments?: boolean; unleashAI?: boolean; releasePlans?: boolean; + simplifyProjectOverview?: boolean; }; export interface IVersionInfo { diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index 1df825499f..fc38028490 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -61,7 +61,8 @@ export type IFlagKey = | 'addonUsageMetrics' | 'releasePlans' | 'navigationSidebar' - | 'productivityReportEmail'; + | 'productivityReportEmail' + | 'simplifyProjectOverview'; export type IFlags = Partial<{ [key in IFlagKey]: boolean | Variant }>; @@ -306,6 +307,10 @@ const flags: IFlags = { process.env.UNLEASH_EXPERIMENTAL_PRODUCTIVITY_REPORT_EMAIL, false, ), + simplifyProjectOverview: parseEnvVarBoolean( + process.env.UNLEASH_EXPERIMENTAL_SIMPLIFY_PROJECT_OVERVIEW, + false, + ), }; export const defaultExperimentalOptions: IExperimentalOptions = { diff --git a/src/server-dev.ts b/src/server-dev.ts index 91c2bfc4c7..fef0e66415 100644 --- a/src/server-dev.ts +++ b/src/server-dev.ts @@ -57,6 +57,7 @@ process.nextTick(async () => { webhookDomainLogging: true, addonUsageMetrics: true, releasePlans: false, + simplifyProjectOverview: true, }, }, authentication: { From 1add516e4957e05998cdc83414ab30e302811d3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nuno=20G=C3=B3is?= Date: Wed, 30 Oct 2024 09:53:12 +0000 Subject: [PATCH 11/17] chore: event timeline GA (#8552) https://linear.app/unleash/issue/2-2682/remove-feature-flag https://linear.app/unleash/issue/2-2705/remove-experimental-tag-from-the-new-event-properties https://linear.app/unleash/issue/2-2751/remove-the-beta-badge-for-event-timeline-in-new-in-unleash Makes event timeline GA by tackling the respective tasks: - Remove `eventTimeline` feature flag - Remove `[Experimental]` tag from the new schema properties - No longer show the "beta" badge for this item in "New in Unleash" --- .../MainLayout/MainLayoutEventTimeline.tsx | 4 +--- .../NewInUnleash/NewInUnleash.tsx | 4 +--- .../menu/Header/HeaderEventTimelineButton.tsx | 4 +--- .../events/event-search-controller.ts | 20 ++++++++----------- src/lib/openapi/spec/event-schema.ts | 6 ++---- src/lib/types/experimental.ts | 5 ----- 6 files changed, 13 insertions(+), 30 deletions(-) diff --git a/frontend/src/component/layout/MainLayout/MainLayoutEventTimeline.tsx b/frontend/src/component/layout/MainLayout/MainLayoutEventTimeline.tsx index e50ebe81d2..fd32cf7cd6 100644 --- a/frontend/src/component/layout/MainLayout/MainLayoutEventTimeline.tsx +++ b/frontend/src/component/layout/MainLayout/MainLayoutEventTimeline.tsx @@ -3,7 +3,6 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/Condit import { EventTimeline } from 'component/events/EventTimeline/EventTimeline'; import { useEventTimelineContext } from 'component/events/EventTimeline/EventTimelineContext'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { useUiFlag } from 'hooks/useUiFlag'; import { useEffect, useState } from 'react'; const StyledEventTimelineSlider = styled(Box)(({ theme }) => ({ @@ -21,10 +20,9 @@ const StyledEventTimelineWrapper = styled(Box)(({ theme }) => ({ export const MainLayoutEventTimeline = () => { const { isOss } = useUiConfig(); const { open: showTimeline } = useEventTimelineContext(); - const eventTimelineEnabled = useUiFlag('eventTimeline') && !isOss(); const [isInitialLoad, setIsInitialLoad] = useState(true); - const open = showTimeline && eventTimelineEnabled; + const open = showTimeline && !isOss(); useEffect(() => { setIsInitialLoad(false); diff --git a/frontend/src/component/layout/MainLayout/NavigationSidebar/NewInUnleash/NewInUnleash.tsx b/frontend/src/component/layout/MainLayout/NavigationSidebar/NewInUnleash/NewInUnleash.tsx index d07b601d13..bfdb849f4c 100644 --- a/frontend/src/component/layout/MainLayout/NavigationSidebar/NewInUnleash/NewInUnleash.tsx +++ b/frontend/src/component/layout/MainLayout/NavigationSidebar/NewInUnleash/NewInUnleash.tsx @@ -104,7 +104,6 @@ export const NewInUnleash = ({ ); const { isOss, isEnterprise } = useUiConfig(); const signalsEnabled = useUiFlag('signals'); - const eventTimelineEnabled = useUiFlag('eventTimeline'); const { setHighlighted } = useEventTimelineContext(); @@ -159,7 +158,7 @@ export const NewInUnleash = ({ }, docsLink: 'https://docs.getunleash.io/reference/events#event-timeline', - show: !isOss() && eventTimelineEnabled, + show: !isOss(), longDescription: ( <>

@@ -174,7 +173,6 @@ export const NewInUnleash = ({

), - beta: true, }, ]; diff --git a/frontend/src/component/menu/Header/HeaderEventTimelineButton.tsx b/frontend/src/component/menu/Header/HeaderEventTimelineButton.tsx index d40ad42fea..9340c166db 100644 --- a/frontend/src/component/menu/Header/HeaderEventTimelineButton.tsx +++ b/frontend/src/component/menu/Header/HeaderEventTimelineButton.tsx @@ -3,7 +3,6 @@ import LinearScaleIcon from '@mui/icons-material/LinearScale'; import { useEventTimelineContext } from 'component/events/EventTimeline/EventTimelineContext'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; -import { useUiFlag } from 'hooks/useUiFlag'; const StyledHeaderEventTimelineButton = styled(IconButton, { shouldForwardProp: (prop) => prop !== 'highlighted', @@ -34,14 +33,13 @@ const StyledHeaderEventTimelineButton = styled(IconButton, { export const HeaderEventTimelineButton = () => { const { trackEvent } = usePlausibleTracker(); const { isOss } = useUiConfig(); - const eventTimeline = useUiFlag('eventTimeline') && !isOss(); const { open: showTimeline, setOpen: setShowTimeline, highlighted, } = useEventTimelineContext(); - if (!eventTimeline) return null; + if (isOss()) return null; return ( { - const { label, text: summary } = - this.msgFormatter.format(event); + return events.map((event) => { + const { label, text: summary } = this.msgFormatter.format(event); - return { - ...event, - label, - summary, - }; - }); - } - return events; + return { + ...event, + label, + summary, + }; + }); } maybeAnonymiseEvents(events: IEvent[]): IEvent[] { diff --git a/src/lib/openapi/spec/event-schema.ts b/src/lib/openapi/spec/event-schema.ts index 78f8640e51..fe33fbe732 100644 --- a/src/lib/openapi/spec/event-schema.ts +++ b/src/lib/openapi/spec/event-schema.ts @@ -95,14 +95,12 @@ export const eventSchema = { label: { type: 'string', nullable: true, - description: - '**[Experimental]** The concise, human-readable name of the event.', + description: 'The concise, human-readable name of the event.', }, summary: { type: 'string', nullable: true, - description: - '**[Experimental]** A markdown-formatted summary of the event.', + description: 'A markdown-formatted summary of the event.', }, }, components: { diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index fc38028490..13bad2bb6e 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -51,7 +51,6 @@ export type IFlagKey = | 'removeUnsafeInlineStyleSrc' | 'onboardingUI' | 'projectRoleAssignment' - | 'eventTimeline' | 'personalDashboardUI' | 'trackLifecycleMetrics' | 'purchaseAdditionalEnvironments' @@ -263,10 +262,6 @@ const flags: IFlags = { process.env.UNLEASH_EXPERIMENTAL_PROJECT_ROLE_ASSIGNMENT, false, ), - eventTimeline: parseEnvVarBoolean( - process.env.UNLEASH_EXPERIMENTAL_EVENT_TIMELINE, - false, - ), personalDashboardUI: parseEnvVarBoolean( process.env.UNLEASH_EXPERIMENTAL_PERSONAL_DASHBOARD_UI, false, From 728df6825cd629ef2f035d8bafc2b9787b697c59 Mon Sep 17 00:00:00 2001 From: David Leek Date: Wed, 30 Oct 2024 11:22:52 +0100 Subject: [PATCH 12/17] chore: add migration for milestone strategy segments (#8593) --- ...emplate-ref-and-missing-strategy-fields.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/migrations/20241030093439-release-plans-template-ref-and-missing-strategy-fields.js diff --git a/src/migrations/20241030093439-release-plans-template-ref-and-missing-strategy-fields.js b/src/migrations/20241030093439-release-plans-template-ref-and-missing-strategy-fields.js new file mode 100644 index 0000000000..d18203eab7 --- /dev/null +++ b/src/migrations/20241030093439-release-plans-template-ref-and-missing-strategy-fields.js @@ -0,0 +1,27 @@ +exports.up = function(db, cb) { + db.runSql(` + ALTER TABLE release_plan_definitions ADD COLUMN release_plan_template_id TEXT REFERENCES release_plan_definitions(id) ON DELETE CASCADE; + CREATE INDEX idx_release_plan_template_definition_id ON release_plan_definitions (release_plan_template_id) WHERE release_plan_template_id IS NOT NULL; + + ALTER TABLE feature_strategies ADD COLUMN milestone_id TEXT REFERENCES milestones(id) ON DELETE CASCADE; + CREATE INDEX idx_feature_strategies_milestone_id ON feature_strategies (milestone_id) WHERE milestone_id IS NOT NULL; + + CREATE TABLE milestone_strategy_segments ( + segment_id INT NOT NULL references segments(id) ON DELETE CASCADE, + milestone_strategy_id TEXT NOT NULL references milestone_strategies(id) ON DELETE CASCADE, + created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT (now() at time zone 'utc'), + PRIMARY KEY (segment_id, milestone_strategy_id) + ); + + ALTER TABLE milestone_strategies ADD COLUMN variants JSONB NOT NULL DEFAULT '[]'::JSONB; + `, cb) +}; + +exports.down = function(db, cb) { + db.runSql(` + ALTER TABLE release_plan_definitions DROP COLUMN release_plan_template_id; + ALTER TABLE feature_strategies DROP COLUMN milestone_id; + DROP TABLE milestone_strategy_segments; + ALTER TABLE milestone_strategies DROP COLUMN variants; + `, cb); +}; From 095a82569c1e0259417b1ec5fc58277d30b8e4fa Mon Sep 17 00:00:00 2001 From: Jaanus Sellin Date: Wed, 30 Oct 2024 12:35:47 +0200 Subject: [PATCH 13/17] feat: search endpoint should return archived at date (#8592) Include archived at to search response payload. --- .../features/feature-search/feature-search-store.ts | 2 ++ .../features/feature-search/feature.search.e2e.test.ts | 10 ++++++++++ src/lib/openapi/spec/feature-search-response-schema.ts | 5 ----- src/lib/types/model.ts | 1 + 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/lib/features/feature-search/feature-search-store.ts b/src/lib/features/feature-search/feature-search-store.ts index bf3fd577c1..f08eb624f8 100644 --- a/src/lib/features/feature-search/feature-search-store.ts +++ b/src/lib/features/feature-search/feature-search-store.ts @@ -121,6 +121,7 @@ class FeatureSearchStore implements IFeatureSearchStore { 'features.name as feature_name', 'features.description as description', 'features.type as type', + 'features.archived_at as archived_at', 'features.project as project', 'features.created_at as created_at', 'features.stale as stale', @@ -475,6 +476,7 @@ class FeatureSearchStore implements IFeatureSearchStore { name: row.feature_name, createdAt: row.created_at, stale: row.stale, + archivedAt: row.archived_at, impressionData: row.impression_data, lastSeenAt: row.last_seen_at, dependencyType: row.dependency, diff --git a/src/lib/features/feature-search/feature.search.e2e.test.ts b/src/lib/features/feature-search/feature.search.e2e.test.ts index 396010cc22..41d52ad589 100644 --- a/src/lib/features/feature-search/feature.search.e2e.test.ts +++ b/src/lib/features/feature-search/feature.search.e2e.test.ts @@ -179,6 +179,11 @@ const filterFeaturesByEnvironmentStatus = async ( const searchFeaturesWithoutQueryParams = async (expectedCode = 200) => { return app.request.get(`/api/admin/search/features`).expect(expectedCode); }; +const getProjectArchive = async (projectId = 'default', expectedCode = 200) => { + return app.request + .get(`/api/admin/archive/features/${projectId}`) + .expect(expectedCode); +}; test('should search matching features by name', async () => { await app.createFeature('my_feature_a'); @@ -1154,6 +1159,7 @@ test('should return archived when query param set', async () => { features: [ { name: 'my_feature_a', + archivedAt: null, }, ], }); @@ -1162,10 +1168,14 @@ test('should return archived when query param set', async () => { query: 'my_feature', archived: 'IS:true', }); + + const { body: archive } = await getProjectArchive(); + expect(archivedFeatures).toMatchObject({ features: [ { name: 'my_feature_b', + archivedAt: archive.features[0].archivedAt, }, ], }); diff --git a/src/lib/openapi/spec/feature-search-response-schema.ts b/src/lib/openapi/spec/feature-search-response-schema.ts index 3bb5e64f6d..5085116acc 100644 --- a/src/lib/openapi/spec/feature-search-response-schema.ts +++ b/src/lib/openapi/spec/feature-search-response-schema.ts @@ -54,11 +54,6 @@ export const featureSearchResponseSchema = { description: "The type of dependency. 'parent' means that the feature is a parent feature, 'child' means that the feature is a child feature.", }, - archived: { - type: 'boolean', - example: true, - description: '`true` if the feature is archived', - }, project: { type: 'string', example: 'dx-squad', diff --git a/src/lib/types/model.ts b/src/lib/types/model.ts index 46da479814..9300b58dad 100644 --- a/src/lib/types/model.ts +++ b/src/lib/types/model.ts @@ -261,6 +261,7 @@ export type IFeatureSearchOverview = Exclude< > & { dependencyType: 'parent' | 'child' | null; environments: FeatureSearchEnvironmentSchema[]; + archivedAt: string; createdBy: { id: number; name: string; From a1c98c440010fbbb3a92a71a2e297ce52d8ff422 Mon Sep 17 00:00:00 2001 From: David Leek Date: Wed, 30 Oct 2024 11:44:26 +0100 Subject: [PATCH 14/17] chore: remove the addonUsageMetrics flag (#8590) --- src/lib/addons/addon.ts | 10 ++++------ src/lib/types/experimental.ts | 5 ----- src/server-dev.ts | 1 - 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/lib/addons/addon.ts b/src/lib/addons/addon.ts index 173e84b750..3cbfbf93e5 100644 --- a/src/lib/addons/addon.ts +++ b/src/lib/addons/addon.ts @@ -94,12 +94,10 @@ export default abstract class Addon { integrationEvent: IntegrationEventWriteModel, ): Promise { await this.integrationEventsService.registerEvent(integrationEvent); - if (this.flagResolver.isEnabled('addonUsageMetrics')) { - this.eventBus.emit(ADDON_EVENTS_HANDLED, { - result: integrationEvent.state, - destination: this.name, - }); - } + this.eventBus.emit(ADDON_EVENTS_HANDLED, { + result: integrationEvent.state, + destination: this.name, + }); } destroy?(): void; diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index 13bad2bb6e..f24395ef49 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -57,7 +57,6 @@ export type IFlagKey = | 'originMiddlewareRequestLogging' | 'unleashAI' | 'webhookDomainLogging' - | 'addonUsageMetrics' | 'releasePlans' | 'navigationSidebar' | 'productivityReportEmail' @@ -286,10 +285,6 @@ const flags: IFlags = { process.env.UNLEASH_EXPERIMENT_WEBHOOK_DOMAIN_LOGGING, false, ), - addonUsageMetrics: parseEnvVarBoolean( - process.env.UNLEASH_EXPERIMENTAL_ADDON_USAGE_METRICS, - false, - ), releasePlans: parseEnvVarBoolean( process.env.UNLEASH_EXPERIMENTAL_RELEASE_PLANS, false, diff --git a/src/server-dev.ts b/src/server-dev.ts index fef0e66415..81a95d9f16 100644 --- a/src/server-dev.ts +++ b/src/server-dev.ts @@ -55,7 +55,6 @@ process.nextTick(async () => { originMiddlewareRequestLogging: true, unleashAI: true, webhookDomainLogging: true, - addonUsageMetrics: true, releasePlans: false, simplifyProjectOverview: true, }, From a1d6795533cda298179e20ef97e059f4fef2a0fa Mon Sep 17 00:00:00 2001 From: Alvin Bryan <107407814+alvinometric@users.noreply.github.com> Date: Wed, 30 Oct 2024 11:55:51 +0000 Subject: [PATCH 15/17] Docusaurus v3 (#8485) - Upgrades to latest Docusaurus - Upgrades our OpenAPI plugin to latest too - Removes old, unneeded dependencies - Our configs and sidebar files now use TypeScript [Preview link](https://unleash-docs-git-alvin-docusaurus-v3-unleash-team.vercel.app/) --------- Co-authored-by: melindafekete Co-authored-by: Christopher Kolstad --- .gitignore | 2 +- website/.gitignore | 2 +- website/babel.config.js | 3 - ...rated-docs.js => clean-generated-docs.mjs} | 4 +- ...s.md => implementing-feature-flags-ios.md} | 16 +- .../react/implementing-feature-flags.mdx | 2 +- .../docs/how-to/how-to-add-sso-azure-saml.mdx | 2 +- .../how-to-environment-import-export.mdx | 3 + website/docs/reference/feature-toggles.mdx | 2 +- .../jira-server-plugin-installation.md | 2 +- website/docs/reference/network-view.mdx | 9 +- website/docs/reference/sdks/index.mdx | 6 +- website/docs/reference/segments.mdx | 2 +- .../understanding-unleash/unleash-overview.md | 2 +- .../deploy/upgrading-unleash.mdx | 2 - ...usaurus.config.js => docusaurus.config.ts} | 35 +- website/package.json | 62 +- website/remote-content/edge-proxy.js | 6 +- website/remote-content/sdks.js | 6 +- website/remote-content/sdks.test.js | 2 +- website/remote-content/shared.js | 23 +- website/{sidebars.js => sidebars.ts} | 13 +- .../DocItem/Footer/GitHubContributors.jsx | 2 +- ...rs.module.scss => contributors.module.css} | 34 +- website/src/theme/DocItem/Footer/index.jsx | 2 +- ...anguages.js => prism-include-languages.ts} | 17 +- website/static/img/network-view.png | Bin 0 -> 122406 bytes website/yarn.lock | 9360 +++++++++-------- 28 files changed, 4838 insertions(+), 4783 deletions(-) delete mode 100644 website/babel.config.js rename website/{clean-generated-docs.js => clean-generated-docs.mjs} (92%) rename website/docs/feature-flag-tutorials/ios/{implementing-feature-flags.md => implementing-feature-flags-ios.md} (93%) rename website/{docusaurus.config.js => docusaurus.config.ts} (97%) rename website/{sidebars.js => sidebars.ts} (99%) rename website/src/theme/DocItem/Footer/{contributors.module.scss => contributors.module.css} (67%) rename website/src/theme/{prism-include-languages.js => prism-include-languages.ts} (59%) create mode 100644 website/static/img/network-view.png diff --git a/.gitignore b/.gitignore index 842fdcf856..ce487b45bc 100644 --- a/.gitignore +++ b/.gitignore @@ -58,7 +58,7 @@ frontend/src/openapi/apis frontend/src/openapi/index.ts # Generated docs -website/docs/reference/api/**/sidebar.js +website/docs/reference/api/**/sidebar.ts website/docs/reference/api/**/**.info.mdx website/docs/generated reports/jest-junit.xml diff --git a/website/.gitignore b/website/.gitignore index dc0baad8a9..d906f81365 100644 --- a/website/.gitignore +++ b/website/.gitignore @@ -20,7 +20,7 @@ yarn-debug.log* yarn-error.log* # OpenAPI docusaurus generated stuff -docs/reference/api/**/sidebar.js +docs/reference/api/**/sidebar.ts *.api.mdx *.tag.mdx diff --git a/website/babel.config.js b/website/babel.config.js deleted file mode 100644 index 0adade1fb9..0000000000 --- a/website/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -}; diff --git a/website/clean-generated-docs.js b/website/clean-generated-docs.mjs similarity index 92% rename from website/clean-generated-docs.js rename to website/clean-generated-docs.mjs index 116a15ae60..b8bfcdd419 100644 --- a/website/clean-generated-docs.js +++ b/website/clean-generated-docs.mjs @@ -15,7 +15,7 @@ // the bits that are specific to the generation source we use, and make the docs // easier to use. In particular, removing the leading `/ushosted` is likely to // save us loooots of questions. -const replace = require('replace-in-file'); +import { replaceInFileSync } from 'replace-in-file'; const options = { files: 'docs/reference/api/**/*.api.mdx', @@ -27,4 +27,4 @@ const options = { to: ['', '""', '"path":['], }; -replace(options); +replaceInFileSync(options); diff --git a/website/docs/feature-flag-tutorials/ios/implementing-feature-flags.md b/website/docs/feature-flag-tutorials/ios/implementing-feature-flags-ios.md similarity index 93% rename from website/docs/feature-flag-tutorials/ios/implementing-feature-flags.md rename to website/docs/feature-flag-tutorials/ios/implementing-feature-flags-ios.md index 354b20707c..e5a8466eab 100644 --- a/website/docs/feature-flag-tutorials/ios/implementing-feature-flags.md +++ b/website/docs/feature-flag-tutorials/ios/implementing-feature-flags-ios.md @@ -13,12 +13,14 @@ In this tutorial, you will learn how to set up and use iOS feature flags with Un Here are the steps we will cover in this tutorial: -1. [Feature flag best practices for client-side apps](#1-architect-to-limit-pii-and-configuration-leakage) -2. [Spin up a local provider](#2-install-a-local-feature-flag-provider) -3. [Configure a feature flag](#3-create-and-configure-the-feature-flag) -4. [Add Unleash to an iOS app](#4-add-unleash-to-an-ios-app) -5. [Log status of iOS feature flag](#5-configure-unleash-and-log-ios-feature-flag-status) -6. [Verify the feature flag experience](#6-verify-the-feature-flag-experience) +- [Prerequisites](#prerequisites) +- [1. Architect to limit PII and configuration leakage](#1-architect-to-limit-pii-and-configuration-leakage) +- [2. Install a local feature flag provider](#2-install-a-local-feature-flag-provider) +- [3. Create and configure the feature flag](#3-create-and-configure-the-feature-flag) +- [4. Add Unleash to an iOS app](#4-add-unleash-to-an-ios-app) +- [5. Configure Unleash and log iOS feature flag status](#5-configure-unleash-and-log-ios-feature-flag-status) +- [6. Verify the feature flag experience](#6-verify-the-feature-flag-experience) +- [Conclusion](#conclusion) ## Prerequisites @@ -37,7 +39,7 @@ a. Limit PII (personally identifiable information) leakage from the end-user dev b. Avoid leakage of configuration information from the central feature flag control service to end-user devices. -Solving both means you need to avoid evaluating feature flags on the user's machine due to security risks like exposing API keys and flag data. Instead, send application context (e.g. username, location, etc) to your feature flag evaluation service to evaluate the results. These results (and only these results) should be stored in the client-side application memory. By keeping the evaluated results for a specific context in memory, you avoid network roundtrips every time your application needs to check the status of a feature flag. This method prevents unauthorized access and data breaches by [keeping configurations and PII secure](/topics/feature-flags/never-expose-pii). +Solving both means you need to avoid evaluating feature flags on the user's machine due to security risks like exposing API keys and flag data. Instead, send application context (e.g. username, location, etc) to your feature flag evaluation service to evaluate the results. These results (and only these results) should be stored in the client-side application memory. By keeping the evaluated results for a specific context in memory, you avoid network roundtrips every time your application needs to check the status of a feature flag. This method prevents unauthorized access and data breaches by [keeping configurations and PII secure](/topics/feature-flags/feature-flag-best-practices#2-protect-pii-by-evaluating-flags-server-side). ![Keep configurations and PII secure image](/img/react-tutorial-pii-diagram.png) diff --git a/website/docs/feature-flag-tutorials/react/implementing-feature-flags.mdx b/website/docs/feature-flag-tutorials/react/implementing-feature-flags.mdx index 0ccd8d0061..5e1adf687a 100644 --- a/website/docs/feature-flag-tutorials/react/implementing-feature-flags.mdx +++ b/website/docs/feature-flag-tutorials/react/implementing-feature-flags.mdx @@ -50,7 +50,7 @@ a. Limit PII (personally identifiable information) leakage from the end-user dev b. Avoid leakage of configuration information from the central feature flag control service to end-user devices. -Solving both means you need to avoid evaluating feature flags on the user's machine due to security risks like exposing API keys and flag data. Instead, send application context (e.g. username, location, etc) to your feature flag evaluation service to evaluate the results. These results (and only these results) should be stored in the client-side application memory. By keeping the evaluated results for a specific context in memory, you avoid network roundtrips every time your application needs to check the status of a feature flag. This method prevents unauthorized access and data breaches by [keeping configurations and PII secure](/topics/feature-flags/never-expose-pii). +Solving both means you need to avoid evaluating feature flags on the user's machine due to security risks like exposing API keys and flag data. Instead, send application context (e.g. username, location, etc) to your feature flag evaluation service to evaluate the results. These results (and only these results) should be stored in the client-side application memory. By keeping the evaluated results for a specific context in memory, you avoid network roundtrips every time your application needs to check the status of a feature flag. This method prevents unauthorized access and data breaches by [keeping configurations and PII secure](/topics/feature-flags/feature-flag-best-practices#2-protect-pii-by-evaluating-flags-server-side). ![Keep configurations and PII secure image](/img/react-tutorial-pii-diagram.png) diff --git a/website/docs/how-to/how-to-add-sso-azure-saml.mdx b/website/docs/how-to/how-to-add-sso-azure-saml.mdx index 7e36d4633f..60d6c36487 100644 --- a/website/docs/how-to/how-to-add-sso-azure-saml.mdx +++ b/website/docs/how-to/how-to-add-sso-azure-saml.mdx @@ -76,7 +76,7 @@ To find your Microsoft Entra identifier, go to the single sign-on settings of yo To finalize the configuration, do the following: -1. In the Unleash Admin UI, go to **Admin > Single sign-on> SAML 2.0**. +1. In the Unleash Admin UI, go to **Admin > Single sign-on > SAML 2.0**. 2. In **Entity ID**, enter your [Microsoft Entra identifier](#microsoft-entra-identifier). 3. In **Single sign-on URL**, enter your [Login URL](#login-url). 4. In **X.509 Certificate**, [enter your SAML certificate](#saml-certificate). diff --git a/website/docs/how-to/how-to-environment-import-export.mdx b/website/docs/how-to/how-to-environment-import-export.mdx index f0a48952a7..b358be382c 100644 --- a/website/docs/how-to/how-to-environment-import-export.mdx +++ b/website/docs/how-to/how-to-environment-import-export.mdx @@ -1,7 +1,10 @@ --- title: Environment Import & Export --- + + import VideoContent from '@site/src/components/VideoContent.jsx' +import Figure from '@site/src/components/Figure/Figure.tsx' :::note Availability diff --git a/website/docs/reference/feature-toggles.mdx b/website/docs/reference/feature-toggles.mdx index 5f0784b744..fdd0e5f9de 100644 --- a/website/docs/reference/feature-toggles.mdx +++ b/website/docs/reference/feature-toggles.mdx @@ -71,7 +71,7 @@ Marking a flag as stale helps you deprecate a feature flag without removing the You can use this to signal to your team to stop using the feature in your applications. Stale flags will show as stale in the [technical debt dashboard](./technical-debt). -Marking a flag as stale generates the `feature-stale-on` [event](./reference/events#feature-stale-on). You can use [an integration](/integrations/integrations) to trigger automated workflows, such as posting notifications in a Slack channel, breaking project builds if the code contains stale flags, or automatically opening pull requests to remove stale flags from the code. +Marking a flag as stale generates the `feature-stale-on` [event](/reference/events#feature-stale-on). You can use [an integration](/reference/integrations) to trigger automated workflows, such as posting notifications in a Slack channel, breaking project builds if the code contains stale flags, or automatically opening pull requests to remove stale flags from the code. ### Configure expected lifetime diff --git a/website/docs/reference/integrations/jira-server-plugin-installation.md b/website/docs/reference/integrations/jira-server-plugin-installation.md index 49757ae949..f1d36c1ed1 100644 --- a/website/docs/reference/integrations/jira-server-plugin-installation.md +++ b/website/docs/reference/integrations/jira-server-plugin-installation.md @@ -70,7 +70,7 @@ server configured for a specific Jira project. ![A table marked Unleash Server Configuration, listing Unleash server instances.](/img/jira_server_manage_servers.png) -Once you have configured at least one Unleash server, your users should be ready to [use the Jira Server plugin](/integrations/jira_server_plugin_usage) +Once you have configured at least one Unleash server, your users should be ready to [use the Jira Server plugin](/reference/integrations/jira-server-plugin-usage) ### Edit existing servers diff --git a/website/docs/reference/network-view.mdx b/website/docs/reference/network-view.mdx index 9bd6fa7e3d..bac9610240 100644 --- a/website/docs/reference/network-view.mdx +++ b/website/docs/reference/network-view.mdx @@ -77,14 +77,7 @@ The `PROMETHEUS_API` environment variable should point to the base path of the P This setup means that there is a mutual dependency between Unleash and Prometheus, where Prometheus regularly fetches data from Unleash's backstage API and Unleash fetches and displays this data when you use the network view. This diagram provides a visual representation of that. -```mermaid -sequenceDiagram - participant Unleash - loop Scrape data - Prometheus-->>Unleash: fetch internal-backstage/prometheus - end - Unleash->>+Prometheus: Query data for network view -``` +![](/img/network-view.png) [^1]: For instance: when using Unleash in an API setting, a common mistake is to instantiate a new SDK for every request instead of sharing a single instance across requests. This would be visible in the network overview graph as a large number of requests from the same app. diff --git a/website/docs/reference/sdks/index.mdx b/website/docs/reference/sdks/index.mdx index 71a82b94f1..ecf93f1a0f 100644 --- a/website/docs/reference/sdks/index.mdx +++ b/website/docs/reference/sdks/index.mdx @@ -55,7 +55,6 @@ If you see an item marked with a ❌ that you would find useful, feel free to re ::: - | Capability | [Java](/docs/generated/sdks/server-side/java.md) | [Node.js](/docs/generated/sdks/server-side/node.md) | [Go](/docs/generated/sdks/server-side/go.md) | [Python](/docs/generated/sdks/server-side/python.md) | [Ruby](/docs/generated/sdks/server-side/ruby.md) | [.NET](/docs/generated/sdks/server-side/dotnet.md) | [PHP](/docs/generated/sdks/server-side/php.md) | [Rust](/docs/generated/sdks/server-side/rust.md) | | --- | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | @@ -89,7 +88,7 @@ If you see an item marked with a ❌ that you would find useful, feel free to re | Static fields (`environment`, `appName`) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Defined fields | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Custom properties | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | -| **Category: [`isEnabled`](./client-specification#implementation-of-isenabled)** | | | | | | | | | +| **Category: [`isEnabled`](/client-specification#implementation-of-isenabled)** | | | | | | | | | | Can take context | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Override fallback value | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Fallback function | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | ⭕ | ⭕ | @@ -110,7 +109,6 @@ If you see an item marked with a ❌ that you would find useful, feel free to re | Bootstrap from file | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | | Custom Bootstrap implementation | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⭕ | - ## Community SDKs ❤️ {#community-sdks} @@ -138,7 +136,7 @@ Here's some of the fantastic work our community has done to make Unleash work in If you can't find an SDK that fits your requirements, you can also develop your own SDK. To make implementation easier, check out these resources: - [Unleash Client Specifications](https://github.com/Unleash/client-specification) - Used by all official SDKs to make sure they behave correctly across different language implementations. This lets us verify that a gradual rollout to 10% of the users would affect the same users regardless of which SDK you're using. -- [Client SDK overview](./client-specification) - A brief, overall guide of the _Unleash Architecture_ and important aspects of the SDK role in it all. +- [Client SDK overview](/client-specification) - A brief, overall guide of the _Unleash Architecture_ and important aspects of the SDK role in it all. ## Client-side SDK behavior diff --git a/website/docs/reference/segments.mdx b/website/docs/reference/segments.mdx index 2c9fb4a0c8..c69c1ce6c4 100644 --- a/website/docs/reference/segments.mdx +++ b/website/docs/reference/segments.mdx @@ -52,7 +52,7 @@ In theory, you could create segments with a thousand constraints, each with a mi By default, you can apply **at most 5 segments to any one strategy**. Separate strategies (even on the same feature) do not count towards the same total, so you can have two strategies with 5 segments each. -You **can** [configure segment limits](./using-unleash/deploy/configuring-unleash#segments) with environment variables. +You **can** [configure segment limits](/using-unleash/deploy/configuring-unleash#segments) with environment variables. ### A note on large segments {#large-segments} diff --git a/website/docs/understanding-unleash/unleash-overview.md b/website/docs/understanding-unleash/unleash-overview.md index 05f09c1c46..48fc7ae7cc 100644 --- a/website/docs/understanding-unleash/unleash-overview.md +++ b/website/docs/understanding-unleash/unleash-overview.md @@ -23,7 +23,7 @@ Before you can connect your application to Unleash you need a Unleash server. Yo ![A visual overview of an Unleash system as described in the following paragraph.](/img/unleash-architecture-edge.png 'System Overview') - [**Unleash API**](/reference/api/unleash) - The Unleash instance. This is where you create feature flags, configure activation strategies, and parameters, etc. The service that contains all feature flags and their configurations. Configurations declare which activation strategies to use and which parameters they should get. -- **Unleash Admin UI** - The bundled web interface for interacting with the Unleash instance. Manage flags, define strategies, look at metrics, and much more. Use the UI to [create feature flags](/how-to-create-feature-flag), [manage project access roles](../how-to/how-to-create-and-assign-custom-project-roles), [create API tokens](how-to/how-to-create-api-tokens), and more. +- **Unleash Admin UI** - The bundled web interface for interacting with the Unleash instance. Manage flags, define strategies, look at metrics, and much more. Use the UI to [create feature flags](/how-to-create-feature-flag), [manage project access roles](../how-to/how-to-create-and-assign-custom-project-roles), [create API tokens](../how-to/how-to-create-api-tokens), and more. - [**Unleash SDKs**](../reference/sdks) - Unleash SDKs integrate into your applications and get feature configurations from the Unleash API. Use them to check whether features are enabled or disabled and to send metrics to the Unleash API. [See all our SDKs](../reference/sdks) - [**Unleash Edge**](../reference/unleash-edge) - The Unleash Edge sits between front-end and native applications on one side and the Unleash API on the other. It can also sit between server-side SDKs and the Unleash API as well. You can scale it independently of the Unleash API to handle large request rates without causing issues for the Unleash API. Edge has all endpoints for the client API, frontend API, and proxy API. diff --git a/website/docs/using-unleash/deploy/upgrading-unleash.mdx b/website/docs/using-unleash/deploy/upgrading-unleash.mdx index 2a1788f601..00120e6b6d 100644 --- a/website/docs/using-unleash/deploy/upgrading-unleash.mdx +++ b/website/docs/using-unleash/deploy/upgrading-unleash.mdx @@ -144,8 +144,6 @@ As such, if you're relying on the specifics of the error structure for those API Before you upgrade we strongly recommend that you take a full [database backup](database-backup), to make sure you can downgrade to version 3. -You can also read the highlights of **[what's new in v4](/user_guide/v4-whats-new)**. - ### 1. All API calls now require a token. {#1-all-api-calls-now-requires-token} If you are upgrading from Unleash Open-Source v3 client SDKs did not need to use an API token in order to connect to Unleash-server. Starting from v4 we have back-ported the API token handling for Enterprise in to the Open-Source version. This means that all client SDKs now need to use a client token in order to connect to Unleash. diff --git a/website/docusaurus.config.js b/website/docusaurus.config.ts similarity index 97% rename from website/docusaurus.config.js rename to website/docusaurus.config.ts index 7fa44adfa8..78829920dd 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.ts @@ -1,5 +1,8 @@ -const { sdks } = require('./remote-content/sdks'); -const { docs: edgeAndProxy } = require('./remote-content/edge-proxy'); +import type { Config } from '@docusaurus/types'; + +import { sdks } from './remote-content/sdks'; +import { docs as edgeAndProxy } from './remote-content/edge-proxy'; +import pluginNpm2Yarn from '@docusaurus/remark-plugin-npm2yarn'; // for a given redirect object, modify it's `from` property such that for every // path that doesn't start with `/docs/`, a corresponding path that _does_ start @@ -38,8 +41,8 @@ const addDocsRoutePrefix = ({ from, ...rest }) => { from: addDocs(from), }; }; -/** @type {import('@docusaurus/types').DocusaurusConfig} */ -module.exports = { + +const config: Config = { title: 'Unleash Documentation', tagline: 'The enterprise ready feature flag service', url: 'https://docs.getunleash.io', @@ -50,7 +53,6 @@ module.exports = { organizationName: 'Unleash', // Usually your GitHub org/user name. projectName: 'unleash.github.io', // Usually your repo name. trailingSlash: false, - markdown: { mermaid: true }, customFields: { // expose env vars etc here environment: process.env.NODE_ENV, @@ -170,17 +172,13 @@ module.exports = { ], }, prism: { - theme: require('prism-react-renderer/themes/oceanicNext'), additionalLanguages: [ 'csharp', 'dart', - 'http', 'java', - 'kotlin', 'php', 'ruby', - 'rust', - 'swift', + 'bash', ], }, languageTabs: [ @@ -290,22 +288,16 @@ module.exports = { '@docusaurus/preset-classic', { docs: { - sidebarPath: require.resolve('./sidebars.js'), // Please change this to your repo. editUrl: 'https://github.com/Unleash/unleash/edit/main/website/', routeBasePath: '/', - remarkPlugins: [ - [ - require('@docusaurus/remark-plugin-npm2yarn'), - { sync: true }, - ], - ], - docLayoutComponent: '@theme/DocPage', + remarkPlugins: [[pluginNpm2Yarn, { sync: true }]], docItemComponent: '@theme/ApiItem', + sidebarPath: './sidebars.ts', }, theme: { - customCss: require.resolve('./src/css/custom.css'), + customCss: './src/css/custom.css', }, googleAnalytics: { trackingID: 'UA-134882379-1', @@ -911,7 +903,6 @@ module.exports = { ], themes: [ 'docusaurus-theme-openapi-docs', // Allows use of @theme/ApiItem and other components - '@docusaurus/theme-mermaid', ], scripts: [ { @@ -924,5 +915,7 @@ module.exports = { defer: true, }, ], - clientModules: [require.resolve('./global.js')], + clientModules: ['./global.js'], }; + +export default config; diff --git a/website/package.json b/website/package.json index dad8d6b987..a3dc07b71e 100644 --- a/website/package.json +++ b/website/package.json @@ -11,7 +11,7 @@ "build": "yarn generate && yarn fetch-remote-content && docusaurus build", "swizzle": "docusaurus swizzle", "fetch-remote-content": "docusaurus download-remote-content-external && docusaurus download-remote-content-sdks", - "generate": "docusaurus gen-api-docs all && node clean-generated-docs.js", + "generate": "docusaurus gen-api-docs all && node clean-generated-docs.mjs", "deploy": "yarn generate && yarn fetch-remote-content && docusaurus deploy", "clear": "docusaurus clear", "serve": "docusaurus serve", @@ -20,40 +20,22 @@ "test": "NODE_ENV=test node --trace-warnings ../node_modules/.bin/jest remote-content" }, "dependencies": { - "@docusaurus/core": "2.3.1", - "@docusaurus/plugin-client-redirects": "2.3.1", - "@docusaurus/plugin-google-analytics": "2.3.1", - "@docusaurus/preset-classic": "2.3.1", - "@docusaurus/remark-plugin-npm2yarn": "2.3.1", - "@docusaurus/theme-mermaid": "2.3.1", - "@mdx-js/react": "1.6.22", - "@svgr/webpack": "8.1.0", - "browserslist": "^4.16.5", - "docusaurus-plugin-openapi-docs": "2.0.0-beta.3", - "docusaurus-plugin-remote-content": "^3.1.0", - "docusaurus-theme-openapi-docs": "2.0.0-beta.2", - "git-url-parse": "^14.0.0", + "@docusaurus/core": "^3.5.2", + "@docusaurus/plugin-client-redirects": "^3.5.2", + "@docusaurus/plugin-google-analytics": "^3.5.2", + "@docusaurus/preset-classic": "^3.5.2", + "@docusaurus/remark-plugin-npm2yarn": "3.5.2", + "@mdx-js/react": "^3.1.0", + "docusaurus-plugin-openapi-docs": "^4.1.0", + "docusaurus-plugin-remote-content": "^4.0.0", + "docusaurus-theme-openapi-docs": "^4.1.0", + "git-url-parse": "^15.0.0", "plugin-image-zoom": "flexanalytics/plugin-image-zoom", + "prism-react-renderer": "^2.4.0", "prism-svelte": "^0.5.0", - "react": "18.3.1", - "react-dom": "18.3.1", - "url-loader": "4.1.1" - }, - "resolutions": { - "axios": "^0.28.0", - "async": "^3.2.4", - "trim": "^1.0.0", - "got": "^13.0.0", - "glob-parent": "^6.0.0", - "browserslist": "^4.16.5", - "set-value": "^4.0.1", - "ansi-regex": "^5.0.1", - "nth-check": "^2.0.1", - "minimatch": "^5.0.0", - "decode-uri-component": "^0.4.0", - "qs": "^6.9.7", - "ws": "^8.18.0", - "semver": "^7.5.3" + "react": "^18.3.1", + "react-dom": "^18.3.1", + "replace-in-file": "^8.2.0" }, "browserslist": { "production": [ @@ -68,14 +50,14 @@ ] }, "devDependencies": { - "@babel/core": "7.25.9", - "@docusaurus/module-type-aliases": "2.3.1", + "@docusaurus/module-type-aliases": "^3.5.2", + "@docusaurus/types": "^3.5.2", "@tsconfig/docusaurus": "2.0.3", - "babel-loader": "9.2.1", - "enhanced-resolve": "5.17.1", - "react-router": "6.27.0", - "replace-in-file": "7.2.0", - "typescript": "5.4.5" + "@types/react": "^18.3.12", + "typescript": "5.6.3" + }, + "resolutions": { + "http-proxy-middleware": "3.0.3" }, "packageManager": "yarn@4.5.1" } diff --git a/website/remote-content/edge-proxy.js b/website/remote-content/edge-proxy.js index df21dbce8c..4e1d642376 100644 --- a/website/remote-content/edge-proxy.js +++ b/website/remote-content/edge-proxy.js @@ -1,10 +1,10 @@ -const { +import { enrich, mapObject, modifyContent, getRepoData, getUrls, -} = require('./shared'); +} from './shared'; const DOCS = mapObject(enrich)({ 'unleash-proxy': { @@ -46,7 +46,7 @@ const modifyContent2 = modifyContent({ getAdditionalAdmonitions: getAdmonitions, }); -module.exports.docs = { +export const docs = { urls: getUrls(DOCS), modifyContent: modifyContent2, }; diff --git a/website/remote-content/sdks.js b/website/remote-content/sdks.js index 18684f2361..48482d42d4 100644 --- a/website/remote-content/sdks.js +++ b/website/remote-content/sdks.js @@ -1,9 +1,9 @@ -const { +import { enrichAdditional, modifyContent, getRepoData, getUrls, -} = require('./shared'); +} from './shared'; // Type definitions // @@ -117,7 +117,7 @@ const modifyContent2 = modifyContent({ getAdditionalAdmonitions: getAdmonitions, }); -module.exports.sdks = { +export const sdks = { urls: getUrls(SDKS), modifyContent: modifyContent2, }; diff --git a/website/remote-content/sdks.test.js b/website/remote-content/sdks.test.js index 8140cfc823..6b23ae85d9 100644 --- a/website/remote-content/sdks.test.js +++ b/website/remote-content/sdks.test.js @@ -1,4 +1,4 @@ -const { docs } = require('./edge-proxy'); +import { docs } from './edge-proxy'; test('Should get all sub pages', () => { expect(docs.urls).toStrictEqual([ diff --git a/website/remote-content/shared.js b/website/remote-content/shared.js index 184ceb9ff0..eec004cfc6 100644 --- a/website/remote-content/shared.js +++ b/website/remote-content/shared.js @@ -1,9 +1,9 @@ -const path = require('path'); +import path from 'node:path'; -module.exports.mapObject = (fn) => (o) => +export const mapObject = (fn) => (o) => Object.fromEntries(Object.entries(o).map(fn)); -module.exports.enrichAdditional = +export const enrichAdditional = (additionalProperties) => ([repoName, repoData]) => { const repoUrl = `https://github.com/Unleash/${repoName}`; @@ -17,9 +17,10 @@ module.exports.enrichAdditional = { ...repoData, repoUrl, slugName, branch, ...additionalProperties }, ]; }; -module.exports.enrich = module.exports.enrichAdditional({}); -module.exports.getRepoData = (documents) => (filename) => { +export const enrich = enrichAdditional({}); + +export const getRepoData = (documents) => (filename) => { const repoName = filename.split('/')[0]; const repoData = documents[repoName]; @@ -80,7 +81,7 @@ const replaceLinks = ({ content, repo }) => { .replaceAll(imageSrcLink, replaceImageSrcLink); }; -module.exports.modifyContent = +export const modifyContent = ({ getRepoDataFn, filePath = () => {}, @@ -128,11 +129,15 @@ module.exports.modifyContent = content: `--- title: ${subpage?.sidebarName ?? data.sidebarName} slug: ${processedSlug} -custom_edit_url: ${data.repoUrl}/edit/${data.branch}/${subpage ? subpageKey : 'README.md'} +custom_edit_url: ${data.repoUrl}/edit/${data.branch}/${ + subpage ? subpageKey : 'README.md' + } --- :::info Generated content -This document was generated from ${subpage ? subpageKey : 'README.md'} in the [${data.sidebarName} GitHub repository](${data.repoUrl}). +This document was generated from ${ + subpage ? subpageKey : 'README.md' + } in the [${data.sidebarName} GitHub repository](${data.repoUrl}). ::: ${additionalAdmonitions} @@ -152,7 +157,7 @@ This content was generated on