0.0.2 • Published 9 years ago

karma-outflow-preprocessor v0.0.2

Weekly downloads
1
License
ISC
Repository
github
Last release
9 years ago

karma-outflow-preprocessor

Copy the hidden internal function to be accessible from the outside.

Installation

npm install https://github.com/stegano/karma-outflow-preprocessor.git --save-dev

Configuration and Usage

// karma.conf.js
module.exports = function(config) {
  //...
  preprocessors: {
    '/**/*.js': ['outflow']
  },
  outflowPreprocessor: {
    global: 'window', // default : `window`, if you execute on node then use `global` setting.
    silent: true, // default : `true`, if the silent option is false, this list will be output to the console.
    files: [
      {
        src: './targetFile.js'
        dst: './targetFile.outflow.js' // default `targetFile.outflow.js`
      }
    ]
  }
  //...
}

Demo

// `targetFile.js` (original source code)
function LegacyFunc() {
  function privateFunc1() {
   // blah blah blah..
   function privateFunc2() {
     // blah blah blah..
   }
  }
}
// `targetFile.outflow.js` (create source code by outflow-preprocessor)
function LegacyFunc() {
  function privateFunc1() {
   // blah blah blah..
   function privateFunc2() {
     // blah blah blah..
   }
  }
}
window.outflow = {
  'window.LegacyFunc': function() {
    function privateFunc1() {
     // blah..
     function privateFunc2() {
       // blah blah..
     }
    }
  },
  'window.LegacyFunc.privateFunc1': function() {
   // blah..
   function privateFunc2() {
     // blah blah..
   }
  },
  'window.LegacyFunc.privateFunc1.privateFunc2': function() {
   // blah blah..
  }
};
// [Outflow] function Index :D
// outflow['window.LegacyFunc']
// outflow['window.LegacyFunc.privateFunc1']
// outflow['window.LegacyFunc.privateFunc1.privateFunc2']