1.0.0 • Published 8 years ago

comments-parser v1.0.0

Weekly downloads
145
License
MIT
Repository
github
Last release
8 years ago

node-comments-parser

Description

This scripts extracts comments from JavaScript code. It's built on esprima.

Example

This script will transform example.js:

'use strict';

/**
 * Class description
 * @class Test
 * @constructor
 */
function Test() {
  
}

Test.prototype = {
  /**
   * 
   * @param {string} text
   */
  log: function(text) {
    console.log(text);
  }
};

module.exports = Test;

to Object:

[
  {
	start: 3,
	end: 7,
	jsDoc: true,
	lines: [ 'Class description' ],
	tags: [
	  { name: 'class',       value: 'Test' },
	  { name: 'constructor', value: true   }
	]
  },
  {
	start: 13,
	end: 16,
	jsDoc: true,
	lines: [],
	tags: [
	  { name: 'param', value: '{string} text' }
	]
  }
]

Installation

Install with npm:

npm install node-comments-parser

Usage

var fs     = require('fs');
var parser = require('comments-parser');

var source = fs.readFileSync(__dirname + '/example.js', 'utf-8');
var comments = parser(source);

// Test parsed data
expect(comments[0].lines).to.equal([ 'Class description' ]);

Options

parser(options:Object):

NameDefaultDescription
addEsprimaInfofalseAdd esprima parser data to a comment
parseJsDocTagstrueIf false jsdoc tags processed as text
hideJsDocTagstrueIf parseJsDocTags is true remove tags from lines property
trimtrueTrim lines, values: true, false, 'right'

License

Licensed under MIT.