2.0.0 • Published 7 months ago

als-remove-js-comments v2.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

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.

2.0.0

7 months ago

1.0.0

7 months ago