UNPKG

@awesome-fe/translate

Version:
53 lines 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.handler = exports.builder = exports.describe = exports.command = void 0; const fs_1 = require("fs"); const globby_1 = require("globby"); const 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: (filename) => { return JSON.parse((0, fs_1.readFileSync)(filename, 'utf-8')); }, description: '供替换的 url 映射(脚本、css、图片),指向一个 JSON 格式的配置文件,其内容形如:{"old": "new"}', }, textMap: { string: true, alias: 't', coerce: (filename) => { return JSON.parse((0, fs_1.readFileSync)(filename, 'utf-8')); }, description: '供替换的文本映射,指向一个 JSON 格式的配置文件,其内容形如:{"oldRegExp": "new"}', }, }; const handler = function ({ sourceGlobs, styleUrls, scriptUrls, urlMap, textMap }) { const filenames = (0, globby_1.sync)(sourceGlobs); if (filenames.length === 0) { console.error('没有找到任何文件,请检查 sourceGlobs 是否正确!'); return; } const injector = new injector_1.Injector(styleUrls, scriptUrls, urlMap, textMap); for (const filename of filenames) { injector.injectFile(filename); console.log(`injected: ${filename}!`); } }; exports.handler = handler; //# sourceMappingURL=inject.js.map