Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 1.85 KB

File metadata and controls

54 lines (35 loc) · 1.85 KB

Concerto Development Guide

❗ Accord Project Development Guide ❗

We'd love for you to help develop improvements to Concerto technology! Please refer to the Accord Project Development guidelines we'd like you to follow.

Concerto Specific Information

Development Setup

Building Concerto

To build Concerto, you clone the source code repository and use npm to build:

# Clone your Github repository:
git clone https://github.com/<GITHUB_USERNAME>/concerto.git

# Go to the Concerto directory:
cd concerto

# Add the main Concerto repository as an upstream remote to your repository:
git remote add upstream "https://github.com/accordproject/concerto.git"

# Install node.js dependencies:
npm i

# Build all packages:
npm run build

Running Tests

Before running tests, you must first build the project to compile all workspace dependencies:

# Build all packages (required before testing):
npm run build

# Run all tests:
npm run test

Note: The build step is required because some packages (like concerto-linter) depend on other workspace packages that need to be compiled first. The CI workflows follow this same pattern: build first, then test.

Note: Always build the whole monorepo with npm run build (which builds in dependency order), not a single package in isolation. Because each package's exports.import condition resolves to its dist/esm/index.mjs, building one package alone can fail if a workspace dependency's ESM output does not yet exist. npm run build:ordered (the default build script) handles this ordering; CI relies on it too.

If you're working on a specific package, you can run tests for just that package:

# Run tests for a specific package:
npm run test -w @accordproject/concerto-core