code-metrics-module
v1.0.1
Published
A module for calculating code metrics
Downloads
9
Readme
code-metrics-module
A code metrics library for analyzing the complexity and statistics of code files in various programming languages.
Installation
npm install code-metrics-module
Usage
const calculateCodeMetrics = require('code-metrics');
const filePath = 'path/to/your/code/file';
const metrics = calculateCodeMetrics(filePath);
console.log(metrics);
| Language | Tested | | --------- | ----------- | | JavaScript| ✅ Fully tested | | PHP|❌ Not fully tested| | Java|❌ Not fully tested| | TypeScript|❌ Not fully tested|
Functions
calculateCodeMetrics(filePath)
Calculates the code metrics of a code file at the specified filePath
.
filePath
(string): The path to the code file.
Returns an object with the following properties:
linesOfCode
(number): The total number of lines of code in the file.
functions
(number): The total number of functions/methods defined in the file.
complexity
(number): The complexity score of the code file.
language
(string): The programming language of the code file.
errors
(array): An array of error objects, if any parsing errors or
unsupported language errors occur. Each error object has the following properties:
type
(string): The type of the error (e.g., "Parsing Error", "Language Error").
message
(string): The error message.
line
(number): The line number where the error occurred.
column
(number): The column number where the error occurred.
Examples
Example 1: Calculating Code Metrics
const calculateCodeMetrics = require('code-metrics');
const filePath = 'path/to/your/code/file';
const metrics = calculateCodeMetrics(filePath);
console.log(metrics);
Output;
{
linesOfCode: 123,
functions: 5,
complexity: 10,
language: 'JavaScript',
errors: []
}
Example 2: Handling Parsing Errors
const calculateCodeMetrics = require('code-metrics');
const filePath = 'path/to/your/code/file';
const metrics = calculateCodeMetrics(filePath);
if (metrics.errors.length > 0) {
console.log('Parsing errors occurred:');
metrics.errors.forEach((error, index) => {
console.log(`Error ${index + 1}:`);
console.log('Type:', error.type);
console.log('Message:', error.message);
console.log('Line:', error.line);
console.log('Column:', error.column);
});
}
Output (if parsing errors occur):
Parsing errors occurred:
Error 1:
Type: Parsing Error
Message: Unexpected token '<'
Line: 1
Column: 1