@keymanapp/kmc-package 18.0.17-alpha → 18.0.19-alpha

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.
Files changed (31) hide show
  1. package/build/src/compiler/cp1252.js +289 -288
  2. package/build/src/compiler/cp1252.js.map +1 -1
  3. package/build/src/compiler/kmp-compiler.js +494 -493
  4. package/build/src/compiler/kmp-compiler.js.map +1 -1
  5. package/build/src/compiler/kmp-inf-writer.js +145 -144
  6. package/build/src/compiler/kmp-inf-writer.js.map +1 -1
  7. package/build/src/compiler/kmx-keyboard-metadata.js +19 -18
  8. package/build/src/compiler/kmx-keyboard-metadata.js.map +1 -1
  9. package/build/src/compiler/markdown.js +49 -48
  10. package/build/src/compiler/markdown.js.map +1 -1
  11. package/build/src/compiler/package-compiler-messages.js +79 -78
  12. package/build/src/compiler/package-compiler-messages.js.map +1 -1
  13. package/build/src/compiler/package-keyboard-target-validator.js +45 -44
  14. package/build/src/compiler/package-keyboard-target-validator.js.map +1 -1
  15. package/build/src/compiler/package-metadata-collector.js +78 -77
  16. package/build/src/compiler/package-metadata-collector.js.map +1 -1
  17. package/build/src/compiler/package-metadata-updater.js +13 -12
  18. package/build/src/compiler/package-metadata-updater.js.map +1 -1
  19. package/build/src/compiler/package-validation.js +180 -179
  20. package/build/src/compiler/package-validation.js.map +1 -1
  21. package/build/src/compiler/package-version-validator.js +92 -91
  22. package/build/src/compiler/package-version-validator.js.map +1 -1
  23. package/build/src/compiler/redist-files.js +59 -58
  24. package/build/src/compiler/redist-files.js.map +1 -1
  25. package/build/src/compiler/web-keyboard-metadata.js +37 -36
  26. package/build/src/compiler/web-keyboard-metadata.js.map +1 -1
  27. package/build/src/compiler/windows-package-installer-compiler.js +180 -179
  28. package/build/src/compiler/windows-package-installer-compiler.js.map +1 -1
  29. package/build/src/main.js +7 -6
  30. package/build/src/main.js.map +1 -1
  31. package/package.json +3 -3
@@ -1,180 +1,181 @@
1
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="6950d2e1-61fb-5609-bc9a-a22ff2baf9a9")}catch(e){}}();
2
- import { KeymanFileTypes } from '@keymanapp/common-types';
3
- import { CompilerMessages } from './package-compiler-messages.js';
4
- import { keymanEngineForWindowsFiles, keymanForWindowsInstallerFiles, keymanForWindowsRedistFiles } from './redist-files.js';
5
- // The keyboard ID SHOULD adhere to this pattern:
6
- const KEYBOARD_ID_PATTERN_PACKAGE = /^[a-z_][a-z0-9_]*\.(kps|kmp)$/;
7
- // The model ID SHOULD adhere to this pattern:
8
- // author .bcp47 .uniq
9
- const MODEL_ID_PATTERN_PACKAGE = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.(kps|kmp)$/;
10
- // const MODEL_ID_PATTERN_JS = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.js$/;
11
- // const MODEL_ID_PATTERN_TS = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.ts$/;
12
- // const MODEL_ID_PATTERN_PROJECT = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.kpj$/;
13
- // "Content files" within the package should adhere to these pattern:
14
- const CONTENT_FILE_BASENAME_PATTERN = /^[a-z0-9_+.-]+$/i; // base names can be case insensitive
15
- const CONTENT_FILE_EXTENSION_PATTERN = /^(\.[a-z0-9_-]+)?$/; // extensions should be lower-case or empty
16
- /**
17
- * @internal
18
- */
19
- export class PackageValidation {
20
- callbacks;
21
- options;
22
- constructor(callbacks, options) {
23
- this.callbacks = callbacks;
24
- this.options = options;
25
- }
26
- validate(filename, kmpJson) {
27
- if (!this.checkForModelsAndKeyboardsInSamePackage(kmpJson)) {
28
- return false;
29
- }
30
- if (!this.checkKeyboards(filename, kmpJson)) {
31
- return false;
32
- }
33
- if (!this.checkLexicalModels(filename, kmpJson)) {
34
- return false;
35
- }
36
- if (!this.checkContentFiles(kmpJson)) {
37
- return false;
38
- }
39
- if (!this.checkPackageInfo(kmpJson)) {
40
- return false;
41
- }
42
- return true;
43
- }
44
- checkForDuplicatedOrNonMinimalLanguages(resourceType, id, languages) {
45
- let minimalTags = {};
46
- if (languages.length == 0) {
47
- if (resourceType == 'keyboard') {
48
- this.callbacks.reportMessage(CompilerMessages.Warn_KeyboardShouldHaveAtLeastOneLanguage({ id }));
49
- }
50
- else {
51
- this.callbacks.reportMessage(CompilerMessages.Error_ModelMustHaveAtLeastOneLanguage({ id }));
52
- return false;
53
- }
54
- }
55
- for (let lang of languages) {
56
- let locale;
57
- try {
58
- locale = new Intl.Locale(lang.id);
59
- }
60
- catch (e) {
61
- this.callbacks.reportMessage(CompilerMessages.Error_LanguageTagIsNotValid({ resourceType, id, lang: lang.id, e }));
62
- return false;
63
- }
64
- const minimalTag = locale.minimize().toString();
65
- if (minimalTag.toLowerCase() !== lang.id.toLowerCase()) {
66
- this.callbacks.reportMessage(CompilerMessages.Hint_LanguageTagIsNotMinimal({ resourceType, id, actual: lang.id, expected: minimalTag }));
67
- }
68
- if (minimalTags[minimalTag]) {
69
- this.callbacks.reportMessage(CompilerMessages.Hint_PackageShouldNotRepeatLanguages({ resourceType, id, minimalTag, firstTag: lang.id, secondTag: minimalTags[minimalTag] }));
70
- }
71
- else {
72
- minimalTags[minimalTag] = lang.id;
73
- }
74
- }
75
- return true;
76
- }
77
- checkForModelsAndKeyboardsInSamePackage(kmpJson) {
78
- if (kmpJson.lexicalModels?.length > 0 && kmpJson.keyboards?.length > 0) {
79
- this.callbacks.reportMessage(CompilerMessages.Error_PackageCannotContainBothModelsAndKeyboards());
80
- return false;
81
- }
82
- if (!kmpJson.lexicalModels?.length && !kmpJson.keyboards?.length) {
83
- // Note: we require at least 1 keyboard or model in the package. This may
84
- // change in the future if we start to use packages to distribute, e.g.
85
- // localizations or themes.
86
- this.callbacks.reportMessage(CompilerMessages.Error_PackageMustContainAModelOrAKeyboard());
87
- return false;
88
- }
89
- return true;
90
- }
91
- checkLexicalModels(filename, kmpJson) {
92
- if (!kmpJson.lexicalModels || kmpJson.lexicalModels.length == 0) {
93
- return true;
94
- }
95
- filename = this.callbacks.path.basename(filename);
96
- if (!MODEL_ID_PATTERN_PACKAGE.test(filename)) {
97
- this.callbacks.reportMessage(CompilerMessages.Warn_PackageNameDoesNotFollowLexicalModelConventions({ filename }));
98
- }
99
- for (let model of kmpJson.lexicalModels) {
100
- if (!this.checkForDuplicatedOrNonMinimalLanguages('model', model.id, model.languages)) {
101
- return false;
102
- }
103
- }
104
- return true;
105
- }
106
- checkKeyboards(filename, kmpJson) {
107
- if (!kmpJson.keyboards || kmpJson.keyboards.length == 0) {
108
- return true;
109
- }
110
- filename = this.callbacks.path.basename(filename);
111
- if (!KEYBOARD_ID_PATTERN_PACKAGE.test(filename)) {
112
- this.callbacks.reportMessage(CompilerMessages.Warn_PackageNameDoesNotFollowKeyboardConventions({ filename }));
113
- }
114
- for (let keyboard of kmpJson.keyboards) {
115
- if (!this.checkForDuplicatedOrNonMinimalLanguages('keyboard', keyboard.id, keyboard.languages)) {
116
- return false;
117
- }
118
- // Note: package-version-validation verifies that there is a corresponding
119
- // content file for each keyboard
120
- }
121
- return true;
122
- }
123
- checkContentFiles(kmpJson) {
124
- for (let file of kmpJson.files) {
125
- if (!this.checkContentFile(file)) {
126
- return false;
127
- }
128
- }
129
- return true;
130
- }
131
- checkContentFile(file) {
132
- const filename = this.callbacks.path.basename(file.name);
133
- const ext = this.callbacks.path.extname(filename);
134
- const base = filename.substring(0, filename.length - ext.length);
135
- if (this.options.checkFilenameConventions) {
136
- if (!CONTENT_FILE_BASENAME_PATTERN.test(base) || !CONTENT_FILE_EXTENSION_PATTERN.test(ext)) {
137
- this.callbacks.reportMessage(CompilerMessages.Warn_FileInPackageDoesNotFollowFilenameConventions({ filename }));
138
- }
139
- }
140
- if (!this.checkIfContentFileIsDangerous(file)) {
141
- return false;
142
- }
143
- return true;
144
- }
145
- checkIfContentFileIsDangerous(file) {
146
- const filename = this.callbacks.path.basename(file.name).toLowerCase();
147
- // # Test for inclusion of redistributable files
148
- if (keymanForWindowsInstallerFiles.includes(filename) ||
149
- keymanForWindowsRedistFiles.includes(filename) ||
150
- keymanEngineForWindowsFiles.includes(filename)) {
151
- this.callbacks.reportMessage(CompilerMessages.Warn_RedistFileShouldNotBeInPackage({ filename }));
152
- }
153
- // # Test for inclusion of .doc or .docx files
154
- if (filename.match(/\.doc(x?)$/)) {
155
- this.callbacks.reportMessage(CompilerMessages.Warn_DocFileDangerous({ filename }));
156
- }
157
- // # Test for inclusion of keyboard source files
158
- //
159
- // We treat this as a hint, because it's not a dangerous problem, just
160
- // something that suggests that perhaps they are trying to distribute the
161
- // wrong files.
162
- //
163
- // Note: we allow .xml in the package because there are other files
164
- // which may be valid, not just LDML keyboards
165
- const fileType = KeymanFileTypes.sourceTypeFromFilename(file.name);
166
- if (fileType !== null && fileType !== ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */) {
167
- this.callbacks.reportMessage(CompilerMessages.Hint_PackageContainsSourceFile({ filename: file.name }));
168
- }
169
- return true;
170
- }
171
- checkPackageInfo(file) {
172
- if (!file.info || !file.info.name || !file.info.name.description.trim()) {
173
- this.callbacks.reportMessage(CompilerMessages.Error_PackageNameCannotBeBlank());
174
- return false;
175
- }
176
- return true;
177
- }
178
- }
179
- //# debugId=6950d2e1-61fb-5609-bc9a-a22ff2baf9a9
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="23f9afaa-cea5-5f81-8a88-12f3b0eb5897")}catch(e){}}();
3
+ import { KeymanFileTypes } from '@keymanapp/common-types';
4
+ import { CompilerMessages } from './package-compiler-messages.js';
5
+ import { keymanEngineForWindowsFiles, keymanForWindowsInstallerFiles, keymanForWindowsRedistFiles } from './redist-files.js';
6
+ // The keyboard ID SHOULD adhere to this pattern:
7
+ const KEYBOARD_ID_PATTERN_PACKAGE = /^[a-z_][a-z0-9_]*\.(kps|kmp)$/;
8
+ // The model ID SHOULD adhere to this pattern:
9
+ // author .bcp47 .uniq
10
+ const MODEL_ID_PATTERN_PACKAGE = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.(kps|kmp)$/;
11
+ // const MODEL_ID_PATTERN_JS = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.js$/;
12
+ // const MODEL_ID_PATTERN_TS = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.ts$/;
13
+ // const MODEL_ID_PATTERN_PROJECT = /^[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_-]*\.[a-z_][a-z0-9_]*\.model\.kpj$/;
14
+ // "Content files" within the package should adhere to these pattern:
15
+ const CONTENT_FILE_BASENAME_PATTERN = /^[a-z0-9_+.-]+$/i; // base names can be case insensitive
16
+ const CONTENT_FILE_EXTENSION_PATTERN = /^(\.[a-z0-9_-]+)?$/; // extensions should be lower-case or empty
17
+ /**
18
+ * @internal
19
+ */
20
+ export class PackageValidation {
21
+ callbacks;
22
+ options;
23
+ constructor(callbacks, options) {
24
+ this.callbacks = callbacks;
25
+ this.options = options;
26
+ }
27
+ validate(filename, kmpJson) {
28
+ if (!this.checkForModelsAndKeyboardsInSamePackage(kmpJson)) {
29
+ return false;
30
+ }
31
+ if (!this.checkKeyboards(filename, kmpJson)) {
32
+ return false;
33
+ }
34
+ if (!this.checkLexicalModels(filename, kmpJson)) {
35
+ return false;
36
+ }
37
+ if (!this.checkContentFiles(kmpJson)) {
38
+ return false;
39
+ }
40
+ if (!this.checkPackageInfo(kmpJson)) {
41
+ return false;
42
+ }
43
+ return true;
44
+ }
45
+ checkForDuplicatedOrNonMinimalLanguages(resourceType, id, languages) {
46
+ let minimalTags = {};
47
+ if (languages.length == 0) {
48
+ if (resourceType == 'keyboard') {
49
+ this.callbacks.reportMessage(CompilerMessages.Warn_KeyboardShouldHaveAtLeastOneLanguage({ id }));
50
+ }
51
+ else {
52
+ this.callbacks.reportMessage(CompilerMessages.Error_ModelMustHaveAtLeastOneLanguage({ id }));
53
+ return false;
54
+ }
55
+ }
56
+ for (let lang of languages) {
57
+ let locale;
58
+ try {
59
+ locale = new Intl.Locale(lang.id);
60
+ }
61
+ catch (e) {
62
+ this.callbacks.reportMessage(CompilerMessages.Error_LanguageTagIsNotValid({ resourceType, id, lang: lang.id, e }));
63
+ return false;
64
+ }
65
+ const minimalTag = locale.minimize().toString();
66
+ if (minimalTag.toLowerCase() !== lang.id.toLowerCase()) {
67
+ this.callbacks.reportMessage(CompilerMessages.Hint_LanguageTagIsNotMinimal({ resourceType, id, actual: lang.id, expected: minimalTag }));
68
+ }
69
+ if (minimalTags[minimalTag]) {
70
+ this.callbacks.reportMessage(CompilerMessages.Hint_PackageShouldNotRepeatLanguages({ resourceType, id, minimalTag, firstTag: lang.id, secondTag: minimalTags[minimalTag] }));
71
+ }
72
+ else {
73
+ minimalTags[minimalTag] = lang.id;
74
+ }
75
+ }
76
+ return true;
77
+ }
78
+ checkForModelsAndKeyboardsInSamePackage(kmpJson) {
79
+ if (kmpJson.lexicalModels?.length > 0 && kmpJson.keyboards?.length > 0) {
80
+ this.callbacks.reportMessage(CompilerMessages.Error_PackageCannotContainBothModelsAndKeyboards());
81
+ return false;
82
+ }
83
+ if (!kmpJson.lexicalModels?.length && !kmpJson.keyboards?.length) {
84
+ // Note: we require at least 1 keyboard or model in the package. This may
85
+ // change in the future if we start to use packages to distribute, e.g.
86
+ // localizations or themes.
87
+ this.callbacks.reportMessage(CompilerMessages.Error_PackageMustContainAModelOrAKeyboard());
88
+ return false;
89
+ }
90
+ return true;
91
+ }
92
+ checkLexicalModels(filename, kmpJson) {
93
+ if (!kmpJson.lexicalModels || kmpJson.lexicalModels.length == 0) {
94
+ return true;
95
+ }
96
+ filename = this.callbacks.path.basename(filename);
97
+ if (!MODEL_ID_PATTERN_PACKAGE.test(filename)) {
98
+ this.callbacks.reportMessage(CompilerMessages.Warn_PackageNameDoesNotFollowLexicalModelConventions({ filename }));
99
+ }
100
+ for (let model of kmpJson.lexicalModels) {
101
+ if (!this.checkForDuplicatedOrNonMinimalLanguages('model', model.id, model.languages)) {
102
+ return false;
103
+ }
104
+ }
105
+ return true;
106
+ }
107
+ checkKeyboards(filename, kmpJson) {
108
+ if (!kmpJson.keyboards || kmpJson.keyboards.length == 0) {
109
+ return true;
110
+ }
111
+ filename = this.callbacks.path.basename(filename);
112
+ if (!KEYBOARD_ID_PATTERN_PACKAGE.test(filename)) {
113
+ this.callbacks.reportMessage(CompilerMessages.Warn_PackageNameDoesNotFollowKeyboardConventions({ filename }));
114
+ }
115
+ for (let keyboard of kmpJson.keyboards) {
116
+ if (!this.checkForDuplicatedOrNonMinimalLanguages('keyboard', keyboard.id, keyboard.languages)) {
117
+ return false;
118
+ }
119
+ // Note: package-version-validation verifies that there is a corresponding
120
+ // content file for each keyboard
121
+ }
122
+ return true;
123
+ }
124
+ checkContentFiles(kmpJson) {
125
+ for (let file of kmpJson.files) {
126
+ if (!this.checkContentFile(file)) {
127
+ return false;
128
+ }
129
+ }
130
+ return true;
131
+ }
132
+ checkContentFile(file) {
133
+ const filename = this.callbacks.path.basename(file.name);
134
+ const ext = this.callbacks.path.extname(filename);
135
+ const base = filename.substring(0, filename.length - ext.length);
136
+ if (this.options.checkFilenameConventions) {
137
+ if (!CONTENT_FILE_BASENAME_PATTERN.test(base) || !CONTENT_FILE_EXTENSION_PATTERN.test(ext)) {
138
+ this.callbacks.reportMessage(CompilerMessages.Warn_FileInPackageDoesNotFollowFilenameConventions({ filename }));
139
+ }
140
+ }
141
+ if (!this.checkIfContentFileIsDangerous(file)) {
142
+ return false;
143
+ }
144
+ return true;
145
+ }
146
+ checkIfContentFileIsDangerous(file) {
147
+ const filename = this.callbacks.path.basename(file.name).toLowerCase();
148
+ // # Test for inclusion of redistributable files
149
+ if (keymanForWindowsInstallerFiles.includes(filename) ||
150
+ keymanForWindowsRedistFiles.includes(filename) ||
151
+ keymanEngineForWindowsFiles.includes(filename)) {
152
+ this.callbacks.reportMessage(CompilerMessages.Warn_RedistFileShouldNotBeInPackage({ filename }));
153
+ }
154
+ // # Test for inclusion of .doc or .docx files
155
+ if (filename.match(/\.doc(x?)$/)) {
156
+ this.callbacks.reportMessage(CompilerMessages.Warn_DocFileDangerous({ filename }));
157
+ }
158
+ // # Test for inclusion of keyboard source files
159
+ //
160
+ // We treat this as a hint, because it's not a dangerous problem, just
161
+ // something that suggests that perhaps they are trying to distribute the
162
+ // wrong files.
163
+ //
164
+ // Note: we allow .xml in the package because there are other files
165
+ // which may be valid, not just LDML keyboards
166
+ const fileType = KeymanFileTypes.sourceTypeFromFilename(file.name);
167
+ if (fileType !== null && fileType !== ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */) {
168
+ this.callbacks.reportMessage(CompilerMessages.Hint_PackageContainsSourceFile({ filename: file.name }));
169
+ }
170
+ return true;
171
+ }
172
+ checkPackageInfo(file) {
173
+ if (!file.info || !file.info.name || !file.info.name.description.trim()) {
174
+ this.callbacks.reportMessage(CompilerMessages.Error_PackageNameCannotBeBlank());
175
+ return false;
176
+ }
177
+ return true;
178
+ }
179
+ }
180
180
  //# sourceMappingURL=package-validation.js.map
181
+ //# debugId=23f9afaa-cea5-5f81-8a88-12f3b0eb5897
@@ -1 +1 @@
1
- {"debug_id":"6950d2e1-61fb-5609-bc9a-a22ff2baf9a9","file":"package-validation.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/compiler/package-validation.ts"],"version":3}
1
+ {"version":3,"file":"package-validation.js","sources":["../../../src/compiler/package-validation.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"23f9afaa-cea5-5f81-8a88-12f3b0eb5897"}
@@ -1,92 +1,93 @@
1
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ea231759-32a8-5242-a89b-0a02e62a9c33")}catch(e){}}();
2
- import { CompilerMessages } from './package-compiler-messages.js';
3
- export const DEFAULT_KEYBOARD_VERSION = '1.0';
4
- export const MIN_LM_FILEVERSION_KMP_JSON = '12.0';
5
- export const MIN_KBD_FILEVERSION_KMP_JSON = '7.0';
6
- export class PackageVersionValidator {
7
- callbacks;
8
- constructor(callbacks) {
9
- this.callbacks = callbacks;
10
- }
11
- getMinKeymanVersion(keyboardMetadata) {
12
- let minKeymanVersion = MIN_KBD_FILEVERSION_KMP_JSON;
13
- for (let id of Object.keys(keyboardMetadata)) {
14
- // minKeymanVersion is always a float so float comparison is safe
15
- let kbdMinKeymanVersion = parseFloat(keyboardMetadata[id].data.minKeymanVersion);
16
- if (kbdMinKeymanVersion > 14.0) {
17
- // Keyman for Windows 14 and earlier only accepted version 7.0 for keyboard
18
- // packages, so we must not write any other version in order to allow
19
- // earlier versions of Keyman to load the package.
20
- if (parseFloat(minKeymanVersion) < kbdMinKeymanVersion) {
21
- minKeymanVersion = keyboardMetadata[id].data.minKeymanVersion;
22
- }
23
- }
24
- }
25
- return minKeymanVersion;
26
- }
27
- /**
28
- * Verifies version information in corresponding keyboards and updates kmpJson
29
- * metadata as the version information can be out of sync in the .kps file
30
- * after updating a contained keyboard.
31
- * @param kps
32
- * @param kmp
33
- * @returns
34
- */
35
- validateAndUpdateVersions(kps, kmp, keyboardMetadata) {
36
- const followKeyboardVersion = kps.Options?.FollowKeyboardVersion !== undefined;
37
- if (followKeyboardVersion) {
38
- if (!this.checkFollowKeyboardVersion(kmp)) {
39
- return false;
40
- }
41
- }
42
- if (!kmp.keyboards) {
43
- // Lexical models don't have version metadata; only their packages.
44
- return true;
45
- }
46
- let result = true;
47
- // We now know we have at least one keyboard in the package
48
- for (let keyboard of kmp.keyboards) {
49
- const data = keyboardMetadata[keyboard.id];
50
- if (!data) {
51
- // Warnings or errors will have been raised by getKeyboardFileData
52
- // TODO raise error -- we should not have gotten here
53
- return false;
54
- }
55
- // Note: there is often version metadata in the .kps <Keyboard> element, but
56
- // we don't read from the metadata because we want to ensure we have the
57
- // most up-to-date keyboard version data here, from the compiled keyboard.
58
- if (followKeyboardVersion && data.data.keyboardVersion === null) {
59
- this.callbacks.reportMessage(CompilerMessages.Info_KeyboardFileHasNoKeyboardVersion({ filename: keyboard.id }));
60
- }
61
- keyboard.version = data.data.keyboardVersion ?? DEFAULT_KEYBOARD_VERSION;
62
- if (result && followKeyboardVersion) {
63
- if (kmp.keyboards[0].version !== keyboard.version) {
64
- this.callbacks.reportMessage(CompilerMessages.Warn_KeyboardVersionsDoNotMatch({
65
- keyboard: keyboard.id,
66
- version: keyboard.version,
67
- firstKeyboard: kmp.keyboards[0].id,
68
- firstVersion: kmp.keyboards[0].version
69
- }));
70
- }
71
- }
72
- }
73
- if (result && followKeyboardVersion) {
74
- kmp.info.version = { description: kmp.keyboards[0].version };
75
- }
76
- return result;
77
- }
78
- checkFollowKeyboardVersion(kmp) {
79
- // Lexical model packages do not allow FollowKeyboardVersion
80
- if (kmp.lexicalModels && kmp.lexicalModels.length) {
81
- this.callbacks.reportMessage(CompilerMessages.Error_FollowKeyboardVersionNotAllowedForModelPackages());
82
- return false;
83
- }
84
- if (!kmp.keyboards || !kmp.keyboards.length) {
85
- this.callbacks.reportMessage(CompilerMessages.Error_FollowKeyboardVersionButNoKeyboards());
86
- return false;
87
- }
88
- return true;
89
- }
90
- }
91
- //# debugId=ea231759-32a8-5242-a89b-0a02e62a9c33
1
+
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2fed3219-dbc8-5798-b47d-f1496278331b")}catch(e){}}();
3
+ import { CompilerMessages } from './package-compiler-messages.js';
4
+ export const DEFAULT_KEYBOARD_VERSION = '1.0';
5
+ export const MIN_LM_FILEVERSION_KMP_JSON = '12.0';
6
+ export const MIN_KBD_FILEVERSION_KMP_JSON = '7.0';
7
+ export class PackageVersionValidator {
8
+ callbacks;
9
+ constructor(callbacks) {
10
+ this.callbacks = callbacks;
11
+ }
12
+ getMinKeymanVersion(keyboardMetadata) {
13
+ let minKeymanVersion = MIN_KBD_FILEVERSION_KMP_JSON;
14
+ for (let id of Object.keys(keyboardMetadata)) {
15
+ // minKeymanVersion is always a float so float comparison is safe
16
+ let kbdMinKeymanVersion = parseFloat(keyboardMetadata[id].data.minKeymanVersion);
17
+ if (kbdMinKeymanVersion > 14.0) {
18
+ // Keyman for Windows 14 and earlier only accepted version 7.0 for keyboard
19
+ // packages, so we must not write any other version in order to allow
20
+ // earlier versions of Keyman to load the package.
21
+ if (parseFloat(minKeymanVersion) < kbdMinKeymanVersion) {
22
+ minKeymanVersion = keyboardMetadata[id].data.minKeymanVersion;
23
+ }
24
+ }
25
+ }
26
+ return minKeymanVersion;
27
+ }
28
+ /**
29
+ * Verifies version information in corresponding keyboards and updates kmpJson
30
+ * metadata as the version information can be out of sync in the .kps file
31
+ * after updating a contained keyboard.
32
+ * @param kps
33
+ * @param kmp
34
+ * @returns
35
+ */
36
+ validateAndUpdateVersions(kps, kmp, keyboardMetadata) {
37
+ const followKeyboardVersion = kps.Options?.FollowKeyboardVersion !== undefined;
38
+ if (followKeyboardVersion) {
39
+ if (!this.checkFollowKeyboardVersion(kmp)) {
40
+ return false;
41
+ }
42
+ }
43
+ if (!kmp.keyboards) {
44
+ // Lexical models don't have version metadata; only their packages.
45
+ return true;
46
+ }
47
+ let result = true;
48
+ // We now know we have at least one keyboard in the package
49
+ for (let keyboard of kmp.keyboards) {
50
+ const data = keyboardMetadata[keyboard.id];
51
+ if (!data) {
52
+ // Warnings or errors will have been raised by getKeyboardFileData
53
+ // TODO raise error -- we should not have gotten here
54
+ return false;
55
+ }
56
+ // Note: there is often version metadata in the .kps <Keyboard> element, but
57
+ // we don't read from the metadata because we want to ensure we have the
58
+ // most up-to-date keyboard version data here, from the compiled keyboard.
59
+ if (followKeyboardVersion && data.data.keyboardVersion === null) {
60
+ this.callbacks.reportMessage(CompilerMessages.Info_KeyboardFileHasNoKeyboardVersion({ filename: keyboard.id }));
61
+ }
62
+ keyboard.version = data.data.keyboardVersion ?? DEFAULT_KEYBOARD_VERSION;
63
+ if (result && followKeyboardVersion) {
64
+ if (kmp.keyboards[0].version !== keyboard.version) {
65
+ this.callbacks.reportMessage(CompilerMessages.Warn_KeyboardVersionsDoNotMatch({
66
+ keyboard: keyboard.id,
67
+ version: keyboard.version,
68
+ firstKeyboard: kmp.keyboards[0].id,
69
+ firstVersion: kmp.keyboards[0].version
70
+ }));
71
+ }
72
+ }
73
+ }
74
+ if (result && followKeyboardVersion) {
75
+ kmp.info.version = { description: kmp.keyboards[0].version };
76
+ }
77
+ return result;
78
+ }
79
+ checkFollowKeyboardVersion(kmp) {
80
+ // Lexical model packages do not allow FollowKeyboardVersion
81
+ if (kmp.lexicalModels && kmp.lexicalModels.length) {
82
+ this.callbacks.reportMessage(CompilerMessages.Error_FollowKeyboardVersionNotAllowedForModelPackages());
83
+ return false;
84
+ }
85
+ if (!kmp.keyboards || !kmp.keyboards.length) {
86
+ this.callbacks.reportMessage(CompilerMessages.Error_FollowKeyboardVersionButNoKeyboards());
87
+ return false;
88
+ }
89
+ return true;
90
+ }
91
+ }
92
92
  //# sourceMappingURL=package-version-validator.js.map
93
+ //# debugId=2fed3219-dbc8-5798-b47d-f1496278331b
@@ -1 +1 @@
1
- {"debug_id":"ea231759-32a8-5242-a89b-0a02e62a9c33","file":"package-version-validator.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/compiler/package-version-validator.ts"],"version":3}
1
+ {"version":3,"file":"package-version-validator.js","sources":["../../../src/compiler/package-version-validator.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"2fed3219-dbc8-5798-b47d-f1496278331b"}