Have ideas to improve npm?Join in the discussion! »

    find-cache-dir
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/find-cache-dir package

    3.0.0 • Public • Published

    find-cache-dir Build Status Coverage Status

    Finds the common standard cache directory

    The nyc and AVA projects decided to standardize on a common directory structure for storing cache information:

    # nyc 
    ./node_modules/.cache/nyc
     
    # ava 
    ./node_modules/.cache/ava
     
    # your-module 
    ./node_modules/.cache/your-module

    This module makes it easy to correctly locate the cache directory according to this shared spec. If this pattern becomes ubiquitous, clearing the cache for multiple dependencies becomes easy and consistent:

    rm -rf ./node_modules/.cache
    

    If you decide to adopt this pattern, please file a PR adding your name to the list of adopters below.

    Install

    $ npm install find-cache-dir
    

    Usage

    const findCacheDir = require('find-cache-dir');
     
    findCacheDir({name: 'unicorns'});
    //=> '/user/path/node-modules/.cache/unicorns'

    Get professional support for this package with a Tidelift subscription
    Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies.

    API

    findCacheDir([options])

    Finds the cache directory using the supplied options. The algorithm tries to find a package.json file, searching every parent directory of the cwd specified (or implied from other options). It returns a string containing the absolute path to the cache directory, or undefined if package.json was never found.

    options

    Type: Object

    name

    Required
    Type: string

    Should be the same as your project name in package.json.

    files

    Type: string[] string

    An array of files that will be searched for a common parent directory. This common parent directory will be used in lieu of the cwd option below.

    cwd

    Type: string
    Default process.cwd()

    Directory to start searching for a package.json from.

    create

    Type: boolean
    Default false

    If true, the directory will be created synchronously before returning.

    thunk

    Type: boolean
    Default false

    If true, this modifies the return type to be a function that is a thunk for path.join(theFoundCacheDirectory).

    const thunk = findCacheDir({name: 'foo', thunk: true});
     
    thunk();
    //=> '/some/path/node_modules/.cache/foo'
     
    thunk('bar.js')
    //=> '/some/path/node_modules/.cache/foo/bar.js'
     
    thunk('baz', 'quz.js')
    //=> '/some/path/node_modules/.cache/foo/baz/quz.js'

    This is helpful for actually putting actual files in the cache!

    Adopters

    Security

    To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

    License

    MIT

    Install

    npm i [email protected]

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    6.01 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar
    • avatar