@awesome-fe/translate
Version:
Translation utils
50 lines • 2.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handler = exports.builder = exports.describe = exports.command = void 0;
var fs_1 = require("fs");
var globby_1 = require("globby");
var injector_1 = require("../../injector/injector");
exports.command = "inject <sourceGlobs...>";
exports.describe = '为双语 HTML 文件做后期处理,注入翻译工具';
exports.builder = {
sourceGlobs: {
description: '文件通配符,注意:要包含在引号里,参见 https://github.com/isaacs/node-glob#glob-primer',
},
styleUrls: {
array: true,
alias: 'c',
description: '要注入的 css 文件,可传多个',
},
scriptUrls: {
array: true,
alias: 's',
description: '要注入的 javascript 文件,可传多个',
},
urlMap: {
string: true,
alias: 'm',
coerce: function (filename) {
return JSON.parse(fs_1.readFileSync(filename, 'utf-8'));
},
description: '供替换的 url 映射(脚本、css、图片),指向一个 JSON 格式的配置文件,其内容形如:{"old": "new"}',
},
textMap: {
string: true,
alias: 't',
coerce: function (filename) {
return JSON.parse(fs_1.readFileSync(filename, 'utf-8'));
},
description: '供替换的文本映射,指向一个 JSON 格式的配置文件,其内容形如:{"oldRegExp": "new"}',
},
};
exports.handler = function (_a) {
var sourceGlobs = _a.sourceGlobs, styleUrls = _a.styleUrls, scriptUrls = _a.scriptUrls, urlMap = _a.urlMap, textMap = _a.textMap;
var filenames = sourceGlobs.map(function (it) { return globby_1.sync(it); }).flat();
var injector = new injector_1.Injector(styleUrls, scriptUrls, urlMap, textMap);
for (var _i = 0, filenames_1 = filenames; _i < filenames_1.length; _i++) {
var filename = filenames_1[_i];
injector.injectFile(filename);
console.log("injected: " + filename + "!");
}
};
//# sourceMappingURL=inject.js.map