1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-10-13 11:17:26 +02:00
Commit Graph

2 Commits

Author SHA1 Message Date
renovate[bot]
6e44a65c58
fix(deps): update dependency unleash-client to v3.18.0 (#2956)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [unleash-client](https://togithub.com/Unleash/unleash-client-node) |
[`3.16.1` ->
`3.18.0`](https://renovatebot.com/diffs/npm/unleash-client/3.16.1/3.18.0)
|
[![age](https://badges.renovateapi.com/packages/npm/unleash-client/3.18.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/unleash-client/3.18.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/unleash-client/3.18.0/compatibility-slim/3.16.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/unleash-client/3.18.0/confidence-slim/3.16.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>Unleash/unleash-client-node</summary>

###
[`v3.18.0`](https://togithub.com/Unleash/unleash-client-node/blob/HEAD/CHANGELOG.md#&#8203;3180)

[Compare
Source](https://togithub.com/Unleash/unleash-client-node/compare/v3.17.0...v3.18.0)

feat: gracefully handle unsuccessful metrics post
([#&#8203;414](https://togithub.com/Unleash/unleash-client-node/issues/414))
feat/flush metrics
([#&#8203;415](https://togithub.com/Unleash/unleash-client-node/issues/415))
feat: add metrics jitter support
([#&#8203;412](https://togithub.com/Unleash/unleash-client-node/issues/412))
fix: Allow SDK to startup when backup data is corrupt
([#&#8203;418](https://togithub.com/Unleash/unleash-client-node/issues/418))
fix: flexible-rollout random stickiness is not random enough
([#&#8203;417](https://togithub.com/Unleash/unleash-client-node/issues/417))
fix: build correct version on npm version
chore(deps): update dependency eslint-plugin-import to v2.27.5
([#&#8203;416](https://togithub.com/Unleash/unleash-client-node/issues/416))
chore(deps): update dependency
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
to v5.48.2
([#&#8203;413](https://togithub.com/Unleash/unleash-client-node/issues/413))
chore(deps): update dependency eslint to v8.32.0
([#&#8203;410](https://togithub.com/Unleash/unleash-client-node/issues/410))
chore(deps): update dependency prettier to v2.8.3
([#&#8203;406](https://togithub.com/Unleash/unleash-client-node/issues/406))
chore(deps): update dependency eslint-plugin-import to v2.27.4
([#&#8203;404](https://togithub.com/Unleash/unleash-client-node/issues/404))

###
[`v3.17.0`](https://togithub.com/Unleash/unleash-client-node/blob/HEAD/CHANGELOG.md#&#8203;3170)

[Compare
Source](https://togithub.com/Unleash/unleash-client-node/compare/v3.16.1...v3.17.0)

- feat: Only initialize the SDK once.
([#&#8203;368](https://togithub.com/Unleash/unleash-client-node/issues/368))
-   fix: upgrade semver to 7.3.8
-   fix: add resolution for debug
-   fix: add resolution for minimatch
-   fix: add resolution for qs
-   fix: add resolution for json5
-   fix: update yarn.lock
- docs: Update the readme with info from docs.getunleash
([#&#8203;399](https://togithub.com/Unleash/unleash-client-node/issues/399))
-   docs: minor fix in README
- chore(deps): update dependency debug to v4
([#&#8203;402](https://togithub.com/Unleash/unleash-client-node/issues/402))
- chore(deps): update dependency json5 to v2
([#&#8203;401](https://togithub.com/Unleash/unleash-client-node/issues/401))
- chore(deps): update dependency eslint to v8.31.0
([#&#8203;394](https://togithub.com/Unleash/unleash-client-node/issues/394))
- chore(deps): update dependency nock to v13.3.0
([#&#8203;400](https://togithub.com/Unleash/unleash-client-node/issues/400))
- chore(deps): update dependency
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
to v5.48.1
([#&#8203;395](https://togithub.com/Unleash/unleash-client-node/issues/395))
- chore(deps): update dependency eslint-config-prettier to v8.6.0
([#&#8203;396](https://togithub.com/Unleash/unleash-client-node/issues/396))
- chore(deps): update dependency prettier to v2.8.2
([#&#8203;398](https://togithub.com/Unleash/unleash-client-node/issues/398))
- chore(deps): update dependency
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)
to v5.47.1
([#&#8203;346](https://togithub.com/Unleash/unleash-client-node/issues/346))
- chore(deps): update dependency typescript to v4.9.4
([#&#8203;386](https://togithub.com/Unleash/unleash-client-node/issues/386))
- chore(deps): update dependency sinon to v15
([#&#8203;391](https://togithub.com/Unleash/unleash-client-node/issues/391))
- chore(deps): update dependency
[@&#8203;types/node](https://togithub.com/types/node) to v18
([#&#8203;380](https://togithub.com/Unleash/unleash-client-node/issues/380))
- chore(deps): update dependency
[@&#8203;types/node](https://togithub.com/types/node) to v14.18.36
([#&#8203;382](https://togithub.com/Unleash/unleash-client-node/issues/382))
- chore(deps): update dependency eslint to v8.30.0
([#&#8203;367](https://togithub.com/Unleash/unleash-client-node/issues/367))
- chore(deps): update dependency prettier to v2.8.1
([#&#8203;387](https://togithub.com/Unleash/unleash-client-node/issues/387))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

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

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

---

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

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/Unleash/unleash).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDUuNCIsInVwZGF0ZWRJblZlciI6IjM0LjExNy4xIn0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ivar Conradi Østhus <ivar@getunleash.ai>
2023-02-10 10:51:53 +01:00
Thomas Heartman
e55ad1a21e
feat(#1873/playground): Return detailed information on feature toggle evaluation (#1839)
* Feat: return reasons why a feature evaluated to true or false

Note: this is very rough and just straight ripped from the nodejs
client. It will need a lot of work, but is a good place to start

* Feat: add suggested shape for new payload

* Chore: minor cleanup

* Wip: make server compile again

* Remove unused schema ref

* Export new schemas

* Chore: fix some tests to use sub property

* Fix: fix some tests

* Refactor: rename some variables, uncomment some stuff

* Add segments type to bootstrap options

* Add segments capability to offline feature evaluator

* Fix function calls after turning params into an option abject

* Feat: test strategy order, etc

* Feat: add test to check that all strats are returned correctly

* Feat: allow you to include strategy ids in clients

* Wip: hook up segments in the offline client.

Note: compared to regular clients, they still fail

* Feat: add segments validation

* Fix: fix test case invariant.

* Chore: revert to returning only `boolean` from strategies.

This _should_ make it work with custom strategies too 🤞

* Feat: make more properties of the returned feature required

* Wip: add some comments and unfinished tests for edge cases

* Feat: add `isEnabledInCurrentEnvironment` prop

* Feat: consider more strategy failure cases

* Feat: test that isenabledinenvironment matches expectations

* Feat: add unknown strategies

* Fix: fix property access typo

* Feat: add unknown strategy for fallback purposes

* Feat: test edge case: all unknown strategies

* Feat: add custom strategy to arbitrary

* Feat: test that features can be true, even if not enabled in env

* Chore: add some comments

* Wip: fix sdk tests

* Remove comments, improve test logging

* Feat: add descriptions and examples to playground feature schema

* Switch `examples` for `example`

* Update schemas with descriptions and examples

* Fix: update snapshot

* Fix: openapi example

* Fix: merge issues

* Fix: fix issue where feature evaluation state was wrong

* Chore: update openapi spec

* Fix: fix broken offline client tests

* Refactor: move schemas into separate files

* Refactor: remove "reason" for incomplete evaluation.

The only instances where evaluation is incomplete is when we don't
know what the strategy is.

* Refactor: move unleash node client into test and dev dependencies

* Wip: further removal of stuff

* Chore: remove a bunch of code that we don't use

* Chore: remove comment

* Chore: remove unused code

* Fix: fix some prettier errors

* Type parameters in strategies to avoid `any`

* Fix: remove commented out code

* Feat: make `id` required on playground strategies

* Chore: remove redundant type

* Fix: remove redundant if and fix fallback evaluation

* Refactor: reduce nesting and remove duplication

* Fix: remove unused helper function

* Refactor: type `parameters` as `unknown`

* Chore: remove redundant comment

* Refactor: move constraint code into a separate file

* Refactor: rename `unleash` -> `feature-evaluator`

* Rename class `Unleash` -> `FeatureEvaluator`

* Refactor: remove this.ready and sync logic from feature evaluator

* Refactor: remove unused code, rename config type

* Refactor: remove event emission from the Unleash client

* Remove unlistened-for events in feature evaluator

* Refactor: make offline client synchronous; remove code

* Fix: update openapi snapshot after adding required strategy ids

* Feat: change `strategies` format.

This commit changes the format of a playground feature's `strategies`
properties from a list of strategies to an object with properties
`result` and `data`. It looks a bit like this:

```ts
type Strategies = {
  result: boolean | "unknown",
  data: Strategy[]
}
```

The reason is that this allows us to avoid the breaking change that
was previously suggested in the PR:

`feature.isEnabled` used to be a straight boolean. Then, when we found
out we couldn't necessarily evaluate all strategies (custom strats are
hard!) we changed it to `boolean | 'unevaluated'`. However, this is
confusing on a few levels as the playground results are no longer the
same as the SDK would be, nor are they strictly boolean anymore.

This change reverts the `isEnabled` functionality to what it was
before (so it's always a mirror of what the SDK would show).
The equivalent of `feature.isEnabled === 'unevaluated'` now becomes
`feature.isEnabled && strategy.result === 'unknown'`.

* Fix: Fold long string descriptions over multiple lines.

* Fix: update snapshot after adding line breaks to descriptions
2022-08-04 15:41:52 +02:00