1.0.0 • Published 4 years ago

espruino-boilerplate v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

Espruino Boilerplate

Espruino + Typescript + Rollup + Eslint + AVA

This is a simple Espruino boilerplate designed to be written with Typescript and tested with AVA. The code is compiled and minified using Rollup and uglify, and it's deployed to your micro-controller using Espruino-cli.

Travis (.org) GitHub Commitizen friendly semantic-release

Installation

This isn't a library, so to use you need to fork or download the project and use it as a start point for your own projects.

Espruino config

The .env file is used to setup parameters forwarded to the espruino-cli when you use the yarn espruino:connect task.

Any valid parameter of the espruino-cli is accepted, but in general you will need to setup your board name (--board) and your desired baud rate (-b). The port (--port) parameter could be also a good one to be setted, but he's easelly inferred by the espruino-cli.

You should respect this structure (key space value), where key is a valid espruino-cli parameter

--board ESP-32
-b 115200

Code Tasks

Builds the TS code and send it to the dist folder.

yarn code:build

Builds the TS code and send it to the dist folder in watch mode.

yarn code:watch

Runs eslint on the TS code.

yarn code:lint

Runs AVA test suit.

yarn code:test

Espruino Tasks

Runs espruino cli without any parameter. You could use this task to test your ports (yarn espruino --list --verbose)

yarn espruino

Connects to your board using the parameters of the .env file

yarn espruino:connect

Builds the code and sends the code to your board

yarn espruino:deploy

Connects to the board and watchs for any change on the dist folder

yarn espruino:watch

Development

A normal development workflow would be to open 2 terminal instances and run both of the watch tasks

Terminal 1

yarn code:watch

Terminal 2

yarn espruino:watch

CI

There is a minimal TravisCI config that calls the task

yarn ci

Troubleshooting

For any problem look our TROUBLESHOOTING