node package manager


Renders puml-files from nested directories, a string or a single *.puml file

PlantUML Renderer

Code Climate

A Node.Js module for converting PlantUML files to graphics formats: SVG, PNG, EPS.

System Requirements

  1. Graphviz installed.
  2. Path to Grapviz Dot executable directory registered in system PATH.


npm i esf-puml

Running unit tests locally

Ensure tst/d/out is writable, or redefine it in tst/index.js.` Then run:

esf-puml> npm i -D
esf-puml> gulp test

PlantUML Credits

The module includes the MIT licensed version, available from MIT licensed PlantUML download.

Road map

Version Functionality Status
0.1.0 Recursive directory rendering (req. esf-puml-2) released
0.2.0 Single file rendering (req. esf-puml-4) released
0.3.0 String input rendering (req. esf-puml-2) released
0.4.0 Stream rendering to svg (partial req. esf-puml-5) released
0.5.0 String to string (req. esf-puml-7) released
1.0.0 API v.1.0 implementation (req. esf-puml-6)
1.1.0 API v.1.1 implementation (req. esf-puml-8) -



ReqId Requirement Implementation Methods
esf-puml-1 There should be an option to chose a result format:
  • png
  • svg
  • eps
esf-puml-2 Rendering PUML-files from a directory recursively renderDir
esf-puml-2.1 It should gather puml-files from nested directories recursively and create the same temporary structure
esf-puml-2.2 It should render all the files
esf-puml-2.3 It should delete puml-sources
esf-puml-2.4 It should move the result to the out directory
esf-puml-3 Rendering a string input renderString
esf-puml-3.1 It should accept puml-string as input
esf-puml-3.2 It should save an output file at a specified path
esf-puml-4 Rendering a single file renderFile
esf-puml-4.1 It should gather puml-files from nested directories recursively at inp as a root
esf-puml-4.2 It should write the result in chosen format to Writable stream
esf-puml-5 Process a stream stream
esf-puml-5.1 It should read a stream
esf-puml-5.2 It should return a Readable stream
esf-puml-6 It should implement API v.1.0
esf-puml-7 Rendering a string input to string output renderStringToString
esf-puml-7.1 It should accept puml-string as input
esf-puml-7.2 It should return an svg image
esf-puml-8 It should automatically detect source and provide an according method, API 1.1 imlementation render



Promise         render                ([string inpDir|inpFile], string outDir=null  [,format='svg'])  // 
Promise         renderDir             (string inpDir,           string outDir,      [,format='svg'])  // 
Promise         renderFile            (string inpFilePath,      string outDir       [,format='svg'])  // 
Promise         renderString          (string pumlString,       string outFilePath  [,format='svg'])  // 
Promise         renderStringToString  (string pumlString,       [,string format='svg'])               // 
stream.Duplex   stream                ([format='svg']           [,string cwd=null])                   // custom Cwd 


Promise         renderDir             (string inpDir,       string outDir,      [,format='svg'])  // 
Promise         renderFile            (string inpFilePath,  string outDir       [,format='svg'])  // 
Promise         renderString          (string pumlString,   string outFilePath  [,format='svg'])  // 
Promise         renderStringToString  (string pumlString,   [,format='svg'])                      // 
stream.Duplex   stream                ([,format='svg']      [,cwd=null])                          // custom Cwd 

MIT © bondden 2015