1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Commit Graph

891 Commits

Author SHA1 Message Date
renovate[bot]
5f59333ef9
chore(deps): update dependency superagent to v8.0.3 (#2263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-27 15:26:41 +00:00
renovate[bot]
09bf93f9dd
chore(deps): update dependency @types/semver to v7.3.13 (#2267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-27 06:44:24 +00:00
renovate[bot]
e73e5cf76d
chore(deps): update dependency @swc/core to v1.3.11 (#2265)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-27 00:09:25 +00:00
renovate[bot]
7a39407a97
chore(deps): update dependency jest to v29.2.2 (#2262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-26 17:03:43 +00:00
Gastón Fournier
3c412eddcf
chore: Use last version of @unleash/express-openapi (#2260)
* Use the last version

https://www.npmjs.com/package/@unleash/express-openapi?activeTab=versions no changes from v0.2.1-beta.0
2022-10-26 14:19:56 +02:00
renovate[bot]
d8df7e5815
fix(deps): update dependency unleash-client to v3.16.0 (#2235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: sjaanus <sellinjaanus@gmail.com>
2022-10-26 10:23:33 +02:00
Ivar Conradi Østhus
cf4fc2303b
Feat/stats service (#2211)
Introduces an instance stats service exposing usage metrics of the Unleash installation.
2022-10-25 13:10:27 +02:00
renovate[bot]
549d317db7
chore(deps): update typescript-eslint monorepo to v5.40.1 (#2229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 13:18:52 +00:00
renovate[bot]
ca4c030178
chore(deps): update jest monorepo (#2227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 05:24:11 +00:00
renovate[bot]
fc32c0b4d4
chore(deps): update dependency eslint to v8.26.0 (#2226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-22 02:48:59 +00:00
renovate[bot]
6181597014
chore(deps): update dependency @swc/core to v1.3.10 (#2223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-21 16:24:24 +00:00
renovate[bot]
de43064f19
chore(deps): update dependency fast-check to v3.3.0 (#2220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-21 13:26:18 +00:00
renovate[bot]
a1dc8339aa
chore(deps): update dependency @babel/core to v7.19.6 (#2216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-21 04:41:39 +00:00
renovate[bot]
7524dad7e8
chore(deps): update dependency @swc/core to v1.3.9 (#2196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-17 18:20:19 +00:00
renovate[bot]
62eac864f3
chore(deps): update dependency supertest to v6.3.0 (#2184)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-12 19:08:01 +00:00
renovate[bot]
8f02b4ddd7
chore(deps): update dependency @swc/core to v1.3.7 (#2181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-12 09:23:43 +00:00
renovate[bot]
34f7fb9c5b
chore(deps): update dependency openapi-enforcer to v1.22.0 (#2179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-12 03:17:23 +00:00
renovate[bot]
9adc55757c
chore(deps): update dependency fast-check to v3.2.0 (#2177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-11 21:31:33 +00:00
renovate[bot]
815d2fbf28
chore(deps): update dependency eslint to v8.25.0 (#2174)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-11 18:57:35 +00:00
renovate[bot]
bb8b70e3f0
chore(deps): update dependency @swc/core to v1.3.6 (#2161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-10 19:44:16 +00:00
renovate[bot]
5535a1769d
chore(deps): update dependency @babel/core to v7.19.3 (#2160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-10 08:13:08 +00:00
renovate[bot]
9477babb3f
chore(deps): update dependency typescript to v4.8.4 (#2154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-07 17:54:29 +00:00
renovate[bot]
996f7ebd80
chore(deps): update dependency fast-check to v3.1.4 (#2149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-07 08:29:36 +00:00
renovate[bot]
b0a3229f0e
chore(deps): update dependency @types/nodemailer to v6.4.6 (#2143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-06 20:59:44 +00:00
renovate[bot]
48ba2135c2
chore(deps): update dependency @types/express to v4.17.14 (#2142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-06 06:39:54 +00:00
renovate[bot]
b7b8e14e4e
chore(deps): update dependency @swc/jest to v0.2.23 (#2141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-06 03:58:52 +00:00
sjaanus
1426d5be33
Added login endpoint rate limit (#2074)
* Added login rate limit

* Make more pretty

* Make more pretty

* Fix

* Remove double after all
2022-09-26 10:58:58 +03:00
Thomas Heartman
97c2b3c089
openapi: improve validation testing (#2058)
## What

This PR adds an extra layer of OpenAPI validation testing to what we already have. It also fixes any issues that make the new tests fail.

## Why

While the current OpenAPI validation takes care of _some_ things, there's also things it misses, as shown by #2055. By adding the OpenAPI Enforcer package, we should hopefully be able to catch more of these errors in the future. The enforcer _does_ flag the issue in #2055 as an error.

## How

By adding the OpenAPI Enforcer package and making whatever changes it picks up on.

By adding location headers to all our 201 endpoints. I also had to change some signatures on `create` store methods so that they actually return something (a lot of them just returned `void`).

## Discussion points

### Code changes

Some of the code changes may not be necessary or we may want to change more code to align with what changes have been done. It may be worth standardizing on a pattern for `*store.create` methods, so that they always return an identifier or the stored object, for instance.

### On relative URIs

The 201 location headers use relative URIs to point to the created resources. This seemed to be the easiest way to me, as we don't need to worry about figuring out what the absolute URL of the instance is (though we could probably just concat it to the request URI?). The algorithm for determining relative URIs is described in [RFC 3986 section 5](https://www.rfc-editor.org/rfc/rfc3986#section-5).

There's also some places where I'm not sure we _can_ provide accurate location url. I think they're supposed to point _directly at_ whatever the resource is, but for some resources (such as api tokens), you can only get it as part of a collection. From [RFC 9110 on the location field](https://httpwg.org/specs/rfc9110.html#field.location) (emphasis mine):

> the Location header field in a [201 (Created)](https://httpwg.org/specs/rfc9110.html#status.201) response is supposed to provide a URI that is **specific** to the created resource.

A link to a collection is not specific. I'm not sure what best to do about this.

### Inline comments

I've added a number of inline PR comments that I'd love to get some feedback on too. Have a look and let me know what you think!

### Unfinished business

I've added some juicy comments to some of the files here. They contain non-blocking issues that I'm tracking (via github issues). We should resolve them in the future, but right now they can stay as they are. 

## Commits

* Feat: add openapi-enforcer + tests; fix _some_ issues

* Test: allow non-standard string formats

* validation: fix _some_ 201 created location header endpoints

* #1391: fix remaining 201 location headers missing

* Refactor: use the ajv options object instead of add* methods

* #1391: flag validation errors and warnings as test failures

* #1391: modify patch schema to specify either object or array

We don't provide many patch endpoints, so we _could_ create separate
patch operation objects for each one. I think that makes sense to do
as part of the larger cleanup. For now, I think it's worth to simply
turn it into one of these. While it's not entirely accurate, it's
better than what we had before.

* Refactor: make tests easier to read

* #1391: use enum for valid token types

This was previously only a description. This may seem like a breaking
change because OpenAPI would previously accept any string. However,
Joi also performs validation on this, so invalid values wouldn't work
previously either.

* #1391: Comment out default parameter values for now

This isn't the _right_ way, but it's the pragmatic solution. It's not
a big deal and this works as a stopgap solution.

* #1391:  add todo note for api token schema fixes

* #1391: update snapshot

* Revert "#1391: modify patch schema to specify either object or array"

This reverts commit 0dd5d0faa1.

Turns out we need to allow much more than just objects and arrays.
I'll leave this as is for now.

* Chore(#1391): update comment explaining api token schema TODO

* #1391: modify some test code and add comment

* #1391: update tests and spec to allow 'any' type in schema

* Chore: remove comment

* #1391: add tests for context field stores

* #1391: add location header for public signup links

* #1391: fix query parameter description.

There was indeed a bug in the package, and this has been addressed
now, so we can go back to describing the params properly.
2022-09-23 15:02:09 +02:00
Fredrik Strand Oseberg
54633500fd
Feat/use collaborate data (#2067)
* feat: initial architecture

* feat: add generic types

* fix: refactor

* feat: style notification

* feat: remove useFeatureImmutable

* fix: remove casting

* fix: ensure data is present

* fix: revive useFeatureImmutable

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* Update frontend/src/component/common/StaleDataNotification/StaleDataNotification.tsx

Co-authored-by: Nuno Góis <github@nunogois.com>

* fix: pr comments

* fix: change order

Co-authored-by: Nuno Góis <github@nunogois.com>
2022-09-16 15:23:08 +02:00
Christopher Kolstad
8648649047
task: use swc instead of ts-jest (#2042) 2022-09-06 13:22:41 +02:00
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
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
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
Ivar Conradi Østhus
42ee35a2b8
fix: upgrade unleash-frontend to v4.14.8 2022-08-26 10:21:37 +02: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
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
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
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
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
renovate[bot]
c3a84f37f8
chore(deps): update dependency es5-ext to v0.10.61 (#1862)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 16:45:45 +00:00
renovate[bot]
66a478374d
chore(deps): update dependency fast-check to v3.1.1 (#1859)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-26 15:04:22 +00:00
sjaanus
4f4b6c535b
Release (#1860) 2022-07-26 13:06:11 +00:00
Tymoteusz Czech
cc3636c59e
fix: force resolution of es5-ext (#1853) 2022-07-26 14:25:19 +02:00
sighphyre
cd83ba3184
Release/4.14.0 beta.3 (#1857)
* chore: bump unleash-front end version to 4.14.0-beta.5
2022-07-25 14:16:27 +02:00
renovate[bot]
a6ecaec48f
chore(deps): update dependency fast-check to v3.1.0 (#1849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-22 13:30:24 +00:00
sighphyre
30bf81158d
chore: update frontend dependency to 4.14.0-beta.4 (#1848) 2022-07-22 10:10:00 +00:00
renovate[bot]
f88fe3b80b
fix(deps): update dependency unleash-frontend to v4.14.0-beta.3 (#1844)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-21 19:04:32 +00:00
renovate[bot]
7a7b86d440
chore(deps): update dependency nock to v13.2.9 (#1837)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 21:32:00 +00:00
renovate[bot]
572f1cb7b6
chore(deps): pin dependency fast-check to 3.0.1 (#1809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-18 12:16:58 +00:00
renovate[bot]
87cf6e58a2
chore(deps): update dependency @babel/core to v7.18.9 (#1830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-18 12:11:16 +00:00
renovate[bot]
d89d8c0d0e
chore(deps): update dependency eslint to v8.20.0 (#1827)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-17 00:12:12 +00:00
renovate[bot]
d52ccef4d1 fix(deps): update dependency unleash-frontend to v4.14.0-beta.1 2022-07-14 22:31:25 +00:00
renovate[bot]
df8ecc1a26 chore(deps): update dependency ts-node to v10.9.1 2022-07-14 17:09:01 +00:00
renovate[bot]
7418e39fec chore(deps): update dependency ts-node to v10.9.0 2022-07-14 02:27:09 +00:00
Thomas Heartman
847119f964
feat: add playground API post endpoint (#1791)
* Chore: add unleash-client dependency

* Feat: add openapi specs for basic sdk contexts and playground reqs

* Feat: add openapi spec for response

* Feat: add openAPI entry for playground endpoint

* Fix: remove required 'projects' property that doesn't exist

* Refactor: add test placeholders for playground api

* Chore: improve openAPI description for playground request

* Refactor: align example project names

* Fix: update openapi snapshot

* Fix: summary -> description; example -> examples

* Feat: add fast-check and stub out one test.

The test doesn't work yet.

* Feat: add test and generator for sdk context schema

* Feat: add generators and tests for all new schemas

* Feat: test that the same input is returned exactly

* Feat: add more tests and more schemas

* Refactor: clean up tests some

* Refactor: simplify url friendliness check

* Refactor: fix types for playground request schema generator

* Feat: add bad request test

* Fix: make parameters the correct shape in generator

* Feat: scaffold out tests for service and endpoint

Liberal use of @ts-expect-error

* Fix: update snapshot with new model

* Add missing appName

* wip: stub out some extra tests

* Feat: model strategies for testing

* Feat: model variant payloads better

* Refactor: input params for function

* Refactor: use email address for user id generation

* Chore: update comment

* Wip: start stubbing out e2e tests

* Refactor: move tests requiring db to e2e file

* Fix: make e2e tests run as expected

* Fix: make toggle generator test work as expected

* Fix: increase timeout for long-running e2e test

* Wip: map toggles test

* Wip: test movement and cleanup

* Refactor: remove `AllowedStrings` in favor of typeof X[number]

* Wip: add e2e tests for the service

* Wip: tests in progress

* Feat: return fuller variant value

* Wip: delete redundant test.

Both those tests were testing versions of the same thing, so let's
delete one of them

* Feat: update openAPI snapshot

* Feat: hook up the playground service

* Feat: fix test cases for e2e api

* Refactor: get rid of _one_ 'as unknown as x' cast

* Fix: wait for the client to be ready before we pass it back

* Fix: weights go to 1000!

* Fix: fix some test assertions, add one more test to be sure

* Wip: add some test parameters to hopefully avoid timeouts

* Fix: don't init the client if there are no toggles

If you don't provide it with any toggles to bootstrap, then the client
will never be ready. This avoids that.

This adds two ways around it because we'll probably get away with a
bit less computation if we don't even try to initialize it. However,
we also don't want anyone else to make this mistake.

* Chore: modify test params

* Feat: use the type system to avoid empty lists for initialization

* Refactor: make tests simpler

* Feat: test basic context values

* Feat: test dynamic context values

* Fix: make custom context field test more reliable

* Feat: use unique arrays for toggles

* Feat: make `appName` required in context

* Fix: sdk context schema arbitrary: make appName at least 1 char long

* Fix: add a minimum length on appName in the context schema

* Fix: fix tests that fail due to new requirements

* Fix: update a test: remove variant mapping testing

* Fix: fix remaining tests

* Feat: rename response.toggles -> response.features

* Refactor: avoid single-letter predicate variables

* Refactor: extract offlineclient into its own file

* Refactor: move arbitraries into separate file

* Refactor: move playground requests into util function

* Fix: remove duplicate declaration of urlFriendlyString

* Chore: update comment

* Refactor: align on arbitrary generator naming

* Feat: Export single strategy arbitrary
2022-07-12 13:01:10 +02:00
renovate[bot]
c991541e6c chore(deps): update dependency eslint to v8.19.0 2022-07-11 19:42:22 +00:00
renovate[bot]
b684c9c05e chore(deps): update dependency ts-node to v10.8.2 2022-07-11 16:32:47 +00:00
renovate[bot]
b77490b583 chore(deps): update dependency @types/express-session to v1.17.5 2022-07-11 13:44:48 +00:00
renovate[bot]
16dc677340 chore(deps): update dependency eslint-plugin-prettier to v4.2.1 2022-07-01 02:48:58 +00:00
renovate[bot]
c7847dd191 chore(deps): update dependency nock to v13.2.8 2022-06-30 23:59:28 +00:00
Christopher Kolstad
e9896a86f6
chore: bump unleash-frontend to 4.14.0-beta.0 2022-06-28 14:35:24 +02:00
renovate[bot]
e0557a6e5d chore(deps): update dependency @babel/core to v7.18.6 2022-06-28 00:40:16 +00:00
renovate[bot]
4d85cd3c56 chore(deps): update typescript-eslint monorepo to v5.30.0 2022-06-27 21:11:15 +00:00
renovate[bot]
ad014b5a1e chore(deps): update dependency eslint-plugin-prettier to v4.1.0 2022-06-27 17:58:53 +00:00
renovate[bot]
f2257eb45b
chore(deps): update dependency superagent to v8 (#1747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-27 12:58:39 +02:00
renovate[bot]
4c3ac89f7b chore(deps): update dependency lint-staged to v13.0.3 2022-06-24 19:29:36 +00:00
renovate[bot]
de4ba0970f
fix(deps): update dependency unleash-frontend to v4.13.0-beta.5 (#1741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-23 15:14:20 +02:00
renovate[bot]
28251af39e
chore(deps): pin dependency @types/make-fetch-happen to 9.0.2 (#1723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-21 09:09:40 +02:00
renovate[bot]
00bef41836 chore(deps): update typescript-eslint monorepo to v5.29.0 2022-06-20 20:50:29 +00:00
renovate[bot]
e06459ac79 chore(deps): update dependency eslint to v8.18.0 2022-06-18 04:13:15 +00:00
renovate[bot]
5c9f30ceef chore(deps): update dependency typescript to v4.7.4 2022-06-18 01:54:21 +00:00
Renovate Bot
e64d5a1f97 chore(deps): update dependency lint-staged to v13.0.2 2022-06-16 21:15:51 +00:00
Renovate Bot
52b1b29619 chore(deps): update dependency prettier to v2.7.1 2022-06-16 18:31:07 +00:00
Renovate Bot
a6232d3707 chore(deps): update dependency @types/semver to v7.3.10 2022-06-15 22:13:47 +00:00
Renovate Bot
2d3dce15c5 chore(deps): update dependency nock to v13.2.7 2022-06-15 05:56:58 +00:00
Renovate Bot
a6759a2a3b chore(deps): update typescript-eslint monorepo to v5.28.0 2022-06-14 22:01:30 +00:00
Renovate Bot
3e5ecc4822 chore(deps): update dependency prettier to v2.7.0 2022-06-14 18:53:32 +00:00
olav
d5ad220d78 chore: update unleash-frontend 2022-06-14 12:26:28 +02:00
olav
35ddb458a8 chore: update unleash-frontend 2022-06-14 10:24:34 +02:00
Renovate Bot
0f35bd3172 chore(deps): update dependency @babel/core to v7.18.5 2022-06-14 01:52:04 +00:00
Renovate Bot
c55d390a53 chore(deps): update dependency lint-staged to v13.0.1 2022-06-09 03:25:43 +00:00
renovate[bot]
cbffe0eda0
chore(deps): update dependency lint-staged to v13 (#1650)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-08 10:48:28 +02:00
renovate[bot]
de32c4ef19
fix(deps): update dependency openapi-types to v12 (#1666)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-08 10:22:45 +02:00
olav
13ef025fab
refactor: add soft response schema validation (#1657)
* refactor: remove most schema refs

* refactor: generalize request/response schemas

* refactor: simplify schema date formats

* refactor: add soft response schema validation

* refactor: fix emptySchema definition

* refactor: update json-schema-to-ts and use refs
2022-06-08 08:01:14 +02:00
Renovate Bot
979fc56a09 chore(deps): update typescript-eslint monorepo to v5.27.1 2022-06-06 22:33:49 +00:00
Renovate Bot
78b3b78ced chore(deps): update dependency typescript to v4.7.3 2022-06-04 05:56:08 +00:00
Renovate Bot
8fac55b24c chore(deps): update dependency eslint to v8.17.0 2022-06-04 04:00:59 +00:00
Renovate Bot
0e8b7f58e1 chore(deps): update dependency ts-node to v10.8.1 2022-06-04 01:16:09 +00:00
Renovate Bot
dc3f59227c chore(deps): update dependency nock to v13.2.6 2022-06-03 21:28:15 +00:00
Renovate Bot
ff7842b2f1 chore(deps): update dependency @types/jest to v27.5.2 2022-06-02 14:35:52 +00:00
olav
7e3f0329ab
refactor: avoid inlining segments for supported clients (#1640)
* refactor: add semver lib types

* refactor: avoid inlining segments for supported clients

* refactor: fix FeatureController tests

* refactor: use spec version instead of client version

* refactor: improve header validation errors
2022-06-02 14:07:46 +02:00
Renovate Bot
7beed26cf6 fix(deps): update dependency unleash-frontend to v4.12.3 2022-06-01 19:20:59 +00:00
renovate[bot]
0eb3fc144d
fix(deps): update dependency unleash-frontend to v4.12.2 (#1653)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-01 15:50:56 +02:00
Simen Bekkhus
0b6fdc147e
fix: update multer (#1649) 2022-06-01 12:10:49 +02:00
renovate[bot]
38c4f5ce12
chore(deps): update dependency superagent to v7.1.6 (#1647)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-06-01 09:44:50 +02:00
Renovate Bot
33a52df4d2 chore(deps): update dependency lint-staged to v12.5.0 2022-06-01 02:24:13 +00:00
Renovate Bot
3c6f6818c0 chore(deps): update dependency superagent to v7.1.4 2022-05-31 23:19:05 +00:00
Renovate Bot
6a857f01a4 fix(deps): update dependency unleash-frontend to v4.12.1 2022-05-31 14:35:59 +00:00
Renovate Bot
1cfb25fcb8 chore(deps): update typescript-eslint monorepo to v5.27.0 2022-05-31 00:39:06 +00:00
Renovate Bot
e9e2e832e4 chore(deps): update dependency lint-staged to v12.4.3 2022-05-30 13:46:58 +00:00
Renovate Bot
9762ba1fb6 fix(deps): update dependency unleash-frontend to v4.12.0 2022-05-27 17:12:40 +00:00
Renovate Bot
b3161bc2e8 chore(deps): update dependency @babel/core to v7.18.2 2022-05-25 13:24:12 +00:00
Renovate Bot
0d623e184c chore(deps): update dependency typescript to v4.7.2 2022-05-24 23:53:46 +00:00
Renovate Bot
ad319f9016 chore(deps): update dependency lint-staged to v12.4.2 2022-05-24 17:27:32 +00:00
Renovate Bot
e3399cda89 chore(deps): update typescript-eslint monorepo to v5.26.0 2022-05-24 13:01:04 +00:00
Ivar Conradi Østhus
fe05ca656d
fix: upgrade multer to v1.4.4 2022-05-24 12:26:46 +02:00
Renovate Bot
d4581a1ae2 fix(deps): update dependency unleash-frontend to v4.11.2 2022-05-23 15:54:10 +00:00
renovate[bot]
b57754ca35
chore(deps): update dependency eslint to v8.16.0 (#1622)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-23 12:29:59 +02:00
Renovate Bot
f306622580 chore(deps): update dependency ts-node to v10.8.0 2022-05-21 22:38:08 +00:00
renovate[bot]
4cf5415957
fix(deps): update dependency unleash-frontend to v4.11.0 (#1597)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-20 22:32:00 +02:00
renovate[bot]
090d7155e0
chore(deps): update dependency ts-jest to v27.1.5 (#1606)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-20 12:43:33 +02:00
renovate[bot]
f954de0ecf
chore(deps): update dependency @babel/core to v7.18.0 (#1612)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-20 12:20:44 +02:00
Renovate Bot
da249a4c16 chore(deps): update typescript-eslint monorepo to v5.25.0 2022-05-17 19:53:31 +00:00
Renovate Bot
d68b304607 chore(deps): update dependency @babel/core to v7.17.12 2022-05-17 00:57:22 +00:00
Renovate Bot
ec47ff551e chore(deps): update typescript-eslint monorepo to v5.24.0 2022-05-16 21:30:08 +00:00
Ivar Conradi Østhus
4cf0829c36
fix: bump unleash-frontend to v4.11.0-beta.2 2022-05-12 20:15:12 +02:00
Renovate Bot
6e401d9ebb chore(deps): update dependency @types/jest to v27.5.1 2022-05-12 03:21:22 +00:00
olav
3bea8a9931
refactor: use static as the asset dir name (#1586)
* refactor: use static as the asset dir name

* chore: update unleash-frontend

* refactor: use the real index.html in tests
2022-05-10 15:47:54 +02:00
Ivar Conradi Østhus
9915a19770
fix: upgrade unleash-frontend to v4.11.0-beta.0 2022-05-10 10:17:45 +02:00
Renovate Bot
7c9966d96b chore(deps): update dependency @typescript-eslint/eslint-plugin to v5.23.0 2022-05-09 20:45:33 +00:00
renovate[bot]
77874e845d
chore(deps): update dependency husky to v8 (#1576)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-09 19:40:51 +02:00
renovate[bot]
b129edc274
chore(deps): update dependency @typescript-eslint/parser to v5.23.0 (#1580)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-09 19:40:35 +02:00