summaryrefslogtreecommitdiff
path: root/node_modules/@babel/cli/lib/babel/watcher.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@babel/cli/lib/babel/watcher.js')
-rw-r--r--node_modules/@babel/cli/lib/babel/watcher.js129
1 files changed, 0 insertions, 129 deletions
diff --git a/node_modules/@babel/cli/lib/babel/watcher.js b/node_modules/@babel/cli/lib/babel/watcher.js
deleted file mode 100644
index 203e8ca8..00000000
--- a/node_modules/@babel/cli/lib/babel/watcher.js
+++ /dev/null
@@ -1,129 +0,0 @@
-"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.enable = enable;
-exports.onFilesChange = onFilesChange;
-exports.startWatcher = startWatcher;
-exports.updateExternalDependencies = updateExternalDependencies;
-exports.watch = watch;
-function _path() {
- const data = require("path");
- _path = function () {
- return data;
- };
- return data;
-}
-const fileToDeps = new Map();
-const depToFiles = new Map();
-let isWatchMode = false;
-let watcher;
-const watchQueue = new Set();
-let hasStarted = false;
-function enable({
- enableGlobbing
-}) {
- isWatchMode = true;
- const {
- FSWatcher
- } = requireChokidar();
- const options = {
- disableGlobbing: !enableGlobbing,
- persistent: true,
- ignoreInitial: true,
- awaitWriteFinish: {
- stabilityThreshold: 50,
- pollInterval: 10
- }
- };
- watcher = new FSWatcher(options);
- watcher.on("unlink", unwatchFile);
-}
-function startWatcher() {
- hasStarted = true;
- for (const dep of watchQueue) {
- watcher.add(dep);
- }
- watchQueue.clear();
- watcher.on("ready", () => {
- console.log("The watcher is ready.");
- });
-}
-function watch(filename) {
- if (!isWatchMode) {
- throw new Error("Internal Babel error: .watch called when not in watch mode.");
- }
- if (!hasStarted) {
- watchQueue.add(_path().resolve(filename));
- } else {
- watcher.add(_path().resolve(filename));
- }
-}
-function onFilesChange(callback) {
- if (!isWatchMode) {
- throw new Error("Internal Babel error: .onFilesChange called when not in watch mode.");
- }
- watcher.on("all", (event, filename) => {
- var _depToFiles$get;
- if (event !== "change" && event !== "add") return;
- const absoluteFile = _path().resolve(filename);
- callback([absoluteFile, ...((_depToFiles$get = depToFiles.get(absoluteFile)) != null ? _depToFiles$get : [])], event, absoluteFile);
- });
-}
-function updateExternalDependencies(filename, dependencies) {
- if (!isWatchMode) return;
- const absFilename = _path().resolve(filename);
- const absDependencies = new Set(Array.from(dependencies, dep => _path().resolve(dep)));
- const deps = fileToDeps.get(absFilename);
- if (deps) {
- for (const dep of deps) {
- if (!absDependencies.has(dep)) {
- removeFileDependency(absFilename, dep);
- }
- }
- }
- for (const dep of absDependencies) {
- let deps = depToFiles.get(dep);
- if (!deps) {
- depToFiles.set(dep, deps = new Set());
- if (!hasStarted) {
- watchQueue.add(dep);
- } else {
- watcher.add(dep);
- }
- }
- deps.add(absFilename);
- }
- fileToDeps.set(absFilename, absDependencies);
-}
-function removeFileDependency(filename, dep) {
- const deps = depToFiles.get(dep);
- deps.delete(filename);
- if (deps.size === 0) {
- depToFiles.delete(dep);
- if (!hasStarted) {
- watchQueue.delete(dep);
- } else {
- watcher.unwatch(dep);
- }
- }
-}
-function unwatchFile(filename) {
- const deps = fileToDeps.get(filename);
- if (!deps) return;
- for (const dep of deps) {
- removeFileDependency(filename, dep);
- }
- fileToDeps.delete(filename);
-}
-function requireChokidar() {
- try {
- return parseInt(process.versions.node) >= 8 ? require("chokidar") : require("@nicolo-ribaudo/chokidar-2");
- } catch (err) {
- console.error("The optional dependency chokidar failed to install and is required for " + "--watch. Chokidar is likely not supported on your platform.");
- throw err;
- }
-}
-
-//# sourceMappingURL=watcher.js.map