@awesome-fe/translate
Version:
Translation utils
37 lines • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Exporter = void 0;
const fs_1 = require("fs");
const path_1 = require("path");
const mkdirp_1 = require("mkdirp");
class Exporter {
exportFile(filename, options) {
const content = (0, fs_1.readFileSync)(filename, 'utf8');
const targetFileName = this.getTargetFileName(filename, options);
const targetDir = (0, path_1.dirname)(targetFileName);
(0, mkdirp_1.sync)(targetDir);
const result = this.exportContent(content, options);
if (result === undefined) {
console.warn(`Unsupported file: ${filename}`);
}
else {
(0, fs_1.writeFileSync)(targetFileName, result, 'utf8');
}
}
getTargetFileName(filename, options) {
const relativePath = (0, path_1.relative)(options.cwd ?? '.', filename);
const targetFileName = (0, path_1.join)(options.outputDir ?? '.', relativePath);
if (options.format === 'auto') {
return targetFileName;
}
const parsed = (0, path_1.parse)(targetFileName);
if (options.format === 'markdown') {
return `${parsed.dir}/${parsed.name}.md`;
}
else if (options.format === 'html') {
return `${parsed.dir}/${parsed.name}.html`;
}
}
}
exports.Exporter = Exporter;
//# sourceMappingURL=exporter.js.map