Plugin for managing Terraform files in Leto-Modelizer.
npm run build
We use the grammar from the official antlr4 grammar repository.
| Legends | |
|---|---|
| Full support | |
| Partial support | |
| Not supported but planned | |
| Functionalities | |||||
|---|---|---|---|---|---|
| resource | |||||
| data | |||||
| module | |||||
| provider | |||||
| output | |||||
| value | |||||
| description | |||||
| sensitive | |||||
| depends_on | |||||
| variable | |||||
| value | |||||
| default | |||||
| sensitive | |||||
| nullable | |||||
| validation | |||||
| type | |||||
| string | |||||
| bool | |||||
| number | |||||
| list | |||||
| set | |||||
| map | |||||
| object | |||||
| tuple | |||||
| locals | |||||
| string | |||||
| bool | |||||
| number | |||||
| list | |||||
| set | |||||
| object | |||||
| tuple | |||||
| map | |||||
| terraform | |||||
| provisionner | |||||
We use antlr4 to generate the Terraform parser. Follow these steps from the official antlr4 repository to install it.
Make sure your CLASSPATH environment variable is set.
The default antlr4 executable path is set to /usr/local/lib/antlr-4.13.0-complete.jar on Linux and C:\Javalib\antlr-4.13.0-complete.jar on Windows.
You can use the ANTLR4_PATH environment variable to specify your own antlr4 executable path. For example, on Linux:
export ANTLR4_PATH="/usr/local/lib/antlr-4.11.0-complete.jar"
You can then run:
npm run parser:generate
We use Semantic Versioning as guideline for the version management.
Steps to release:
- Create a new branch labeled
release/vX.Y.Zfrom the latestmain. - Increase the version number in
package.json,package-lock.jsonandchangelog.md. - Verify the content of the
changelog.md. - Commit the modifications with the label
Release version X.Y.Z. - Create a pull request on github for this branch into
main. - Once the pull request validated and merged, tag the
mainbranch withvX.Y.Z - After the tag is pushed, make the release on the tag in GitHub
The default branch is main. Direct commit on it is forbidden. The only way to update the application is through pull request.
Release tag are only done on the main branch.
[BRANCH_TYPE]/[BRANCH_NAME]
BRANCH_TYPEis a prefix to describe the purpose of the branch. Accepted prefixes are:feature, used for feature developmentbugfix, used for bug fiximprovement, used for refactolibrary, used for updating libraryprerelease, used for preparing the branch for the releaserelease, used for releasing projecthotfix, used for applying a hotfix on main
BRANCH_NAMEis managed by this regex:[a-z0-9._-](_is used as space character).