# this > Traverses up the directory tree and returns the first module found [![Build Status](https://travis-ci.org/lukechilds/this.svg?branch=master)](https://travis-ci.org/lukechilds/this) [![Coverage Status](https://coveralls.io/repos/github/lukechilds/this/badge.svg?branch=master)](https://coveralls.io/github/lukechilds/this?branch=master) [![npm](https://img.shields.io/npm/v/this.svg)](https://www.npmjs.com/package/this) Useful in tests so you don't have to require the package you're testing via relative paths. Starts directory traversal from `process.cwd()` so this should really only be used in tests or CLI apps. ## Install ```shell npm install --save this ``` Or if using for tests you'll probably want: ```shell npm install --save-dev this ``` ## Usage Just require `this` the same way you would require the root module with a relative path. e.g instead of: ```js import test from 'ava'; import myPackage from '../'; // and then in sub folders import myPackage from '../../'; ``` You can now do: ```js import test from 'ava'; import myPackage from 'this'; // and then in sub folders it's still just: import myPackage from 'this'; ``` e.g without import transpilation: ```js const test = require('tape'); const myPackage = require('this'); ``` ## License MIT © Luke Childs