mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-06 22:15:48 +01:00
don't crash if plugin doesnt set defaultLang
This commit is contained in:
@@ -261,7 +261,7 @@ module.exports = function (Plugins) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var pathToFolder = path.join(__dirname, '../../node_modules/', pluginData.id, pluginData.languages);
|
var pathToFolder = path.join(__dirname, '../../node_modules/', pluginData.id, pluginData.languages);
|
||||||
var defaultLang = pluginData.defaultLang.replace('_', '-').replace('@', '-x-');
|
var defaultLang = (pluginData.defaultLang || 'en_GB').replace('_', '-').replace('@', '-x-');
|
||||||
|
|
||||||
utils.walk(pathToFolder, function (err, languages) {
|
utils.walk(pathToFolder, function (err, languages) {
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -346,9 +346,11 @@ module.exports = function (Plugins) {
|
|||||||
if (err) {
|
if (err) {
|
||||||
return callback(err);
|
return callback(err);
|
||||||
}
|
}
|
||||||
|
var pluginData;
|
||||||
|
var packageData;
|
||||||
try {
|
try {
|
||||||
var pluginData = JSON.parse(results.plugin);
|
pluginData = JSON.parse(results.plugin);
|
||||||
var packageData = JSON.parse(results.package);
|
packageData = JSON.parse(results.package);
|
||||||
|
|
||||||
pluginData.id = packageData.name;
|
pluginData.id = packageData.name;
|
||||||
pluginData.name = packageData.name;
|
pluginData.name = packageData.name;
|
||||||
@@ -356,16 +358,15 @@ module.exports = function (Plugins) {
|
|||||||
pluginData.version = packageData.version;
|
pluginData.version = packageData.version;
|
||||||
pluginData.repository = packageData.repository;
|
pluginData.repository = packageData.repository;
|
||||||
pluginData.nbbpm = packageData.nbbpm;
|
pluginData.nbbpm = packageData.nbbpm;
|
||||||
|
|
||||||
callback(null, pluginData);
|
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
var pluginDir = pluginPath.split(path.sep);
|
var pluginDir = pluginPath.split(path.sep);
|
||||||
pluginDir = pluginDir[pluginDir.length - 1];
|
pluginDir = pluginDir[pluginDir.length - 1];
|
||||||
|
|
||||||
winston.error('[plugins/' + pluginDir + '] Error in plugin.json or package.json! ' + err.message);
|
winston.error('[plugins/' + pluginDir + '] Error in plugin.json or package.json! ' + err.message);
|
||||||
|
|
||||||
callback(new Error('[[error:parse-error]]'));
|
return callback(new Error('[[error:parse-error]]'));
|
||||||
}
|
}
|
||||||
|
callback(null, pluginData);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user