| 123456789101112131415161718192021222324252627282930313233343536 | 
							- 'use strict';
 
- var stream = require('stream');
 
- var util = require('util');
 
- var replace = require('./replace');
 
- var jsonExtRe = /\.json$/;
 
- module.exports = function(rootEnv) {
 
-   rootEnv = rootEnv || process.env;
 
-   return function (file, trOpts) {
 
-     if (jsonExtRe.test(file)) {
 
-       return stream.PassThrough();
 
-     }
 
-     var envs = trOpts ? [rootEnv, trOpts] : [rootEnv];
 
-     return new LooseEnvify(envs);
 
-   };
 
- };
 
- function LooseEnvify(envs) {
 
-   stream.Transform.call(this);
 
-   this._data = '';
 
-   this._envs = envs;
 
- }
 
- util.inherits(LooseEnvify, stream.Transform);
 
- LooseEnvify.prototype._transform = function(buf, enc, cb) {
 
-   this._data += buf;
 
-   cb();
 
- };
 
- LooseEnvify.prototype._flush = function(cb) {
 
-   var replaced = replace(this._data, this._envs);
 
-   this.push(replaced);
 
-   cb();
 
- };
 
 
  |