Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Angular SDK #997

Merged
merged 10 commits into from
Sep 13, 2024
Merged

feat: Angular SDK #997

merged 10 commits into from
Sep 13, 2024

Conversation

lukas-reining
Copy link
Member

@lukas-reining lukas-reining commented Sep 3, 2024

This PR

Adds an Angular SDK as discussed in #976.
It mainly provides directives that conditionally render based on flag value and provider state.

I did not inject any OpenFeature service or anything like that, as I think the directives will be the way to access feature flags in the templates, and the OpenFeature global API can be used directly in services. But I am not 100% sure on that one.

Happy to receive feedback and opinions :)

A small test app can be found here: https://github.com/open-feature/angular-test-app
This can be used with yalc.

@beeme1mr
Copy link
Member

beeme1mr commented Sep 3, 2024

I've reviewed the flagged licenses and added exceptions in FOSSA.

Copy link
Member

@beeme1mr beeme1mr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've left some quick feedback, but I would like to play around with your demo app before approving it.

package.json Show resolved Hide resolved
packages/angular/projects/angular-sdk/README.md Outdated Show resolved Hide resolved
@lukas-reining lukas-reining changed the title feat: angular sdk feat: Angular SDK Sep 4, 2024
@toddbaert
Copy link
Member

This all looks really, good, but I'm wondering what you think about this: https://github.com/open-feature/js-sdk/pull/997/files#r1746120679

@lukas-reining lukas-reining force-pushed the feat/angular-sdk branch 2 times, most recently from ae18c8b to 278e48b Compare September 6, 2024 14:18
lukas-reining and others added 8 commits September 6, 2024 16:54
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
@toddbaert
Copy link
Member

toddbaert commented Sep 6, 2024

I think this looks like enough for an initial release!

I did not inject any OpenFeature service or anything like that, as I think the directives will be the way to access feature flags in the templates, and the OpenFeature global API can be used directly in services. But I am not 100% sure on that one.

I think, additionally, if you want to use a client or something you will inject one as a dependency using a factory injector or something like that... Because Angular has such strong DI patterns, I don't think anything more than the directives is needed; the rest can be easily done with DI. We could perhaps document that, but I think most people would get it.

@toddbaert toddbaert self-requested a review September 6, 2024 15:34
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
@toddbaert
Copy link
Member

I'm comfortable with releasing this, but we could also wait until after this weeks meeting - and maybe get a demo there, though I don't want to volunteer you for anything @lukas-reining

@lukas-reining
Copy link
Member Author

lukas-reining commented Sep 10, 2024

I'm comfortable with releasing this, but we could also wait until after this weeks meeting - and maybe get a demo there, though I don't want to volunteer you for anything @lukas-reining

This sounds good, I will do a quick demo in the meeting @toddbaert :)
Will polish the test app a bit to show off the features and then we can merge maybe the day after the community meeting if nothing comes up.

Building a nice demo is the hard part actually :D

Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
@lukas-reining
Copy link
Member Author

I would merge it this afternoon if noting comes up until then @toddbaert @beeme1mr @juanparadox :)

@lukas-reining lukas-reining added this pull request to the merge queue Sep 13, 2024
Merged via the queue into main with commit 105fd95 Sep 13, 2024
8 checks passed
@lukas-reining lukas-reining deleted the feat/angular-sdk branch September 13, 2024 15:15
github-merge-queue bot pushed a commit that referenced this pull request Sep 13, 2024
🤖 I have created a release *beep* *boop*
---


## 0.0.1-experimental (2024-09-13)


### ✨ New Features

* Angular SDK
([#997](#997))
([105fd95](105fd95))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Co-authored-by: Lukas Reining <lukas.reining@codecentric.de>
lukas-reining added a commit that referenced this pull request Sep 14, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.0.1-experimental](angular-sdk-v0.0.2-experimental...angular-sdk-v0.0.1-experimental)
(2024-09-14)


### ✨ New Features

* Angular SDK
([#997](#997))
([105fd95](105fd95))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Co-authored-by: Lukas Reining <lukas.reining@codecentric.de>
lukas-reining added a commit that referenced this pull request Nov 21, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.0.8-experimental](angular-sdk-v0.0.7-experimental...angular-sdk-v0.0.8-experimental)
(2024-11-21)


### ✨ New Features

* Angular SDK
([#997](#997))
([105fd95](105fd95))
* **angular:** add Angular 18 support
([#1063](#1063))
([e62d6d4](e62d6d4))
* **angular:** add angular 19 to peerDependencies
([4893d6f](4893d6f))


### 🐛 Bug Fixes

* **angular:** add package description
([#1026](#1026))
([dc63ca8](dc63ca8))
* **angular:** fix race condition on initialization
([#1052](#1052))
([12eaa97](12eaa97))
* copy license to package correctly
([#1011](#1011))
([458d278](458d278))
* fix release of angular sdk
([4a370cc](4a370cc))


### 🧹 Chore

* add npm keywords for angular
([#1015](#1015))
([6b11165](6b11165))
* **main:** release angular-sdk 0.0.1-experimental
([#1003](#1003))
([ed3aaa4](ed3aaa4))
* **main:** release angular-sdk 0.0.1-experimental
([#1010](#1010))
([eb42c4c](eb42c4c))
* **main:** release angular-sdk 0.0.2-experimental
([#1008](#1008))
([f74056c](f74056c))
* **main:** release angular-sdk 0.0.2-experimental
([#1012](#1012))
([8bdc164](8bdc164))
* **main:** release angular-sdk 0.0.3-experimental
([#1014](#1014))
([baec2fb](baec2fb))
* **main:** release angular-sdk 0.0.4-experimental
([#1027](#1027))
([c1374bb](c1374bb))
* **main:** release angular-sdk 0.0.5-experimental
([#1053](#1053))
([5636983](5636983))
* **main:** release angular-sdk 0.0.6-experimental
([#1064](#1064))
([7f9001e](7f9001e))
* **main:** release angular-sdk 0.0.7-experimental
([#1088](#1088))
([6016465](6016465))
* **main:** release angular-sdk 0.0.7-experimental
([#1091](#1091))
([2a21f4f](2a21f4f))


### 📚 Documentation

* **angular:** improve angular readme layout
([#1013](#1013))
([ee52da9](ee52da9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Co-authored-by: Lukas Reining <lukas.reining@codecentric.de>
wichopy pushed a commit to wichopy/openfeature-js-sdk that referenced this pull request Dec 31, 2024
🤖 I have created a release *beep* *boop*
---

##
[0.0.8-experimental](open-feature/js-sdk@angular-sdk-v0.0.7-experimental...angular-sdk-v0.0.8-experimental)
(2024-11-21)

### ✨ New Features

* Angular SDK
([open-feature#997](open-feature#997))
([105fd95](open-feature@105fd95))
* **angular:** add Angular 18 support
([open-feature#1063](open-feature#1063))
([e62d6d4](open-feature@e62d6d4))
* **angular:** add angular 19 to peerDependencies
([4893d6f](open-feature@4893d6f))

### 🐛 Bug Fixes

* **angular:** add package description
([open-feature#1026](open-feature#1026))
([dc63ca8](open-feature@dc63ca8))
* **angular:** fix race condition on initialization
([open-feature#1052](open-feature#1052))
([12eaa97](open-feature@12eaa97))
* copy license to package correctly
([open-feature#1011](open-feature#1011))
([458d278](open-feature@458d278))
* fix release of angular sdk
([4a370cc](open-feature@4a370cc))

### 🧹 Chore

* add npm keywords for angular
([open-feature#1015](open-feature#1015))
([6b11165](open-feature@6b11165))
* **main:** release angular-sdk 0.0.1-experimental
([open-feature#1003](open-feature#1003))
([ed3aaa4](open-feature@ed3aaa4))
* **main:** release angular-sdk 0.0.1-experimental
([open-feature#1010](open-feature#1010))
([eb42c4c](open-feature@eb42c4c))
* **main:** release angular-sdk 0.0.2-experimental
([open-feature#1008](open-feature#1008))
([f74056c](open-feature@f74056c))
* **main:** release angular-sdk 0.0.2-experimental
([open-feature#1012](open-feature#1012))
([8bdc164](open-feature@8bdc164))
* **main:** release angular-sdk 0.0.3-experimental
([open-feature#1014](open-feature#1014))
([baec2fb](open-feature@baec2fb))
* **main:** release angular-sdk 0.0.4-experimental
([open-feature#1027](open-feature#1027))
([c1374bb](open-feature@c1374bb))
* **main:** release angular-sdk 0.0.5-experimental
([open-feature#1053](open-feature#1053))
([5636983](open-feature@5636983))
* **main:** release angular-sdk 0.0.6-experimental
([open-feature#1064](open-feature#1064))
([7f9001e](open-feature@7f9001e))
* **main:** release angular-sdk 0.0.7-experimental
([open-feature#1088](open-feature#1088))
([6016465](open-feature@6016465))
* **main:** release angular-sdk 0.0.7-experimental
([open-feature#1091](open-feature#1091))
([2a21f4f](open-feature@2a21f4f))

### 📚 Documentation

* **angular:** improve angular readme layout
([open-feature#1013](open-feature#1013))
([ee52da9](open-feature@ee52da9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: OpenFeature Bot <109696520+openfeaturebot@users.noreply.github.com>
Signed-off-by: Lukas Reining <lukas.reining@codecentric.de>
Co-authored-by: Lukas Reining <lukas.reining@codecentric.de>
Signed-off-by: Will Chou <w.chou06@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants