| 12345678910111213141516171819202122232425262728293031323334 | 
							- 'use strict';
 
- var Module = require('module');
 
- var path = require('path');
 
- module.exports = function requireFromString(code, filename, opts) {
 
- 	if (typeof filename === 'object') {
 
- 		opts = filename;
 
- 		filename = undefined;
 
- 	}
 
- 	opts = opts || {};
 
- 	filename = filename || '';
 
- 	opts.appendPaths = opts.appendPaths || [];
 
- 	opts.prependPaths = opts.prependPaths || [];
 
- 	if (typeof code !== 'string') {
 
- 		throw new Error('code must be a string, not ' + typeof code);
 
- 	}
 
- 	var paths = Module._nodeModulePaths(path.dirname(filename));
 
- 	var parent = module.parent;
 
- 	var m = new Module(filename, parent);
 
- 	m.filename = filename;
 
- 	m.paths = [].concat(opts.prependPaths).concat(paths).concat(opts.appendPaths);
 
- 	m._compile(code, filename);
 
- 	var exports = m.exports;
 
- 	parent && parent.children && parent.children.splice(parent.children.indexOf(m), 1);
 
- 	return exports;
 
- };
 
 
  |