Testable private functions: strip ```exports ___test___ = ...``` code from your codebase
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
src
test
.babelrc
.gitignore
.travis.yml
License.txt
README.md
index.js
package.json

README.md

babel-plugin-babel-strip-test-code

Build Status

####Testing your private functions made safe and easy

###What does it do?

strips exports __test__ = ... code from your codebase allowing you to expose private functions for testing

###How do I do it?

Add an ES2015 export to your js file and call it __test__ which will allow you to expose your private functions in test mode but when you run babel on your code for production, it will strip the exports from the production code.

Example

In

let foo;

function funkyFunc(str) {
    console.log(str);
}

function testFunc() {
    funkyFunc('over here');
}

export const __test__ = {
    test1: funkyFunc,
    test2: testFunc
};

export default funkyFunc;

Out

let foo;

function funkyFunc(str) {
    console.log(str);
}

function testFunc() {
    funkyFunc('over here');
}

export default funkyFunc;

Installation

$ npm install babel-strip-test-code

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["babel-strip-test-code"]
}

Via CLI

$ babel --plugins babel-strip-test-code script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["babel-strip-test-code"]
});