f2e-server3
Version:
f2e-server 3.0
55 lines (54 loc) • 1.73 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultOptions = void 0;
const types_1 = require("node:util/types");
const logger_1 = __importDefault(require("../utils/logger"));
/** 默认过滤掉 node_modules 目录 和 output 目录以及 .开头的隐藏文件 */
const DefaultWatchFilter = (path) => {
return !/(node_modules|(^|[\\\/])\.\w+|output)/.test(path);
};
const DefaultBuildFilter = (path, size = 0) => {
if (size > 100 * 1024 * 1024) {
return false;
}
return DefaultWatchFilter(path);
};
const DefaultOutputFilter = (path, data) => {
if (typeof data === 'string') {
return DefaultBuildFilter(path, data.length);
}
if (!data) {
return false;
}
return DefaultBuildFilter(path, (0, types_1.isArrayBufferView)(data) ? data.byteLength : 0);
};
/** 默认监听文件变化打印日志 */
const DefaultWatcher = (path, event) => {
return logger_1.default.debug(path, event);
};
/** 默认设置资源的输入输出路径相同 */
const DefaultOnSet = async (pathname, data) => {
return {
data,
originPath: pathname,
outputPath: pathname,
};
};
/** 默认设置资源直接输出 */
const DefaultOnGet = async (_pathname, data) => {
return data;
};
/** 默认参数 */
exports.defaultOptions = {
root: process.cwd(),
watch: false,
buildFilter: DefaultBuildFilter,
watchFilter: DefaultWatchFilter,
buildWatcher: DefaultWatcher,
onSet: DefaultOnSet,
onGet: DefaultOnGet,
outputFilter: DefaultOutputFilter,
};