function resolveFromTarball (nodeModules, parentTarget, parsedSpec) {
	const {raw, name, type, spec} = parsedSpec
	log(`resolving ${raw} from tarball`)
	return Observable.create((observer) => {
		// create shasum from url for storage
		const hash = crypto.createHash('sha1')
		hash.update(raw)
		const shasum = hash.digest('hex')
		const pkgJson = {name, dist: {tarball: spec, shasum}}
		log(`resolved ${raw} to uri shasum ${shasum} from tarball`)
		observer.next({parentTarget, pkgJson, target: shasum, name, type, fetch})
		observer.complete()
	})
}
resolve a dependency's `package.json` file from an url tarball.
@param	{String} nodeModules - `node_modules` base directory.
@param	{String} parentTarget - relative parent's node_modules path.
@param	{Object} parsedSpec - parsed package name and specifier.
@return {Observable} - observable sequence of `package.json` objects.