An error occurred while loading the file. Please try again.
util.js 4.41 KiB
"use strict";
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.addSourceMappingUrl = addSourceMappingUrl;
exports.chmod = chmod;
exports.compile = compile;
exports.debounce = debounce;
exports.deleteDir = deleteDir;
exports.isCompilableExtension = isCompilableExtension;
exports.readdir = readdir;
exports.readdirForCompilable = readdirForCompilable;
exports.transformRepl = transformRepl;
exports.withExtension = withExtension;
function _fsReaddirRecursive() {
  const data = require("fs-readdir-recursive");
  _fsReaddirRecursive = function () {
    return data;
  return data;
function babel() {
  const data = require("@babel/core");
  babel = function () {
    return data;
  return data;
function _path() {
  const data = require("path");
  _path = function () {
    return data;
  return data;
function _fs() {
  const data = require("fs");
  _fs = function () {
    return data;
  return data;
var watcher = require("./watcher");
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function chmod(src, dest) {
  try {
    _fs().chmodSync(dest, _fs().statSync(src).mode);
  } catch (err) {
    console.warn(`Cannot change permissions of ${dest}`);
function readdir(dirname, includeDotfiles, filter) { return _fsReaddirRecursive()(dirname, (filename, _index, currentDirectory) => { const stat = _fs().statSync(_path().join(currentDirectory, filename)); if (stat.isDirectory()) return true; return (includeDotfiles || filename[0] !== ".") && (!filter || filter(filename)); }); } function readdirForCompilable(dirname, includeDotfiles, altExts) { return readdir(dirname, includeDotfiles, function (filename) { return isCompilableExtension(filename, altExts); }); } function isCompilableExtension(filename, altExts) { const exts = altExts || babel().DEFAULT_EXTENSIONS; const ext = _path().extname(filename); return exts.includes(ext); } function addSourceMappingUrl(code, loc) { return code + "\n//# sourceMappingURL=" + _path().basename(loc); } const CALLER = { name: "@babel/cli" }; function transformRepl(filename, code, opts) { opts = Object.assign({}, opts, { caller: CALLER, filename }); return new Promise((resolve, reject) => { babel().transform(code, opts, (err, result) => { if (err) reject(err);else resolve(result); }); }); } function compile(_x, _x2) { return _compile.apply(this, arguments); } function _compile() { _compile = _asyncToGenerator(function* (filename, opts) { opts = Object.assign({}, opts, { caller: CALLER }); const result = yield new Promise((resolve, reject) => { babel().transformFile(filename, opts, (err, result) => { if (err) reject(err);else resolve(result); }); }); if (result) { { if (!result.externalDependencies) return result; } watcher.updateExternalDependencies(filename, result.externalDependencies); } return result; }); return _compile.apply(this, arguments); }
function deleteDir(path) { if (_fs().existsSync(path)) { _fs().readdirSync(path).forEach(function (file) { const curPath = path + "/" + file; if (_fs().lstatSync(curPath).isDirectory()) { deleteDir(curPath); } else { _fs().unlinkSync(curPath); } }); _fs().rmdirSync(path); } } process.on("uncaughtException", function (err) { console.error(err); process.exitCode = 1; }); function withExtension(filename, ext = ".js") { const newBasename = _path().basename(filename, _path().extname(filename)) + ext; return _path().join(_path().dirname(filename), newBasename); } function debounce(fn, time) { let timer; function debounced() { clearTimeout(timer); timer = setTimeout(fn, time); } debounced.flush = () => { clearTimeout(timer); fn(); }; return debounced; }