Socket
Socket
Sign inDemoInstall

@lingui/cli

Package Overview
Dependencies
Maintainers
1
Versions
149
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lingui/cli - npm Package Compare versions

Comparing version 2.1.2 to 2.2.0-16

20

api/extract.js

@@ -7,2 +7,6 @@ "use strict";

var _keys = require("babel-runtime/core-js/object/keys");
var _keys2 = _interopRequireDefault(_keys);
var _extends2 = require("babel-runtime/helpers/extends");

@@ -15,2 +19,3 @@

exports.cleanObsolete = cleanObsolete;
exports.order = order;

@@ -64,3 +69,3 @@ var _fs = require("fs");

if (!ext.match(srcFilename)) return false;
ext.extract(srcFilename, targetPath);
ext.extract(srcFilename, targetPath, options.babelOptions);
return true;

@@ -101,2 +106,15 @@ });

}), catalogs);
}
function order(catalogs) {
return _ramda2.default.map(orderByMessageId, catalogs);
}
function orderByMessageId(messages) {
var orderedMessages = {};
(0, _keys2.default)(messages).sort().forEach(function (key) {
orderedMessages[key] = messages[key];
});
return orderedMessages;
}

@@ -7,2 +7,10 @@ "use strict";

var _toConsumableArray2 = require("babel-runtime/helpers/toConsumableArray");
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
var _extends2 = require("babel-runtime/helpers/extends");
var _extends3 = _interopRequireDefault(_extends2);
var _babelCore = require("babel-core");

@@ -31,3 +39,6 @@

extract: function extract(filename, localeDir) {
(0, _babelCore.transformFileSync)(filename, {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var plugins = options.plugins || [];
(0, _babelCore.transformFileSync)(filename, (0, _extends3.default)({}, options, {
plugins: [

@@ -38,4 +49,4 @@ // Plugins run before presets, so we need to import transform-plugins

// Transform plugins are idempotent, so they can run twice.
_babelPluginTransformJs2.default, _babelPluginTransformReact2.default, [_babelPluginExtractMessages2.default, { localeDir: localeDir }]]
});
_babelPluginTransformJs2.default, _babelPluginTransformReact2.default, [_babelPluginExtractMessages2.default, { localeDir: localeDir }]].concat((0, _toConsumableArray3.default)(plugins))
}));
}

@@ -42,0 +53,0 @@ };

@@ -7,8 +7,16 @@ "use strict";

var _babelCore = require("babel-core");
var _extends2 = require("babel-runtime/helpers/extends");
var _babelPluginTransformTypescript = require("babel-plugin-transform-typescript");
var _extends3 = _interopRequireDefault(_extends2);
var _babelPluginTransformTypescript2 = _interopRequireDefault(_babelPluginTransformTypescript);
var _toConsumableArray2 = require("babel-runtime/helpers/toConsumableArray");
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
var _fs = require("fs");
var _fs2 = _interopRequireDefault(_fs);
var _babelCore = require("babel-core");
var _babelPluginTransformJs = require("@lingui/babel-plugin-transform-js");

@@ -26,2 +34,8 @@

var _typescript = require("typescript");
var ts = _interopRequireWildcard(_typescript);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -31,3 +45,2 @@

var extractor = {

@@ -38,10 +51,34 @@ match: function match(filename) {

extract: function extract(filename, localeDir) {
(0, _babelCore.transformFileSync)(filename, {
plugins: [
// Plugins run before presets, so we need to import transform-plugins
// here until we have a better way to run extract-messages plugin
// *after* all plugins/presets.
// Transform plugins are idempotent, so they can run twice.
_babelPluginTransformTypescript2.default, _babelPluginTransformJs2.default, _babelPluginTransformReact2.default, [_babelPluginExtractMessages2.default, { localeDir: localeDir }]]
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var content = _fs2.default.readFileSync(filename, "utf8");
var isTsx = filename.endsWith(".tsx");
// pass jsx to babel untouched
var jsx = isTsx ? ts.JsxEmit.Preserve : ts.JsxEmit.None;
var stripped = ts.transpileModule(content, {
compilerOptions: {
filename: filename,
module: ts.ModuleKind.ESNext,
target: ts.ScriptTarget.ES2016, // use ES2015 or ES2016 to preserve tagged template literal
allowSyntheticDefaultImports: true,
jsx: jsx,
moduleResolution: ts.ModuleResolutionKind.NodeJs
}
});
var plugins = [
// Plugins run before presets, so we need to import transform-plugins
// here until we have a better way to run extract-messages plugin
// *after* all plugins/presets.
// Transform plugins are idempotent, so they can run twice.
_babelPluginTransformJs2.default, _babelPluginTransformReact2.default, [_babelPluginExtractMessages2.default, { localeDir: localeDir }]].concat((0, _toConsumableArray3.default)(options.plugins || []));
if (isTsx) {
plugins.unshift("syntax-jsx");
}
(0, _babelCore.transform)(stripped.outputText, (0, _extends3.default)({}, options, {
filename: filename,
plugins: plugins
}));
}

@@ -48,0 +85,0 @@ };

35

api/formats/lingui.js

@@ -11,2 +11,6 @@ "use strict";

var _extends2 = require("babel-runtime/helpers/extends");
var _extends3 = _interopRequireDefault(_extends2);
var _defineProperty2 = require("babel-runtime/helpers/defineProperty");

@@ -16,6 +20,2 @@

var _extends2 = require("babel-runtime/helpers/extends");
var _extends3 = _interopRequireDefault(_extends2);
var _stringify = require("babel-runtime/core-js/json/stringify");

@@ -81,11 +81,15 @@

},
merge: function merge(nextCatalog) {
readAll: function readAll() {
var _this = this;
return _ramda2.default.mergeAll(this.getLocales().map(function (locale) {
return (0, _defineProperty3.default)({}, locale, _this.read(locale));
}));
},
merge: function merge(prevCatalogs, nextCatalog) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var nextKeys = _ramda2.default.keys(nextCatalog);
return _ramda2.default.mergeAll(this.getLocales().map(function (locale) {
var prevCatalog = _this.read(locale);
if (!prevCatalog) return nextCatalog;
return _ramda2.default.mapObjIndexed(function (prevCatalog, locale) {
var prevKeys = _ramda2.default.keys(prevCatalog);

@@ -100,3 +104,3 @@

return (0, _extends3.default)({
translation: config.sourceLocale === locale ? key : ""
translation: config.sourceLocale === locale ? message.defaults || key : ""
}, message);

@@ -107,4 +111,8 @@ }, _ramda2.default.pick(newKeys, nextCatalog));

var mergedMessages = mergeKeys.map(function (key) {
var updateFromDefaults = config.sourceLocale === locale && (prevCatalog[key].translation === prevCatalog[key].defaults || options.overwrite);
var translation = updateFromDefaults ? nextCatalog[key].defaults : prevCatalog[key].translation;
return (0, _defineProperty3.default)({}, key, (0, _extends3.default)({
translation: prevCatalog[key].translation
translation: translation
}, _ramda2.default.omit(["obsolete, translation"], nextCatalog[key])));

@@ -120,5 +128,4 @@ });

var newCatalog = _ramda2.default.mergeAll([newMessages].concat((0, _toConsumableArray3.default)(mergedMessages), (0, _toConsumableArray3.default)(obsoleteMessages)));
return (0, _defineProperty3.default)({}, locale, newCatalog);
}));
return _ramda2.default.mergeAll([newMessages].concat((0, _toConsumableArray3.default)(mergedMessages), (0, _toConsumableArray3.default)(obsoleteMessages)));
}, prevCatalogs);
},

@@ -125,0 +132,0 @@ getTranslation: function getTranslation(catalogs, locale, key, _ref4) {

@@ -23,6 +23,6 @@ "use strict";

*/
var localeRe = exports.localeRe = new RegExp(/(([a-z]+)([_-]([a-zA-Z]+))?)(\\|\/)?/);
var localeRe = exports.localeRe = new RegExp(/(([a-z]+)([_-]([a-zA-Z]+))?)[\\/]?/);
function isValid(locale) {
var match = localeRe.exec(locale);
return match && match[0] === locale && // locale has valid format
return match !== null && match[0] === locale && // locale has valid format
match[2] in _makePlural2.default // language is valid (we have plurals for it)

@@ -29,0 +29,0 @@ ;

@@ -19,2 +19,6 @@ "use strict";

var _fs = require("fs");
var _fs2 = _interopRequireDefault(_fs);
var _ramda = require("ramda");

@@ -61,3 +65,3 @@

return locales.map(function (locale) {
var _locale$split = locale.split("_"),
var _locale$split = locale.split(/[_-]/),
_locale$split2 = (0, _slicedToArray3.default)(_locale$split, 1),

@@ -102,2 +106,6 @@ language = _locale$split2[0];

var compiledPath = format.writeCompiled(locale, compiledCatalog);
if (options.typescript) {
var typescriptPath = compiledPath.replace(/\.js$/, "") + ".d.ts";
_fs2.default.writeFileSync(typescriptPath, "import { Catalog } from '@lingui/core';\ndeclare const catalog: Catalog;\nexport = catalog;\n");
}

@@ -109,4 +117,5 @@ options.verbose && console.log(_chalk2.default.green(locale + " \u21D2 " + compiledPath));

if (require.main === module) {
_commander2.default.description("Add compile message catalogs and add language data (plurals) to compiled bundle.").option("--strict", "Disable defaults for missing translations").option("--verbose", "Verbose output").option("--format <format>", "Format of message catalog").on("--help", function () {
_commander2.default.description("Add compile message catalogs and add language data (plurals) to compiled bundle.").option("--strict", "Disable defaults for missing translations").option("--verbose", "Verbose output").option("--format <format>", "Format of message catalog").option("--typescript", "Create Typescript definition for compiled bundle").on("--help", function () {
console.log("\n Examples:\n");

@@ -128,3 +137,4 @@ console.log(" # Compile translations and use defaults or message IDs for missing translations");

verbose: _commander2.default.verbose || false,
allowEmpty: !_commander2.default.strict
allowEmpty: !_commander2.default.strict,
typescript: _commander2.default.typescript || false
});

@@ -131,0 +141,0 @@

@@ -59,3 +59,4 @@ "use strict";

ignore: config.srcPathIgnorePatterns,
verbose: options.verbose
verbose: options.verbose,
babelOptions: options.babelOptions
});

@@ -69,3 +70,6 @@ options.verbose && console.log();

var catalog = (0, _extract.collect)(buildDir);
var catalogs = clean(convertFormat.merge(catalog));
var prevCatalogs = convertFormat.readAll();
var catalogs = (0, _extract.order)(clean(convertFormat.merge(prevCatalogs, catalog, {
overwrite: options.overwrite
})));
options.verbose && console.log();

@@ -104,3 +108,3 @@

if (require.main === module) {
_commander2.default.option("--clean", "Remove obsolete translations").option("--verbose", "Verbose output").option("--format <format>", "Format of message catalogs").option("--convert-from <format>", "Convert from previous format of message catalogs").parse(process.argv);
_commander2.default.option("--overwrite", "Overwrite translations for source locale").option("--clean", "Remove obsolete translations").option("--babelOptions", "Babel options passed to transform/extract plugins").option("--verbose", "Verbose output").option("--format <format>", "Format of message catalogs").option("--convert-from <format>", "Convert from previous format of message catalogs").parse(process.argv);

@@ -126,2 +130,4 @@ var config = (0, _conf.getConfig)();

clean: _commander2.default.clean || false,
overwrite: _commander2.default.overwrite || false,
babelOptions: _commander2.default.babelOptions || {},
prevFormat: _prevFormat

@@ -128,0 +134,0 @@ });

{
"name": "@lingui/cli",
"version": "2.1.2",
"version": "2.2.0-16",
"description": "CLI for working wit message catalogs",

@@ -38,9 +38,9 @@ "keywords": [

"dependencies": {
"@lingui/babel-plugin-extract-messages": "2.1.2",
"@lingui/babel-plugin-transform-js": "2.1.2",
"@lingui/babel-plugin-transform-react": "2.1.2",
"@lingui/conf": "2.1.2",
"@lingui/babel-plugin-extract-messages": "2.2.0-16",
"@lingui/babel-plugin-transform-js": "2.2.0-16",
"@lingui/babel-plugin-transform-react": "2.2.0-16",
"@lingui/conf": "2.2.0-16",
"babel-core": "^6.26.3",
"babel-generator": "^6.26.1",
"babel-plugin-transform-typescript": "^7.0.0-alpha.19",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-runtime": "^6.26.0",

@@ -51,3 +51,3 @@ "babel-types": "^6.26.0",

"cli-table": "^0.3.1",
"commander": "^2.13.0",
"commander": "^2.16.0",
"glob": "^7.1.2",

@@ -57,4 +57,5 @@ "make-plural": "^4.1.1",

"mkdirp": "^0.5.1",
"ramda": "^0.25.0"
"ramda": "^0.25.0",
"typescript": "^2.9.2"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc