fsevents
Native Access to MacOS FSEvents
Last updated 8 days ago by paulmillr .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install fsevents 
SYNC missed versions from official npm registry.

fsevents NPM

Native access to MacOS FSEvents in Node.js

The FSEvents API in MacOS allows applications to register for notifications of changes to a given directory tree. It is a very fast and lightweight alternative to kqueue.

This is a low-level library. For a cross-platform file watching module that uses fsevents, check out Chokidar.

Installation

Supports only Node.js v8.16 and higher.

npm install fsevents

Usage

const fsevents = require('fsevents');
const stop = fsevents.watch(__dirname, (path, flags, id) => {
  const info = fsevents.getInfo(path, flags, id);
}); // To start observation
stop(); // To end observation

The callback passed as the second parameter to .watch get's called whenever the operating system detects a a change in the file system. It takes three arguments:

fsevents.watch(dirname: string, (path: string, flags: number, id: string) => void): () => Promise<undefined>
  • path: string - the item in the filesystem that have been changed
  • flags: number - a numeric value describing what the change was
  • id: string - an unique-id identifying this specific event

Returns closer callback which when called returns a Promise resolving when the watcher process has been shut down.

fsevents.getInfo(path: string, flags: number, id: string): FsEventInfo

The getInfo function takes the path, flags and id arguments and converts those parameters into a structure that is easier to digest to determine what the change was.

The FsEventsInfo has the following shape:

/**
 * @typedef {'created'|'modified'|'deleted'|'moved'|'root-changed'|'cloned'|'unknown'} FsEventsEvent
 * @typedef {'file'|'directory'|'symlink'} FsEventsType
 */
{
  "event": "created",
  "path": "file.txt", // {FsEventsEvent}
  "type": "file",    // {FsEventsType}
  "changes": {
    "inode": true,   // Had iNode Meta-Information changed
    "finder": false, // Had Finder Meta-Data changed
    "access": false, // Had access permissions changed
    "xattrs": false  // Had xAttributes changed
  },
  "flags": 0x100000000
}

Engine compatibility

  • v2 supports node 8.16+
  • v1.2.8 supports node 6+
  • v1.2.7 supports node 4+

License

The MIT License Copyright (C) 2010-2019 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller — see LICENSE file.

Visit our GitHub page and NPM Page

Current Tags

  • 2.1.2                                ...           latest (8 days ago)
  • 1.2.9                                ...           nan (7 months ago)
  • 2.0.7                                ...           napi (6 months ago)

55 Versions

  • 2.1.2                                ...           8 days ago
  • 2.1.1                                ...           a month ago
  • 2.1.0                                ...           2 months ago
  • 2.0.7                                ...           6 months ago
  • 1.2.9 [deprecated]           ...           7 months ago
  • 2.0.6 [deprecated]           ...           7 months ago
  • 2.0.5 [deprecated]           ...           7 months ago
  • 1.2.8 [deprecated]           ...           7 months ago
  • 2.0.4 [deprecated]           ...           7 months ago
  • 2.0.3 [deprecated]           ...           8 months ago
  • 1.2.7 [deprecated]           ...           10 months ago
  • 1.2.6 [deprecated]           ...           10 months ago
  • 2.0.2-pre-1 [deprecated]           ...           a year ago
  • 2.0.1 [deprecated]           ...           a year ago
  • 2.0.0 [deprecated]           ...           a year ago
  • 1.2.4 [deprecated]           ...           2 years ago
  • 1.2.3 [deprecated]           ...           2 years ago
  • 1.2.2 [deprecated]           ...           2 years ago
  • 1.2.0 [deprecated]           ...           2 years ago
  • 1.1.3 [deprecated]           ...           2 years ago
  • 1.1.2 [deprecated]           ...           2 years ago
  • 1.1.1 [deprecated]           ...           3 years ago
  • 1.1.0 [deprecated]           ...           3 years ago
  • 1.0.18-0 [deprecated]           ...           3 years ago
  • 1.0.17 [deprecated]           ...           3 years ago
  • 1.0.15 [deprecated]           ...           3 years ago
  • 1.0.14 [deprecated]           ...           3 years ago
  • 1.0.12 [deprecated]           ...           4 years ago
  • 1.0.11 [deprecated]           ...           4 years ago
  • 1.0.10 [deprecated]           ...           4 years ago
  • 1.0.9 [deprecated]           ...           4 years ago
  • 1.0.8 [deprecated]           ...           4 years ago
  • 1.0.7 [deprecated]           ...           4 years ago
  • 1.0.6 [deprecated]           ...           4 years ago
  • 1.0.5 [deprecated]           ...           4 years ago
  • 1.0.4 [deprecated]           ...           4 years ago
  • 1.0.3 [deprecated]           ...           4 years ago
  • 1.0.2 [deprecated]           ...           4 years ago
  • 1.0.1 [deprecated]           ...           4 years ago
  • 1.0.0 [deprecated]           ...           4 years ago
  • 0.3.8 [deprecated]           ...           4 years ago
  • 0.3.7 [deprecated]           ...           4 years ago
  • 0.3.6 [deprecated]           ...           5 years ago
  • 0.3.5 [deprecated]           ...           5 years ago
  • 0.3.4 [deprecated]           ...           5 years ago
  • 0.3.3 [deprecated]           ...           5 years ago
  • 0.3.2 [deprecated]           ...           5 years ago
  • 0.3.1 [deprecated]           ...           5 years ago
  • 0.3.0 [deprecated]           ...           5 years ago
  • 0.2.0 [deprecated]           ...           6 years ago
  • 0.1.6 [deprecated]           ...           6 years ago
  • 0.1.5 [deprecated]           ...           6 years ago
  • 0.1.4 [deprecated]           ...           6 years ago
  • 0.1.3 [deprecated]           ...           6 years ago
  • 0.1.1 [deprecated]           ...           6 years ago
Downloads
Today 10,415
This Week 299,682
This Month 672,954
Last Day 20,034
Last Week 292,065
Last Month 1,094,675
Dependencies (0)
None
Dev Dependencies (0)
None
Dependents (2859)

Copyright 2014 - 2017 © taobao.org |