t-comm
Version:
专业、稳定、纯粹的工具库
92 lines (85 loc) • 3.58 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var fs = require('fs');
var path = require('path');
var syncCos_helper = require('./helper.js');
require('../fs/fs.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
function pushCopyFilesInSyncCos(_a) {
var fileList = _a.fileList,
cos = _a.cos,
workspace = _a.workspace;
var backupFileList = JSON.parse(JSON.stringify(fileList));
var domainDir = cos.domainDir,
_b = cos.copyList,
copyList = _b === void 0 ? [] : _b;
if (!(copyList === null || copyList === void 0 ? void 0 : copyList.length)) return;
for (var _i = 0, copyList_1 = copyList; _i < copyList_1.length; _i++) {
var copyInfo = copyList_1[_i];
if (!(copyInfo === null || copyInfo === void 0 ? void 0 : copyInfo.source)) {
continue;
}
var source = copyInfo.source,
copyTargetPrefix = copyInfo.copyTargetPrefix;
var baseDir = "".concat(domainDir, "/").concat(source);
var copyTargetDirs = syncCos_helper.getCopyTargetDirs(path__default["default"].resolve(workspace, baseDir), path__default["default"].resolve(workspace, domainDir), {
copyTargetPrefix: copyTargetPrefix
});
console.log('[copyTargetDirs]', copyTargetDirs);
if (!(copyTargetDirs === null || copyTargetDirs === void 0 ? void 0 : copyTargetDirs.length)) {
continue;
}
for (var _c = 0, backupFileList_1 = backupFileList; _c < backupFileList_1.length; _c++) {
var item = backupFileList_1[_c];
// 只处理当前域名、当前业务、当前语言的
if (!item.relativePath.startsWith("".concat(baseDir, "/"))) {
continue;
}
for (var _d = 0, copyTargetDirs_1 = copyTargetDirs; _d < copyTargetDirs_1.length; _d++) {
var extra = copyTargetDirs_1[_d];
var newPath = item.relativePath.replace("".concat(baseDir, "/"), "".concat(domainDir, "/").concat(extra, "/"));
var fullPath = path__default["default"].resolve(workspace, newPath);
if (!fs__default["default"].existsSync(fullPath)) {
var key = newPath.replace("".concat(domainDir, "/"), '');
fileList.push({
path: item.path,
relativePath: item.relativePath,
key: key,
url: "".concat(cos.cdnPrefix, "/").concat(key)
});
}
}
}
}
}
function pushMainlandCosFilesInSyncCos(_a) {
var fileList = _a.fileList,
cos = _a.cos,
mainLandCdnInfo = _a.mainLandCdnInfo,
toPushMainlandFiles = _a.toPushMainlandFiles;
var domainDir = cos.domainDir;
if (domainDir === mainLandCdnInfo.domainDir) return;
if (!mainLandCdnInfo) {
console.log('not found mainLandCdnInfo');
return;
}
for (var _i = 0, fileList_1 = fileList; _i < fileList_1.length; _i++) {
var item = fileList_1[_i];
var key = item.key,
path_1 = item.path,
relativePath = item.relativePath;
// 不应该用 path,path 是最原始,可能永远是 zh-cn
// 不能当 key
// const newPath = path.replace(path.resolve(workspace, domainDir), '').replace(/^\//, '');
toPushMainlandFiles.push({
path: path_1,
relativePath: relativePath,
key: key,
url: "".concat(mainLandCdnInfo.cdnPrefix, "/").concat(key)
});
}
}
exports.pushCopyFilesInSyncCos = pushCopyFilesInSyncCos;
exports.pushMainlandCosFilesInSyncCos = pushMainlandCosFilesInSyncCos;