Jacdac is a plug-and-play hardware/software stack for microcontrollers and their peripherals (sensors/actuators), with applications to rapid prototyping, making, and physical computing.
This repository contains a TypeScript/JavaScript client library for the Jacdac protocol.
- Jacdac Protocol Documentation
- Documentation
- API Reference
- Discussions at https://github.com/microsoft/jacdac/discussions
- Issues are tracked on https://github.com/microsoft/jacdac/issues
The rest of this page is for developers of the jacdac-ts library.
- clone this repository and pull all submodules
git clone https://github.com/microsoft/jacdac-ts
git submodule update --init --recursive
git pull
- install node.js
- install yarn
[sudo] npm install -g yarn
- install dependencies
yarn install --frozen-lockfile
You are welcome to use any editor you want! Visual Studio Code provides seamless support for git sub-modules and is our preferred editor.
- open Visual Studio Code
code .
- install the recommended extensions (MDX, ESLint and Prettier extensions)
- in the Git view, click on the
jacdac
branch and selectmain
so that changes are automatically synched
To have a watch developement,
yarn watch
otherwise to build all libraries
yarn dist
To regenerate the service definition JSON files from the .md
files in jacdac-spec,
run
yarn buildspecs
We use Mocha to run the unit test suite from /tests
. To execute the tests,
yarn test
Run the following command to detect linting issues
yarn lint
Run this command to rebuild the makecode packages
yarn buildpxt
Launch a small web server and
try all the tools under /tools/*
at http://localhost:8080/tools . These tools load the files under dist
so you'll want
to also run yarn watch
on the side.
yarn tools
These tools are also available on the GitHub pages of this repository:
Experimental...
The releases are automatically created by the build system based on the title of the commit:
patch:...
orfix:...
patchminor:...
orfeature:...
minor