1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
Commit Graph

1132 Commits

Author SHA1 Message Date
renovate[bot]
0db2c08382
chore(deps): update typescript-eslint monorepo to v5.36.1 (#2034)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-01 11:28:50 +00:00
renovate[bot]
6e33942193
chore(deps): update dependency eslint to v8.23.0 (#2006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-31 19:27:55 +00:00
sjaanus
c4da10b15f
Docker cross-compilation with buildx (#2003)
* Build docker test

* Change platform to build on amd64

* Put back buildplatform

* Run frontend as separate docker task

* Increase timeout

* Update docs
2022-08-30 12:39:28 +00:00
renovate[bot]
c62ca2020a
chore(deps): update dependency fast-check to v3.1.2 (#1996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-30 08:44:39 +02:00
sjaanus
2d492c1b66 4.15.0-beta.9 2022-08-29 12:36:18 +00:00
Gastón Fournier
4a3ec44a1f
4.15.0-beta.8 2022-08-29 12:03:09 +00:00
Gastón Fournier
47532dee7f
chore: upgrade @unleash/express-openapi (#1976) 2022-08-29 12:23:06 +02:00
olav
0510990503
refactor: remove old frontend dep (#1986) 2022-08-29 09:35:42 +02:00
olav
0af71c9a7d 4.15.0-beta.6 2022-08-26 15:31:10 +02:00
sjaanus
04db9b6d46 4.15.0-beta.5 2022-08-26 09:52:02 +00:00
sjaanus
709c142a87 Merge main 2022-08-26 09:09:18 +00:00
Ivar Conradi Østhus
2a2ed37541
4.15.0-beta.4 2022-08-26 10:43:47 +02:00
Ivar Conradi Østhus
42ee35a2b8
fix: upgrade unleash-frontend to v4.14.8 2022-08-26 10:21:37 +02:00
sjaanus
a1ce89bedc
Merge frontend with backend (#1962)
* fix: use the frontend dir from the backend

* Build is now working

* Fix workflows

* Fix workflows

* Fix build PRs

* Test coverage workflow

* Test coverage

* Test coverage run

* Fix jest report

* refactor: add missing frontend build

* refactor: ignore frontend dir for coverage

* refactor: run frontend build in PRs

* refactor: run backend tests in PRs

* Revert "refactor: run backend tests in PRs"

This reverts commit 22cabddfd1.

* refactor: remove unused frontend build file

* refactor: test workflows in PR

* refactor: use a prepare script for the frontend

* refactor: simplify yarn build scripts

* refactor: fix check-release script

* Revert "refactor: test workflows in PR"

This reverts commit 496ae19404.

* refactor: remove unused gitignore lines

* refactor: remove renovate config from the frontend repo

* refactor: remove frontend repo license

* refactor: remove frontend repo changelog

* refactor: update frontend repo readme

* refactor: add frontend node_modules to dockerignore

* refactor: update the docker yarn.lock snapshot

Co-authored-by: olav <mail@olav.io>
2022-08-26 07:25:31 +00:00
renovate[bot]
b3949dc9f5
chore(deps): update dependency typescript to v4.8.2 (#1967)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-26 03:45:26 +00:00
renovate[bot]
b2663878f9
chore(deps): update typescript-eslint monorepo to v5.35.1 (#1963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-25 21:12:36 +00:00
renovate[bot]
20d1d25934
chore(deps): update typescript-eslint monorepo to v5.34.0 (#1955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-23 05:19:10 +00:00
renovate[bot]
976226d27e
chore(deps): update dependency @babel/core to v7.18.13 (#1954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-23 01:56:01 +00:00
renovate[bot]
72d83ba45b
chore(deps): pin dependency @types/cors to 2.8.12 (#1943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-20 07:30:25 +02:00
Gastón Fournier
1625d6193a
fix: https://github.com/Unleash/unleash/security/dependabot/18 (#1933) 2022-08-20 07:29:46 +02:00
olav
30f1ef01eb 4.15.0-beta.2 2022-08-19 13:10:54 +02:00
olav
b5fead41f6 4.15.0-beta.1 2022-08-19 10:55:47 +02:00
olav
e927012f9f
chore: update unleash-frontend (#1944) 2022-08-19 10:26:54 +02:00
olav
0d293929f5
feat: add CORS support to the proxy endpoints (#1936)
* feat: add CORS support to the proxy endpoints

* refactor: remove unused development mode CORS support
2022-08-19 08:09:44 +02:00
olav
e8d542af0f
feat: embed proxy endpoints (#1926)
* refactor: remove unused API definition routes

* feat: add support for proxy keys

* feat: support listening for any event

* feat: embed proxy endpoints

* refactor: add an experimental flag for the embedded proxy
2022-08-16 15:33:33 +02:00
renovate[bot]
3ed72e382a
chore(deps): update typescript-eslint monorepo to v5.33.1 (#1923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-15 21:20:13 +00:00
renovate[bot]
aebecf5f3a
chore(deps): update dependency eslint to v8.22.0 (#1920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-14 04:39:45 +00:00
renovate[bot]
a7d575061e
chore(deps): update dependency @types/semver to v7.3.12 (#1914)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-12 00:55:04 +00:00
renovate[bot]
0c8ebd4dcc
chore(deps): update dependency @types/semver to v7.3.11 (#1909)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-10 21:54:23 +00:00
olav
c7174e0a2e
chore: update unleash-frontend (#1903) 2022-08-09 16:40:08 +02:00
renovate[bot]
eb2de89b3c
chore(deps): update typescript-eslint monorepo to v5.33.0 (#1786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-09 15:17:29 +02:00
Fredrik Oseberg
62e18df658 4.15.0-beta.0 2022-08-09 13:52:28 +02:00
renovate[bot]
daad75ef9a
chore(deps): update dependency @types/nodemailer to v6.4.5 (#1892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-05 17:39:04 +00:00
renovate[bot]
2f011f3cc3
chore(deps): pin dependency unleash-client to 3.15.0 (#1887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-05 13:57:41 +02:00
renovate[bot]
1278216247
chore(deps): update dependency @types/mime to v3.0.1 (#1891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-05 01:36:54 +00:00
renovate[bot]
601765ef9d
fix(deps): update dependency unleash-frontend to v4.14.3 (#1888)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-04 17:54:31 +00: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
renovate[bot]
bc08eec633
chore(deps): update dependency es5-ext to v0.10.62 (#1881)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-03 01:33:59 +00:00
renovate[bot]
d922ea1225
chore(deps): update dependency @babel/core to v7.18.10 (#1872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-02 00:25:58 +00:00
renovate[bot]
595fd52d44
chore(deps): pin dependency @apidevtools/swagger-parser to 10.1.0 (#1864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-01 12:42:02 +02:00
renovate[bot]
01df475809
chore(deps): update dependency @types/mime to v3 (#1869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-01 11:41:49 +02:00
renovate[bot]
b818968357
chore(deps): update dependency eslint to v8.21.0 (#1870)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-01 08:50:40 +02:00
Christopher Kolstad
2d22a4d471
4.14.0 2022-07-28 17:42:14 +02:00
Christopher Kolstad
2bdc1031d6
task: bump unleash-frontend to 4.14.1 2022-07-28 15:39:57 +02:00
renovate[bot]
ab2b2b147d
fix(deps): update dependency json-schema-to-ts to v2.5.5 (#1865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-28 12:33:00 +00:00
renovate[bot]
fb2c95f4cc
chore(deps): update dependency del-cli to v5 (#1838)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-28 08:46:13 +00:00
Christopher Kolstad
482754e9f5
fix: Remove unneeded ts-expect-error now that types in knex are in sync (#1866)
* fix: Remove unneeded ts-expect-error now that types in knex are in sync
2022-07-28 10:34:19 +02:00
renovate[bot]
0a93056923
chore(deps): update dependency supertest to v6.2.4 (#1787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-28 10:05:34 +02:00
renovate[bot]
9d0b0bddaf
chore(deps): update dependency @types/make-fetch-happen to v10 (#1823)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-28 09:20:51 +02:00
Thomas Heartman
6afc0a6954
fix: fix broken OpenAPI spec (#1846)
* Wip: fix openapi spec

* Feat: add openapi enforcer for enforcing the generated schema

* Chore: Allow the example keyword in params

* Feat: add validator tests and fix some errors

* Use @apidevtools/swagger-parser for schema validation

* Wip: refactor tests for updated schema name

* Feat: update request params creation method

* Feat: add query params to state

* Refactor: move mapping test into separate function

* Refactor: rename request-parameters -> query-parameters

* Refactor: expose only finished query parameters

* Wip: fixup param types

* Refactor: remove unused types

* Chore: rename and cleanup

* Chore: cleanup

* Fix: Update snapshot

* Fix: use ?? Instead of paramToBool to get defaults

* Wip: generate query param object type from openapi params list

* Wip: use generated types for export query params

* Revert "Fix: use ?? Instead of paramToBool to get defaults"

This reverts commit 842567500b.

Because we accept bools, strings, and numbers, this is the only way to
do it.

* Chore: update and pin json-schema-to-ts

* Fix: use `&` to merge types

* Update snapshot

* Chore: rename export-parameters-schema -> export-query-parameters

When it ends in `schema`, the tests expect it to be included in the
openapi index file.
2022-07-28 09:19:58 +02:00