Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/luftywiranda13/has-lockfile

Detect lockfiles in the working directory
https://github.com/luftywiranda13/has-lockfile

check detect find lock-file lockfile npm npm-shrinkwrap package-lock package-lock-json yarn yarn-lock

Last synced: 2 months ago
JSON representation

Detect lockfiles in the working directory

Awesome Lists containing this project

README

        

# has-lockfile

> Detect lockfiles in the working directory

[![Package Version](https://img.shields.io/npm/v/has-lockfile.svg?style=flat-square)](https://www.npmjs.com/package/has-lockfile)
[![Downloads Status](https://img.shields.io/npm/dm/has-lockfile.svg?style=flat-square)](https://npm-stat.com/charts.html?package=has-lockfile&from=2016-04-01)
[![Build Status: Linux](https://img.shields.io/travis/luftywiranda13/has-lockfile/master.svg?style=flat-square)](https://travis-ci.org/luftywiranda13/has-lockfile)
[![Coverage Status](https://img.shields.io/codecov/c/github/luftywiranda13/has-lockfile/master.svg?style=flat-square)](https://codecov.io/gh/luftywiranda13/has-lockfile)

Useful for tools that need to know whether to use `yarn` or `npm`.

## Installation

```sh
npm install has-lockfile
```

## Usage

```sh
$ tree
.
├── bar
│ ├── package-lock.json
│ └── package.json
├── baz
│ ├── package.json
│ └── yarn.lock
├── foo
│ ├── npm-shrinkwrap.json
│ └── package.json
├── qux
│ ├── npm-shrinkwrap.json
│ ├── package-lock.json
│ ├── package.json
│ └── yarn.lock
└── package.json
```

```js
const hasLockfile = require('has-lockfile');

hasLockfile();
// => false

hasLockfile('bar');
//=> true

hasLockfile.lockfiles();
//=> []

hasLockfile.lockfiles('bar');
//=> ['package-lock.json']

hasLockfile.lockfiles('baz');
//=> ['yarn.lock']

hasLockfile.lockfiles('foo');
//=> ['npm-shrinkwrap.json']

hasLockfile.lockfiles('qux');
//=> ['package-lock.json', 'yarn.lock', 'npm-shrinkwrap.json']
```

## API

### hasLockfile([cwd])

Returns `boolean`.

### hasLockfile.lockfiles([cwd])

Returns `Array` of lockfiles.

#### cwd

Type: `string`

Default: `process.cwd()`

Current working directory.

## Related

* [has-package-lock](https://github.com/luftywiranda13/has-package-lock) - Check if a `package-lock.json` is present in the working directory
* [has-shrinkwrap](https://github.com/luftywiranda13/has-shrinkwrap) - Check if `npm-shrinkwrap.json` is present in the working directory
* [has-yarn](https://github.com/sindresorhus/has-yarn) - Check if a project is using Yarn
* [pkg-man](https://github.com/luftywiranda13/pkg-man) - Detect which package manager that should be used

## License

MIT © [Lufty Wiranda](https://www.luftywiranda.com)