2.0.0 • Published 1 year ago
@spongex/comment_updater v2.0.0
Comment Updater NodeJS Script
WARNING! This script mass-modifies source code files. Use at your own risk!
Install globally:
npm i -g @spongex/comment_updater
Or per-project as a dev-dependency:
npm i @spongex/comment_updater --save-dev
Batch updates code comments at the top of source files.
Create a .comment_updater_config.json file in the project folder where the command will be ran. See the following example:
{
"author": "Time Lincoln",
"comment_blocks": [
{
"name": "block1",
"block": "\\author: $AUTHOR\n\\version: $VERSION\n\\date: 2019-$YYYY",
"comment_start": "/*!",
"comment_end": " */",
"line_delimiter": " * "
},
{
"name": "block2",
"block": "second block\nlazy example",
"comment_start": "/*!",
"comment_end": " */",
"line_delimiter": " * "
}
],
"jobs": [
{
"job": "Source files",
"block": "block2",
"location": "/home/matthew/Projects/wtengine/src",
"extension": ".cpp",
"recursive": "true"
},
{
"job": "Header files",
"block": "block1",
"location": "/home/matthew/Projects/wtengine/include/wtengine",
"extension": ".hpp"
}
]
}
A file .comment_updater.log will be created with the results of the run.
Variables
The following variables can be used in comment blocks:
- $MM - Current month in MM format.
- $DD - Current day in DD format.
- $YYYY - Current year in YYYY format.
- $PROJECT - Set with settings'project'
- $AUTHOR - Set with settings'author'
- $VERSION - Set with settings'version'
- $COPYRIGHT - Set with settings'copyright'
- $EMAIL - Set with settings'email'
- $WEBSITE - Set with settings'website'
- $CURRENT_FILENAME - The name of the file being edited.
Optional Settings
The following additional options can also be set:
- settings'verbose' - Show additional output.
- settings'nologging' - Disable logging.
These can also be set on the command line using -v or --verbose and --nologging.
Passing the -t or --test option will not modify files but instead show the output to console.