-
Notifications
You must be signed in to change notification settings - Fork 1
Dependencies
Frédéric Jouault edited this page Dec 22, 2022
·
9 revisions
AnimUML can be used on the Web, or with Node.js. This page lists the dependencies for both cases.
- most runtime dependencies are placed in the
libfolder- instead of loading them from a CDN
- so that using a locally deployed AnimUML server does not require internet access
- JavaScript dependencies are the following:
-
Pako:
pako.min.js(or compression-onlypako_deflate.min.js)- compression
- to generate PlantUML URIs
- to create tar.gz archives
- e.g., for the output of the C code generator
- compression+decompression
- for experiments with configuration compression/decompression, as memory optimization
- compression
-
PEG.js:
peg-0.10.0.min.js- to generate parsers from grammars
- currently used at runtime
- could be used at build time (see To Build or Not To Build)
- to optimize loading & execution time
- could be used at build time (see To Build or Not To Build)
-
Cassowary/JS: c.js:
- For ATLc constraints used in diagrams
- param.js from SVG Parameters 1.0, Part 1: Primer, with a few changes
-
<zero-md>: zero-md.min.js- along with its dependencies: marked.min.js, prism.min.js, and webcomponents-loader.min.js
- for Markdown-based documents, such as doc.html / doc.md
-
Pako:
-
Docker image dependencies are the following:
-
traefik
- to route requests to corresponding services
-
plantuml
- to generate PlantUML diagrams without overloading the public server
- a custom docker image is used to work around issues with the latest official images
-
nginx
- to serve static files (e.g., HTML, JavaScript)
-
spot
- to generate state diagrams from LTL expressions
-
traefik
Remark: docker compose, which depends on Docker is used to deploy AnimUML servers.
All JavaScript dependencies used on the Web are also used with Node.js, except <zero-md> and its dependencies.
- it is only used in command-line and/or headless usage scenarios
- tests
- exploration
- command line tools
- e.g., to automatically extract figures from a model
- Node.js-specific dependencies are npm-based
- defined in
package.json - installable with
npm install - for runtime
- for development
-
webpack & Babel modules
- to build modules (see To Build or Not To Build)
-
nyc, istanbul & mocha
- for tests (see Tests)
-
svgdom
- used to simulate an SVG context in Node.js
- so that ATLc-based diagrams can be generated during tests
- used to simulate an SVG context in Node.js
-
dotenv
- used to configure tests using a local .env file
-
node-fetch
- an implementation of the web browser fetch API for Node.js
-
grammkit
- PEG.js to railroad diagrams, used to generate diagrams for the documentation
-
webpack & Babel modules
- defined in