3.7 KiB
Jacdac for JavaScript/TypeScript
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.
Developer setup
- 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
Visual Studio Code
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
Build
To have a watch developement,
yarn watch
otherwise to build all libraries
yarn dist
Specs build
To regenerate the service definition JSON files from the .md
files in jacdac-spec,
run
yarn buildspecs
Unit tests
We use Mocha to run the unit test suite from /tests
. To execute the tests,
yarn test
Linting
Run the following command to detect linting issues
yarn lint
Jacdac + MakeCode
Local build
Run this command to rebuild the makecode packages
yarn buildpxt
HTML Tools
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...
Commits create releases
The releases are automatically created by the build system based on the title of the commit:
patch:...
orfix:...
patchminor:...
orfeature:...
minor
Microsoft Open Source Code of Conduct
This project is hosted at https://github.com/microsoft/jacdac-ts. This project has adopted the Microsoft Open Source Code of Conduct.
Resources:
- Microsoft Open Source Code of Conduct
- Microsoft Code of Conduct FAQ
- Contact opencode@microsoft.com with questions or concerns