code-augmentor-support
v4.4.2
Published
Provides markup language for typical source code language files, and demonstrates its potential to implement code generation with change detection
Downloads
12
Maintainers
Readme
code-augmentor-support
Code Augmentor is library that provides
- a markup language for text files which already have their own syntax, especially programming language source files.
- a way to insert generated code into source code files in a way that makes it easy to detect tampering with the generated code.
- a way to detect and record changes between a list of files and their corresponding dynamically specified content.
Markup Language
The AstParser and AstFormatter modules are responsible for providing parsing and formatting functionality of the markup language provided by this library.
Code Transformation
The DefaultAstTransformer and DefaultCodeGenerationStrategy modules provides a suggested way of transforming files written in the markup language provided by this library.
Code Generation and Change Detection
The CodeChangeDetective module provides the functionality of synchronizing the content of a pair of files (actually any pair of texts or binary blobs) to be equal.
Install
npm install code-augmentor-support
Building and Testing Locally
- Clone repository locally
- Install project dependencies with
npm install
- With all dependencies present locally, test project with
npm test
Usage
See Examples folder for example projects demonstrating how to use the library.
Each example is launched with node main.js
from the child codeGenScripts folder (may have to run npm install
first).
The pojo-class-generation-with-sync example requires further explanation:
- It requires some little prior setup (see https://github.com/aaronicsubstances/code-augmentor/blob/master/examples/pojo-class-generation-with-sync/src/README.txt for details).
The library provides the node_modules/.bin/effect-changes-nix
script for Bash (usable with Git Bash on Windows). The script is meant meant to accept
through standard input a changes-summary.txt file, which is created in the codeGenScripts/generated folder when the example projects are run.
Run library tool with
node_modules/.bin/effect-changes-nix -f < changes-summary.txt
to update the files in source folder for the case were code change detection is enabled, like the pojo-class-generation-with-sync example. Its src\tempSrc folder will be updated as determined by the contents of the changes-summary.txt file.
- Can run the library tool with
-h
option to see all the available options.