2.0.0 • Published 2 years 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_updaterOr per-project as a dev-dependency:
npm i @spongex/comment_updater --save-devBatch 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.