├── .changeset ├── README.md └── config.json ├── .github └── workflows │ ├── main.yml │ └── release.yml ├── .gitignore ├── .npmrc ├── .turbo └── config.json ├── LICENSE ├── README.md ├── example ├── .env ├── .gitignore ├── CHANGELOG.md ├── README.md ├── app │ ├── .well-known │ │ └── vercel │ │ │ └── flags │ │ │ └── route.ts │ ├── demo │ │ ├── client-components │ │ │ ├── page-content.tsx │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ └── server-components │ │ │ └── page.tsx │ └── layout.tsx ├── components │ ├── Content.tsx │ ├── Divider.tsx │ ├── EdgeFunctionContent.tsx │ ├── HelpBox.tsx │ ├── Layout.tsx │ ├── Nav.tsx │ ├── NavLink-12.tsx │ ├── NavLink-13.tsx │ ├── Performance.tsx │ ├── Result.tsx │ └── Switch.tsx ├── flags │ ├── client.ts │ ├── config.ts │ ├── edge.ts │ └── server.ts ├── middleware.ts ├── next-env.d.ts ├── next.config.js ├── package.json ├── pages │ ├── _app.tsx │ ├── demo │ │ ├── basic-usage.tsx │ │ ├── client-side-rendering.tsx │ │ ├── context.tsx │ │ ├── disabled-revalidation.tsx │ │ ├── dynamics.tsx │ │ ├── middleware │ │ │ └── [variant].tsx │ │ ├── rollouts.tsx │ │ ├── server-side-rendering-hybrid.tsx │ │ ├── server-side-rendering-pure.tsx │ │ ├── static-site-generation-hybrid.tsx │ │ ├── static-site-generation-pure.tsx │ │ ├── targeting-by-traits.tsx │ │ ├── targeting-by-user.tsx │ │ └── targeting-by-visitor-key.tsx │ ├── docs │ │ └── public-api.tsx │ ├── index.tsx │ └── notes │ │ └── simultaneous-invocations-of-use-flags-detected.tsx ├── postcss.config.js ├── public │ ├── favicon.png │ ├── github.svg │ ├── logo.svg │ └── sitemap.xml ├── tailwind.config.js ├── tsconfig.json └── vercel.json ├── package.json ├── package ├── ARCHITECTURE.md ├── CHANGELOG.md ├── README.md ├── api-route │ └── package.json ├── babel.config.js ├── client │ └── package.json ├── config │ └── package.json ├── context │ └── package.json ├── edge │ └── package.json ├── evaluate │ └── package.json ├── jest.config.js ├── jest │ ├── delete-all-cookies.ts │ └── mutation-observer.js ├── package.json ├── server │ └── package.json ├── src │ ├── api-route.ts │ ├── client.ts │ ├── config.ts │ ├── context.ts │ ├── edge.ts │ ├── evaluate.spec.ts │ ├── evaluate.ts │ ├── evaluation-types.ts │ ├── internal │ │ ├── apply-configuration-defaults.ts │ │ ├── errors.ts │ │ ├── murmur.ts │ │ ├── resolve-flag-to-variant.spec.ts │ │ ├── resolve-flag-to-variant.ts │ │ ├── types.ts │ │ └── utils.ts │ └── server.ts ├── tsconfig.json └── tsup.config.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── turbo.json /.changeset/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/.changeset/README.md -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/.changeset/config.json -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | strict-peer-dependencies=false 2 | -------------------------------------------------------------------------------- /.turbo/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/.turbo/config.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/README.md -------------------------------------------------------------------------------- /example/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/.env -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/.gitignore -------------------------------------------------------------------------------- /example/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/CHANGELOG.md -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/README.md -------------------------------------------------------------------------------- /example/app/.well-known/vercel/flags/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/app/.well-known/vercel/flags/route.ts -------------------------------------------------------------------------------- /example/app/demo/client-components/page-content.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/app/demo/client-components/page-content.tsx -------------------------------------------------------------------------------- /example/app/demo/client-components/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/app/demo/client-components/page.tsx -------------------------------------------------------------------------------- /example/app/demo/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/app/demo/layout.tsx -------------------------------------------------------------------------------- /example/app/demo/server-components/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/app/demo/server-components/page.tsx -------------------------------------------------------------------------------- /example/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/app/layout.tsx -------------------------------------------------------------------------------- /example/components/Content.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/Content.tsx -------------------------------------------------------------------------------- /example/components/Divider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/Divider.tsx -------------------------------------------------------------------------------- /example/components/EdgeFunctionContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/EdgeFunctionContent.tsx -------------------------------------------------------------------------------- /example/components/HelpBox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/HelpBox.tsx -------------------------------------------------------------------------------- /example/components/Layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/Layout.tsx -------------------------------------------------------------------------------- /example/components/Nav.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/Nav.tsx -------------------------------------------------------------------------------- /example/components/NavLink-12.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/NavLink-12.tsx -------------------------------------------------------------------------------- /example/components/NavLink-13.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/NavLink-13.tsx -------------------------------------------------------------------------------- /example/components/Performance.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/Performance.tsx -------------------------------------------------------------------------------- /example/components/Result.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/Result.tsx -------------------------------------------------------------------------------- /example/components/Switch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/components/Switch.tsx -------------------------------------------------------------------------------- /example/flags/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/flags/client.ts -------------------------------------------------------------------------------- /example/flags/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/flags/config.ts -------------------------------------------------------------------------------- /example/flags/edge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/flags/edge.ts -------------------------------------------------------------------------------- /example/flags/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/flags/server.ts -------------------------------------------------------------------------------- /example/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/middleware.ts -------------------------------------------------------------------------------- /example/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/next-env.d.ts -------------------------------------------------------------------------------- /example/next.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/next.config.js -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/package.json -------------------------------------------------------------------------------- /example/pages/_app.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/_app.tsx -------------------------------------------------------------------------------- /example/pages/demo/basic-usage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/basic-usage.tsx -------------------------------------------------------------------------------- /example/pages/demo/client-side-rendering.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/client-side-rendering.tsx -------------------------------------------------------------------------------- /example/pages/demo/context.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/context.tsx -------------------------------------------------------------------------------- /example/pages/demo/disabled-revalidation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/disabled-revalidation.tsx -------------------------------------------------------------------------------- /example/pages/demo/dynamics.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/dynamics.tsx -------------------------------------------------------------------------------- /example/pages/demo/middleware/[variant].tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/middleware/[variant].tsx -------------------------------------------------------------------------------- /example/pages/demo/rollouts.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/rollouts.tsx -------------------------------------------------------------------------------- /example/pages/demo/server-side-rendering-hybrid.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/server-side-rendering-hybrid.tsx -------------------------------------------------------------------------------- /example/pages/demo/server-side-rendering-pure.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/server-side-rendering-pure.tsx -------------------------------------------------------------------------------- /example/pages/demo/static-site-generation-hybrid.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/static-site-generation-hybrid.tsx -------------------------------------------------------------------------------- /example/pages/demo/static-site-generation-pure.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/static-site-generation-pure.tsx -------------------------------------------------------------------------------- /example/pages/demo/targeting-by-traits.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/targeting-by-traits.tsx -------------------------------------------------------------------------------- /example/pages/demo/targeting-by-user.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/targeting-by-user.tsx -------------------------------------------------------------------------------- /example/pages/demo/targeting-by-visitor-key.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/demo/targeting-by-visitor-key.tsx -------------------------------------------------------------------------------- /example/pages/docs/public-api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/docs/public-api.tsx -------------------------------------------------------------------------------- /example/pages/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/index.tsx -------------------------------------------------------------------------------- /example/pages/notes/simultaneous-invocations-of-use-flags-detected.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/pages/notes/simultaneous-invocations-of-use-flags-detected.tsx -------------------------------------------------------------------------------- /example/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/postcss.config.js -------------------------------------------------------------------------------- /example/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/public/favicon.png -------------------------------------------------------------------------------- /example/public/github.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/public/github.svg -------------------------------------------------------------------------------- /example/public/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/public/logo.svg -------------------------------------------------------------------------------- /example/public/sitemap.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/public/sitemap.xml -------------------------------------------------------------------------------- /example/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/tailwind.config.js -------------------------------------------------------------------------------- /example/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/tsconfig.json -------------------------------------------------------------------------------- /example/vercel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/example/vercel.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package.json -------------------------------------------------------------------------------- /package/ARCHITECTURE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/ARCHITECTURE.md -------------------------------------------------------------------------------- /package/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/CHANGELOG.md -------------------------------------------------------------------------------- /package/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/README.md -------------------------------------------------------------------------------- /package/api-route/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/api-route/package.json -------------------------------------------------------------------------------- /package/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/babel.config.js -------------------------------------------------------------------------------- /package/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/client/package.json -------------------------------------------------------------------------------- /package/config/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/config/package.json -------------------------------------------------------------------------------- /package/context/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/context/package.json -------------------------------------------------------------------------------- /package/edge/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/edge/package.json -------------------------------------------------------------------------------- /package/evaluate/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/evaluate/package.json -------------------------------------------------------------------------------- /package/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/jest.config.js -------------------------------------------------------------------------------- /package/jest/delete-all-cookies.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/jest/delete-all-cookies.ts -------------------------------------------------------------------------------- /package/jest/mutation-observer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/jest/mutation-observer.js -------------------------------------------------------------------------------- /package/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/package.json -------------------------------------------------------------------------------- /package/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/server/package.json -------------------------------------------------------------------------------- /package/src/api-route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/api-route.ts -------------------------------------------------------------------------------- /package/src/client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/client.ts -------------------------------------------------------------------------------- /package/src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/config.ts -------------------------------------------------------------------------------- /package/src/context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/context.ts -------------------------------------------------------------------------------- /package/src/edge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/edge.ts -------------------------------------------------------------------------------- /package/src/evaluate.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/evaluate.spec.ts -------------------------------------------------------------------------------- /package/src/evaluate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/evaluate.ts -------------------------------------------------------------------------------- /package/src/evaluation-types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/evaluation-types.ts -------------------------------------------------------------------------------- /package/src/internal/apply-configuration-defaults.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/internal/apply-configuration-defaults.ts -------------------------------------------------------------------------------- /package/src/internal/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/internal/errors.ts -------------------------------------------------------------------------------- /package/src/internal/murmur.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/internal/murmur.ts -------------------------------------------------------------------------------- /package/src/internal/resolve-flag-to-variant.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/internal/resolve-flag-to-variant.spec.ts -------------------------------------------------------------------------------- /package/src/internal/resolve-flag-to-variant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/internal/resolve-flag-to-variant.ts -------------------------------------------------------------------------------- /package/src/internal/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/internal/types.ts -------------------------------------------------------------------------------- /package/src/internal/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/internal/utils.ts -------------------------------------------------------------------------------- /package/src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/src/server.ts -------------------------------------------------------------------------------- /package/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/tsconfig.json -------------------------------------------------------------------------------- /package/tsup.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/package/tsup.config.ts -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/happykit/flags/HEAD/turbo.json --------------------------------------------------------------------------------