@spongex/comment-updater
v2.0.1
Published
Batch updates code comments at the top of source files
Downloads
2
Readme
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.
Changelog
2.0.1
- Bump packages and relocated project on GitHub
- Updated project name to proper NPM formatting