Adds Angular 20 support.
This also remove the custom jest setup as it was not compatible with
Angular 20 and uses builtin support for vitest in Angular 20.
For this, Angular has been removed from the jest setup and the pipeline
runs it separately now.
Fixes#1206
---------
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
## This PR
- adds node 22 to the test matrix
### Notes
Node 22 is the current active LTS version. We still should target Node
18 but test Node 22.
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
## This PR
- add provenance statement to released artifacts
### Notes
Snippet from the NPM docs:
> You can generate provenance statements for the packages you publish.
This allows you to publicly establish where a package was built and who
published a package, which can increase supply-chain security for your
packages.
It also adds a cool badge in NPM 😎
### Resources
-
https://docs.npmjs.com/generating-provenance-statements#example-github-actions-workflow
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
<!-- add the description of the PR here -->
Removes Node 16 as it is deprecated.
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
SBOM generation failed because I forgot the checkout step.
This adds it.
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
This PR addresses: https://github.com/open-feature/js-sdk/issues/616 by:
- configuring CI to release a new module (in addition to
server/web/react we now release the "core" module (previously called
"shared").
- adding a peer dep to the above module to server/web/react
- adding a workflow to ensure that `shared` is released ahead of
associated web/server/react changes, and which also auto-increments the
peer dep version when the core module is released
- unrelated `typedoc` improvements/updates
> [!NOTE]
> I intend to create a new PR that will rename the dir structure
according to the packages... so `shared/` will become `core/` and
`client/` will become `web/`. I just didn't want to add confusion and
noise to this PR.
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://togithub.com/actions/setup-node) | action
| major | `v3` -> `v4` |
---
### Release Notes
<details>
<summary>actions/setup-node (actions/setup-node)</summary>
### [`v4`](https://togithub.com/actions/setup-node/compare/v3...v4)
[Compare
Source](https://togithub.com/actions/setup-node/compare/v3...v4)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **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://developer.mend.io/github/open-feature/js-sdk).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMzEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
These are end-to-end tests.
No functional changes. I did use `git mv` to try to preserve history as
best as possible.
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
- implements all integration tests from the test harness for the client
package
Signed-off-by: Moritz Wiesinger <moritz.wiesinger@dynatrace.com>
Co-authored-by: Todd Baert <toddbaert@gmail.com>
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->
## This PR
<!-- add the description of the PR here -->
- adds npm caching in all pipelines, with cache setup node takes 5s
against 12s of before

### Related Issues
<!-- add here the GitHub issue that this PR resolves if applicable -->
Fixes#310
### Notes
<!-- any additional notes for this PR -->
since 14 is now too old, we decided that 16 was the best version to
avoid breaking changes
---------
Signed-off-by: realanna <anna.reale@dynatrace.com>
This PR transfroms this repo into a monorepo, with server (exsiting),
client (new) and shared (new) packages.
There are no tests yet for the client. Publishing _should_ work but is
yet untested.
The experimental web SDK will be published as `0.0.1-experimental` and
features:
- native browser events
- "close" functionality (implemented in server as well)
- async context setting
- sync evaluation
Though we want `close` and `events` in the server SDK, they are not
implemented in this PR (though it would be very easy to do so and I've
left TODO's about it). **There are no functional changes in the server
SDK with this PR.**
Here is a [direct
link](https://github.com/open-feature/js-sdk/blob/experimental-web-sdk/README.md)
to the README.md changes.
**_I'm not expecting reviewers to go through this with a fine-toothed
comb. Most of the changes are just establishing the monorepo, and the
functional stuff in the new web-sdk is just experimental._**.
Closes: https://github.com/open-feature/js-sdk/issues/367
---------
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
This PR
Generates documentation based on TypeScript types and deploys the docs
using GH pages.
How to test
This was tested in a fork. The generated GH page can be seen
[here](https://beeme1mr.github.io/js-sdk/).
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>