Spaces:
Running
Running
#!/usr/bin/env node | |
'use strict'; | |
var path = require('path'); | |
var fs = require('fs'); | |
if ( | |
String(process.env.npm_lifecycle_script).slice(0, 8) !== 'resolve ' | |
&& ( | |
!process.argv | |
|| process.argv.length < 2 | |
|| (process.argv[1] !== __filename && fs.statSync(process.argv[1]).ino !== fs.statSync(__filename).ino) | |
|| (process.env._ && path.resolve(process.env._) !== __filename) | |
) | |
) { | |
console.error('Error: `resolve` must be run directly as an executable'); | |
process.exit(1); | |
} | |
var supportsPreserveSymlinkFlag = require('supports-preserve-symlinks-flag'); | |
var preserveSymlinks = false; | |
for (var i = 2; i < process.argv.length; i += 1) { | |
if (process.argv[i].slice(0, 2) === '--') { | |
if (supportsPreserveSymlinkFlag && process.argv[i] === '--preserve-symlinks') { | |
preserveSymlinks = true; | |
} else if (process.argv[i].length > 2) { | |
console.error('Unknown argument ' + process.argv[i].replace(/[=].*$/, '')); | |
process.exit(2); | |
} | |
process.argv.splice(i, 1); | |
i -= 1; | |
if (process.argv[i] === '--') { break; } // eslint-disable-line no-restricted-syntax | |
} | |
} | |
if (process.argv.length < 3) { | |
console.error('Error: `resolve` expects a specifier'); | |
process.exit(2); | |
} | |
var resolve = require('../'); | |
var result = resolve.sync(process.argv[2], { | |
basedir: process.cwd(), | |
preserveSymlinks: preserveSymlinks | |
}); | |
console.log(result); | |