2.0.0 • Published 7 months ago
als-remove-js-comments v2.0.0
als-remove-js-comments
als-remove-js-comments
is a simple and efficient utility for removing comments from JavaScript code. It supports both single-line (//
) and multi-line (/* */
) comments, while properly handling string literals to avoid removing comments inside strings.
Works in NodeJs and browser.
Supports jsx comments too {/**/}
.
Installation
You can install the library via npm:
npm install als-remove-js-comments
Usage
const removeComments = require('als-remove-js-comments');
const code = `
const a = 5; // This is a comment
const str = "This is a string with // inside";
/* This is a multi-line
comment */
const b = 10;
`;
const result = removeComments(code);
console.log(result);
// Output:
// const a = 5;
// const str = "This is a string with // inside";
// const b = 10;
In browser:
<script src="/node_modules/als-remove-js-comments/remove-comments.js"></script>
<script>
removeComments('some text // with comments')
</script>
API
removeComments(code: string): string
Removes all single-line and multi-line comments from the given JavaScript code.
Parameters:
code
(string
): The input JavaScript code.
Returns:
string
: The JavaScript code without comments.
Examples
Example 1: Removing Single-Line Comments
const input = `const a = 5; // This is a comment\nconst b = 10; // Another comment`;
const output = removeComments(input);
console.log(output);
// Output: "const a = 5; \nconst b = 10; "
Example 2: Removing Multi-Line Comments
const input = `const a = 5; /* This is a\nmulti-line comment */\nconst b = 10;`;
const output = removeComments(input);
console.log(output);
// Output: "const a = 5; \nconst b = 10;"
Example 3: Handling String Literals
const input = `const str = "This is a string with // inside";`;
const output = removeComments(input);
console.log(output);
// Output: "const str = \"This is a string with // inside\";"
Example 4: Handling Comments on Separate Lines
const input = `// This is a single-line comment\nconst a = 5;`;
const output = removeComments(input);
console.log(output);
// Output: "\nconst a = 5;"
Example 5: Handling Escaped Quotes
const input = `const str = "This string contains an escaped quote: \\" and a // comment";`;
const output = removeComments(input);
console.log(output);
// Output: "const str = \"This string contains an escaped quote: \\" and a // comment\";"
Tests
The library includes a set of tests to ensure correct behavior with various edge cases. You can run the tests using:
node test.js
License
This project is licensed under the MIT License. See the LICENSE
file for details.