i18n-transform-cli
Version:
这是一款能够自动将代码里的中文转成i18n国际化标记的命令行工具。当然,你也可以用它实现将中文语言包自动翻译成其他语言。适用于vue2、vue3和react
38 lines (37 loc) • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initParse = void 0;
const babel = require('@babel/core');
const pluginSyntaxJSX = require('@babel/plugin-syntax-jsx');
const pluginSyntaxProposalOptionalChaining = require('@babel/plugin-proposal-optional-chaining');
const pluginSyntaxClassProperties = require('@babel/plugin-syntax-class-properties');
const pluginSyntaxDecorators = require('@babel/plugin-syntax-decorators');
const pluginSyntaxObjectRestSpread = require('@babel/plugin-syntax-object-rest-spread');
const pluginSyntaxAsyncGenerators = require('@babel/plugin-syntax-async-generators');
const pluginSyntaxDoExpressions = require('@babel/plugin-syntax-do-expressions');
const pluginSyntaxDynamicImport = require('@babel/plugin-syntax-dynamic-import');
const pluginSyntaxExportExtensions = require('@babel/plugin-syntax-export-extensions');
const pluginSyntaxFunctionBind = require('@babel/plugin-syntax-function-bind');
function initParse(babelPresets = [], babelPlugins = []) {
return function (code) {
return babel.parseSync(code, {
ast: true,
configFile: false,
presets: babelPresets,
plugins: [
pluginSyntaxJSX,
pluginSyntaxProposalOptionalChaining,
pluginSyntaxClassProperties,
[pluginSyntaxDecorators, { decoratorsBeforeExport: true }],
pluginSyntaxObjectRestSpread,
pluginSyntaxAsyncGenerators,
pluginSyntaxDoExpressions,
pluginSyntaxDynamicImport,
pluginSyntaxExportExtensions,
pluginSyntaxFunctionBind,
...babelPlugins,
],
});
};
}
exports.initParse = initParse;