140 lines
13 KiB
JavaScript
140 lines
13 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.targetsNext = exports.targets = exports.fileAsBuffer = void 0;
|
|
const path = require("path");
|
|
const exists_1 = require("@plastichub/fs/exists");
|
|
const read_1 = require("@plastichub/fs/read");
|
|
const osr_commons_1 = require("@plastichub/osr-commons");
|
|
const osr_commons_2 = require("@plastichub/osr-commons");
|
|
const fileAsBuffer = (path) => (0, read_1.sync)(path, 'buffer') || Buffer.from("-");
|
|
exports.fileAsBuffer = fileAsBuffer;
|
|
const clone = (obj) => {
|
|
if (null == obj || "object" != typeof obj)
|
|
return obj;
|
|
var copy = obj.constructor();
|
|
for (var attr in obj) {
|
|
if (obj.hasOwnProperty(attr))
|
|
copy[attr] = obj[attr];
|
|
}
|
|
return copy;
|
|
};
|
|
const targets = (f, options) => {
|
|
const srcParts = path.parse(f);
|
|
const variables = clone(options.variables || {});
|
|
const targets = [];
|
|
const rel = path.relative(options.srcInfo.DIR, srcParts.dir);
|
|
if (options.dstInfo.IS_GLOB) {
|
|
options.dstInfo.GLOB_EXTENSIONS.forEach((e) => {
|
|
variables.SRC_NAME = srcParts.name;
|
|
variables.SRC_DIR = srcParts.dir;
|
|
let targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables);
|
|
targetPath = targetPath.replace(variables.DST_GLOB, '');
|
|
if (variables.DST_FILE_EXT) {
|
|
targetPath = targetPath.replace('.' + variables.DST_FILE_EXT, '');
|
|
}
|
|
const parts = path.parse(targetPath);
|
|
//back compat
|
|
if (variables.DST_NAME === '*') {
|
|
variables.DST_NAME = '';
|
|
}
|
|
if (!parts.ext) {
|
|
if (variables.DST_PATH.indexOf(`{SRC_NAME}`) === -1) {
|
|
targetPath = path.join(targetPath, rel, srcParts.name + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e);
|
|
}
|
|
else {
|
|
targetPath = targetPath + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e;
|
|
}
|
|
}
|
|
//src.base contains dots
|
|
if (!targetPath.endsWith('.' + e)) {
|
|
targetPath += '.' + e;
|
|
}
|
|
targets.push(path.resolve(targetPath));
|
|
});
|
|
}
|
|
else {
|
|
let targetPath = '';
|
|
if (!variables.DST_PATH) {
|
|
targetPath = path.join(srcParts.dir, srcParts.base);
|
|
}
|
|
else {
|
|
variables.SRC_NAME = srcParts.name;
|
|
variables.SRC_DIR = srcParts.dir;
|
|
targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables);
|
|
if ((0, osr_commons_1.isFile)(f) && (0, exists_1.sync)(f)) {
|
|
// targetPath = path.join(targetPath, srcParts.base)
|
|
}
|
|
else {
|
|
targetPath = path.join(targetPath, srcParts.base);
|
|
}
|
|
const targetParts = path.parse(targetPath);
|
|
if (!targetParts.ext) {
|
|
targetPath = path.join(targetPath, srcParts.base);
|
|
}
|
|
}
|
|
targets.push(path.resolve((0, osr_commons_1.resolve)(targetPath, options.alt, variables)));
|
|
}
|
|
return targets;
|
|
};
|
|
exports.targets = targets;
|
|
const targetsNext = (f, options) => {
|
|
const srcParts = path.parse(f);
|
|
const variables = clone(options.variables || {});
|
|
const targets = [];
|
|
const rel = path.relative(options.srcInfo.DIR, srcParts.dir);
|
|
if (options.dstInfo.IS_GLOB) {
|
|
options.dstInfo.GLOB_EXTENSIONS.forEach((e) => {
|
|
variables.SRC_NAME = srcParts.name;
|
|
variables.SRC_DIR = srcParts.dir;
|
|
let targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables);
|
|
targetPath = targetPath.replace(variables.DST_GLOB, '');
|
|
if (variables.DST_FILE_EXT) {
|
|
targetPath = targetPath.replace('.' + variables.DST_FILE_EXT, '');
|
|
}
|
|
const parts = path.parse(targetPath);
|
|
//back compat
|
|
if (variables.DST_NAME === '*') {
|
|
variables.DST_NAME = '';
|
|
}
|
|
if (!parts.ext) {
|
|
if (variables.DST_PATH.indexOf(`{SRC_NAME}`) === -1) {
|
|
targetPath = path.join(targetPath, rel, srcParts.name + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e);
|
|
}
|
|
else {
|
|
targetPath = targetPath + variables.DST_NAME.replace(variables.DST_GLOB, '') + '.' + e;
|
|
}
|
|
}
|
|
//src.base contains dots
|
|
if (!targetPath.endsWith('.' + e)) {
|
|
targetPath += '.' + e;
|
|
}
|
|
targets.push(path.resolve(targetPath));
|
|
});
|
|
}
|
|
else {
|
|
let targetPath = '';
|
|
if (!variables.DST_PATH) {
|
|
targetPath = path.join(srcParts.dir, srcParts.base);
|
|
}
|
|
else {
|
|
variables.SRC_NAME = srcParts.name;
|
|
variables.SRC_DIR = srcParts.dir;
|
|
variables.SRC_DIR = srcParts.dir;
|
|
targetPath = (0, osr_commons_2.substitute)(options.alt, variables.DST_PATH, variables);
|
|
if ((0, osr_commons_1.isFile)(f) && (0, exists_1.sync)(f)) {
|
|
// targetPath = path.join(targetPath, srcParts.base)
|
|
}
|
|
else {
|
|
targetPath = path.join(targetPath, srcParts.base);
|
|
}
|
|
const targetParts = path.parse(targetPath);
|
|
if (!targetParts.ext) {
|
|
targetPath = path.join(targetPath, srcParts.base);
|
|
}
|
|
}
|
|
targets.push(path.resolve((0, osr_commons_1.resolve)(targetPath, options.alt, variables)));
|
|
}
|
|
return targets;
|
|
};
|
|
exports.targetsNext = targetsNext;
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE0QjtBQUM1QixrREFBc0Q7QUFDdEQsOENBQWtEO0FBQ2xELHlEQUF5RDtBQUV6RCx5REFBb0Q7QUFHN0MsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUEsV0FBSSxFQUFDLElBQUksRUFBRSxRQUFRLENBQVcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQW5GLFFBQUEsWUFBWSxnQkFBdUU7QUFFaEcsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNsQixJQUFJLElBQUksSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLE9BQU8sR0FBRztRQUFFLE9BQU8sR0FBRyxDQUFDO0lBQ3RELElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUE7QUFFTSxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQVMsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM5QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUNoRCxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUE7SUFDNUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FB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
|