Newer
Older
See also [developers documentation](https://gitlab.irstea.fr/cassiopee/jalhyd/blob/master/DEVELOPERS.md)
Debugging might not be possible because of circular dependencies generated by typescript compiler
### Compile (es2015 modules)
This is the preferred way of compiling, notably for usage in Web apps (ngHyd)
### Compile for Node.js (commonjs modules)
Use this if you want to write a CLI application in JS or TS, that will be executed by Node.js (see examples in `/boilerplate`)
```sh
npm run build-node
```
### Generate release package for Node.js (commonjs modules)
```sh
npm run package-node
```
The tsviz package can be used for drawing class diagram of the current code.
There's currently a bug on debian like distribution due to a wrong declaration of graphviz path in the code: https://github.com/joaompneves/tsviz/issues/5
To work around, you can create a link to the good path: `sudo ln -s /usr/bin/dot /usr/local/bin/dot`
## Release policy
Use [semantic versioning](https://semver.org/).
**When releasing a Cassiopee (NgHyd) version along with a JaLHyd version, it's discouraged to execute release steps manually, see "Release Policy / Release Script" in [NgHyd's README.md](https://gitlab.irstea.fr/cassiopee/nghyd/blob/master/README.md)**
Before releasing a new stable version, one should complete the following files
Every stable version should be tagged with both
- a tag stating compatibility with NgHyd, of the form `nghyd_X.Y.Z`
- the `stable` tag
The `stable` tag should be set **after** the NgHyd compatibility tag, so that `git describe` returns `stable` (latest tag). There should be **at least 1s** between the two tag commands, so that date sorting is not confused.
Here are the steps to follow for an example **4.5.0** version