UNPKG

@lcap/builder

Version:
50 lines (49 loc) 2.59 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.fileSystem = void 0; const fs_extra_1 = __importDefault(require("fs-extra")); const fast_glob_1 = __importDefault(require("fast-glob")); const fs_1 = require("@lcap/extension-shared/lib/types/fs"); const getFileType = (stat) => { if (stat.isDirectory()) return fs_1.FileType.Directory; if (stat.isSymbolicLink()) return fs_1.FileType.SymbolicLink; if (stat.isFile()) return fs_1.FileType.File; return fs_1.FileType.Unknown; }; exports.fileSystem = { stat: (path) => __awaiter(void 0, void 0, void 0, function* () { if (!fs_extra_1.default.existsSync(path)) { return undefined; } const stat = yield fs_extra_1.default.stat(path); return { type: getFileType(stat), ctime: stat.ctimeMs, mtime: stat.mtimeMs, size: stat.size, }; }), readFile: (path_1, ...args_1) => __awaiter(void 0, [path_1, ...args_1], void 0, function* (path, encoding = 'utf-8') { return fs_extra_1.default.readFile(path, encoding); }), writeFile: (path_1, content_1, ...args_1) => __awaiter(void 0, [path_1, content_1, ...args_1], void 0, function* (path, content, options = {}) { return fs_extra_1.default.writeFile(path, content, options); }), readDirectory: (path) => __awaiter(void 0, void 0, void 0, function* () { const dirs = yield fs_extra_1.default.readdir(path, { withFileTypes: true }); return dirs.map((dir) => [dir.name, getFileType(dir)]); }), rm: (path) => __awaiter(void 0, void 0, void 0, function* () { return fs_extra_1.default.rm(path, { recursive: true, force: true }); }), glob: fast_glob_1.default, };