Example Featurevisor project utilizing Cloudflare Pages.
For more documentation, visit https://featurevisor.com.
Accessing datafiles
The generated datafiles from this repository is accessible via these URLs:
production: https://featurevisor-example-cloudflare.pages.dev/production/featurevisor-tag-all.jsonstaging: https://featurevisor-example-cloudflare.pages.dev/staging/featurevisor-tag-all.json
Usage with Featurevisor SDK
Install the SDK in your application:
$ npm install --save @featurevisor/sdk
Then use it in your application:
import { createInstance } from "@featurevisor/sdk"; const DATAFILE_URL = "https://featurevisor-example-cloudflare.pages.dev/production/featurevisor-tag-all.json"; const datafileContent = await fetch(DATAFILE_URL).then((res) => res.json()); const sdk = createInstance({ datafile: datafileContent, });
Learn more about SDK usage here.
Installation
Since this example app lives outside of the Featurevisor monorepo, you are recommended to make sure package.json has the latest version of @featurevisor/cli package.
Usage
Lint YAMLs
Build datafiles
Checkout output in datafiles directory.
Test features
Cloudflare
For this example, we are going to be uploading to and serving our datafiles from Cloudflare Pages.
Make sure you already have a Cloudflare Pages project set up, and then use it in the publish workflow.
GitHub Actions
This example project is configured to run its CI/CD pipeline with GitHub Actions.
You are free to choose any other CI/CD provider of your choice.
Settings
Make sure you have Read and write permissions enabled in your GitHub repository's Settings > Actions > General > Workflow permissions section.
Workflows
You can find the GHA workflow files in .github/workflows directory.
checksworkflow: runs against non-master(non-main) branchespublishworkflow: runs againstmaster(main) branch
Secrets
Follow the guide here, and set up these two secrets in your GitHub repository's Settings > Secrects and variables > Actions section:
CLOUDFLARE_ACCOUNT_IDCLOUDFLARE_API_TOKEN
License
MIT © Fahad Heylaal