Nostradamus Predicting Maelstroms
    Wondering what’s next for npm?Check out our public roadmap! »

    strip-comments
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/strip-comments package

    2.0.1 • Public • Published

    strip-comments Donate NPM version NPM monthly downloads NPM total downloads Build Status

    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 ❤️ and support.

    (TOC generated by verb using markdown-toc)

    Install

    Install with npm (requires Node.js >=10):

    $ npm install --save strip-comments

    What does this do?

    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

    Usage

    By default all comments are stripped.

    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

    API

    strip

    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 comments
    • options {Object}: optional options, passed to extract-comments
    • line {Boolean}: if false strip only block comments, default true
    • block {Boolean}: if false strip only line comments, default true
    • keepProtected {Boolean}: Keep ignored comments (e.g. /*! and //!)
    • preserveNewlines {Boolean}: Preserve newlines after comments are stripped
    • returns {String}: modified input

    Example

    const str = strip('const foo = "bar";// this is a comment\n /* me too */');
    console.log(str);
    // => 'const foo = "bar";'

    .block

    Strip only block comments.

    Params

    • input {String}: string from which to strip comments
    • options {Object}: pass opts.keepProtected: true to keep ignored comments (e.g. /*!)
    • returns {String}: modified string

    Example

    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'

    .line

    Strip only line comments.

    Params

    • input {String}: string from which to strip comments
    • options {Object}: pass opts.keepProtected: true to keep ignored comments (e.g. //!)
    • returns {String}: modified string

    Example

    const str = strip.line('const foo = "bar";// this is a comment\n /* me too */');
    console.log(str);
    // => 'const foo = "bar";\n/* me too */'

    .first

    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

    const output = strip.first(input, { keepProtected: true });
    console.log(output);
    // => '//! first comment\nfoo; '

    .block

    Parses a string and returns a basic CST (Concrete Syntax Tree).

    Params

    • input {String}: string from which to strip comments
    • options {Object}: pass opts.keepProtected: true to keep ignored comments (e.g. /*!)
    • returns {String}: modified string

    Example

    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'

    About

    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:

    $ 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:

    $ npm install -g verbose/verb#dev verb-generate-readme && verb

    Related projects

    You might also be interested in these projects:

    Contributors

    Commits Contributor
    82 jonschlinkert
    4 tunnckoCore
    2 mk-pmb
    1 kgryte
    1 briandipalma
    1 epicoxymoron
    1 XuluWarrior

    Author

    Jon Schlinkert

    License

    Copyright © 2019, Jon Schlinkert. Released under the MIT License.


    This file was generated by verb-generate-readme, v0.8.0, on November 13, 2019.

    Install

    npm i strip-comments

    DownloadsWeekly Downloads

    3,183,226

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    27 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar