nodebb-plugin-customize 1.1.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -5
- package/build/lib/build.js +20 -19
- package/build/lib/build.js.map +1 -1
- package/build/lib/controllers.js +67 -84
- package/build/lib/controllers.js.map +1 -1
- package/build/lib/database.js +13 -12
- package/build/lib/database.js.map +1 -1
- package/build/lib/index.js +2 -1
- package/build/lib/index.js.map +1 -1
- package/build/lib/pubsub.js +8 -9
- package/build/lib/pubsub.js.map +1 -1
- package/build/public/lib/admin.js +16 -31
- package/build/public/lib/admin.js.map +1 -1
- package/lib/controllers.ts +67 -87
- package/lib/database.ts +1 -1
- package/lib/pubsub.ts +5 -9
- package/package.json +20 -20
- package/public/lib/index.ts +3 -3
- package/public/lib/shared.ts +0 -19
- package/public/lib/templates.ts +5 -7
- package/public/lib/translations.ts +5 -7
- package/public/lib/types.d.ts +9 -0
- package/public/admin.js +0 -7
package/README.md
CHANGED
|
@@ -4,11 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/nodebb-plugin-customize)
|
|
5
5
|
[](https://david-dm.org/NodeBB/nodebb-plugin-customize)
|
|
6
6
|
|
|
7
|
-
Customize the
|
|
8
|
-
|
|
9
|
-
#### TODO
|
|
10
|
-
|
|
11
|
-
- Add template customization functionality
|
|
7
|
+
Customize the language translations and templates used in NodeBB's interface.
|
|
12
8
|
|
|
13
9
|
## Installation
|
|
14
10
|
|
package/build/lib/build.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.build = void 0;
|
|
3
4
|
const fs_extra_1 = require("fs-extra");
|
|
4
5
|
const path_1 = require("path");
|
|
5
6
|
const lodash_1 = require("lodash");
|
|
@@ -7,14 +8,14 @@ const database_1 = require("./database");
|
|
|
7
8
|
if (!require.main) {
|
|
8
9
|
throw Error('[plugin-customize] `require.main` is wrong');
|
|
9
10
|
}
|
|
10
|
-
const translationsSrcDir = path_1.join(__dirname, '../../public/language');
|
|
11
|
-
const templatesSrcDir = path_1.join(__dirname, '../../public/templates');
|
|
12
|
-
const translationsDir = path_1.join(__dirname, '../public/language');
|
|
13
|
-
const templatesDir = path_1.join(__dirname, '../public/templates');
|
|
11
|
+
const translationsSrcDir = (0, path_1.join)(__dirname, '../../public/language');
|
|
12
|
+
const templatesSrcDir = (0, path_1.join)(__dirname, '../../public/templates');
|
|
13
|
+
const translationsDir = (0, path_1.join)(__dirname, '../public/language');
|
|
14
|
+
const templatesDir = (0, path_1.join)(__dirname, '../public/templates');
|
|
14
15
|
async function build() {
|
|
15
16
|
const [translations, templates] = await Promise.all([
|
|
16
|
-
database_1.getTranslations(),
|
|
17
|
-
database_1.getTemplates(),
|
|
17
|
+
(0, database_1.getTranslations)(),
|
|
18
|
+
(0, database_1.getTemplates)(),
|
|
18
19
|
]);
|
|
19
20
|
const translationTree = {};
|
|
20
21
|
translations.forEach(({ language, namespace, key, value }) => {
|
|
@@ -24,27 +25,27 @@ async function build() {
|
|
|
24
25
|
});
|
|
25
26
|
// delete existing files
|
|
26
27
|
await Promise.all([
|
|
27
|
-
fs_extra_1.remove(translationsDir),
|
|
28
|
-
fs_extra_1.remove(templatesDir),
|
|
28
|
+
(0, fs_extra_1.remove)(translationsDir),
|
|
29
|
+
(0, fs_extra_1.remove)(templatesDir),
|
|
29
30
|
]);
|
|
30
31
|
await Promise.all([
|
|
31
|
-
fs_extra_1.mkdirp(translationsDir),
|
|
32
|
-
fs_extra_1.mkdirp(templatesDir),
|
|
32
|
+
(0, fs_extra_1.mkdirp)(translationsDir),
|
|
33
|
+
(0, fs_extra_1.mkdirp)(templatesDir),
|
|
33
34
|
]);
|
|
34
35
|
// copy in own step to avoid conflicts
|
|
35
36
|
await Promise.all([
|
|
36
|
-
fs_extra_1.copy(translationsSrcDir, translationsDir),
|
|
37
|
-
fs_extra_1.copy(templatesSrcDir, templatesDir),
|
|
37
|
+
(0, fs_extra_1.copy)(translationsSrcDir, translationsDir),
|
|
38
|
+
(0, fs_extra_1.copy)(templatesSrcDir, templatesDir),
|
|
38
39
|
]);
|
|
39
|
-
const translationWrites = lodash_1.flatMap(Object.keys(translationTree), (language) => lodash_1.flatMap(Object.keys(translationTree[language]), async (namespace) => {
|
|
40
|
-
const path = path_1.join(translationsDir, language, `${namespace}.json`);
|
|
41
|
-
await fs_extra_1.mkdirp(path_1.dirname(path));
|
|
42
|
-
await fs_extra_1.writeJson(path, translationTree[language][namespace]);
|
|
40
|
+
const translationWrites = (0, lodash_1.flatMap)(Object.keys(translationTree), (language) => (0, lodash_1.flatMap)(Object.keys(translationTree[language]), async (namespace) => {
|
|
41
|
+
const path = (0, path_1.join)(translationsDir, language, `${namespace}.json`);
|
|
42
|
+
await (0, fs_extra_1.mkdirp)((0, path_1.dirname)(path));
|
|
43
|
+
await (0, fs_extra_1.writeJson)(path, translationTree[language][namespace]);
|
|
43
44
|
}));
|
|
44
45
|
const templateWrites = templates.map(async ({ path, value }) => {
|
|
45
|
-
const filePath = path_1.join(templatesDir, path);
|
|
46
|
-
await fs_extra_1.mkdirp(path_1.dirname(filePath));
|
|
47
|
-
await fs_extra_1.writeFile(filePath, value);
|
|
46
|
+
const filePath = (0, path_1.join)(templatesDir, path);
|
|
47
|
+
await (0, fs_extra_1.mkdirp)((0, path_1.dirname)(filePath));
|
|
48
|
+
await (0, fs_extra_1.writeFile)(filePath, value);
|
|
48
49
|
});
|
|
49
50
|
await Promise.all([
|
|
50
51
|
...translationWrites,
|
package/build/lib/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../lib/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../lib/build.ts"],"names":[],"mappings":"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"}
|
package/build/lib/controllers.js
CHANGED
|
@@ -14,19 +14,21 @@ const Languages = require.main.require('./src/languages');
|
|
|
14
14
|
const File = require.main.require('./src/file');
|
|
15
15
|
const Translator = require.main.require('./src/translator');
|
|
16
16
|
const Utils = require.main.require('./src/utils');
|
|
17
|
+
const { setupApiRoute, setupAdminPageRoute } = require.main.require('./src/routes/helpers');
|
|
18
|
+
const { formatApiResponse } = require.main.require('./src/controllers/helpers');
|
|
17
19
|
const escape = (dirty) => Translator.escape(Utils.escapeHTML(dirty));
|
|
18
|
-
const listLanguages = util_1.promisify(Languages.list);
|
|
19
|
-
const getSettings = util_1.promisify(User.getSettings);
|
|
20
|
-
const walk = util_1.promisify(File.walk);
|
|
21
|
-
// eslint-disable-next-line import/no-dynamic-require
|
|
22
|
-
const version = require(path_1.join(__dirname, '../../package.json')).version;
|
|
20
|
+
const listLanguages = (0, util_1.promisify)(Languages.list);
|
|
21
|
+
const getSettings = (0, util_1.promisify)(User.getSettings);
|
|
22
|
+
const walk = (0, util_1.promisify)(File.walk);
|
|
23
|
+
// eslint-disable-next-line import/no-dynamic-require, @typescript-eslint/no-var-requires
|
|
24
|
+
const version = require((0, path_1.join)(__dirname, '../../package.json')).version;
|
|
23
25
|
let namespaceCache = [];
|
|
24
26
|
async function listNamespaces() {
|
|
25
27
|
if (namespaceCache.length) {
|
|
26
28
|
return namespaceCache;
|
|
27
29
|
}
|
|
28
|
-
const metadataFile = path_1.join(nconf.get('base_dir'), 'build/public/language/metadata.json');
|
|
29
|
-
const metadata = await fs_extra_1.readJson(metadataFile);
|
|
30
|
+
const metadataFile = (0, path_1.join)(nconf.get('base_dir'), 'build/public/language/metadata.json');
|
|
31
|
+
const metadata = await (0, fs_extra_1.readJson)(metadataFile);
|
|
30
32
|
namespaceCache = metadata.namespaces;
|
|
31
33
|
return namespaceCache;
|
|
32
34
|
}
|
|
@@ -39,99 +41,80 @@ async function listTemplates() {
|
|
|
39
41
|
const templates = await walk(viewsDir);
|
|
40
42
|
templateCache = templates
|
|
41
43
|
.filter((path) => path.endsWith('.tpl'))
|
|
42
|
-
.map((path) => path_1.relative(viewsDir, path).split(/\/\\/).join('/'));
|
|
44
|
+
.map((path) => (0, path_1.relative)(viewsDir, path).split(/\/\\/).join('/'));
|
|
43
45
|
return templateCache;
|
|
44
46
|
}
|
|
45
|
-
const renderAdmin = (req, res
|
|
46
|
-
Promise.all([
|
|
47
|
+
const renderAdmin = async (req, res) => {
|
|
48
|
+
const [templates, translations, languages, userLang, namespaces, templatePaths,] = await Promise.all([
|
|
47
49
|
db.getTemplates(),
|
|
48
50
|
db.getTranslations(),
|
|
49
51
|
listLanguages(),
|
|
50
|
-
getSettings(req.uid).then((
|
|
52
|
+
getSettings(req.uid).then((data) => data.userLang),
|
|
51
53
|
listNamespaces(),
|
|
52
54
|
listTemplates(),
|
|
53
|
-
])
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
});
|
|
71
|
-
})
|
|
72
|
-
.catch((err) => next(err));
|
|
55
|
+
]);
|
|
56
|
+
res.render('admin/plugins/customize', {
|
|
57
|
+
version,
|
|
58
|
+
templates: templates.map((x) => ({
|
|
59
|
+
path: x.path,
|
|
60
|
+
json: escape(JSON.stringify(x)),
|
|
61
|
+
diff: escape(x.diff),
|
|
62
|
+
})),
|
|
63
|
+
translations,
|
|
64
|
+
languages: languages.map(({ code, name }) => ({
|
|
65
|
+
code,
|
|
66
|
+
name,
|
|
67
|
+
selected: code === userLang,
|
|
68
|
+
})),
|
|
69
|
+
namespaces: namespaces.map((name) => ({ name })),
|
|
70
|
+
templatePaths,
|
|
71
|
+
});
|
|
73
72
|
};
|
|
74
|
-
const adminBuild = (req, res
|
|
75
|
-
|
|
73
|
+
const adminBuild = async (req, res) => {
|
|
74
|
+
await (0, pubsub_1.build)();
|
|
75
|
+
formatApiResponse(200, res, 'OK');
|
|
76
76
|
};
|
|
77
|
-
const adminEditTranslation = (req, res
|
|
77
|
+
const adminEditTranslation = async (req, res) => {
|
|
78
78
|
const translation = req.body.translation;
|
|
79
|
-
db.editTranslation(translation)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
res.json({
|
|
83
|
-
translations,
|
|
84
|
-
});
|
|
85
|
-
})
|
|
86
|
-
.catch((err) => next(err));
|
|
79
|
+
await db.editTranslation(translation);
|
|
80
|
+
const translations = await db.getTranslations();
|
|
81
|
+
formatApiResponse(200, res, { translations });
|
|
87
82
|
};
|
|
88
|
-
const adminRemoveTranslation = (req, res
|
|
89
|
-
db.removeTranslation(req.body.translation)
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
res.json({
|
|
93
|
-
translations,
|
|
94
|
-
});
|
|
95
|
-
})
|
|
96
|
-
.catch((err) => next(err));
|
|
83
|
+
const adminRemoveTranslation = async (req, res) => {
|
|
84
|
+
await db.removeTranslation(req.body.translation);
|
|
85
|
+
const translations = await db.getTranslations();
|
|
86
|
+
formatApiResponse(200, res, { translations });
|
|
97
87
|
};
|
|
98
|
-
const adminEditTemplate = (req, res
|
|
88
|
+
const adminEditTemplate = async (req, res) => {
|
|
99
89
|
const template = req.body.template;
|
|
100
|
-
db.editTemplate(template)
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
});
|
|
110
|
-
})
|
|
111
|
-
.catch((err) => next(err));
|
|
90
|
+
await db.editTemplate(template);
|
|
91
|
+
const templates = await db.getTemplates();
|
|
92
|
+
formatApiResponse(200, res, {
|
|
93
|
+
templates: templates.map((x) => ({
|
|
94
|
+
path: x.path,
|
|
95
|
+
json: escape(JSON.stringify(x)),
|
|
96
|
+
diff: escape(x.diff),
|
|
97
|
+
})),
|
|
98
|
+
});
|
|
112
99
|
};
|
|
113
|
-
const adminRemoveTemplate = (req, res
|
|
114
|
-
db.removeTemplate(req.body.template)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
});
|
|
124
|
-
})
|
|
125
|
-
.catch((err) => next(err));
|
|
100
|
+
const adminRemoveTemplate = async (req, res) => {
|
|
101
|
+
await db.removeTemplate(req.body.template);
|
|
102
|
+
const templates = await db.getTemplates();
|
|
103
|
+
formatApiResponse(200, res, {
|
|
104
|
+
templates: templates.map((x) => ({
|
|
105
|
+
path: x.path,
|
|
106
|
+
json: escape(JSON.stringify(x)),
|
|
107
|
+
diff: escape(x.diff),
|
|
108
|
+
})),
|
|
109
|
+
});
|
|
126
110
|
};
|
|
127
111
|
function controllers({ router, middleware }) {
|
|
128
|
-
router
|
|
129
|
-
router
|
|
130
|
-
router
|
|
131
|
-
router
|
|
132
|
-
router
|
|
133
|
-
router
|
|
134
|
-
router.post('/api/admin/plugins/customize/build', adminBuild);
|
|
112
|
+
setupAdminPageRoute(router, '/admin/plugins/customize', middleware, [], renderAdmin);
|
|
113
|
+
setupApiRoute(router, 'put', '/api/v3/admin/plugins/customize/edit/template', [middleware.admin.checkPrivileges], adminEditTemplate);
|
|
114
|
+
setupApiRoute(router, 'delete', '/api/v3/admin/plugins/customize/delete/template', [middleware.admin.checkPrivileges], adminRemoveTemplate);
|
|
115
|
+
setupApiRoute(router, 'put', '/api/v3/admin/plugins/customize/edit/translation', [middleware.admin.checkPrivileges], adminEditTranslation);
|
|
116
|
+
setupApiRoute(router, 'delete', '/api/v3/admin/plugins/customize/delete/translation', [middleware.admin.checkPrivileges], adminRemoveTranslation);
|
|
117
|
+
setupApiRoute(router, 'put', '/api/v3/admin/plugins/customize/build', [middleware.admin.checkPrivileges], adminBuild);
|
|
135
118
|
}
|
|
136
119
|
exports.default = controllers;
|
|
137
120
|
//# sourceMappingURL=controllers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../lib/controllers.ts"],"names":[],"mappings":";;AACA,+BAAsC;AACtC,+BAAiC;AACjC,uCAAoC;AAEpC,qCAAiC;AACjC,iCAAiC;AAEjC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IAAE,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;CAAE;AACrF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAChD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAChD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../lib/controllers.ts"],"names":[],"mappings":"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"}
|
package/build/lib/database.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// types and helper functions for database
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.removeTemplate = exports.editTemplate = exports.getTemplates = exports.removeTranslation = exports.editTranslation = exports.getTranslations = void 0;
|
|
4
5
|
const util_1 = require("util");
|
|
5
6
|
const path_1 = require("path");
|
|
6
7
|
const fs_extra_1 = require("fs-extra");
|
|
@@ -10,13 +11,13 @@ if (!require.main) {
|
|
|
10
11
|
}
|
|
11
12
|
const db = require.main.require('./src/database');
|
|
12
13
|
const nconf = require.main.require('nconf');
|
|
13
|
-
const getSortedSetRange = util_1.promisify(db.getSortedSetRange);
|
|
14
|
-
const getObjects = util_1.promisify(db.getObjects);
|
|
15
|
-
const sortedSetAdd = util_1.promisify(db.sortedSetAdd);
|
|
16
|
-
const setObject = util_1.promisify(db.setObject);
|
|
17
|
-
const remove = util_1.promisify(db.delete);
|
|
18
|
-
const sortedSetRemove = util_1.promisify(db.sortedSetRemove);
|
|
19
|
-
const languagesDir = path_1.join(nconf.get('base_dir'), 'build/public/language');
|
|
14
|
+
const getSortedSetRange = (0, util_1.promisify)(db.getSortedSetRange);
|
|
15
|
+
const getObjects = (0, util_1.promisify)(db.getObjects);
|
|
16
|
+
const sortedSetAdd = (0, util_1.promisify)(db.sortedSetAdd);
|
|
17
|
+
const setObject = (0, util_1.promisify)(db.setObject);
|
|
18
|
+
const remove = (0, util_1.promisify)(db.delete);
|
|
19
|
+
const sortedSetRemove = (0, util_1.promisify)(db.sortedSetRemove);
|
|
20
|
+
const languagesDir = (0, path_1.join)(nconf.get('base_dir'), 'build/public/language');
|
|
20
21
|
const viewsDir = nconf.get('views_dir');
|
|
21
22
|
const translationsSet = 'plugin-customize:translations';
|
|
22
23
|
const translationHashKey = (key) => `${translationsSet}:${key}`;
|
|
@@ -29,8 +30,8 @@ async function getTranslations() {
|
|
|
29
30
|
getObjects(ids.map(translationHashKey)),
|
|
30
31
|
Promise.all(ids.map(async (id) => {
|
|
31
32
|
const [language, namespace, key] = id.split(':');
|
|
32
|
-
const filePath = path_1.join(languagesDir, language, `${namespace}.json`);
|
|
33
|
-
const translations = await fs_extra_1.readJson(filePath);
|
|
33
|
+
const filePath = (0, path_1.join)(languagesDir, language, `${namespace}.json`);
|
|
34
|
+
const translations = await (0, fs_extra_1.readJson)(filePath).catch(() => ({}));
|
|
34
35
|
return translations[key] || '';
|
|
35
36
|
})),
|
|
36
37
|
]);
|
|
@@ -63,11 +64,11 @@ async function getTemplates() {
|
|
|
63
64
|
const [hashes, currentValues] = await Promise.all([
|
|
64
65
|
getObjects(paths.map(templateHashKey)),
|
|
65
66
|
Promise.all(paths.map(async (path) => {
|
|
66
|
-
const filePath = path_1.join(viewsDir, path);
|
|
67
|
-
return await fs_extra_1.readFile(filePath, 'utf-8');
|
|
67
|
+
const filePath = (0, path_1.join)(viewsDir, path);
|
|
68
|
+
return await (0, fs_extra_1.readFile)(filePath, 'utf-8');
|
|
68
69
|
})),
|
|
69
70
|
]);
|
|
70
|
-
return currentValues.map((current, i) => (Object.assign(Object.assign({}, hashes[i]), { path: paths[i], value: diff_1.applyPatch(hashes[i].old, hashes[i].diff) })));
|
|
71
|
+
return currentValues.map((current, i) => (Object.assign(Object.assign({}, hashes[i]), { path: paths[i], value: (0, diff_1.applyPatch)(hashes[i].old, hashes[i].diff) })));
|
|
71
72
|
}
|
|
72
73
|
exports.getTemplates = getTemplates;
|
|
73
74
|
async function editTemplate({ path, diff, old, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../lib/database.ts"],"names":[],"mappings":";AAAA,0CAA0C
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../lib/database.ts"],"names":[],"mappings":"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"}
|
package/build/lib/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.adminMenu = exports.init = void 0;
|
|
3
4
|
const controllers_1 = require("./controllers");
|
|
4
5
|
const init = (params, callback) => {
|
|
5
|
-
controllers_1.default(params);
|
|
6
|
+
(0, controllers_1.default)(params);
|
|
6
7
|
callback();
|
|
7
8
|
};
|
|
8
9
|
exports.init = init;
|
package/build/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,MAAM,IAAI,GAAG,CAAC,MAAiB,EAAE,QAAwB,EAAQ,EAAE;IACjE,IAAA,qBAAW,EAAC,MAAM,CAAC,CAAC;IACpB,QAAQ,EAAE,CAAC;AACb,CAAC,CAAC;AAgBA,oBAAI;AAVN,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,QAA0B,EAAQ,EAAE;IACrE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAClB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzB,CAAC,CAAC;AAIA,8BAAS"}
|
package/build/lib/pubsub.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.build = void 0;
|
|
3
4
|
const os_1 = require("os");
|
|
4
5
|
const build_1 = require("./build");
|
|
5
6
|
if (!require.main) {
|
|
@@ -10,13 +11,11 @@ const winston = require.main.require('winston');
|
|
|
10
11
|
const pubsub = require.main.require('./src/pubsub');
|
|
11
12
|
const primary = nconf.get('isPrimary') === 'true' || nconf.get('isPrimary') === true;
|
|
12
13
|
async function build() {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
});
|
|
17
|
-
}
|
|
14
|
+
pubsub.publish('customize:build', {
|
|
15
|
+
hostname: `${(0, os_1.hostname)()}:${nconf.get('port')}`,
|
|
16
|
+
});
|
|
18
17
|
if (primary) {
|
|
19
|
-
await build_1.build();
|
|
18
|
+
await (0, build_1.build)();
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
exports.build = build;
|
|
@@ -26,9 +25,9 @@ const logErrors = (err) => {
|
|
|
26
25
|
}
|
|
27
26
|
};
|
|
28
27
|
if (primary) {
|
|
29
|
-
pubsub.on('
|
|
30
|
-
if (data.hostname !== os_1.hostname()) {
|
|
31
|
-
build_1.build().catch(logErrors);
|
|
28
|
+
pubsub.on('customize:build', (data) => {
|
|
29
|
+
if (data.hostname !== `${(0, os_1.hostname)()}:${nconf.get('port')}`) {
|
|
30
|
+
(0, build_1.build)().catch(logErrors);
|
|
32
31
|
}
|
|
33
32
|
});
|
|
34
33
|
}
|
package/build/lib/pubsub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../lib/pubsub.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../lib/pubsub.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAC9B,mCAA+C;AAE/C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IAAE,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;CAAE;AACrF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAChD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAEpD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAE9E,KAAK,UAAU,KAAK;IACzB,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAChC,QAAQ,EAAE,GAAG,IAAA,aAAQ,GAAE,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;KAC/C,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE;QACX,MAAM,IAAA,aAAW,GAAE,CAAC;KACrB;AACH,CAAC;AARD,sBAQC;AAED,MAAM,SAAS,GAAG,CAAC,GAAU,EAAQ,EAAE;IACrC,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACpB;AACH,CAAC,CAAC;AAEF,IAAI,OAAO,EAAE;IACX,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAA0B,EAAE,EAAE;QAC1D,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAA,aAAQ,GAAE,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;YAC1D,IAAA,aAAW,GAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAChC;IACH,CAAC,CAAC,CAAC;CACJ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
define("shared", ["require", "exports"], function (require, exports) {
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.unescape = exports.confirm = exports.error = exports.success = exports.setOptions = void 0;
|
|
4
5
|
function setOptions(select, options) {
|
|
5
6
|
select.empty();
|
|
6
7
|
options.forEach(({ value, text }) => {
|
|
@@ -20,26 +21,6 @@ define("shared", ["require", "exports"], function (require, exports) {
|
|
|
20
21
|
setTimeout(() => { throw err; }, 0);
|
|
21
22
|
}
|
|
22
23
|
exports.error = error;
|
|
23
|
-
function requestDelete(path, data) {
|
|
24
|
-
return Promise.resolve($.ajax({
|
|
25
|
-
method: 'DELETE',
|
|
26
|
-
url: `${window.config.relative_path}${path}`,
|
|
27
|
-
data: JSON.stringify(data),
|
|
28
|
-
processData: false,
|
|
29
|
-
contentType: 'application/json',
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
exports.requestDelete = requestDelete;
|
|
33
|
-
function requestPost(path, data) {
|
|
34
|
-
return Promise.resolve($.ajax({
|
|
35
|
-
method: 'POST',
|
|
36
|
-
url: `${window.config.relative_path}${path}`,
|
|
37
|
-
data: JSON.stringify(data),
|
|
38
|
-
processData: false,
|
|
39
|
-
contentType: 'application/json',
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
exports.requestPost = requestPost;
|
|
43
24
|
function confirm(message) {
|
|
44
25
|
return new Promise((resolve) => window.bootbox.confirm(message, resolve));
|
|
45
26
|
}
|
|
@@ -49,7 +30,7 @@ define("shared", ["require", "exports"], function (require, exports) {
|
|
|
49
30
|
}
|
|
50
31
|
exports.unescape = unescape;
|
|
51
32
|
});
|
|
52
|
-
define("translations", ["require", "exports", "translator", "benchpress", "shared"], function (require, exports, translator_1, Benchpress, shared_1) {
|
|
33
|
+
define("translations", ["require", "exports", "translator", "benchpress", "api", "shared"], function (require, exports, translator_1, Benchpress, api, shared_1) {
|
|
53
34
|
"use strict";
|
|
54
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
36
|
const edit = {
|
|
@@ -74,7 +55,7 @@ define("translations", ["require", "exports", "translator", "benchpress", "share
|
|
|
74
55
|
value: key,
|
|
75
56
|
text: key,
|
|
76
57
|
}));
|
|
77
|
-
shared_1.setOptions(edit.key, keys);
|
|
58
|
+
(0, shared_1.setOptions)(edit.key, keys);
|
|
78
59
|
edit.key.prepend('<option value="">---</option>');
|
|
79
60
|
});
|
|
80
61
|
}
|
|
@@ -107,7 +88,7 @@ define("translations", ["require", "exports", "translator", "benchpress", "share
|
|
|
107
88
|
edit.key.change(() => updateOld().catch(shared_1.error));
|
|
108
89
|
$(document).ready(() => updateKeys().then(updateOld).catch(shared_1.error));
|
|
109
90
|
function removeTranslation(id) {
|
|
110
|
-
return
|
|
91
|
+
return api.del('/admin/plugins/customize/delete/translation', {
|
|
111
92
|
translation: id,
|
|
112
93
|
});
|
|
113
94
|
}
|
|
@@ -124,7 +105,7 @@ define("translations", ["require", "exports", "translator", "benchpress", "share
|
|
|
124
105
|
}
|
|
125
106
|
function deleteEntry(elem) {
|
|
126
107
|
elem.addClass('active');
|
|
127
|
-
return shared_1.confirm('Are you sure you want to delete this translation?')
|
|
108
|
+
return (0, shared_1.confirm)('Are you sure you want to delete this translation?')
|
|
128
109
|
.then((yes) => {
|
|
129
110
|
if (!yes) {
|
|
130
111
|
elem.removeClass('active');
|
|
@@ -179,7 +160,9 @@ define("translations", ["require", "exports", "translator", "benchpress", "share
|
|
|
179
160
|
value,
|
|
180
161
|
};
|
|
181
162
|
return before
|
|
182
|
-
.then(() =>
|
|
163
|
+
.then(() => api.put('/admin/plugins/customize/edit/translation', {
|
|
164
|
+
translation: data,
|
|
165
|
+
}))
|
|
183
166
|
.then(updateList)
|
|
184
167
|
.then(() => {
|
|
185
168
|
edit.language.val(window.config.userLang);
|
|
@@ -194,7 +177,7 @@ define("translations", ["require", "exports", "translator", "benchpress", "share
|
|
|
194
177
|
}
|
|
195
178
|
edit.submit.click(() => submit().then(shared_1.success, shared_1.error));
|
|
196
179
|
});
|
|
197
|
-
define("templates", ["require", "exports", "translator", "benchpress", "ace/ace", "shared"], function (require, exports, translator_2, Benchpress, ace, shared_2) {
|
|
180
|
+
define("templates", ["require", "exports", "translator", "benchpress", "ace/ace", "api", "shared"], function (require, exports, translator_2, Benchpress, ace, api, shared_2) {
|
|
198
181
|
"use strict";
|
|
199
182
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
200
183
|
const edit = {
|
|
@@ -256,7 +239,7 @@ define("templates", ["require", "exports", "translator", "benchpress", "ace/ace"
|
|
|
256
239
|
}
|
|
257
240
|
});
|
|
258
241
|
function removeTemplate(path) {
|
|
259
|
-
return
|
|
242
|
+
return api.del('/admin/plugins/customize/delete/template', {
|
|
260
243
|
template: path,
|
|
261
244
|
});
|
|
262
245
|
}
|
|
@@ -270,7 +253,7 @@ define("templates", ["require", "exports", "translator", "benchpress", "ace/ace"
|
|
|
270
253
|
}
|
|
271
254
|
function deleteEntry(elem) {
|
|
272
255
|
elem.addClass('active');
|
|
273
|
-
return shared_2.confirm('Are you sure you want to delete this template?')
|
|
256
|
+
return (0, shared_2.confirm)('Are you sure you want to delete this template?')
|
|
274
257
|
.then((yes) => {
|
|
275
258
|
if (!yes) {
|
|
276
259
|
elem.removeClass('active');
|
|
@@ -335,7 +318,9 @@ define("templates", ["require", "exports", "translator", "benchpress", "ace/ace"
|
|
|
335
318
|
value,
|
|
336
319
|
};
|
|
337
320
|
return before
|
|
338
|
-
.then(() =>
|
|
321
|
+
.then(() => api.put('/admin/plugins/customize/edit/template', {
|
|
322
|
+
template: data,
|
|
323
|
+
}))
|
|
339
324
|
.then(updateList)
|
|
340
325
|
.then(() => {
|
|
341
326
|
edit.path.val('');
|
|
@@ -349,11 +334,11 @@ define("templates", ["require", "exports", "translator", "benchpress", "ace/ace"
|
|
|
349
334
|
});
|
|
350
335
|
// eslint-disable-next-line spaced-comment
|
|
351
336
|
/// <amd-module name="admin/plugins/customize"/>
|
|
352
|
-
define("admin/plugins/customize", ["require", "exports", "translations", "templates"], function (require, exports) {
|
|
337
|
+
define("admin/plugins/customize", ["require", "exports", "api", "translations", "templates"], function (require, exports, api) {
|
|
353
338
|
"use strict";
|
|
354
339
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
355
340
|
$('#build').click(() => {
|
|
356
|
-
|
|
341
|
+
api.put('/admin/plugins/customize/build', {}).then(() => window.app.alertSuccess('[[admin/plugins/customize:build_success]]'), () => window.app.alertError());
|
|
357
342
|
});
|
|
358
343
|
});
|
|
359
344
|
//# sourceMappingURL=admin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../public/lib/shared.ts","../../../public/lib/translations.ts","../../../public/lib/templates.ts","../../../public/lib/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../public/lib/shared.ts","../../../public/lib/translations.ts","../../../public/lib/templates.ts","../../../public/lib/index.ts"],"names":[],"mappings":"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"}
|
package/lib/controllers.ts
CHANGED
|
@@ -13,6 +13,8 @@ const Languages = require.main.require('./src/languages');
|
|
|
13
13
|
const File = require.main.require('./src/file');
|
|
14
14
|
const Translator = require.main.require('./src/translator');
|
|
15
15
|
const Utils = require.main.require('./src/utils');
|
|
16
|
+
const { setupApiRoute, setupAdminPageRoute } = require.main.require('./src/routes/helpers');
|
|
17
|
+
const { formatApiResponse } = require.main.require('./src/controllers/helpers');
|
|
16
18
|
|
|
17
19
|
const escape = (dirty: string): string => Translator.escape(Utils.escapeHTML(dirty));
|
|
18
20
|
|
|
@@ -23,7 +25,7 @@ const listLanguages: () => Promise<{
|
|
|
23
25
|
const getSettings: (uid: number) => Promise<{ userLang: string }> = promisify(User.getSettings);
|
|
24
26
|
const walk: (base: string) => string[] = promisify(File.walk);
|
|
25
27
|
|
|
26
|
-
// eslint-disable-next-line import/no-dynamic-require
|
|
28
|
+
// eslint-disable-next-line import/no-dynamic-require, @typescript-eslint/no-var-requires
|
|
27
29
|
const version: string = require(join(__dirname, '../../package.json')).version;
|
|
28
30
|
|
|
29
31
|
let namespaceCache: string[] = [];
|
|
@@ -58,112 +60,90 @@ async function listTemplates(): Promise<string[]> {
|
|
|
58
60
|
return templateCache;
|
|
59
61
|
}
|
|
60
62
|
|
|
61
|
-
const renderAdmin: RequestHandler = (req, res
|
|
62
|
-
|
|
63
|
+
const renderAdmin: RequestHandler = async (req, res) => {
|
|
64
|
+
const [
|
|
65
|
+
templates,
|
|
66
|
+
translations,
|
|
67
|
+
languages,
|
|
68
|
+
userLang,
|
|
69
|
+
namespaces,
|
|
70
|
+
templatePaths,
|
|
71
|
+
] = await Promise.all([
|
|
63
72
|
db.getTemplates(),
|
|
64
73
|
db.getTranslations(),
|
|
65
74
|
listLanguages(),
|
|
66
|
-
getSettings(req.uid).then((
|
|
75
|
+
getSettings(req.uid).then((data) => data.userLang),
|
|
67
76
|
listNamespaces(),
|
|
68
77
|
listTemplates(),
|
|
69
|
-
])
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
languages: languages.map(({ code, name }) => ({
|
|
87
|
-
code,
|
|
88
|
-
name,
|
|
89
|
-
selected: code === userLang,
|
|
90
|
-
})),
|
|
91
|
-
namespaces: namespaces.map((name) => ({ name })),
|
|
92
|
-
templatePaths,
|
|
93
|
-
});
|
|
94
|
-
})
|
|
95
|
-
.catch((err) => next(err));
|
|
78
|
+
]);
|
|
79
|
+
res.render('admin/plugins/customize', {
|
|
80
|
+
version,
|
|
81
|
+
templates: templates.map((x) => ({
|
|
82
|
+
path: x.path,
|
|
83
|
+
json: escape(JSON.stringify(x)),
|
|
84
|
+
diff: escape(x.diff),
|
|
85
|
+
})),
|
|
86
|
+
translations,
|
|
87
|
+
languages: languages.map(({ code, name }) => ({
|
|
88
|
+
code,
|
|
89
|
+
name,
|
|
90
|
+
selected: code === userLang,
|
|
91
|
+
})),
|
|
92
|
+
namespaces: namespaces.map((name) => ({ name })),
|
|
93
|
+
templatePaths,
|
|
94
|
+
});
|
|
96
95
|
};
|
|
97
|
-
const adminBuild: RequestHandler = (req, res
|
|
98
|
-
build()
|
|
99
|
-
|
|
100
|
-
(err) => next(err)
|
|
101
|
-
);
|
|
96
|
+
const adminBuild: RequestHandler = async (req, res) => {
|
|
97
|
+
await build();
|
|
98
|
+
formatApiResponse(200, res, 'OK');
|
|
102
99
|
};
|
|
103
100
|
|
|
104
|
-
const adminEditTranslation: RequestHandler = (req, res
|
|
101
|
+
const adminEditTranslation: RequestHandler = async (req, res) => {
|
|
105
102
|
const translation: Translation = req.body.translation;
|
|
106
103
|
|
|
107
|
-
db.editTranslation(translation)
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
res.json({
|
|
111
|
-
translations,
|
|
112
|
-
});
|
|
113
|
-
})
|
|
114
|
-
.catch((err) => next(err));
|
|
104
|
+
await db.editTranslation(translation);
|
|
105
|
+
const translations = await db.getTranslations();
|
|
106
|
+
formatApiResponse(200, res, { translations });
|
|
115
107
|
};
|
|
116
|
-
const adminRemoveTranslation: RequestHandler = (req, res
|
|
117
|
-
db.removeTranslation(req.body.translation)
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
res.json({
|
|
121
|
-
translations,
|
|
122
|
-
});
|
|
123
|
-
})
|
|
124
|
-
.catch((err) => next(err));
|
|
108
|
+
const adminRemoveTranslation: RequestHandler = async (req, res) => {
|
|
109
|
+
await db.removeTranslation(req.body.translation);
|
|
110
|
+
const translations = await db.getTranslations();
|
|
111
|
+
formatApiResponse(200, res, { translations });
|
|
125
112
|
};
|
|
126
113
|
|
|
127
|
-
const adminEditTemplate: RequestHandler = (req, res
|
|
114
|
+
const adminEditTemplate: RequestHandler = async (req, res) => {
|
|
128
115
|
const template: Template = req.body.template;
|
|
129
116
|
|
|
130
|
-
db.editTemplate(template)
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
});
|
|
140
|
-
})
|
|
141
|
-
.catch((err) => next(err));
|
|
117
|
+
await db.editTemplate(template);
|
|
118
|
+
const templates = await db.getTemplates();
|
|
119
|
+
formatApiResponse(200, res, {
|
|
120
|
+
templates: templates.map((x) => ({
|
|
121
|
+
path: x.path,
|
|
122
|
+
json: escape(JSON.stringify(x)),
|
|
123
|
+
diff: escape(x.diff),
|
|
124
|
+
})),
|
|
125
|
+
});
|
|
142
126
|
};
|
|
143
|
-
const adminRemoveTemplate: RequestHandler = (req, res
|
|
144
|
-
db.removeTemplate(req.body.template)
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
});
|
|
154
|
-
})
|
|
155
|
-
.catch((err) => next(err));
|
|
127
|
+
const adminRemoveTemplate: RequestHandler = async (req, res) => {
|
|
128
|
+
await db.removeTemplate(req.body.template);
|
|
129
|
+
const templates = await db.getTemplates();
|
|
130
|
+
formatApiResponse(200, res, {
|
|
131
|
+
templates: templates.map((x) => ({
|
|
132
|
+
path: x.path,
|
|
133
|
+
json: escape(JSON.stringify(x)),
|
|
134
|
+
diff: escape(x.diff),
|
|
135
|
+
})),
|
|
136
|
+
});
|
|
156
137
|
};
|
|
157
138
|
|
|
158
139
|
export default function controllers({ router, middleware }: AppParams): void {
|
|
159
|
-
router
|
|
160
|
-
router.get('/api/admin/plugins/customize', renderAdmin);
|
|
140
|
+
setupAdminPageRoute(router, '/admin/plugins/customize', middleware, [], renderAdmin);
|
|
161
141
|
|
|
162
|
-
router
|
|
163
|
-
router
|
|
142
|
+
setupApiRoute(router, 'put', '/api/v3/admin/plugins/customize/edit/template', [middleware.admin.checkPrivileges], adminEditTemplate);
|
|
143
|
+
setupApiRoute(router, 'delete', '/api/v3/admin/plugins/customize/delete/template', [middleware.admin.checkPrivileges], adminRemoveTemplate);
|
|
164
144
|
|
|
165
|
-
router
|
|
166
|
-
router
|
|
145
|
+
setupApiRoute(router, 'put', '/api/v3/admin/plugins/customize/edit/translation', [middleware.admin.checkPrivileges], adminEditTranslation);
|
|
146
|
+
setupApiRoute(router, 'delete', '/api/v3/admin/plugins/customize/delete/translation', [middleware.admin.checkPrivileges], adminRemoveTranslation);
|
|
167
147
|
|
|
168
|
-
router
|
|
148
|
+
setupApiRoute(router, 'put', '/api/v3/admin/plugins/customize/build', [middleware.admin.checkPrivileges], adminBuild);
|
|
169
149
|
}
|
package/lib/database.ts
CHANGED
|
@@ -52,7 +52,7 @@ export async function getTranslations(): Promise<Translation[]> {
|
|
|
52
52
|
Promise.all(ids.map(async (id) => {
|
|
53
53
|
const [language, namespace, key] = id.split(':');
|
|
54
54
|
const filePath = join(languagesDir, language, `${namespace}.json`);
|
|
55
|
-
const translations: { [key: string]: string } = await readJson(filePath);
|
|
55
|
+
const translations: { [key: string]: string } = await readJson(filePath).catch(() => ({}));
|
|
56
56
|
return translations[key] || '';
|
|
57
57
|
})),
|
|
58
58
|
]);
|
package/lib/pubsub.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { hostname } from 'os';
|
|
2
|
-
|
|
3
|
-
|
|
4
2
|
import { build as buildAssets } from './build';
|
|
5
3
|
|
|
6
4
|
if (!require.main) { throw Error('[plugin-customize] `require.main` is undefined'); }
|
|
@@ -11,11 +9,9 @@ const pubsub = require.main.require('./src/pubsub');
|
|
|
11
9
|
const primary = nconf.get('isPrimary') === 'true' || nconf.get('isPrimary') === true;
|
|
12
10
|
|
|
13
11
|
export async function build(): Promise<void> {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
}
|
|
12
|
+
pubsub.publish('customize:build', {
|
|
13
|
+
hostname: `${hostname()}:${nconf.get('port')}`,
|
|
14
|
+
});
|
|
19
15
|
|
|
20
16
|
if (primary) {
|
|
21
17
|
await buildAssets();
|
|
@@ -29,8 +25,8 @@ const logErrors = (err: Error): void => {
|
|
|
29
25
|
};
|
|
30
26
|
|
|
31
27
|
if (primary) {
|
|
32
|
-
pubsub.on('
|
|
33
|
-
if (data.hostname !== hostname()) {
|
|
28
|
+
pubsub.on('customize:build', (data: { hostname: string }) => {
|
|
29
|
+
if (data.hostname !== `${hostname()}:${nconf.get('port')}`) {
|
|
34
30
|
buildAssets().catch(logErrors);
|
|
35
31
|
}
|
|
36
32
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nodebb-plugin-customize",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "Customize NodeBB translations and templates",
|
|
5
5
|
"main": "build/lib",
|
|
6
6
|
"author": "Peter Jaszkowiak <p.jaszkow@gmail.com> (https://github.com/pitaj)",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"url": "https://github.com/NodeBB/nodebb-plugin-customize.git"
|
|
11
11
|
},
|
|
12
12
|
"nbbpm": {
|
|
13
|
-
"compatibility": "
|
|
13
|
+
"compatibility": "~1.17 || ~1.18 || ~1.19"
|
|
14
14
|
},
|
|
15
15
|
"keywords": [
|
|
16
16
|
"nodebb",
|
|
@@ -20,30 +20,30 @@
|
|
|
20
20
|
"template"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"diff": "^
|
|
24
|
-
"fs-extra": "^
|
|
25
|
-
"lodash": "^4.17.
|
|
23
|
+
"diff": "^5.0.0",
|
|
24
|
+
"fs-extra": "^10.0.0",
|
|
25
|
+
"lodash": "^4.17.21"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@types/ace": "0.0.
|
|
28
|
+
"@types/ace": "^0.0.47",
|
|
29
29
|
"@types/bootstrap": "^3.4.0",
|
|
30
|
-
"@types/diff": "^
|
|
31
|
-
"@types/express": "^4.17.
|
|
32
|
-
"@types/fs-extra": "^
|
|
33
|
-
"@types/jquery": "^3.
|
|
34
|
-
"@types/lodash": "^4.14.
|
|
35
|
-
"@types/nconf": "^0.10.
|
|
36
|
-
"@types/node": "^
|
|
37
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
38
|
-
"@typescript-eslint/parser": "^
|
|
39
|
-
"eslint": "^
|
|
40
|
-
"eslint-config-airbnb-base": "^14.1
|
|
41
|
-
"eslint-plugin-import": "^2.
|
|
42
|
-
"typescript": "^
|
|
30
|
+
"@types/diff": "^5.0.1",
|
|
31
|
+
"@types/express": "^4.17.13",
|
|
32
|
+
"@types/fs-extra": "^9.0.12",
|
|
33
|
+
"@types/jquery": "^3.5.6",
|
|
34
|
+
"@types/lodash": "^4.14.172",
|
|
35
|
+
"@types/nconf": "^0.10.1",
|
|
36
|
+
"@types/node": "^16.9.1",
|
|
37
|
+
"@typescript-eslint/eslint-plugin": "^4.31.0",
|
|
38
|
+
"@typescript-eslint/parser": "^4.31.0",
|
|
39
|
+
"eslint": "^7.32.0",
|
|
40
|
+
"eslint-config-airbnb-base": "^14.2.1",
|
|
41
|
+
"eslint-plugin-import": "^2.24.2",
|
|
42
|
+
"typescript": "^4.4.3"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"lint": "eslint lib/* && eslint public/lib/*",
|
|
46
46
|
"compile": "node copy-sources && tsc -p . && tsc -p public",
|
|
47
|
-
"prepare": "rm -
|
|
47
|
+
"prepare": "rm -rf build; npm run compile"
|
|
48
48
|
}
|
|
49
49
|
}
|
package/public/lib/index.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// eslint-disable-next-line spaced-comment
|
|
2
2
|
/// <amd-module name="admin/plugins/customize"/>
|
|
3
3
|
|
|
4
|
+
import * as api from 'api';
|
|
5
|
+
|
|
4
6
|
import './translations';
|
|
5
7
|
import './templates';
|
|
6
8
|
|
|
7
9
|
$('#build').click(() => {
|
|
8
|
-
|
|
9
|
-
$.post(`${window.config.relative_path}/api/admin/plugins/customize/build`)
|
|
10
|
-
).then(
|
|
10
|
+
api.put('/admin/plugins/customize/build', {}).then(
|
|
11
11
|
() => window.app.alertSuccess('[[admin/plugins/customize:build_success]]'),
|
|
12
12
|
() => window.app.alertError()
|
|
13
13
|
);
|
package/public/lib/shared.ts
CHANGED
|
@@ -20,25 +20,6 @@ export function error(err: Error): void {
|
|
|
20
20
|
setTimeout(() => { throw err; }, 0);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
export function requestDelete<A, B>(path: string, data: A): Promise<B> {
|
|
24
|
-
return Promise.resolve($.ajax({
|
|
25
|
-
method: 'DELETE',
|
|
26
|
-
url: `${window.config.relative_path}${path}`,
|
|
27
|
-
data: JSON.stringify(data),
|
|
28
|
-
processData: false,
|
|
29
|
-
contentType: 'application/json',
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
export function requestPost<A, B>(path: string, data: A): Promise<B> {
|
|
33
|
-
return Promise.resolve($.ajax({
|
|
34
|
-
method: 'POST',
|
|
35
|
-
url: `${window.config.relative_path}${path}`,
|
|
36
|
-
data: JSON.stringify(data),
|
|
37
|
-
processData: false,
|
|
38
|
-
contentType: 'application/json',
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
|
|
42
23
|
export function confirm(message: string): Promise<boolean> {
|
|
43
24
|
return new Promise(
|
|
44
25
|
(resolve) => window.bootbox.confirm(message, resolve)
|
package/public/lib/templates.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Translator } from 'translator';
|
|
2
2
|
import * as Benchpress from 'benchpress';
|
|
3
3
|
import * as ace from 'ace/ace';
|
|
4
|
+
import * as api from 'api';
|
|
4
5
|
|
|
5
6
|
import {
|
|
6
7
|
success,
|
|
7
8
|
error,
|
|
8
9
|
confirm,
|
|
9
|
-
requestDelete,
|
|
10
|
-
requestPost,
|
|
11
10
|
} from './shared';
|
|
12
11
|
|
|
13
12
|
const edit = {
|
|
@@ -88,7 +87,7 @@ interface TemplatesListResponse {
|
|
|
88
87
|
}
|
|
89
88
|
|
|
90
89
|
function removeTemplate(path: string): Promise<TemplatesListResponse> {
|
|
91
|
-
return
|
|
90
|
+
return api.del('/admin/plugins/customize/delete/template', {
|
|
92
91
|
template: path,
|
|
93
92
|
});
|
|
94
93
|
}
|
|
@@ -195,10 +194,9 @@ function submit(): Promise<void> {
|
|
|
195
194
|
};
|
|
196
195
|
|
|
197
196
|
return before
|
|
198
|
-
.then(() =>
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
))
|
|
197
|
+
.then(() => api.put('/admin/plugins/customize/edit/template', {
|
|
198
|
+
template: data,
|
|
199
|
+
}))
|
|
202
200
|
.then(updateList)
|
|
203
201
|
.then(() => {
|
|
204
202
|
edit.path.val('');
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Translator } from 'translator';
|
|
2
2
|
import * as Benchpress from 'benchpress';
|
|
3
|
+
import * as api from 'api';
|
|
3
4
|
|
|
4
5
|
import {
|
|
5
6
|
setOptions,
|
|
6
7
|
success,
|
|
7
8
|
error,
|
|
8
9
|
confirm,
|
|
9
|
-
requestDelete,
|
|
10
|
-
requestPost,
|
|
11
10
|
} from './shared';
|
|
12
11
|
|
|
13
12
|
const edit = {
|
|
@@ -85,7 +84,7 @@ interface TranslationsListResponse {
|
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
function removeTranslation(id: string): Promise<TranslationsListResponse> {
|
|
88
|
-
return
|
|
87
|
+
return api.del('/admin/plugins/customize/delete/translation', {
|
|
89
88
|
translation: id,
|
|
90
89
|
});
|
|
91
90
|
}
|
|
@@ -180,10 +179,9 @@ function submit(): Promise<void> {
|
|
|
180
179
|
};
|
|
181
180
|
|
|
182
181
|
return before
|
|
183
|
-
.then(() =>
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
))
|
|
182
|
+
.then(() => api.put('/admin/plugins/customize/edit/translation', {
|
|
183
|
+
translation: data,
|
|
184
|
+
}))
|
|
187
185
|
.then(updateList)
|
|
188
186
|
.then(() => {
|
|
189
187
|
edit.language.val(window.config.userLang);
|
package/public/lib/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ declare type Callback<T = void> = (result: T) => void;
|
|
|
2
2
|
|
|
3
3
|
interface Window {
|
|
4
4
|
config: {
|
|
5
|
+
// eslint-disable-next-line camelcase
|
|
5
6
|
relative_path: string;
|
|
6
7
|
'cache-buster': string;
|
|
7
8
|
userLang: string;
|
|
@@ -52,3 +53,11 @@ declare module 'ace/ace' {
|
|
|
52
53
|
const Ace: AceAjax.Ace;
|
|
53
54
|
export = Ace;
|
|
54
55
|
}
|
|
56
|
+
|
|
57
|
+
declare module 'api' {
|
|
58
|
+
export function get(route: string, payload: NonNullable<unknown>): Promise<any>;
|
|
59
|
+
export function head(route: string, payload: NonNullable<unknown>): Promise<any>;
|
|
60
|
+
export function post(route: string, payload: NonNullable<unknown>): Promise<any>;
|
|
61
|
+
export function put(route: string, payload: NonNullable<unknown>): Promise<any>;
|
|
62
|
+
export function del(route: string, payload: NonNullable<unknown>): Promise<any>;
|
|
63
|
+
}
|
package/public/admin.js
DELETED