code: function convertSteal(context, pkg, steal, root, ignoreWaiting, resavePackageInfo) {
  	if(!steal) {
  		return steal;
  	}
  	var copy = utils.extend({}, steal, true);
  	var waiting = utils.isArray(ignoreWaiting) ? ignoreWaiting : [];
  	if(steal.meta) {
  		steal.meta = convertPropertyNames(context, pkg, steal.meta, root,
  										  waiting);
  	}
  	if(steal.map) {
  		steal.map = convertPropertyNamesAndValues(context, pkg, steal.map,
  												  root, waiting);
  	}
  	if(steal.paths) {
  		steal.paths = convertPropertyNames(context, pkg, steal.paths, root,
  										   waiting);
  	}
  	// needed for builds
  	if(steal.buildConfig) {
  		steal.buildConfig = convertSteal(context, pkg, steal.buildConfig,
  										  root, waiting);
  	}
  
  	// Push the waiting conversions down.
  	if(ignoreWaiting !== true && waiting.length) {
  		convertLater(context, waiting, function(){
  			var context = this;
  			var local = utils.extend({}, copy, true);
  			var config = convertSteal(context, pkg, local, root, true);
  
  			// If we are building we need to resave the package's system
  			// configuration so that it will be written out into the build.
  			if(context.resavePackageInfo && resavePackageInfo !== false) {
  				var info = utils.pkg.findPackageInfo(context, pkg);
  				info.steal = info.system = config;
  			}
  
  			// Temporarily remove steal.main so that it doesn't set System.main
  			var stealMain = config.main;
  			delete config.main;
  			delete config.transpiler;
  			context.loader.config(config);
  			config.main = stealMain;
  		});
  	}
  
  	return steal;
  }
docs: Translate helpers =============== Given all the package.json data, these helpers help convert it to a source.