UNPKG

@dot-event/watchman

Version:
91 lines (77 loc) 1.83 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; var _argv = require("@dot-event/argv"); var _fs = _interopRequireDefault(require("@dot-event/fs")); var _log = _interopRequireDefault(require("@dot-event/log")); var _spawn = _interopRequireDefault(require("@dot-event/spawn")); var _store = _interopRequireDefault(require("@dot-event/store")); var _argv2 = require("./watchman/argv"); // Packages // Helpers // Composer function _default(options) { const { events } = options; if (events.ops.has("watchman")) { return options; } (0, _fs.default)({ events }); (0, _log.default)({ events }); (0, _spawn.default)({ events }); (0, _store.default)({ events }); events.withOptions({ cwd: process.cwd() }).onAny({ watchman: _argv.argvRelay, watchmanCreate: watchman, watchmanRemove: watchman.bind({ remove: true }), watchmanSetupOnce: _argv2.argv }); return options; } async function watchman(options) { const { events, props } = options; const { remove } = this || {}; const { projectPath, operations } = events.get(props); const { triggers } = operations.watchman; for (const trigger of triggers) { const payload = ["trigger", projectPath, trigger]; if (remove) { await events.spawn([...props, "removeWatchman"], { args: ["trigger-del", projectPath, trigger.name], command: "watchman" }); } else { await events.spawn([...props, "createWatchman"], { args: ["-c", `watchman -j <<-EOT\n${JSON.stringify(payload)}\nEOT`], command: "sh" }); } } } //# sourceMappingURL=watchman.js.map