Commit Graph

26 Commits

Author SHA1 Message Date
Aaron Morris 44bada78fb feature(adapter-posthog): Add PostHog adapter (#114)
* feature(adapter-posthog): PostHog Adapter
* pass flagValue=undefined to getFeatureFlagPayload
* Map NEXT_PUBLIC_POSTHOG_HOST to a PostHog app hostname by default, making appHost optional in getProviderData
* Do not expose synchronous client in the Adapter interface (make it async later)
* Add tests
2025-05-23 15:56:36 -04:00
Ron Cohen 1d662a731c chore(bucket): update to @bucketco/node-sdk@1.8.3 (#139)
* chore(bucket): update to @bucketco/node-sdk@1.8.3

* chore (changeset): Move package.json update to a changeset

---------

Co-authored-by: Aaron Morris <aaron@vercel.com>
2025-05-19 07:48:48 -04:00
Dominik Ferber 79b25f6aee @flags-sdk/bucket adapter (#96)
* init
* [@flags-sdk/bucket] getProviderData (#113)
* [@flags-sdk/bucket] various improvements (#121)
* Update framer-motion to motion for CI

---------

Co-authored-by: Ron Cohen <cohen1@gmail.com>
Co-authored-by: Aaron Morris <aaron@vercel.com>
2025-05-16 17:05:38 -04:00
Aaron Morris 16c928bf45 Hypertune Adapter (#125) 2025-05-14 12:28:55 -04:00
Dominik Ferber bc7944ed89 split crypto functions into dedicated functions (#126) 2025-05-02 17:45:00 +03:00
Dominik Ferber 3994336c4d style examples (#111) 2025-03-21 17:48:34 +02:00
Simon H 701f3c2bf2 Sveltekit flags enhancements (#75)
* use `$env/dynamic/private` from SvelteKit for convenience: people don't have to pass FLAGS_SECRET manually anymore then

* allow flag to be called outside of the lifecycle of the handle hook, with a request object being the key for deduplication etc

* add support for identifiers

* fix types

* new function for managing precomputed flags

* align with next.js API instead

* update example app

* lockfile

* test

* fix example

* restructure examples app

* make it two flags to show power of precompute + code

* add manual approach

* lets see if preview deployment is picked up

* change crypto usage to be usable in middleware

* make sveltekit flags pkg usable within edge middleware

* use ISR

* changeset

* enhance error message

* use static env instead of dynamic env

* bump kit

* use vercel adapter

* make sure Vite tooling is used for sveltekit entry point

---------

Co-authored-by: Dominik Ferber <dominik.ferber@gmail.com>
2025-03-21 14:43:28 +02:00
github-actions[bot] 290c37ef21 Version Packages (#102)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-13 09:16:39 +02:00
Dominik Ferber 91338530d2 Add OpenFeature adapter (#95)
* add OpenFeature adapter

* fix tsup.config.js

* add tests

* init fn

* allow sync and async usage

* remove generics when type is known
2025-03-13 08:43:28 +02:00
Andy 2fcc446ea8 Create LaunchDarkly adapter (#2)
* Create LaunchDarkly adapter

* Update example to include a LaunchDarkly flag

* Add missing env to turbo

* Rename to defaultLaunchDarklyAdapter

* Add winter sale example for providers

* Update winter-sale

* Document usage in readme

* Allow to set the default value through the adapter

* Fix readme

* Add default value for adapter

* Make argument optional

* Add @ts-expect-error

* Add a LaunchDarkly adapter (#10)

* add ld example

* reword

* remove winter-sale example

* remove defaultValue

* use @flags-sdk/launchdarkly

* add install steps

* add changeset

* move @vercel/edge-config to peer deps

* add more secrets

* spell out name

* remove unused env var

* rename properties

* Capitalize

* Change import

* Fix more imports

* expose ldClient

* move peerDeps to real deps

* clarify Edge Config requirement in README

* remove adapter-launchdarkly snippet

* upgrade next@canary

* polish @flags-sdk/launchdarkly README

---------

Co-authored-by: Dominik Ferber <dominik.ferber@gmail.com>
2025-03-08 09:29:26 +02:00
Dominik Ferber a5bfb13c43 extended example (#84)
* wip

* adapt nav

* store management

* ssr cart

* clean up

* fix stableId issue

* allow image sorting

* toast on ProceedToCheckoutButton

* move actions, extract components

* Add PPR to Cart (#85)

* toast on Shop now

* allow delay

* loading spinner

* wip

* fix animations

* show cart count

* Extend shirt-shop demo with dynamic flag usage (#86)

* better metadata

* wip

* move cart to api

* wip

* respect free shipping

* add example banner

* init shadcn

* reorg

* remove relative paths from components

* do not link footer

* wip

* remove shadcn setup

* api-server » shirt-shop-api

* /api/:cartId » /api/cart/:cartId

* add delayFlag desc

* fix cart count

* remove quantity

* fine tune animation

* shrink

* list envs, fix Link

* change flag names

* set cart-id from middleware

* append headers

* allow cloning

* add BACKEND_URL fallback
2025-03-04 17:05:13 +01:00
Dominik Ferber 646778643e convert summer-sale to shirt-shop (#79)
* convert summer-sale to shirt-shop

* update deps

* canary for snippets

* expect errors

* upgrade deps

* ComponentRef

* steps
2025-02-28 11:04:12 +02:00
Aaron Morris bd7e10aa39 (statsig-adapter): Release Statsig Adapter (#43)
* (statsig-adapter): Move Edge Config to peer deps, more consistent api key naming

* Move dynamic imports into initializeStatsig

* Add default adapter pattern

* Add changeset

* Add layerParameter to get config parameters from experiments in a layer

* (statsig-adapter) Focus on feature management (gates, dynamic configs), add origin, add exposure logging option

* (statsig-adapter) Update key handling and default export

* (refactoring, wip): move some runtime details out of the main implementation of the Statsig adapter

* Use statsig-node-lite

* Switch default environment variable to STATSIG_SERVER_SECRET"

* (statsig-adapter) Add readme

* Update README — Remove details on precompute, add optional peer deps to install command

* Add peerDependenciesMeta

* Update changeset text

* Refactor Statsig Adapter

Add experimentation primitives, disable exposure logging by default, identify StatsigUser instead of `{ statsigUser: StatsigUser }`

* (statsig-adapter) Update default environment variables

* use envvar: EXPERIMENTATION_CONFIG_ITEM_KEY

* Update packages/adapter-statsig/README.md

Co-authored-by: Dominik Ferber <dominik.ferber@gmail.com>

* Update packages/adapter-statsig/README.md

Co-authored-by: Dominik Ferber <dominik.ferber@gmail.com>

* Update README, docstrings

* upgrade statsig-node-lite

* remove edge config devDep

* reduce propagation time of Statsig updates

* update deps

* update lockfile

* prefix error

* simplify README

* extend package.json

* fix type

* switch example to gate

* expose types of Statsig SDK

* work around syncing issue

---------

Co-authored-by: Dominik Ferber <dominik.ferber@gmail.com>
2025-02-26 17:03:57 +02:00
Dominik Ferber 422435c0eb rename (#68)
* @vercel-flags » flags

* update lockfile

* fix name
2025-02-20 19:54:09 +02:00
Dominik Ferber 48cbe4533b Add @flags-sdk/edge-config adapter (#57)
* add Edge Config Adapter
* add README and tests
* add changeset
* add edge config caching

---------

Co-authored-by: Aaron Morris <aaron@vercel.com>
2025-02-14 10:53:13 -05:00
Aaron Morris cf532daf20 Update flags package json (#62)
* (flags) remove index from exports

* Update tsup.config, use clean:true instead of rimraf

* Add changeset

* pnpm-lock

* update tsup config, remove unused provider entrypoints

* tsup.config: update entry format

* Add attw check in CI

* Update .changeset/tidy-schools-retire.md

---------

Co-authored-by: Dominik Ferber <dominik.ferber@gmail.com>
2025-02-14 09:45:24 +02:00
Dominik Ferber 2388982f2f bring dark mode back for snippets (#55)
* Revert "Revert "add dark mode support (#53)" (#54)"

This reverts commit 2161f4d5f1.

* switch to cssVariables: false

* bring back darkmode for DemoFlag

* fix suspense example

* fix skeleton example
2025-02-01 12:30:03 +02:00
Dominik Ferber 2161f4d5f1 Revert "add dark mode support (#53)" (#54)
This reverts commit 77d68a4a96.
2025-02-01 06:27:57 +02:00
Dominik Ferber 77d68a4a96 add dark mode support (#53) 2025-01-31 08:47:25 -05:00
Aaron Morris bdea1488af Statsig adapter (#27)
* Add a Statsig adapter
* (statsig-adapter): Update initialization
* (changeset) Add changeset entry
2025-01-20 11:39:04 -05:00
Dominik Ferber 3e5db8c96a enable ppr (#16)
PPR is required for the Suspense Fallbacks example
2025-01-10 12:45:25 -05:00
Dominik Ferber 6876875a13 remove partial-prerendering example (#15)
* remove partial-prerendering example

This is now available as a snippet, so we no longer need a dedicated application

* update lockfile
2025-01-10 19:27:33 +02:00
Dominik Ferber 1fcd4fc177 Add Pages Router examples (#12)
* upgrade next

* ensure pages router support in turbopack

* add pages router examples

* fix cards

* re-add node prefix

* remove node prefix

* fix tests

* fix pages router pages
2025-01-10 15:06:24 +02:00
Dominik Ferber 8152ef3371 split up docs (#7)
* wip

* init collection

* convert identify

* convert precompute

* convert adapters

* convert marketing-pages

* convert feature-flags-in-edge-middleware

* remove docs

* rename to snippets

* rename collection to snippets

* eslint

* list examples on landing page

* remove unused code
2024-12-18 11:27:26 +02:00
Dominik Ferber 33b661f231 update turbo 2024-12-12 15:32:19 +02:00
Dominik Ferber db89f0dfb1 Init 2024-12-12 13:01:06 +02:00