@leancodepl/mail-translation 9.7.2 → 9.7.3
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/CHANGELOG.md +9 -0
- package/LICENSE +201 -0
- package/dist/bin.cjs +2 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +66 -0
- package/{src → dist}/compileMjml.d.ts +1 -0
- package/dist/compileMjml.d.ts.map +1 -0
- package/{src → dist}/config.d.ts +2 -1
- package/dist/config.d.ts.map +1 -0
- package/dist/generate.d.ts +3 -0
- package/dist/generate.d.ts.map +1 -0
- package/dist/generateConfigSchema.d.ts +2 -0
- package/dist/generateConfigSchema.d.ts.map +1 -0
- package/{src → dist}/generateKratosOutputTemplates.d.ts +2 -1
- package/dist/generateKratosOutputTemplates.d.ts.map +1 -0
- package/{src → dist}/generateOutputTemplates.d.ts +3 -2
- package/dist/generateOutputTemplates.d.ts.map +1 -0
- package/{src → dist}/generateRazorOutputTemplates.d.ts +2 -1
- package/dist/generateRazorOutputTemplates.d.ts.map +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/loadConfig.d.ts +3 -0
- package/dist/loadConfig.d.ts.map +1 -0
- package/{src → dist}/loadTemplates.d.ts +3 -2
- package/dist/loadTemplates.d.ts.map +1 -0
- package/{src → dist}/loadTranslations.d.ts +1 -0
- package/dist/loadTranslations.d.ts.map +1 -0
- package/{src → dist}/processTemplate.d.ts +5 -4
- package/dist/processTemplate.d.ts.map +1 -0
- package/{src → dist}/processTranslations.d.ts +2 -1
- package/dist/processTranslations.d.ts.map +1 -0
- package/dist/saveOutputs-CLBuFr2L.js +281 -0
- package/dist/saveOutputs-RV5ZMO78.cjs +10 -0
- package/{src → dist}/saveOutputs.d.ts +2 -1
- package/dist/saveOutputs.d.ts.map +1 -0
- package/package.json +22 -6
- package/src/bin.d.ts +0 -2
- package/src/bin.js +0 -19
- package/src/bin.js.map +0 -1
- package/src/compileMjml.js +0 -29
- package/src/compileMjml.js.map +0 -1
- package/src/config.js +0 -35
- package/src/config.js.map +0 -1
- package/src/generate.d.ts +0 -2
- package/src/generate.js +0 -23
- package/src/generate.js.map +0 -1
- package/src/generateConfigSchema.d.ts +0 -1
- package/src/generateConfigSchema.js +0 -17
- package/src/generateConfigSchema.js.map +0 -1
- package/src/generateKratosOutputTemplates.js +0 -48
- package/src/generateKratosOutputTemplates.js.map +0 -1
- package/src/generateOutputTemplates.js +0 -18
- package/src/generateOutputTemplates.js.map +0 -1
- package/src/generateRazorOutputTemplates.js +0 -50
- package/src/generateRazorOutputTemplates.js.map +0 -1
- package/src/index.d.ts +0 -2
- package/src/index.js +0 -6
- package/src/index.js.map +0 -1
- package/src/loadConfig.d.ts +0 -2
- package/src/loadConfig.js +0 -41
- package/src/loadConfig.js.map +0 -1
- package/src/loadTemplates.js +0 -47
- package/src/loadTemplates.js.map +0 -1
- package/src/loadTranslations.js +0 -37
- package/src/loadTranslations.js.map +0 -1
- package/src/processTemplate.js +0 -36
- package/src/processTemplate.js.map +0 -1
- package/src/processTranslations.js +0 -31
- package/src/processTranslations.js.map +0 -1
- package/src/saveOutputs.js +0 -16
- package/src/saveOutputs.js.map +0 -1
package/src/index.d.ts
DELETED
package/src/index.js
DELETED
package/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/mail-translation/src/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B;AAC1B,wDAA6B"}
|
package/src/loadConfig.d.ts
DELETED
package/src/loadConfig.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadConfig = loadConfig;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const lilconfig_1 = require("lilconfig");
|
|
6
|
-
const yaml = tslib_1.__importStar(require("yaml"));
|
|
7
|
-
const config_1 = require("./config");
|
|
8
|
-
function loadYaml(filepath, content) {
|
|
9
|
-
return yaml.parse(content);
|
|
10
|
-
}
|
|
11
|
-
const packageName = "mail-translation";
|
|
12
|
-
const options = {
|
|
13
|
-
searchPlaces: [
|
|
14
|
-
`.${packageName}rc`,
|
|
15
|
-
`.${packageName}rc.json`,
|
|
16
|
-
`.${packageName}rc.yaml`,
|
|
17
|
-
`.${packageName}rc.yml`,
|
|
18
|
-
`.${packageName}rc.js`,
|
|
19
|
-
`.${packageName}rc.cjs`,
|
|
20
|
-
`${packageName}.config.js`,
|
|
21
|
-
`${packageName}.config.cjs`,
|
|
22
|
-
],
|
|
23
|
-
loaders: {
|
|
24
|
-
".yaml": loadYaml,
|
|
25
|
-
".yml": loadYaml,
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
function loadConfig(configPath) {
|
|
29
|
-
const searcher = (0, lilconfig_1.lilconfigSync)("mail-translation", options);
|
|
30
|
-
const result = configPath ? searcher.load(configPath) : searcher.search();
|
|
31
|
-
if (!result) {
|
|
32
|
-
throw new Error("No configuration file found");
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
return config_1.mailTranslationConfigSchema.parse(result.config);
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
throw new Error(`Failed to load configuration: ${error}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=loadConfig.js.map
|
package/src/loadConfig.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../../../../packages/mail-translation/src/loadConfig.ts"],"names":[],"mappings":";;AA2BA,gCAaC;;AAxCD,yCAA8E;AAC9E,mDAA4B;AAC5B,qCAA6E;AAE7E,SAAS,QAAQ,CAAC,QAAgB,EAAE,OAAe;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,WAAW,GAAG,kBAAkB,CAAA;AAEtC,MAAM,OAAO,GAAyB;IACpC,YAAY,EAAE;QACZ,IAAI,WAAW,IAAI;QACnB,IAAI,WAAW,SAAS;QACxB,IAAI,WAAW,SAAS;QACxB,IAAI,WAAW,QAAQ;QACvB,IAAI,WAAW,OAAO;QACtB,IAAI,WAAW,QAAQ;QACvB,GAAG,WAAW,YAAY;QAC1B,GAAG,WAAW,aAAa;KAC5B;IACD,OAAO,EAAE;QACP,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,QAAQ;KACjB;CACF,CAAA;AAED,SAAgB,UAAU,CAAC,UAAmB;IAC5C,MAAM,QAAQ,GAAG,IAAA,yBAAa,EAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;IAE3D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;IACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,CAAC;QACH,OAAO,oCAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC"}
|
package/src/loadTemplates.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadMjmlTemplates = loadMjmlTemplates;
|
|
4
|
-
exports.loadPlaintextTemplates = loadPlaintextTemplates;
|
|
5
|
-
const promises_1 = require("fs/promises");
|
|
6
|
-
const path_1 = require("path");
|
|
7
|
-
async function loadMjmlTemplates(mailsPath) {
|
|
8
|
-
try {
|
|
9
|
-
const files = await (0, promises_1.readdir)(mailsPath);
|
|
10
|
-
const mjmlFiles = files.filter(file => (0, path_1.extname)(file) === ".mjml");
|
|
11
|
-
return Promise.all(mjmlFiles.map(async (file) => {
|
|
12
|
-
const templateName = (0, path_1.basename)(file, ".mjml");
|
|
13
|
-
const filePath = (0, path_1.join)(mailsPath, file);
|
|
14
|
-
const content = await (0, promises_1.readFile)(filePath, "utf8");
|
|
15
|
-
return {
|
|
16
|
-
name: templateName,
|
|
17
|
-
content,
|
|
18
|
-
isPlaintext: false,
|
|
19
|
-
};
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
throw new Error(`Failed to load templates: ${error}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
async function loadPlaintextTemplates({ plaintextMailsPath, outputMode, }) {
|
|
27
|
-
try {
|
|
28
|
-
const files = await (0, promises_1.readdir)(plaintextMailsPath);
|
|
29
|
-
const plaintextFiles = outputMode === "kratos"
|
|
30
|
-
? files.filter(file => file.endsWith(".plaintext.gotmpl"))
|
|
31
|
-
: files.filter(file => file.endsWith(".txt.cshtml"));
|
|
32
|
-
return Promise.all(plaintextFiles.map(async (file) => {
|
|
33
|
-
const templateName = outputMode === "kratos" ? file.replace(/\.plaintext\.gotmpl$/, "") : file.replace(/\.txt\.cshtml$/, "");
|
|
34
|
-
const filePath = (0, path_1.join)(plaintextMailsPath, file);
|
|
35
|
-
const content = await (0, promises_1.readFile)(filePath, "utf8");
|
|
36
|
-
return {
|
|
37
|
-
name: templateName,
|
|
38
|
-
content,
|
|
39
|
-
isPlaintext: true,
|
|
40
|
-
};
|
|
41
|
-
}));
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
throw new Error(`Failed to load plaintext templates: ${error}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=loadTemplates.js.map
|
package/src/loadTemplates.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadTemplates.js","sourceRoot":"","sources":["../../../../packages/mail-translation/src/loadTemplates.ts"],"names":[],"mappings":";;AAKA,8CAqBC;AAED,wDAgCC;AA5DD,0CAA+C;AAC/C,+BAA8C;AAIvC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,SAAS,CAAC,CAAA;QACtC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAA;QAEjE,OAAO,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACzB,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC5C,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,CAAA;YACtC,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAEhD,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,OAAO;gBACP,WAAW,EAAE,KAAK;aACnB,CAAA;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,EAC3C,kBAAkB,EAClB,UAAU,GAIX;IACC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,kBAAkB,CAAC,CAAA;QAE/C,MAAM,cAAc,GAClB,UAAU,KAAK,QAAQ;YACrB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC1D,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;QAExD,OAAO,OAAO,CAAC,GAAG,CAChB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YAC9B,MAAM,YAAY,GAChB,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;YACzG,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;YAC/C,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAEhD,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,OAAO;gBACP,WAAW,EAAE,IAAI;aAClB,CAAA;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAA;IACjE,CAAC;AACH,CAAC"}
|
package/src/loadTranslations.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadTranslations = loadTranslations;
|
|
4
|
-
const promises_1 = require("fs/promises");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
async function loadTranslations(translationsPath) {
|
|
7
|
-
const translationData = {};
|
|
8
|
-
if (!translationsPath) {
|
|
9
|
-
return translationData;
|
|
10
|
-
}
|
|
11
|
-
try {
|
|
12
|
-
const files = await (0, promises_1.readdir)(translationsPath);
|
|
13
|
-
const jsonFiles = files.filter(file => (0, path_1.extname)(file) === ".json");
|
|
14
|
-
if (jsonFiles.length === 0) {
|
|
15
|
-
console.warn(`No translation files found in: ${translationsPath}. Continuing without translations.`);
|
|
16
|
-
return translationData;
|
|
17
|
-
}
|
|
18
|
-
for (const file of jsonFiles) {
|
|
19
|
-
const language = (0, path_1.basename)(file, ".json");
|
|
20
|
-
const filePath = (0, path_1.join)(translationsPath, file);
|
|
21
|
-
try {
|
|
22
|
-
const content = await (0, promises_1.readFile)(filePath, "utf8");
|
|
23
|
-
const translations = JSON.parse(content);
|
|
24
|
-
translationData[language] = translations;
|
|
25
|
-
}
|
|
26
|
-
catch (error) {
|
|
27
|
-
console.warn(`Failed to load translation file ${file}:`, error);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return translationData;
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.warn(`Failed to load translations: ${error}. Continuing without translations.`);
|
|
34
|
-
return translationData;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=loadTranslations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadTranslations.js","sourceRoot":"","sources":["../../../../packages/mail-translation/src/loadTranslations.ts"],"names":[],"mappings":";;AAWA,4CAkCC;AA7CD,0CAA+C;AAC/C,+BAA8C;AAUvC,KAAK,UAAU,gBAAgB,CAAC,gBAAyB;IAC9D,MAAM,eAAe,GAAoB,EAAE,CAAA;IAE3C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAO,EAAC,gBAAgB,CAAC,CAAA;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,cAAO,EAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAA;QAEjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,kCAAkC,gBAAgB,oCAAoC,CAAC,CAAA;YACpG,OAAO,eAAe,CAAA;QACxB,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACxC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;YAE7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;gBAChD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBACxC,eAAe,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,mCAAmC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAA;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,KAAK,oCAAoC,CAAC,CAAA;QACvF,OAAO,eAAe,CAAA;IACxB,CAAC;AACH,CAAC"}
|
package/src/processTemplate.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processTemplate = processTemplate;
|
|
4
|
-
const compileMjml_1 = require("./compileMjml");
|
|
5
|
-
const generateOutputTemplates_1 = require("./generateOutputTemplates");
|
|
6
|
-
const processTranslations_1 = require("./processTranslations");
|
|
7
|
-
function processTemplate({ template, translationData, outputMode, defaultLanguage, kratosLanguageVariable, mailsPath, }) {
|
|
8
|
-
const availableLanguages = Object.keys(translationData);
|
|
9
|
-
const languagesToProcess = availableLanguages.length > 0 ? availableLanguages : [defaultLanguage];
|
|
10
|
-
const mjmlCompileResult = template.isPlaintext
|
|
11
|
-
? undefined
|
|
12
|
-
: (0, compileMjml_1.compileMjml)({ mjmlContent: template.content, filePath: mailsPath });
|
|
13
|
-
const content = template.isPlaintext ? template.content : (mjmlCompileResult?.html ?? "");
|
|
14
|
-
const translatedTemplates = languagesToProcess.map(language => {
|
|
15
|
-
const translations = language ? (translationData[language] ?? {}) : {};
|
|
16
|
-
const translatedContent = (0, processTranslations_1.processTranslations)({ template: content, translations, language });
|
|
17
|
-
return {
|
|
18
|
-
name: template.name,
|
|
19
|
-
content: translatedContent,
|
|
20
|
-
isPlaintext: template.isPlaintext,
|
|
21
|
-
language,
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
const outputTemplates = (0, generateOutputTemplates_1.generateOutputTemplates)({
|
|
25
|
-
translatedTemplates,
|
|
26
|
-
outputMode,
|
|
27
|
-
defaultLanguage,
|
|
28
|
-
kratosLanguageVariable,
|
|
29
|
-
});
|
|
30
|
-
return {
|
|
31
|
-
name: template.name,
|
|
32
|
-
mjmlParseErrors: mjmlCompileResult?.mjmlParseErrors ?? [],
|
|
33
|
-
outputTemplates,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=processTemplate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processTemplate.js","sourceRoot":"","sources":["../../../../packages/mail-translation/src/processTemplate.ts"],"names":[],"mappings":";;AAyBA,0CAiDC;AA1ED,+CAA2D;AAE3D,uEAAmF;AAEnF,+DAA2D;AAqB3D,SAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,eAAe,EACf,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,SAAS,GAQV;IACC,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACvD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IAEjG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW;QAC5C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAA,yBAAW,EAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;IAEvE,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;IAEzF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAEtE,MAAM,iBAAiB,GAAG,IAAA,yCAAmB,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE5F,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ;SACT,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,IAAA,iDAAuB,EAAC;QAC9C,mBAAmB;QACnB,UAAU;QACV,eAAe;QACf,sBAAsB;KACvB,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,eAAe,EAAE,iBAAiB,EAAE,eAAe,IAAI,EAAE;QACzD,eAAe;KAChB,CAAA;AACH,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processTranslations = processTranslations;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const intl_messageformat_1 = tslib_1.__importDefault(require("intl-messageformat"));
|
|
6
|
-
function processTranslations({ template, translations, language, }) {
|
|
7
|
-
const translationRegex = /\(\(t\s+['"]([^'"]+)['"]\s*(?:,\s*(\{.*?\}))?\s*\)\)/g;
|
|
8
|
-
const processedTemplate = template.replace(translationRegex, (match, key, jsonParams) => {
|
|
9
|
-
const translation = translations[key];
|
|
10
|
-
if (!translation || !language) {
|
|
11
|
-
console.warn(`Translation is missing for key "${key}"` + (language ? ` for "${language}" language` : ""));
|
|
12
|
-
return key;
|
|
13
|
-
}
|
|
14
|
-
if (jsonParams && language) {
|
|
15
|
-
try {
|
|
16
|
-
const params = JSON.parse(jsonParams);
|
|
17
|
-
const formatter = new intl_messageformat_1.default(translation, language);
|
|
18
|
-
return formatter.format(params);
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
console.warn(`Error parsing JSON parameters or formatting message for key "${key}":`, error);
|
|
22
|
-
return key;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
return translation;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
return processedTemplate;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=processTranslations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"processTranslations.js","sourceRoot":"","sources":["../../../../packages/mail-translation/src/processTranslations.ts"],"names":[],"mappings":";;AAGA,kDAkCC;;AArCD,oFAAkD;AAGlD,SAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,YAAY,EACZ,QAAQ,GAKT;IACC,MAAM,gBAAgB,GAAG,uDAAuD,CAAA;IAEhF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;QACtF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACzG,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;gBACrC,MAAM,SAAS,GAAG,IAAI,4BAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBAC9D,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,gEAAgE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC5F,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,CAAA;QACpB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,iBAAiB,CAAA;AAC1B,CAAC"}
|
package/src/saveOutputs.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.saveOutputs = saveOutputs;
|
|
4
|
-
const promises_1 = require("fs/promises");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
async function saveOutputs({ processedTemplates, outputPath, }) {
|
|
7
|
-
await (0, promises_1.mkdir)(outputPath, { recursive: true });
|
|
8
|
-
const outputTemplates = processedTemplates.flatMap(processedTemplate => processedTemplate.outputTemplates);
|
|
9
|
-
await Promise.all(outputTemplates.map(template => (0, promises_1.writeFile)((0, path_1.join)(outputPath, template.filename), template.content, "utf8")));
|
|
10
|
-
for (const processedTemplate of processedTemplates) {
|
|
11
|
-
if (processedTemplate.mjmlParseErrors.length > 0) {
|
|
12
|
-
console.warn(`Errors in ${processedTemplate.name}:`, processedTemplate.mjmlParseErrors);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=saveOutputs.js.map
|
package/src/saveOutputs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"saveOutputs.js","sourceRoot":"","sources":["../../../../packages/mail-translation/src/saveOutputs.ts"],"names":[],"mappings":";;AAIA,kCAoBC;AAxBD,0CAA8C;AAC9C,+BAA2B;AAGpB,KAAK,UAAU,WAAW,CAAC,EAChC,kBAAkB,EAClB,UAAU,GAIX;IACC,MAAM,IAAA,gBAAK,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE5C,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAA;IAE1G,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAC1G,CAAA;IAED,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,IAAI,iBAAiB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,aAAa,iBAAiB,CAAC,IAAI,GAAG,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;AACH,CAAC"}
|