Skip to content

Latest commit

 

History

History
74 lines (45 loc) · 2.58 KB

File metadata and controls

74 lines (45 loc) · 2.58 KB

Contributing to Fingerprint Pro Fastly Compute Proxy Integration

Requirements

Working with the Code

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.

How to Build

  1. After cloning the repository, run pnpm install to install dependencies.
  2. Run pnpm build to compile the project and assemble the WebAssembly output.
  3. The build artifact is located in the bin/main.wasm file, which will be deployed to Fastly.

Using custom store names

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>

Code Style

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

Commit Style

We follow conventional commits for commit messages.

How to Test

Unit Tests

To run unit tests:

pnpm test

End-to-End (e2e) Tests

End-to-end tests are run automatically for every pull request using our CI workflows.