clp-ffi-js is a JavaScript FFI library for CLP. It currently supports decoding log events from CLP IR streams. Other CLP features are being added incrementally.
You can use GitHub issues to request features or report bugs.
- CMake 3.16 or higher
- GNU Make
- Python 3
- Task 3.38.0 or higher
Initialize and update submodules:
git submodule update --init --recursive
To build the project:
task
To clean the build:
task clean
Follow the steps below to develop and contribute to the project.
Before opening the project in an IDE, run the commands below.
Download and install emscripten:
task emsdk
Set up the config files for our C++ linting tools:
task lint:cpp-configs
Before submitting a pull request, ensure you’ve run the linting commands below and either fixed any violations or suppressed the warning.
To run all linting checks:
task lint:check
To run all linting checks AND automatically fix any fixable issues:
task lint:fix
The commands above run all linting checks, but for performance you may want to run a subset (e.g., if you only changed C++ files, you don't need to run the YAML linting checks) using one of the tasks in the table below.
Task | Description |
---|---|
lint:cpp-check |
Runs the C++ linters (formatters and static analyzers). |
lint:cpp-fix |
Runs the C++ linters and fixes some violations. |
lint:cpp-format-check |
Runs the C++ formatters. |
lint:cpp-format-fix |
Runs the C++ formatters and fixes some violations. |
lint:cpp-static-check |
Runs the C++ static analyzers. |
lint:cpp-static-fix |
Runs the C++ static analyzers and fixes some violations. |
lint:yml-check |
Runs the YAML linters. |
lint:yml-fix |
Runs the YAML linters and fixes some violations. |