@taon-dev/i18n 21.0.21 → 21.0.23
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/VERIFIED-BUILD-DATA.jsonc +5 -0
- package/assets/shared/shared_folder_info.txt +7 -0
- package/browser/README.md +24 -0
- package/browser/fesm2022/i18n-browser.mjs +1567 -0
- package/browser/fesm2022/i18n-browser.mjs.map +1 -0
- package/browser/package.json +20 -1
- package/browser/types/i18n-browser.d.ts +195 -0
- package/browser-prod/README.md +24 -0
- package/browser-prod/fesm2022/i18n-browser-prod.mjs +1556 -0
- package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +1 -0
- package/browser-prod/package.json +20 -2
- package/browser-prod/types/i18n-browser-prod.d.ts +189 -0
- package/browser-prod.re-export.json +1 -0
- package/browser-prod.split-namespaces.json +28 -0
- package/cli.d.ts +1 -0
- package/cli.js +8 -0
- package/cli.js.map +1 -0
- package/html/app/main-page/main-page.container.html +4 -0
- package/html/assets/generated/pwa/html-pwa.html +60 -0
- package/html/imports.html +3 -0
- package/index.d.ts +3 -0
- package/index.js +20 -0
- package/index.js.map +1 -0
- package/lib/build-info._auto-generated_.d.ts +24 -0
- package/lib/build-info._auto-generated_.js +30 -0
- package/lib/build-info._auto-generated_.js.map +1 -0
- package/lib/env/env.angular-node-app.d.ts +67 -0
- package/lib/env/env.angular-node-app.js +141 -0
- package/lib/env/env.angular-node-app.js.map +1 -0
- package/lib/env/env.docs-webapp.d.ts +67 -0
- package/lib/env/env.docs-webapp.js +141 -0
- package/lib/env/env.docs-webapp.js.map +1 -0
- package/lib/env/env.electron-app.d.ts +67 -0
- package/lib/env/env.electron-app.js +141 -0
- package/lib/env/env.electron-app.js.map +1 -0
- package/lib/env/env.mobile-app.d.ts +67 -0
- package/lib/env/env.mobile-app.js +141 -0
- package/lib/env/env.mobile-app.js.map +1 -0
- package/lib/env/env.npm-lib-and-cli-tool.d.ts +67 -0
- package/lib/env/env.npm-lib-and-cli-tool.js +141 -0
- package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib/env/env.vscode-plugin.d.ts +67 -0
- package/lib/env/env.vscode-plugin.js +141 -0
- package/lib/env/env.vscode-plugin.js.map +1 -0
- package/lib/env/index.d.ts +6 -0
- package/lib/env/index.js +23 -0
- package/lib/env/index.js.map +1 -0
- package/lib/index._auto-generated_.d.ts +11 -0
- package/lib/index._auto-generated_.js +33 -0
- package/lib/index._auto-generated_.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +20 -0
- package/lib/index.js.map +1 -0
- package/lib/package.json +1 -1
- package/lib/start-cli.d.ts +7 -0
- package/lib/start-cli.js +48 -0
- package/lib/start-cli.js.map +1 -0
- package/lib/translate.directive.d.ts +16 -0
- package/lib/translate.pipe.d.ts +10 -0
- package/lib/translate.service.d.ts +13 -0
- package/lib/translation-manager.d.ts +33 -0
- package/lib/translation-manager.js +119 -0
- package/lib/translation-manager.js.map +1 -0
- package/lib/translation.d.ts +44 -0
- package/lib/translation.js +253 -0
- package/lib/translation.js.map +1 -0
- package/lib/translation.models.d.ts +25 -0
- package/lib/translation.models.js +3 -0
- package/lib/translation.models.js.map +1 -0
- package/lib/utils-i18n-extract-gettext-translate-from-html.d.ts +4 -0
- package/lib/utils-i18n-extract-gettext-translate-from-html.js +465 -0
- package/lib/utils-i18n-extract-gettext-translate-from-html.js.map +1 -0
- package/lib/utils-i18n-extract-gettext-translate-from-html.test.d.ts +1 -0
- package/lib/utils-i18n-extract-gettext-translate-from-html.test.js +282 -0
- package/lib/utils-i18n-extract-gettext-translate-from-html.test.js.map +1 -0
- package/lib/utils-i18n-html.d.ts +5 -0
- package/lib/utils-i18n-html.js +125 -0
- package/lib/utils-i18n-html.js.map +1 -0
- package/lib/utils-i18n-html.test.d.ts +1 -0
- package/lib/utils-i18n-html.test.js +147 -0
- package/lib/utils-i18n-html.test.js.map +1 -0
- package/lib/utils-po-file.d.ts +8 -0
- package/lib/utils-po-file.js +245 -0
- package/lib/utils-po-file.js.map +1 -0
- package/lib/utils-po-file.test.d.ts +1 -0
- package/lib/utils-po-file.test.js +239 -0
- package/lib/utils-po-file.test.js.map +1 -0
- package/lib-esm/app/main-page/main-page.active.context.d.ts +19 -0
- package/lib-esm/app/main-page/main-page.active.context.js +19 -0
- package/lib-esm/app/main-page/main-page.active.context.js.map +1 -0
- package/lib-esm/app.d.ts +3 -0
- package/lib-esm/app.electron.d.ts +1 -0
- package/lib-esm/app.electron.js +2 -0
- package/lib-esm/app.electron.js.map +1 -0
- package/lib-esm/app.hosts.d.ts +147 -0
- package/lib-esm/app.hosts.js +217 -0
- package/lib-esm/app.hosts.js.map +1 -0
- package/lib-esm/app.js +460 -0
- package/lib-esm/app.js.map +1 -0
- package/lib-esm/app.vscode.d.ts +9 -0
- package/lib-esm/app.vscode.js +37 -0
- package/lib-esm/app.vscode.js.map +1 -0
- package/lib-esm/cli.d.ts +1 -0
- package/lib-esm/cli.js +4 -0
- package/lib-esm/cli.js.map +1 -0
- package/lib-esm/index.d.ts +3 -0
- package/lib-esm/index.js +4 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/lib/build-info._auto-generated_.d.ts +24 -0
- package/lib-esm/lib/build-info._auto-generated_.js +27 -0
- package/lib-esm/lib/build-info._auto-generated_.js.map +1 -0
- package/lib-esm/lib/env/env.angular-node-app.d.ts +67 -0
- package/lib-esm/lib/env/env.angular-node-app.js +137 -0
- package/lib-esm/lib/env/env.angular-node-app.js.map +1 -0
- package/lib-esm/lib/env/env.docs-webapp.d.ts +67 -0
- package/lib-esm/lib/env/env.docs-webapp.js +137 -0
- package/lib-esm/lib/env/env.docs-webapp.js.map +1 -0
- package/lib-esm/lib/env/env.electron-app.d.ts +67 -0
- package/lib-esm/lib/env/env.electron-app.js +137 -0
- package/lib-esm/lib/env/env.electron-app.js.map +1 -0
- package/lib-esm/lib/env/env.mobile-app.d.ts +67 -0
- package/lib-esm/lib/env/env.mobile-app.js +137 -0
- package/lib-esm/lib/env/env.mobile-app.js.map +1 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +67 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +137 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-esm/lib/env/env.vscode-plugin.d.ts +67 -0
- package/lib-esm/lib/env/env.vscode-plugin.js +137 -0
- package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -0
- package/lib-esm/lib/env/index.d.ts +6 -0
- package/lib-esm/lib/env/index.js +7 -0
- package/lib-esm/lib/env/index.js.map +1 -0
- package/lib-esm/lib/index._auto-generated_.d.ts +8 -0
- package/lib-esm/lib/index._auto-generated_.js +17 -0
- package/lib-esm/lib/index._auto-generated_.js.map +1 -0
- package/lib-esm/lib/index.d.ts +4 -0
- package/lib-esm/lib/index.js +4 -0
- package/lib-esm/lib/index.js.map +1 -0
- package/lib-esm/lib/start-cli.d.ts +7 -0
- package/lib-esm/lib/start-cli.js +45 -0
- package/lib-esm/lib/start-cli.js.map +1 -0
- package/lib-esm/lib/translation-manager.d.ts +33 -0
- package/lib-esm/lib/translation-manager.js +115 -0
- package/lib-esm/lib/translation-manager.js.map +1 -0
- package/lib-esm/lib/translation.d.ts +43 -0
- package/lib-esm/lib/translation.js +249 -0
- package/lib-esm/lib/translation.js.map +1 -0
- package/lib-esm/lib/translation.models.d.ts +25 -0
- package/lib-esm/lib/translation.models.js +2 -0
- package/lib-esm/lib/translation.models.js.map +1 -0
- package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.d.ts +4 -0
- package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js +462 -0
- package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js.map +1 -0
- package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.d.ts +1 -0
- package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.js +280 -0
- package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.js.map +1 -0
- package/lib-esm/lib/utils-i18n-html.d.ts +5 -0
- package/lib-esm/lib/utils-i18n-html.js +122 -0
- package/lib-esm/lib/utils-i18n-html.js.map +1 -0
- package/lib-esm/lib/utils-i18n-html.test.d.ts +1 -0
- package/lib-esm/lib/utils-i18n-html.test.js +145 -0
- package/lib-esm/lib/utils-i18n-html.test.js.map +1 -0
- package/lib-esm/lib/utils-po-file.d.ts +8 -0
- package/lib-esm/lib/utils-po-file.js +242 -0
- package/lib-esm/lib/utils-po-file.js.map +1 -0
- package/lib-esm/lib/utils-po-file.test.d.ts +1 -0
- package/lib-esm/lib/utils-po-file.test.js +237 -0
- package/lib-esm/lib/utils-po-file.test.js.map +1 -0
- package/lib-prod/build-info._auto-generated_.d.ts +24 -0
- package/lib-prod/build-info._auto-generated_.js +27 -0
- package/lib-prod/build-info._auto-generated_.js.map +1 -0
- package/lib-prod/env/env.angular-node-app.d.ts +67 -0
- package/lib-prod/env/env.angular-node-app.js +137 -0
- package/lib-prod/env/env.angular-node-app.js.map +1 -0
- package/lib-prod/env/env.docs-webapp.d.ts +67 -0
- package/lib-prod/env/env.docs-webapp.js +137 -0
- package/lib-prod/env/env.docs-webapp.js.map +1 -0
- package/lib-prod/env/env.electron-app.d.ts +67 -0
- package/lib-prod/env/env.electron-app.js +137 -0
- package/lib-prod/env/env.electron-app.js.map +1 -0
- package/lib-prod/env/env.mobile-app.d.ts +67 -0
- package/lib-prod/env/env.mobile-app.js +137 -0
- package/lib-prod/env/env.mobile-app.js.map +1 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +67 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +137 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-prod/env/env.vscode-plugin.d.ts +67 -0
- package/lib-prod/env/env.vscode-plugin.js +137 -0
- package/lib-prod/env/env.vscode-plugin.js.map +1 -0
- package/lib-prod/env/index.d.ts +6 -0
- package/lib-prod/env/index.js +7 -0
- package/lib-prod/env/index.js.map +1 -0
- package/lib-prod/index._auto-generated_.d.ts +8 -0
- package/lib-prod/index._auto-generated_.js +17 -0
- package/lib-prod/index._auto-generated_.js.map +1 -0
- package/lib-prod/index.d.ts +4 -0
- package/lib-prod/index.js +4 -0
- package/lib-prod/index.js.map +1 -0
- package/lib-prod/package.json +1 -1
- package/lib-prod/start-cli.d.ts +7 -0
- package/lib-prod/start-cli.js +45 -0
- package/lib-prod/start-cli.js.map +1 -0
- package/lib-prod/translation-manager.d.ts +33 -0
- package/lib-prod/translation-manager.js +115 -0
- package/lib-prod/translation-manager.js.map +1 -0
- package/lib-prod/translation.d.ts +43 -0
- package/lib-prod/translation.js +249 -0
- package/lib-prod/translation.js.map +1 -0
- package/lib-prod/translation.models.d.ts +25 -0
- package/lib-prod/translation.models.js +2 -0
- package/lib-prod/translation.models.js.map +1 -0
- package/lib-prod/utils-i18n-extract-gettext-translate-from-html.d.ts +2 -0
- package/lib-prod/utils-i18n-extract-gettext-translate-from-html.js +460 -0
- package/lib-prod/utils-i18n-extract-gettext-translate-from-html.js.map +1 -0
- package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.d.ts +1 -0
- package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.js +280 -0
- package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.js.map +1 -0
- package/lib-prod/utils-i18n-html.d.ts +3 -0
- package/lib-prod/utils-i18n-html.js +119 -0
- package/lib-prod/utils-i18n-html.js.map +1 -0
- package/lib-prod/utils-i18n-html.test.d.ts +1 -0
- package/lib-prod/utils-i18n-html.test.js +145 -0
- package/lib-prod/utils-i18n-html.test.js.map +1 -0
- package/lib-prod/utils-po-file.d.ts +6 -0
- package/lib-prod/utils-po-file.js +236 -0
- package/lib-prod/utils-po-file.js.map +1 -0
- package/lib-prod/utils-po-file.test.d.ts +1 -0
- package/lib-prod/utils-po-file.test.js +237 -0
- package/lib-prod/utils-po-file.test.js.map +1 -0
- package/lib-prod.re-export.json +1 -0
- package/lib-prod.split-namespaces.json +28 -0
- package/package.json +1 -1
- package/scss/app/main-page/main-page.container.scss +3 -0
- package/scss/global.scss +94 -0
- package/scss/index.scss +2 -0
- package/scss/lib/index.scss +2 -0
- package/scss/vars.scss +7 -0
- package/src.js +4 -0
- package/websql/README.md +24 -0
- package/websql/fesm2022/i18n-websql.mjs +1567 -0
- package/websql/fesm2022/i18n-websql.mjs.map +1 -0
- package/websql/package.json +20 -1
- package/websql/types/i18n-websql.d.ts +195 -0
- package/websql-prod/README.md +24 -0
- package/websql-prod/fesm2022/i18n-websql-prod.mjs +1556 -0
- package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +1 -0
- package/websql-prod/package.json +20 -2
- package/websql-prod/types/i18n-websql-prod.d.ts +189 -0
- package/websql-prod.re-export.json +1 -0
- package/websql-prod.split-namespaces.json +28 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { mkdirSync, writeFileSync } from 'fs'; // @backend
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
export var UtilsPoFile;
|
|
4
|
+
(function (UtilsPoFile) {
|
|
5
|
+
//#region generate po files
|
|
6
|
+
function generatePoFiles(files, locales, destinationAbsFolderPath) {
|
|
7
|
+
//#region @backendFunc
|
|
8
|
+
mkdirSync(destinationAbsFolderPath, { recursive: true });
|
|
9
|
+
for (const locale of locales) {
|
|
10
|
+
const poContent = generatePoFileContent(files, locale);
|
|
11
|
+
const poFilePath = join(destinationAbsFolderPath, `${locale}.po`);
|
|
12
|
+
writeFileSync(poFilePath, poContent, 'utf8');
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
}
|
|
16
|
+
UtilsPoFile.generatePoFiles = generatePoFiles;
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region generate po file content
|
|
19
|
+
function generatePoFileContent(files, locale) {
|
|
20
|
+
//#region @backendFunc
|
|
21
|
+
const entries = new Map();
|
|
22
|
+
for (const file of files) {
|
|
23
|
+
for (const tag of file.tags) {
|
|
24
|
+
const context = tag.context || '';
|
|
25
|
+
const key = `${context}\u0004${tag.gettextString}`;
|
|
26
|
+
let entry = entries.get(key);
|
|
27
|
+
if (!entry) {
|
|
28
|
+
entry = {
|
|
29
|
+
msgid: tag.gettextString,
|
|
30
|
+
context: tag.context,
|
|
31
|
+
translation: tag.translation,
|
|
32
|
+
refs: [],
|
|
33
|
+
};
|
|
34
|
+
entries.set(key, entry);
|
|
35
|
+
}
|
|
36
|
+
entry.refs.push(`${file.fileRelativePath}:${tag.lineNumber}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const lines = [];
|
|
40
|
+
lines.push('msgid ""');
|
|
41
|
+
lines.push('msgstr ""');
|
|
42
|
+
lines.push(`"Language: ${escapePoString(locale)}\\n"`);
|
|
43
|
+
lines.push('"Content-Type: text/plain; charset=UTF-8\\n"');
|
|
44
|
+
lines.push('"Content-Transfer-Encoding: 8bit\\n"');
|
|
45
|
+
lines.push('');
|
|
46
|
+
for (const entry of entries.values()) {
|
|
47
|
+
for (const ref of entry.refs) {
|
|
48
|
+
lines.push(`#: ${ref}`);
|
|
49
|
+
}
|
|
50
|
+
if (entry.context) {
|
|
51
|
+
lines.push(`msgctxt "${escapePoString(entry.context)}"`);
|
|
52
|
+
}
|
|
53
|
+
lines.push(`msgid "${escapePoString(entry.msgid)}"`);
|
|
54
|
+
lines.push(`msgstr "${entry.translation || ''}"`);
|
|
55
|
+
lines.push('');
|
|
56
|
+
}
|
|
57
|
+
return lines.join('\n');
|
|
58
|
+
//#endregion
|
|
59
|
+
}
|
|
60
|
+
UtilsPoFile.generatePoFileContent = generatePoFileContent;
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region extract po to json
|
|
63
|
+
function extractPoToJson(poFileContent) {
|
|
64
|
+
//#region @backendFunc
|
|
65
|
+
const entries = parsePoEntries(poFileContent);
|
|
66
|
+
const filesMap = new Map();
|
|
67
|
+
for (const entry of entries) {
|
|
68
|
+
if (!entry.msgid)
|
|
69
|
+
continue;
|
|
70
|
+
for (const ref of entry.refs) {
|
|
71
|
+
const parsedRef = parsePoRef(ref);
|
|
72
|
+
if (!parsedRef)
|
|
73
|
+
continue;
|
|
74
|
+
let file = filesMap.get(parsedRef.fileAbsPath);
|
|
75
|
+
if (!file) {
|
|
76
|
+
file = {
|
|
77
|
+
fileAbsPath: parsedRef.fileAbsPath,
|
|
78
|
+
tags: [],
|
|
79
|
+
};
|
|
80
|
+
filesMap.set(parsedRef.fileAbsPath, file);
|
|
81
|
+
}
|
|
82
|
+
file.tags.push({
|
|
83
|
+
lineNumber: parsedRef.lineNumber,
|
|
84
|
+
gettextString: entry.msgid,
|
|
85
|
+
context: entry.msgctxt,
|
|
86
|
+
translation: entry.msgstr || undefined,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return [...filesMap.values()];
|
|
91
|
+
//#endregion
|
|
92
|
+
}
|
|
93
|
+
UtilsPoFile.extractPoToJson = extractPoToJson;
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region generate translation override interface
|
|
96
|
+
function generateTranslationOverrideInterface(file, interfaceName, locale) {
|
|
97
|
+
//#region @backendFunc
|
|
98
|
+
const contexts = new Map();
|
|
99
|
+
for (const tag of file.tags) {
|
|
100
|
+
const context = tag.context ?? '';
|
|
101
|
+
let arr = contexts.get(context);
|
|
102
|
+
if (!arr) {
|
|
103
|
+
arr = [];
|
|
104
|
+
contexts.set(context, arr);
|
|
105
|
+
}
|
|
106
|
+
if (!arr.includes(tag.gettextString)) {
|
|
107
|
+
arr.push(tag.gettextString);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const lines = [];
|
|
111
|
+
lines.push(`export interface ${interfaceName} {`);
|
|
112
|
+
lines.push(` "${escapeTs(locale)}": {`);
|
|
113
|
+
for (const [context, strings] of contexts) {
|
|
114
|
+
lines.push(` "${escapeTs(context)}": {`);
|
|
115
|
+
for (const text of strings.sort()) {
|
|
116
|
+
lines.push(` "${escapeTs(text)}"?: string;`);
|
|
117
|
+
}
|
|
118
|
+
lines.push(` };`);
|
|
119
|
+
lines.push('');
|
|
120
|
+
}
|
|
121
|
+
lines.push(` };`);
|
|
122
|
+
lines.push(`}`);
|
|
123
|
+
return lines.join('\n');
|
|
124
|
+
//#endregion
|
|
125
|
+
}
|
|
126
|
+
UtilsPoFile.generateTranslationOverrideInterface = generateTranslationOverrideInterface;
|
|
127
|
+
function escapeTs(value) {
|
|
128
|
+
return value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region merge gettext file
|
|
132
|
+
function mergeGettextFile(jsonContent1FromTsHtml, json2ContentFromPoFileModifedByUser) {
|
|
133
|
+
//#region @backendFunc
|
|
134
|
+
const oldTagsByKey = new Map();
|
|
135
|
+
for (const oldTag of json2ContentFromPoFileModifedByUser?.tags ?? []) {
|
|
136
|
+
oldTagsByKey.set(getGettextTagKey(oldTag), oldTag);
|
|
137
|
+
}
|
|
138
|
+
return {
|
|
139
|
+
fileAbsPath: jsonContent1FromTsHtml.fileAbsPath,
|
|
140
|
+
fileRelativePath: jsonContent1FromTsHtml.fileRelativePath,
|
|
141
|
+
isAppFile: jsonContent1FromTsHtml.isAppFile,
|
|
142
|
+
tags: jsonContent1FromTsHtml.tags.map(sourceTag => {
|
|
143
|
+
const oldTag = oldTagsByKey.get(getGettextTagKey(sourceTag));
|
|
144
|
+
return {
|
|
145
|
+
...sourceTag,
|
|
146
|
+
lineNumber: sourceTag.lineNumber,
|
|
147
|
+
translation: oldTag?.translation || undefined,
|
|
148
|
+
};
|
|
149
|
+
}),
|
|
150
|
+
};
|
|
151
|
+
//#endregion
|
|
152
|
+
}
|
|
153
|
+
UtilsPoFile.mergeGettextFile = mergeGettextFile;
|
|
154
|
+
//#endregion
|
|
155
|
+
//#region models & helpers
|
|
156
|
+
function getGettextTagKey(tag) {
|
|
157
|
+
return `${tag.context ?? ''}\u0004${tag.gettextString}`;
|
|
158
|
+
}
|
|
159
|
+
function parsePoEntries(po) {
|
|
160
|
+
//#region @backendFunc
|
|
161
|
+
const lines = po.split(/\r?\n/);
|
|
162
|
+
const entries = [];
|
|
163
|
+
let current = { refs: [] };
|
|
164
|
+
let activeField = null;
|
|
165
|
+
const flush = () => {
|
|
166
|
+
if (current.refs.length ||
|
|
167
|
+
current.msgctxt !== undefined ||
|
|
168
|
+
current.msgid !== undefined ||
|
|
169
|
+
current.msgstr !== undefined) {
|
|
170
|
+
entries.push(current);
|
|
171
|
+
}
|
|
172
|
+
current = { refs: [] };
|
|
173
|
+
activeField = null;
|
|
174
|
+
};
|
|
175
|
+
for (const line of lines) {
|
|
176
|
+
const trimmed = line.trim();
|
|
177
|
+
if (!trimmed) {
|
|
178
|
+
flush();
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
if (trimmed.startsWith('#:')) {
|
|
182
|
+
current.refs.push(...trimmed.slice(2).trim().split(/\s+/));
|
|
183
|
+
activeField = null;
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
if (trimmed.startsWith('msgctxt')) {
|
|
187
|
+
current.msgctxt = readPoQuoted(trimmed.slice('msgctxt'.length).trim());
|
|
188
|
+
activeField = 'msgctxt';
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
if (trimmed.startsWith('msgid')) {
|
|
192
|
+
current.msgid = readPoQuoted(trimmed.slice('msgid'.length).trim());
|
|
193
|
+
activeField = 'msgid';
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
if (trimmed.startsWith('msgstr')) {
|
|
197
|
+
current.msgstr = readPoQuoted(trimmed.slice('msgstr'.length).trim());
|
|
198
|
+
activeField = 'msgstr';
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
if (trimmed.startsWith('"') && activeField) {
|
|
202
|
+
current[activeField] =
|
|
203
|
+
(current[activeField] ?? '') + readPoQuoted(trimmed);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
flush();
|
|
207
|
+
// skip header
|
|
208
|
+
return entries.filter(entry => !(entry.msgid === '' && !entry.refs.length));
|
|
209
|
+
//#endregion
|
|
210
|
+
}
|
|
211
|
+
function parsePoRef(ref) {
|
|
212
|
+
//#region @backendFunc
|
|
213
|
+
const match = ref.match(/^(.+):(\d+)$/);
|
|
214
|
+
if (!match)
|
|
215
|
+
return null;
|
|
216
|
+
return {
|
|
217
|
+
fileAbsPath: match[1],
|
|
218
|
+
lineNumber: Number(match[2]),
|
|
219
|
+
};
|
|
220
|
+
//#endregion
|
|
221
|
+
}
|
|
222
|
+
function escapePoString(value) {
|
|
223
|
+
return value
|
|
224
|
+
.replace(/\\/g, '\\\\')
|
|
225
|
+
.replace(/"/g, '\\"')
|
|
226
|
+
.replace(/\n/g, '\\n');
|
|
227
|
+
}
|
|
228
|
+
function readPoQuoted(value) {
|
|
229
|
+
const match = value.match(/^"([\s\S]*)"$/);
|
|
230
|
+
if (!match)
|
|
231
|
+
return '';
|
|
232
|
+
return unescapePoString(match[1]);
|
|
233
|
+
}
|
|
234
|
+
function unescapePoString(value) {
|
|
235
|
+
return value
|
|
236
|
+
.replace(/\\n/g, '\n')
|
|
237
|
+
.replace(/\\"/g, '"')
|
|
238
|
+
.replace(/\\\\/g, '\\');
|
|
239
|
+
}
|
|
240
|
+
//#endregion
|
|
241
|
+
})(UtilsPoFile || (UtilsPoFile = {}));
|
|
242
|
+
//# sourceMappingURL=utils-po-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-po-file.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { UtilsPoFile } from './utils-po-file';
|
|
2
|
+
describe('UtilsPoFile.extractPoToJson', () => {
|
|
3
|
+
it('extracts translations from msgstr', () => {
|
|
4
|
+
const po = `
|
|
5
|
+
msgid ""
|
|
6
|
+
msgstr ""
|
|
7
|
+
"Language: pl-PL\\n"
|
|
8
|
+
"Content-Type: text/plain; charset=UTF-8\\n"
|
|
9
|
+
|
|
10
|
+
#: src/lib/test.html:8
|
|
11
|
+
msgctxt "taon-ui"
|
|
12
|
+
msgid "You purchased"
|
|
13
|
+
msgstr "Kupiłeś"
|
|
14
|
+
|
|
15
|
+
#: src/lib/test.html:9
|
|
16
|
+
msgid "products"
|
|
17
|
+
msgstr "produkty"
|
|
18
|
+
|
|
19
|
+
#: src/lib/test.html:11
|
|
20
|
+
msgid "You purchased [[ howMany ]] products"
|
|
21
|
+
msgstr "Kupiłeś [[ howMany ]] produktów"
|
|
22
|
+
`;
|
|
23
|
+
expect(UtilsPoFile.extractPoToJson(po)).toEqual([
|
|
24
|
+
{
|
|
25
|
+
fileAbsPath: 'src/lib/test.html',
|
|
26
|
+
tags: [
|
|
27
|
+
{
|
|
28
|
+
lineNumber: 8,
|
|
29
|
+
gettextString: 'You purchased',
|
|
30
|
+
context: 'taon-ui',
|
|
31
|
+
translation: 'Kupiłeś',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
lineNumber: 9,
|
|
35
|
+
gettextString: 'products',
|
|
36
|
+
context: undefined,
|
|
37
|
+
translation: 'produkty',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
lineNumber: 11,
|
|
41
|
+
gettextString: 'You purchased [[ howMany ]] products',
|
|
42
|
+
context: undefined,
|
|
43
|
+
translation: 'Kupiłeś [[ howMany ]] produktów',
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
]);
|
|
48
|
+
});
|
|
49
|
+
it('keeps empty msgstr as undefined', () => {
|
|
50
|
+
const po = `
|
|
51
|
+
#: src/lib/test.html:1
|
|
52
|
+
msgid "Hello"
|
|
53
|
+
msgstr ""
|
|
54
|
+
`;
|
|
55
|
+
expect(UtilsPoFile.extractPoToJson(po)).toEqual([
|
|
56
|
+
{
|
|
57
|
+
fileAbsPath: 'src/lib/test.html',
|
|
58
|
+
tags: [
|
|
59
|
+
{
|
|
60
|
+
lineNumber: 1,
|
|
61
|
+
gettextString: 'Hello',
|
|
62
|
+
context: undefined,
|
|
63
|
+
translation: undefined,
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
]);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
describe('UtilsPoFile.mergeGettextFile', () => {
|
|
71
|
+
it('keeps translations from old po json and refreshes line numbers from source', () => {
|
|
72
|
+
const freshFromSource = {
|
|
73
|
+
fileAbsPath: 'c:/project/src/lib/test.component.html',
|
|
74
|
+
fileRelativePath: 'src/lib/test.component.html',
|
|
75
|
+
isAppFile: false,
|
|
76
|
+
tags: [
|
|
77
|
+
{
|
|
78
|
+
lineNumber: 20,
|
|
79
|
+
gettextString: 'You purchased',
|
|
80
|
+
context: 'taon-ui',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
lineNumber: 21,
|
|
84
|
+
gettextString: 'products',
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
};
|
|
88
|
+
const oldFromPo = {
|
|
89
|
+
fileAbsPath: 'src/lib/test.component.html',
|
|
90
|
+
tags: [
|
|
91
|
+
{
|
|
92
|
+
lineNumber: 8,
|
|
93
|
+
gettextString: 'You purchased',
|
|
94
|
+
context: 'taon-ui',
|
|
95
|
+
translation: 'Kupiłeś',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
lineNumber: 9,
|
|
99
|
+
gettextString: 'products',
|
|
100
|
+
translation: 'produkty',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
};
|
|
104
|
+
expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
|
|
105
|
+
fileAbsPath: 'c:/project/src/lib/test.component.html',
|
|
106
|
+
fileRelativePath: 'src/lib/test.component.html',
|
|
107
|
+
isAppFile: false,
|
|
108
|
+
tags: [
|
|
109
|
+
{
|
|
110
|
+
lineNumber: 20,
|
|
111
|
+
gettextString: 'You purchased',
|
|
112
|
+
context: 'taon-ui',
|
|
113
|
+
translation: 'Kupiłeś',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
lineNumber: 21,
|
|
117
|
+
gettextString: 'products',
|
|
118
|
+
translation: 'produkty',
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
it('returns fresh source tags when old po json does not exist', () => {
|
|
124
|
+
const freshFromSource = {
|
|
125
|
+
fileAbsPath: 'c:/project/src/lib/test.component.html',
|
|
126
|
+
fileRelativePath: 'src/lib/test.component.html',
|
|
127
|
+
isAppFile: false,
|
|
128
|
+
tags: [
|
|
129
|
+
{
|
|
130
|
+
lineNumber: 1,
|
|
131
|
+
gettextString: 'Hello',
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
};
|
|
135
|
+
expect(UtilsPoFile.mergeGettextFile(freshFromSource, null)).toEqual({
|
|
136
|
+
fileAbsPath: 'c:/project/src/lib/test.component.html',
|
|
137
|
+
fileRelativePath: 'src/lib/test.component.html',
|
|
138
|
+
isAppFile: false,
|
|
139
|
+
tags: [
|
|
140
|
+
{
|
|
141
|
+
lineNumber: 1,
|
|
142
|
+
gettextString: 'Hello',
|
|
143
|
+
translation: undefined,
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
it('does not keep translations for removed source strings', () => {
|
|
149
|
+
const freshFromSource = {
|
|
150
|
+
fileAbsPath: 'c:/project/src/lib/test.component.html',
|
|
151
|
+
tags: [
|
|
152
|
+
{
|
|
153
|
+
lineNumber: 1,
|
|
154
|
+
gettextString: 'Still exists',
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
};
|
|
158
|
+
const oldFromPo = {
|
|
159
|
+
fileAbsPath: 'src/lib/test.component.html',
|
|
160
|
+
tags: [
|
|
161
|
+
{
|
|
162
|
+
lineNumber: 1,
|
|
163
|
+
gettextString: 'Still exists',
|
|
164
|
+
translation: 'Nadal istnieje',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
lineNumber: 2,
|
|
168
|
+
gettextString: 'Removed',
|
|
169
|
+
translation: 'Usunięte',
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
};
|
|
173
|
+
expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
|
|
174
|
+
fileAbsPath: 'c:/project/src/lib/test.component.html',
|
|
175
|
+
fileRelativePath: undefined,
|
|
176
|
+
isAppFile: undefined,
|
|
177
|
+
tags: [
|
|
178
|
+
{
|
|
179
|
+
lineNumber: 1,
|
|
180
|
+
gettextString: 'Still exists',
|
|
181
|
+
translation: 'Nadal istnieje',
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
it('matches context and empty context separately', () => {
|
|
187
|
+
const freshFromSource = {
|
|
188
|
+
fileAbsPath: 'c:/project/src/lib/test.component.html',
|
|
189
|
+
tags: [
|
|
190
|
+
{
|
|
191
|
+
lineNumber: 1,
|
|
192
|
+
gettextString: 'Save',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
lineNumber: 2,
|
|
196
|
+
gettextString: 'Save',
|
|
197
|
+
context: 'admin',
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
};
|
|
201
|
+
const oldFromPo = {
|
|
202
|
+
fileAbsPath: 'src/lib/test.component.html',
|
|
203
|
+
tags: [
|
|
204
|
+
{
|
|
205
|
+
lineNumber: 10,
|
|
206
|
+
gettextString: 'Save',
|
|
207
|
+
translation: 'Zapisz',
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
lineNumber: 11,
|
|
211
|
+
gettextString: 'Save',
|
|
212
|
+
context: 'admin',
|
|
213
|
+
translation: 'Zapisz admina',
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
};
|
|
217
|
+
expect(UtilsPoFile.mergeGettextFile(freshFromSource, oldFromPo)).toEqual({
|
|
218
|
+
fileAbsPath: 'c:/project/src/lib/test.component.html',
|
|
219
|
+
fileRelativePath: undefined,
|
|
220
|
+
isAppFile: undefined,
|
|
221
|
+
tags: [
|
|
222
|
+
{
|
|
223
|
+
lineNumber: 1,
|
|
224
|
+
gettextString: 'Save',
|
|
225
|
+
translation: 'Zapisz',
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
lineNumber: 2,
|
|
229
|
+
gettextString: 'Save',
|
|
230
|
+
context: 'admin',
|
|
231
|
+
translation: 'Zapisz admina',
|
|
232
|
+
},
|
|
233
|
+
],
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
//# sourceMappingURL=utils-po-file.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-po-file.test.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autogenerated by current cli tool
|
|
3
|
+
*/
|
|
4
|
+
export declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
|
|
5
|
+
/**
|
|
6
|
+
* This value can be change in taon.jsonc (appId)
|
|
7
|
+
*/
|
|
8
|
+
export declare const APP_ID = "com.domain.example.i18n";
|
|
9
|
+
/**
|
|
10
|
+
* Autogenerated by current cli tool
|
|
11
|
+
*/
|
|
12
|
+
export declare const BUILD_BASE_HREF = "";
|
|
13
|
+
/**
|
|
14
|
+
* This value can be change in taon.jsonc (overrideNpmName)
|
|
15
|
+
*/
|
|
16
|
+
export declare const PROJECT_NPM_NAME = "@taon-dev/i18n";
|
|
17
|
+
/**
|
|
18
|
+
* Taon version from you project taon.json
|
|
19
|
+
*/
|
|
20
|
+
export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
|
|
21
|
+
/**
|
|
22
|
+
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
23
|
+
*/
|
|
24
|
+
export declare const CURRENT_PACKAGE_VERSION = "21.0.23";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
2
|
+
/**
|
|
3
|
+
* Autogenerated by current cli tool
|
|
4
|
+
*/
|
|
5
|
+
export const BUILD_FRAMEWORK_CLI_NAME = 'tnp';
|
|
6
|
+
/**
|
|
7
|
+
* This value can be change in taon.jsonc (appId)
|
|
8
|
+
*/
|
|
9
|
+
export const APP_ID = 'com.domain.example.i18n';
|
|
10
|
+
/**
|
|
11
|
+
* Autogenerated by current cli tool
|
|
12
|
+
*/
|
|
13
|
+
export const BUILD_BASE_HREF = '';
|
|
14
|
+
/**
|
|
15
|
+
* This value can be change in taon.jsonc (overrideNpmName)
|
|
16
|
+
*/
|
|
17
|
+
export const PROJECT_NPM_NAME = '@taon-dev/i18n';
|
|
18
|
+
/**
|
|
19
|
+
* Taon version from you project taon.json
|
|
20
|
+
*/
|
|
21
|
+
export const CURRENT_PACKAGE_TAON_VERSION = 'v21';
|
|
22
|
+
/**
|
|
23
|
+
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
24
|
+
*/
|
|
25
|
+
export const CURRENT_PACKAGE_VERSION = '21.0.23';
|
|
26
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
27
|
+
//# sourceMappingURL=build-info._auto-generated_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAC9C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,yBAAyB,CAAC;AAChD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AACjD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAClD;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAMjD,yCAAyC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export declare const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = "#fdebed";
|
|
2
|
+
export declare const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = "lds-default";
|
|
3
|
+
export declare const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = "i18n.example.domain.com";
|
|
4
|
+
export declare const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = "I 18 N";
|
|
5
|
+
export declare const ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN = true;
|
|
6
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = "angular-node-app";
|
|
7
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = "__";
|
|
8
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_ONLY: any;
|
|
9
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_END: any;
|
|
10
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_START: any;
|
|
11
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED: any;
|
|
12
|
+
export declare const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP: any;
|
|
13
|
+
export declare const ENV_ANGULAR_NODE_APP_INIT_BRANDING: any;
|
|
14
|
+
export declare const ENV_ANGULAR_NODE_APP_INIT_STRUCT: any;
|
|
15
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER: any;
|
|
16
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME: any;
|
|
17
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME: any;
|
|
18
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL: any;
|
|
19
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS: any;
|
|
20
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_SSR: any;
|
|
21
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_WEBSQL: any;
|
|
22
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_PROD: any;
|
|
23
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH: any;
|
|
24
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF: any;
|
|
25
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_WATCH: any;
|
|
26
|
+
export declare const ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE: any;
|
|
27
|
+
export declare const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER: any;
|
|
28
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY: any;
|
|
29
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES: any;
|
|
30
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY: any;
|
|
31
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE: any;
|
|
32
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS: any;
|
|
33
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY: any;
|
|
34
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS: any;
|
|
35
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE: any;
|
|
36
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE: any;
|
|
37
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS: any;
|
|
38
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS: any;
|
|
39
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES: any;
|
|
40
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION: any;
|
|
41
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE: any;
|
|
42
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER: any;
|
|
43
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY: any;
|
|
44
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL: any;
|
|
45
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE: any;
|
|
46
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG: any;
|
|
47
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME: any;
|
|
48
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP: any;
|
|
49
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH: any;
|
|
50
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY: any;
|
|
51
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH: any;
|
|
52
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION: any;
|
|
53
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES: any;
|
|
54
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING: any;
|
|
55
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS: any;
|
|
56
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH: any;
|
|
57
|
+
export declare const ENV_ANGULAR_NODE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH: any;
|
|
58
|
+
export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK: any;
|
|
59
|
+
export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS: any;
|
|
60
|
+
export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS: any;
|
|
61
|
+
export declare const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP: any;
|
|
62
|
+
export declare const ENV_ANGULAR_NODE_APP_PURPOSE: any;
|
|
63
|
+
export declare const ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION: any;
|
|
64
|
+
export declare const ENV_ANGULAR_NODE_APP_IS_CI_PROCESS: any;
|
|
65
|
+
export declare const ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER: any;
|
|
66
|
+
export declare const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER: any;
|
|
67
|
+
export declare const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB: any;
|