JSPM

browserify-strip-code

1.0.3
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 13
    • Score
      100M100P100Q31257F
    • License MIT

    Removes code between comment blocks: /* start-test-block */code.../* end-test-block */

    Package Exports

    • browserify-strip-code

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (browserify-strip-code) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    browserify-strip-code transform

    Browserify transform for removing code between the following start and end comment blocks.

    /* start-strip-code */  
      // Code contained between the start and end strip code comments can be removed when browserify bundles all required js files...
      // Useful to expose private methods for unit testing, and is removed by browserify during bundling if the transform is applied
      
      exportObj.__test__setData = setData;
    
    /* end-strip-code */
    

    If the optional whitelist array argument is defined, only whitelisted filenames will be processed.


    Configuration

    The comment start and end tags can be configured using the config props startTag and endTag: { startTag: "start-foo-remove", endTag: "end-foo-remove" }

    The browserify-strip-code transform can be configured to only process files from a whitelist: { whitelist: [file1.js, file2.js, file3.js] }

    Change the start and end tag comment strings

    b.transform(stripCode, {startTag: 'start-test-block', endTag: 'end-test-block'})

    Transform every file

    Calling the transform with an empty object, will strip code from any js files with the strip comment blocks

    b.transform(stripCode, {})

    Only strip code from files set in the options whitelist

    Calling the transform with an object with a whitelist array property, will only strip code from filenames containing in whitelist array. This reduces build processing time by only running RegEx on code in whitelisted files

    // Only index.js file will be processed to strip code surrounded by comments
    b.transform(stripCode, {whitelist:['index.js']})

    Full Usage Example

    Shows how to create a simple build file using browserify and the browserify-strip-code transform

    Create a build.js file, containing the following code

    const browserify = require('browserify')
    const fs = require('fs')
    const path = require('path')
    const stripCode = require('browserify-strip-code')
    
    const b = browserify()
    b.add('./index.js')
    
    /**
    * the strip code transform accepts an optional object with a whitelist property,
    * which is an array of filenames that will be the only files processed, ignoring all other files if defined
    */
    b.transform(stripCode, {whitelist:['index.js']})
    b.bundle().pipe(fs.createWriteStream(path.join(__dirname, 'bundle.js')))

    The index.js file contains the following code

    /* start-strip-code */
    console.log('REMOVE TEST 1')
    console.log('REMOVE TEST 2')
    /* end-strip-code */
    
    console.log('THIS LOG SHOULD NOT BE REMOVED')