- Node 20+
- TypeScript 5+
- Fastly CLI
We prefer using pnpm for managing dependencies and running scripts.
- The
main
branch is locked for direct pushes. - The
rc
branch is used for active development of new features. - Releases are created from the
main
branch.
For proposing changes, use the standard pull request approach. Please ensure that your pull request is directed to the rc
branch, as this is our active development branch for new features. You can create a PR to the rc
branch from your own branch here. It’s recommended to discuss fixes or new features in the Issues first.
- After cloning the repository, run
pnpm install
to install dependencies. - Run
pnpm build
to compile the project and assemble the WebAssembly output. - The build artifact is located in the
bin/main.wasm
file, which will be deployed to Fastly.
By default, the service package provided in releases assumes the following names for the Config store and Secret Store:
Fingerprint_Compute_Config_Store_<SERVICE_ID>
Fingerprint_Compute_Secret_Store_<SERVICE_ID>
To use a custom name prefix for both(Secret and Config) stores, use the STORE_NAME_PREFIX
environment variable to build a custom service package:
STORE_NAME_PREFIX=CustomName fastly compute build
Your custom built package in pkg/fingerprint-fastly-compute-proxy-integration.tar.gz
will use your custom prefix in store names like:
CustomName_Config_Store_<SERVICE_ID>
CustomName_Secret_Store_<SERVICE_ID>
We enforce code quality using ESLint and Prettier. To check code style:
pnpm lint
You aren't required to run these checks manually, as the CI pipeline will handle it. However, to fix code style issues locally:
pnpm lint:fix
We follow conventional commits for commit messages.
To run unit tests:
pnpm test
End-to-end tests are run automatically for every pull request using our CI workflows.