Skip to content

Repository files navigation

alt text

WaveDrom editor

WaveDromEditor is real-time editor of digital timing diagrams based on WaveDrom engine and WaveJSON format.

See Tutorial for more examples.

Online editor

alt text 4+ alt text 10+ alt text 5.1+ alt text 12+ alt text 11+

Download editor (Windows, Mac, Linux)

Development

  • Install nodejs (v18+ recommended) from https://nodejs.org/ or via nvm
  • npm install to install the development environment
  • npm test to lint editor.js and init.js

Updating the bundled WaveDrom engine

The rendering engine (wavedrom.min.js) and skins (skins/*.js) served by editor.html are vendored copies of the wavedrom npm package. After bumping the wavedrom dependency in package.json, refresh the vendored copies:

npm install
cp node_modules/wavedrom/wavedrom.min.js wavedrom.min.js
cp node_modules/wavedrom/skins/*.js skins/

How to Build the Desktop Application

The desktop app is packaged with NW.js for Windows, Mac and Linux.

  • npm run build (or ./build-wde.sh) stages the app sources into src/, downloads the matching NW.js runtimes, and produces distributable packages under build/:
    • wavedrom-editor-v<version>-linux-x64.tar.gz
    • wavedrom-editor-v<version>-win-x64.zip
    • wavedrom-editor-v<version>-osx-x64.zip
    • wavedrom-editor-v<version>-osx-arm64.zip

The NW.js version and app version are set at the bottom of build-wde.sh:

bash build.sh --name wavedrom-editor --nwversion v0.115.0 --version v3.7.0

Update both values when bumping versions.

Releasing the Desktop Application (CLI)

  1. Bump the version in package.json and WaveDromEditor/package.json, and update the --version (and --nwversion if needed) in build-wde.sh.
  2. Build the packages:
    npm run build
  3. Tag the release:
    git tag v3.7.0
    git push origin v3.7.0
  4. Publish the artifacts to GitHub Releases using the gh CLI:
    gh release create v3.7.0 \
      build/wavedrom-editor-v3.7.0-*.tar.gz \
      build/wavedrom-editor-v3.7.0-*.zip \
      --title "v3.7.0" \
      --notes-file TMP_RELEASE_NOTES.md

Community

Please use WaveDrom user group for discussions, questions, ideas, whatever.

License

See LICENSE.

About

Digital timing diagram editor

Topics

Resources

Stars

1.1k stars

Watchers

62 watching

Forks

Releases

Packages

Used by

Contributors

Languages