2.0.0 • Published 1 year ago

@spongex/comment_updater v2.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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:

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.