i18next-parser
Advanced tools
Comparing version 4.6.0 to 4.7.0
@@ -89,9 +89,9 @@ #!/usr/bin/env node | ||
// Welcome message | ||
console.log() | ||
console.log(' i18next Parser'.cyan) | ||
console.log(' --------------'.cyan) | ||
console.log(' Input: '.cyan + args.join(', ')) | ||
console.log(' Output: '.cyan + config.output) | ||
if (!program.opts().silent) { | ||
console.log() | ||
console.log(' i18next Parser'.cyan) | ||
console.log(' --------------'.cyan) | ||
console.log(' Input: '.cyan + args.join(', ')) | ||
console.log(' Output: '.cyan + config.output) | ||
console.log() | ||
} | ||
@@ -130,6 +130,6 @@ | ||
console.log() | ||
console.log(' Stats: '.cyan + count + ' files were parsed') | ||
} | ||
console.log(' Stats: '.cyan + count + ' files were parsed') | ||
}) | ||
) | ||
.pipe(vfs.dest(process.cwd())) |
# Changelog | ||
# 4.6.0 - latest | ||
# 4.7.0 - latest | ||
- CLI `silent` option is now fully silent #417 | ||
- `sort` option can now take a function #418 | ||
# 4.6.0 | ||
- Add support for array argument for useTranslation #389 #305 | ||
@@ -6,0 +11,0 @@ |
@@ -129,4 +129,7 @@ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _helpers = require("./helpers"); | ||
function _flush(done) {var _this2 = this; | ||
if (this.options.sort) { | ||
this.entries = this.entries.sort(function (a, b) {return a.key.localeCompare(b.key);}); | ||
var sort = this.options.sort; | ||
if (sort) { | ||
this.entries = this.entries.sort( | ||
typeof sort === 'function' ? sort : function (a, b) {return a.key.localeCompare(b.key);}); | ||
}var _iterator2 = _createForOfIteratorHelper( | ||
@@ -133,0 +136,0 @@ |
@@ -5,3 +5,3 @@ { | ||
"name": "i18next-parser", | ||
"version": "4.6.0", | ||
"version": "4.7.0", | ||
"license": "MIT", | ||
@@ -8,0 +8,0 @@ "main": "dist/index.js", |
@@ -182,3 +182,3 @@ # i18next Parser [](https://travis-ci.org/i18next/i18next-parser) [](https://codecov.io/gh/i18next/i18next-parser) | ||
sort: false, | ||
// Whether or not to sort the catalog | ||
// Whether or not to sort the catalog. Can also be a [compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters) | ||
@@ -185,0 +185,0 @@ skipDefaultValues: false, |
@@ -129,4 +129,7 @@ import { dotPathToHash, mergeHashes, transferValues } from './helpers' | ||
_flush(done) { | ||
if (this.options.sort) { | ||
this.entries = this.entries.sort((a, b) => a.key.localeCompare(b.key)) | ||
const { sort } = this.options | ||
if (sort) { | ||
this.entries = this.entries.sort( | ||
typeof sort === 'function' ? sort : (a, b) => a.key.localeCompare(b.key) | ||
) | ||
} | ||
@@ -133,0 +136,0 @@ |
@@ -1663,3 +1663,3 @@ import { assert } from 'chai' | ||
it('supports sort as an option', (done) => { | ||
it('supports sort as a boolean', (done) => { | ||
let result | ||
@@ -1671,3 +1671,3 @@ const i18nextParser = new i18nTransform({ | ||
contents: Buffer.from( | ||
"t('ccc'); t('aaa'); t('bbb.bbb'); t('bbb.aaa')" | ||
"t('aaA'); t('aaa'); t('bbb.bbb'); t('bbb.aaa')" | ||
), | ||
@@ -1683,3 +1683,3 @@ path: 'file.js', | ||
i18nextParser.once('end', () => { | ||
assert.sameOrderedMembers(Object.keys(result), ['aaa', 'bbb', 'ccc']) | ||
assert.sameOrderedMembers(Object.keys(result), ['aaa', 'aaA', 'bbb']) | ||
assert.sameOrderedMembers(Object.keys(result.bbb), ['aaa', 'bbb']) | ||
@@ -1691,2 +1691,28 @@ done() | ||
}) | ||
it('supports sort as a function', (done) => { | ||
let result | ||
const i18nextParser = new i18nTransform({ | ||
sort: (a, b) => (a.key > b.key) - (a.key < b.key), | ||
}) | ||
const fakeFile = new Vinyl({ | ||
contents: Buffer.from( | ||
"t('aaa'); t('aaA'); t('bbb.bbb'); t('bbb.bbB')" | ||
), | ||
path: 'file.js', | ||
}) | ||
i18nextParser.on('data', (file) => { | ||
if (file.relative.endsWith(enLibraryPath)) { | ||
result = JSON.parse(file.contents) | ||
} | ||
}) | ||
i18nextParser.once('end', () => { | ||
assert.sameOrderedMembers(Object.keys(result), ['aaA', 'aaa', 'bbb']) | ||
assert.sameOrderedMembers(Object.keys(result.bbb), ['bbB', 'bbb']) | ||
done() | ||
}) | ||
i18nextParser.end(fakeFile) | ||
}) | ||
}) | ||
@@ -1693,0 +1719,0 @@ }) |
336387
5704