This repo has two TypeScript-side conformance entry points. Use the structural runner to validate the corpus itself; use the Jest runner to execute supported vectors against @bsv/sdk.
Root command:
pnpm conformanceImplementation:
conformance/runner/src/runner.jsWhat it does:
*.json under conformance/vectors/conformance/runner/reports/Supported flags:
| Flag | Meaning |
|---|---|
--validate-only | Load and validate vector files without writing execution-style results |
--vectors <dir> | Use a vector root other than conformance/vectors |
--report <path> | Write JUnit XML to the supplied path |
Examples:
pnpm conformance --validate-only
pnpm conformance --vectors conformance/vectors/wallet/brc100
pnpm conformance --report conformance/runner/reports/results.xmlCommand:
pnpm --filter @bsv/conformance-runner-ts testImplementation:
conformance/runner/ts/runner.test.tsWhat it does:
@bsv/sdkparity_class: "intended"This runner is useful when you want TypeScript behavior assertions. It is not the command behind pnpm conformance; that root command uses the structural runner above.
The root structural runner does not implement --domain, --tag, --watch, --coverage, --workers, or --verbose. Use --vectors <dir> for coarse subset runs, or Jest's own filtering when running @bsv/conformance-runner-ts.
Start by validating the smallest directory that contains the vector:
pnpm conformance --vectors conformance/vectors/wallet/brc100Then inspect the fixture:
sed -n '1,220p' conformance/vectors/wallet/brc100/getpublickey.jsonFor SDK behavior mismatches, compare the vector input against the package source and package-level docs before changing expected output. For wallet interface behavior, compare against packages/sdk/src/wallet/Wallet.interfaces.ts and the BRC-100 method reference.
- name: Validate conformance vectors
run: pnpm conformance --report conformance/runner/reports/results.xml
- name: Run TypeScript conformance behavior tests
run: pnpm --filter @bsv/conformance-runner-ts test
- name: Upload conformance reports
uses: actions/upload-artifact@v4
with:
name: ts-conformance-reports
path: |
conformance/runner/reports/report.json
conformance/runner/reports/results.xml