UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

56 lines (51 loc) 1.74 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var fs_fs = require('../fs/fs.js'); var nodejs_fs = require('../nodejs/fs.js'); var nodejs_path = require('../nodejs/path.js'); require('../nodejs/crypto.js'); require('../nodejs/os.js'); /** * 获取复制目标路径 * @param copySourceDir 复制源目录,注意,这里是绝对路径 * @param domainDir 域名目录,注意,这里是绝对路径 * @returns 要复制的列表,注意,这里是相对路径,如 ['os-x/en', 'os-x/zh-hant'] * @example * ```ts * // 假设 /tmp/dist/os-x 下有 en、zh-hans、zh-hant 三个语言目录 * getCopyTargetDirs( * '/tmp/dist/os-x/zh-hans', * '/tmp/dist', * ); * // ['os-x/en', 'os-x/zh-hant'] * * // 仅保留指定前缀 * getCopyTargetDirs( * '/tmp/dist/os-x/zh-hans', * '/tmp/dist', * { copyTargetPrefix: 'os-x/zh-' }, * ); * // ['os-x/zh-hant'] * ``` */ function getCopyTargetDirs(copySourceDir, domainDir, options) { var baseDir = nodejs_path.getPath().dirname(copySourceDir); var list = (nodejs_fs.getFs().readdirSync(baseDir) || []).map(function (item) { return nodejs_path.getPath().resolve(baseDir, item); }).filter(function (item) { return fs_fs.isDirectory(item); }); var copyTargetDirs = list.filter(function (item) { return item !== copySourceDir; }); var result = copyTargetDirs.map(function (item) { return item.replace(domainDir, '').replace(/^\//, ''); }); if (options === null || options === void 0 ? void 0 : options.copyTargetPrefix) { result = result.filter(function (item) { return item.startsWith(options.copyTargetPrefix); }); } return result; } exports.getCopyTargetDirs = getCopyTargetDirs;