UNPKG

@awesome-fe/translate

Version:
50 lines 2.08 kB
"use strict"; 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