const fs = require('fs');
const path = require('path');


module.exports = {
	input: [
		'src/**/*.{js,ejs}'
	],
	output: './',
	options: {
		debug: false,
		func: {
			list: ['i18next.t', 'i18n.t', 'this.i18n.tr'],
			extensions: ['.js', '.ejs']
		},
		lngs: ['en', 'it', 'de'],
		ns: [
			'translation'
		],
		defaultLng: 'en',
		defaultNs: 'translation',
		resource: {
			loadPath: 'i18n/{{lng}}.json',
			savePath: 'i18n/{{lng}}.json',
			jsonIndent: 4,
			lineEnding: '\n'
		},
		nsSeparator: false, // namespace separator
		keySeparator: false, // key separator
		interpolation: {
			prefix: '{{',
			suffix: '}}'
		},
		removeUnusedKeys: true
	},
	transform: function customTransform(file, enc, done) {
		const {ext} = path.parse(file.path);
		const content = fs.readFileSync(file.path, enc);
		if (ext === '.js' || ext === '.ejs') {
			let p = this.parser;
			p.parseFuncFromString(content, function(key) {
				p.set(key, '⚠ ' + key + ' ⚠');
			});
		}
		done();
	}
};
