UNPKG

@c-sheep/i18n-extract-cli

Version:

这是一款能够自动将代码里的中文转成i18n国际化标记的命令行工具。当然,你也可以用它实现将中文语言包自动翻译成其他语言。适用于vue2、vue3和react

52 lines (51 loc) 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initParse = void 0; const transform_code_1 = require("./transform-code"); 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 (0, transform_code_1.parseSync)(code, [], [ pluginSyntaxJSX, pluginSyntaxProposalOptionalChaining, pluginSyntaxClassProperties, [pluginSyntaxDecorators, { decoratorsBeforeExport: true }], pluginSyntaxObjectRestSpread, pluginSyntaxAsyncGenerators, pluginSyntaxDoExpressions, pluginSyntaxDynamicImport, pluginSyntaxExportExtensions, pluginSyntaxFunctionBind, ...babelPlugins, ], babelPresets); // 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;