create locales dir if it doesnt exist

This commit is contained in:
Alex Grintsvayg 2017-06-21 08:23:21 -04:00
parent 741a88a7b4
commit 024ff3cb50

View file

@ -1,23 +1,28 @@
var extract = require('i18n-extract'); var extract = require("i18n-extract");
const fs = require('fs'); const fs = require("fs");
var path = '../app/dist/locales/en.json'; var dir = __dirname + "/../app/dist/locales";
var path = dir + "/en.json";
fs.writeFile(path, '{}', 'utf8', function(err) { if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
fs.writeFile(path, "{}", "utf8", function(err) {
if (err) { if (err) {
return console.log(err); return console.log(err);
} }
var enLocale = require(path); var enLocale = require(path);
const keys = extract.extractFromFiles(['js/**/*.{js,jsx}'], { const keys = extract.extractFromFiles(["js/**/*.{js,jsx}"], {
marker: '__', marker: "__",
}); });
let reports = []; let reports = [];
reports = reports.concat(extract.findMissing(enLocale, keys)); reports = reports.concat(extract.findMissing(enLocale, keys));
if (reports.length > 0) { if (reports.length > 0) {
fs.readFile(path, 'utf8', function readFileCallback(err, data){ fs.readFile(path, "utf8", function readFileCallback(err, data) {
if (err) { if (err) {
console.log(err); console.log(err);
} else { } else {
@ -25,24 +30,19 @@ fs.writeFile(path, '{}', 'utf8', function(err) {
for (var i = 0; i < reports.length; i++) { for (var i = 0; i < reports.length; i++) {
// no need to care for other types than MISSING because starting file will always be empty // no need to care for other types than MISSING because starting file will always be empty
if (reports[i].type === 'MISSING') { if (reports[i].type === "MISSING") {
localeObj[reports[i].key] = reports[i].key; localeObj[reports[i].key] = reports[i].key;
} }
} }
var json = JSON.stringify(localeObj, null, '\t'); //convert it back to json-string var json = JSON.stringify(localeObj, null, "\t"); //convert it back to json-string
fs.writeFile(path, json, 'utf8', function callback(err) { fs.writeFile(path, json, "utf8", function callback(err) {
if (err) throw err; if (err) {
console.log('Extracted all strings!'); throw err;
}
console.log("Extracted all strings!");
}); });
} }
}); });
} }
}); });