summaryrefslogtreecommitdiffstats
path: root/node_modules/touch/README.md
blob: b5a361e6bee2a16e327af8e15b247f27c025ec9c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# node-touch

For all your node touching needs.

## Installing

```bash
npm install touch
```

## CLI Usage:

See `man touch`

This package exports a binary called `nodetouch` that works mostly
like the unix builtin `touch(1)`.

## API Usage:

```javascript
var touch = require("touch")
```

Gives you the following functions:

* `touch(filename, options, cb)`
* `touch.sync(filename, options)`
* `touch.ftouch(fd, options, cb)`
* `touch.ftouchSync(fd, options)`

All the `options` objects are optional.

All the async functions return a Promise.  If a callback function is
provided, then it's attached to the Promise.

## Options

* `force` like `touch -f` Boolean
* `time` like `touch -t <date>` Can be a Date object, or any parseable
  Date string, or epoch ms number.
* `atime` like `touch -a` Can be either a Boolean, or a Date.
* `mtime` like `touch -m` Can be either a Boolean, or a Date.
* `ref` like `touch -r <file>` Must be path to a file.
* `nocreate` like `touch -c` Boolean

If neither `atime` nor `mtime` are set, then both values are set.  If
one of them is set, then the other is not.

## cli

This package creates a `nodetouch` command line executable that works
very much like the unix builtin `touch(1)`