wdl-viewer

WDL workflow parser and visualizer Vue 3 component library
281 1
Install
npm install wdl-viewer
Latest Version:0.2.0
Vue:3
License:MIT
Last Updated:Oct 14, 2026
Links: GitHub  ·  npm
Maintainer: sosyphe

wdl-viewer

npm version npm downloads

A Vue 3 component library for parsing and visualizing WDL (Workflow Description Language) workflows as interactive graphs.

screenshot

Usage

npm install wdl-viewer

Docker

Builds and serves the demo app with Nginx:

docker build -t wdl-viewer .
docker run -p 8080:80 wdl-viewer

Vue component

<script setup lang="ts">
import { ref } from 'vue'
import { WdlViewer } from 'wdl-viewer'
import 'wdl-viewer/style.css'

const wdl = ref('version 1.0\n\nworkflow hello {\n  call sayHi\n}\n\ntask sayHi {\n  command {\n    echo hi\n  }\n}')
</script>

<template>
  <WdlViewer :wdl-text="wdl" width="100%" height="600px" />
</template>

WdlViewer also accepts readonly, initialLayout (LR / TB / RL / BT) and inspectorLeft, and emits parseError, nodeSelect and edgeSelect.

Parser only (no Vue)

wdl-viewer/parser is a separate entry point that pulls in neither Vue nor the graph layout code, so it can be used from a CLI or a Node script:

import { parseWdl, findWorkflowBlock, findTaskBlock } from 'wdl-viewer/parser'

const doc = parseWdl(source)
console.log(doc.workflow?.name, doc.tasks.map((t) => t.name), doc.errors)

// Byte-offset ranges, for "jump to source" style features.
findWorkflowBlock(source)          // → { start, end } | null
findTaskBlock(source, 'sayHi')     // → { start, end } | null

TypeScript declarations ship for both entry points.

Development

# NodeJS v24.13.0
npm test             # run tests
npm run dev          # dev server
npm run build        # build library + demo
npm run build:lib    # library only: dist bundles + .d.ts into dist/types
npm run typecheck    # vue-tsc --noEmit

License

MIT

Related Packages

dragonfly-dag

基于Vue3的DAG流程图组件。

3,120 84
@lipme/vuenomics-visualization-components

Vue 3 and D3 components to display genomics data (genes, coverage, alignments, v...

4,722
@thihaeung/flowchart-lib

A lightweight flowchart library for creating interactive flowcharts

5,977 0
vnodes

Vue components to create svg interactive graphs, diagrams or node visual tools.

6,438 141
@forensic-architecture/design-system

Forensic Architecture's component library

1,677 4

Version History

Version Released Vue License
0.2.0 ^3.3.0 MIT
0.1.0 ^3.3.0
Pre-releases (1)
Version Released License
0.0.0-stage