@appsemble/node-utils 0.32.1-test.17 → 0.32.2-test.0
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 +3 -3
- package/getMessagesUtil.js +29 -3
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
#  Appsemble Node Utilities
|
|
2
2
|
|
|
3
3
|
> NodeJS utilities used by Appsemble internally.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@appsemble/node-utils)
|
|
6
|
-
[](https://gitlab.com/appsemble/appsemble/-/releases/0.32.2-test.0)
|
|
7
7
|
[](https://prettier.io)
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
@@ -26,5 +26,5 @@ compatibility is not guaranteed.
|
|
|
26
26
|
|
|
27
27
|
## License
|
|
28
28
|
|
|
29
|
-
[LGPL-3.0-only](https://gitlab.com/appsemble/appsemble/-/blob/0.32.
|
|
29
|
+
[LGPL-3.0-only](https://gitlab.com/appsemble/appsemble/-/blob/0.32.2-test.0/LICENSE.md) ©
|
|
30
30
|
[Appsemble](https://appsemble.com)
|
package/getMessagesUtil.js
CHANGED
|
@@ -15,7 +15,10 @@ export async function getMessagesUtil(ctx, language, appId, merge, { getApp, get
|
|
|
15
15
|
assertKoaCondition(app != null, ctx, 404, 'App not found');
|
|
16
16
|
const blockPrefixes = [];
|
|
17
17
|
const blockQuery = [];
|
|
18
|
-
const
|
|
18
|
+
const blockMessageKeys = new Set();
|
|
19
|
+
const extractedMessages = Object.keys(extractAppMessages(app.definition, (block) => {
|
|
20
|
+
blockMessageKeys.add(`${block.type.startsWith('@') ? block.type : `@appsemble/${block.type}`}-${block.version}`);
|
|
21
|
+
}).app);
|
|
19
22
|
const appMessages = (await getAppMessages({ context: ctx, app, language })).filter((item) => Object.keys(item.messages.app ?? {}).filter((key) => !(key in extractedMessages)));
|
|
20
23
|
const coreMessages = await getAppsembleMessages(lang, baseLang);
|
|
21
24
|
const messages = {
|
|
@@ -34,8 +37,31 @@ export async function getMessagesUtil(ctx, language, appId, merge, { getApp, get
|
|
|
34
37
|
lang !== (app.definition.defaultLanguage || defaultLocale)) {
|
|
35
38
|
throwKoaError(ctx, 404, `Language “${language}” could not be found`);
|
|
36
39
|
}
|
|
37
|
-
const
|
|
38
|
-
|
|
40
|
+
const filteredMessages = appMessages.map((message) => {
|
|
41
|
+
// Create a shallow copy of the message to avoid mutating the original
|
|
42
|
+
const newMessage = message;
|
|
43
|
+
const filteredBlocks = {};
|
|
44
|
+
const blockKeys = Object.keys(newMessage.messages.blocks ?? {});
|
|
45
|
+
for (const key of blockKeys) {
|
|
46
|
+
const block = newMessage.messages.blocks[key];
|
|
47
|
+
const filteredBlock = {};
|
|
48
|
+
const versionKeys = Object.keys(block);
|
|
49
|
+
for (const version of versionKeys) {
|
|
50
|
+
const combinedKey = `${key}-${version}`;
|
|
51
|
+
if (blockMessageKeys.has(combinedKey)) {
|
|
52
|
+
filteredBlock[version] = block[version];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (Object.keys(filteredBlock).length > 0) {
|
|
56
|
+
filteredBlocks[key] = filteredBlock;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Assign the filtered blocks back to the new message
|
|
60
|
+
newMessage.messages.blocks = filteredBlocks;
|
|
61
|
+
return newMessage;
|
|
62
|
+
});
|
|
63
|
+
const baseLanguageMessages = override === 'true' ? filteredMessages.find((m) => m.language === baseLang) : undefined;
|
|
64
|
+
const languageMessages = override === 'true' ? filteredMessages.find((m) => m.language === lang) : undefined;
|
|
39
65
|
for (const block of blockMessages) {
|
|
40
66
|
const { name } = block;
|
|
41
67
|
const defaultMessages = block.messages?.[defaultLocale];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appsemble/node-utils",
|
|
3
|
-
"version": "0.32.
|
|
3
|
+
"version": "0.32.2-test.0",
|
|
4
4
|
"description": "NodeJS utilities used by Appsemble internally.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"app",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"test": "vitest"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@appsemble/types": "0.32.
|
|
44
|
-
"@appsemble/utils": "0.32.
|
|
43
|
+
"@appsemble/types": "0.32.2-test.0",
|
|
44
|
+
"@appsemble/utils": "0.32.2-test.0",
|
|
45
45
|
"@formatjs/fast-memoize": "^2.0.0",
|
|
46
46
|
"@fortawesome/fontawesome-free": "^6.0.0",
|
|
47
47
|
"@kubernetes/client-node": "^0.22.2",
|