%PDF- %PDF-
| Direktori : /var/www/projetos/stb.ind.br/wp-content/themes/stb/node_modules/node-wp-i18n/lib/ |
| Current File : /var/www/projetos/stb.ind.br/wp-content/themes/stb/node_modules/node-wp-i18n/lib/addtextdomain.js |
/**
* node-wp-i18n
* https://github.com/cedaro/node-wp-i18n
*
* @copyright Copyright (c) 2015 Cedaro, LLC
* @license MIT
*/
'use strict';
var _ = require('lodash');
var fs = require('fs');
var path = require('path');
var Promise = require('bluebird');
var tmp = require('tmp');
var util = require('./util');
var WPPackage = require('./package');
var toolsPath = path.resolve(__dirname, '../bin/php/');
/**
* Add a text domain to gettext functions in PHP files.
*
* @param {Array} files List of files.
* @param {Array} options
* @returns {Promise}
*/
module.exports = function(files, options) {
options = _.merge({
cwd: process.cwd(),
dryRun: false,
textdomain: '',
updateDomains: []
}, options);
options.cwd = path.resolve(process.cwd(), options.cwd);
var wpPackage = new WPPackage(options.cwd);
if ('' === options.textdomain) {
options.textdomain = wpPackage.getHeader('Text Domain');
}
if (true === options.updateDomains) {
options.updateDomains = ['all'];
}
var args = {
'dry-run': options.dryRun,
files: files.map(function(file) {
return path.resolve(options.cwd, file);
}),
textdomain: options.textdomain,
'update-domains': options.updateDomains
};
var argsFile = tmp.tmpNameSync({ prefix: 'arguments-', postfix: '.json' });
fs.writeFileSync(argsFile, JSON.stringify(args));
return util.spawn('php', [
path.resolve(toolsPath, 'node-add-textdomain.php'),
argsFile
]).finally(function() {
fs.unlinkSync(argsFile);
});
};