Strip line and/or block comments from a string. Blazing fast, and works with JavaScript, Sass, CSS, Less.js, and a number of other languages.
npm install strip-comments> Strip line and/or block comments from a string. Blazing fast, and works with JavaScript, Sass, CSS, Less.js, and a number of other languages.
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
- Install
- What does this do?
- Usage
- API
- About
_(TOC generated by verb using markdown-toc)_
Install with npm (requires Node.js >=10):
``sh`
$ npm install --save strip-comments
Takes a string and returns a new string with comments removed. Works with line comments and/or block comments. Optionally removes the first comment only or ignores protected comments.
Works with:
* ada
* apl
* applescript
* c
* csharp
* css
* hashbang
* haskell
* html
* java
* javascript
* less
* lua
* matlab
* ocaml
* pascal
* perl
* php
* python
* ruby
* sass
* shebang
* sql
* swift
* typscript
* xml
By default all comments are stripped.
`js`
const strip = require('strip-comments');
const str = strip('const foo = "bar";// this is a comment\n / me too \/');
console.log(str);
// => 'const foo = "bar";\n'
For more use-cases see the tests
Strip all code comments from the given input, including protected comments that start with !, unless disabled by setting options.keepProtected to true.
Params
* input {String}: string from which to strip commentsoptions
* {Object}: optional options, passed to extract-comments
- line {Boolean}: if false strip only block comments, default trueblock
- {Boolean}: if false strip only line comments, default truekeepProtected
- {Boolean}: Keep ignored comments (e.g. /*! and //!)preserveNewlines
- {Boolean}: Preserve newlines after comments are strippedreturns
* {String}: modified input
Example
`js`
const str = strip('const foo = "bar";// this is a comment\n / me too /');
console.log(str);
// => 'const foo = "bar";'
Strip only block comments.
Params
* input {String}: string from which to strip commentsoptions
{Object}: pass opts.keepProtected: true to keep ignored comments (e.g. /!)returns
* {String}: modified string
Example
`js`
const strip = require('..');
const str = strip.block('const foo = "bar";// this is a comment\n / me too /');
console.log(str);
// => 'const foo = "bar";// this is a comment'
Strip only line comments.
Params
* input {String}: string from which to strip commentsoptions
* {Object}: pass opts.keepProtected: true to keep ignored comments (e.g. //!)returns
* {String}: modified string
Example
`js`
const str = strip.line('const foo = "bar";// this is a comment\n / me too /');
console.log(str);
// => 'const foo = "bar";\n/ me too /'
Strip the first comment from the given input. Or, if opts.keepProtected is true, the first non-protected comment will be stripped.
Params
* input {String}options
* {Object}: pass opts.keepProtected: true to keep comments with !returns
* {String}
Example
`js`
const output = strip.first(input, { keepProtected: true });
console.log(output);
// => '//! first comment\nfoo; '
Parses a string and returns a basic CST (Concrete Syntax Tree).
Params
* input {String}: string from which to strip commentsoptions
{Object}: pass opts.keepProtected: true to keep ignored comments (e.g. /!)returns
* {String}: modified string
Example
`js`
const strip = require('..');
const str = strip.block('const foo = "bar";// this is a comment\n / me too /');
console.log(str);
// => 'const foo = "bar";// this is a comment'
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Running Tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
`sh`
$ npm install && npm test
Building docs
_(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)_
To generate the readme, run the following command:
`sh``
$ npm install -g verbose/verb#dev verb-generate-readme && verb
You might also be interested in these projects:
* code-context: Parse a string of javascript to determine the context for functions, variables and comments based… more | homepage
* extract-comments: Uses esprima to extract line and block comments from a string of JavaScript. Also optionally… more | homepage.")
* parse-code-context: Fast and simple way to parse code context for use with documentation from code comments… more | homepage
* parse-comments: Parse code comments from JavaScript or any language that uses the same format. | homepage
| Commits | Contributor |
| --- | --- |
| 82 | jonschlinkert |
| 4 | tunnckoCore |
| 2 | mk-pmb |
| 1 | kgryte |
| 1 | briandipalma |
| 1 | epicoxymoron |
| 1 | XuluWarrior |
Jon Schlinkert
* GitHub Profile
* Twitter Profile
* LinkedIn Profile
Copyright © 2019, Jon Schlinkert.
Released under the MIT License.
*
_This file was generated by verb-generate-readme, v0.8.0, on November 13, 2019._