You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					33 lines
				
				1020 B
			
		
		
			
		
	
	
					33 lines
				
				1020 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | module.exports = exports = reveal; | ||
|  | 
 | ||
|  | exports.usage = 'Reveals data on the versioned binary'; | ||
|  | 
 | ||
|  | const versioning = require('./util/versioning.js'); | ||
|  | const napi = require('./util/napi.js'); | ||
|  | 
 | ||
|  | function unix_paths(key, val) { | ||
|  |   return val && val.replace ? val.replace(/\\/g, '/') : val; | ||
|  | } | ||
|  | 
 | ||
|  | function reveal(gyp, argv, callback) { | ||
|  |   const package_json = gyp.package_json; | ||
|  |   const napi_build_version = napi.get_napi_build_version_from_command_args(argv); | ||
|  |   const opts = versioning.evaluate(package_json, gyp.opts, napi_build_version); | ||
|  |   let hit = false; | ||
|  |   // if a second arg is passed look to see
 | ||
|  |   // if it is a known option
 | ||
|  |   // console.log(JSON.stringify(gyp.opts,null,1))
 | ||
|  |   const remain = gyp.opts.argv.remain[gyp.opts.argv.remain.length - 1]; | ||
|  |   if (remain && Object.hasOwnProperty.call(opts, remain)) { | ||
|  |     console.log(opts[remain].replace(/\\/g, '/')); | ||
|  |     hit = true; | ||
|  |   } | ||
|  |   // otherwise return all options as json
 | ||
|  |   if (!hit) { | ||
|  |     console.log(JSON.stringify(opts, unix_paths, 2)); | ||
|  |   } | ||
|  |   return callback(); | ||
|  | } |