@keymanapp/kmc-package 18.0.40-alpha → 18.0.45-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 (46) hide show
  1. package/build/src/compiler/cp1252.d.ts +7 -7
  2. package/build/src/compiler/cp1252.js +287 -290
  3. package/build/src/compiler/cp1252.js.map +1 -1
  4. package/build/src/compiler/kmp-compiler.d.ts +105 -105
  5. package/build/src/compiler/kmp-compiler.js +502 -505
  6. package/build/src/compiler/kmp-compiler.js.map +1 -1
  7. package/build/src/compiler/kmp-inf-writer.d.ts +21 -21
  8. package/build/src/compiler/kmp-inf-writer.js +143 -146
  9. package/build/src/compiler/kmp-inf-writer.js.map +1 -1
  10. package/build/src/compiler/kmx-keyboard-metadata.d.ts +3 -3
  11. package/build/src/compiler/kmx-keyboard-metadata.js +17 -20
  12. package/build/src/compiler/kmx-keyboard-metadata.js.map +1 -1
  13. package/build/src/compiler/markdown.d.ts +12 -12
  14. package/build/src/compiler/markdown.js +47 -50
  15. package/build/src/compiler/markdown.js.map +1 -1
  16. package/build/src/compiler/package-compiler-messages.d.ts +130 -130
  17. package/build/src/compiler/package-compiler-messages.js +79 -82
  18. package/build/src/compiler/package-compiler-messages.js.map +1 -1
  19. package/build/src/compiler/package-keyboard-target-validator.d.ts +12 -12
  20. package/build/src/compiler/package-keyboard-target-validator.js +43 -46
  21. package/build/src/compiler/package-keyboard-target-validator.js.map +1 -1
  22. package/build/src/compiler/package-metadata-collector.d.ts +16 -16
  23. package/build/src/compiler/package-metadata-collector.js +80 -83
  24. package/build/src/compiler/package-metadata-collector.js.map +1 -1
  25. package/build/src/compiler/package-metadata-updater.d.ts +4 -4
  26. package/build/src/compiler/package-metadata-updater.js +11 -14
  27. package/build/src/compiler/package-metadata-updater.js.map +1 -1
  28. package/build/src/compiler/package-validation.d.ts +18 -18
  29. package/build/src/compiler/package-validation.js +178 -181
  30. package/build/src/compiler/package-validation.js.map +1 -1
  31. package/build/src/compiler/package-version-validator.d.ts +20 -20
  32. package/build/src/compiler/package-version-validator.js +90 -93
  33. package/build/src/compiler/package-version-validator.js.map +1 -1
  34. package/build/src/compiler/redist-files.d.ts +17 -17
  35. package/build/src/compiler/redist-files.js +57 -60
  36. package/build/src/compiler/redist-files.js.map +1 -1
  37. package/build/src/compiler/web-keyboard-metadata.d.ts +20 -20
  38. package/build/src/compiler/web-keyboard-metadata.js +35 -38
  39. package/build/src/compiler/web-keyboard-metadata.js.map +1 -1
  40. package/build/src/compiler/windows-package-installer-compiler.d.ts +106 -106
  41. package/build/src/compiler/windows-package-installer-compiler.js +172 -175
  42. package/build/src/compiler/windows-package-installer-compiler.js.map +1 -1
  43. package/build/src/main.d.ts +4 -4
  44. package/build/src/main.js +5 -8
  45. package/build/src/main.js.map +1 -1
  46. package/package.json +3 -3
@@ -1,13 +1,13 @@
1
- import { CompilerCallbacks, KmpJsonFile } from "@keymanapp/common-types";
2
- import { KeyboardMetadataCollection } from "./package-metadata-collector.js";
3
- export declare class PackageKeyboardTargetValidator {
4
- private callbacks;
5
- constructor(callbacks: CompilerCallbacks);
6
- verifyAllTargets(kmp: KmpJsonFile.KmpJsonFile, metadata: KeyboardMetadataCollection): void;
7
- /**
8
- * Verify that the package contains a .js if the keyboard targets touch
9
- * devices
10
- */
11
- private verifyTargets;
12
- }
1
+ import { CompilerCallbacks, KmpJsonFile } from "@keymanapp/common-types";
2
+ import { KeyboardMetadataCollection } from "./package-metadata-collector.js";
3
+ export declare class PackageKeyboardTargetValidator {
4
+ private callbacks;
5
+ constructor(callbacks: CompilerCallbacks);
6
+ verifyAllTargets(kmp: KmpJsonFile.KmpJsonFile, metadata: KeyboardMetadataCollection): void;
7
+ /**
8
+ * Verify that the package contains a .js if the keyboard targets touch
9
+ * devices
10
+ */
11
+ private verifyTargets;
12
+ }
13
13
  //# sourceMappingURL=package-keyboard-target-validator.d.ts.map
@@ -1,46 +1,43 @@
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]="eb56a499-f668-564c-a778-7076e75f16bd")}catch(e){}}();
3
- import { KeymanTargets } from "@keymanapp/common-types";
4
- import { CompilerMessages } from "./package-compiler-messages.js";
5
- export class PackageKeyboardTargetValidator {
6
- callbacks;
7
- constructor(callbacks) {
8
- this.callbacks = callbacks;
9
- }
10
- verifyAllTargets(kmp, metadata) {
11
- for (let keyboard of Object.keys(metadata)) {
12
- let hasJS = true;
13
- if (metadata[keyboard].data.targets) {
14
- // get the targets from the .kmx (only the .kmx has the targets data)
15
- hasJS = this.verifyTargets(metadata[keyboard].keyboard, metadata[keyboard].data.targets, kmp);
16
- }
17
- if (hasJS && !metadata[keyboard].data.hasTouchLayout) {
18
- this.callbacks.reportMessage(CompilerMessages.Hint_JsKeyboardFileHasNoTouchTargets({ id: metadata[keyboard].keyboard.id }));
19
- }
20
- }
21
- }
22
- /**
23
- * Verify that the package contains a .js if the keyboard targets touch
24
- * devices
25
- */
26
- verifyTargets(keyboard, targetsText, kmp) {
27
- // Note, if we have gotten this far, we've already located and loaded a
28
- // .kmx, so no need to verify that the package includes a .kmx
29
- // If at least one target is a touch target, we need to check that the
30
- // package also includes the .js
31
- const targets = KeymanTargets.keymanTargetsFromString(targetsText, { expandTargets: true });
32
- if (targets.some(target => KeymanTargets.TouchKeymanTargets.includes(target))) {
33
- if (!kmp.files.find(file => this.callbacks.path.basename(file.name ?? '', '.js') == keyboard.id)) {
34
- // .js version of the keyboard is not found, warn
35
- this.callbacks.reportMessage(CompilerMessages.Warn_JsKeyboardFileIsMissing({ id: keyboard.id }));
36
- return false;
37
- }
38
- // A js file is included and targeted
39
- return true;
40
- }
41
- // js is not targeted
42
- return false;
43
- }
44
- }
45
- //# sourceMappingURL=package-keyboard-target-validator.js.map
46
- //# debugId=eb56a499-f668-564c-a778-7076e75f16bd
1
+ import { KeymanTargets } from "@keymanapp/common-types";
2
+ import { CompilerMessages } from "./package-compiler-messages.js";
3
+ export class PackageKeyboardTargetValidator {
4
+ callbacks;
5
+ constructor(callbacks) {
6
+ this.callbacks = callbacks;
7
+ }
8
+ verifyAllTargets(kmp, metadata) {
9
+ for (let keyboard of Object.keys(metadata)) {
10
+ let hasJS = true;
11
+ if (metadata[keyboard].data.targets) {
12
+ // get the targets from the .kmx (only the .kmx has the targets data)
13
+ hasJS = this.verifyTargets(metadata[keyboard].keyboard, metadata[keyboard].data.targets, kmp);
14
+ }
15
+ if (hasJS && !metadata[keyboard].data.hasTouchLayout) {
16
+ this.callbacks.reportMessage(CompilerMessages.Hint_JsKeyboardFileHasNoTouchTargets({ id: metadata[keyboard].keyboard.id }));
17
+ }
18
+ }
19
+ }
20
+ /**
21
+ * Verify that the package contains a .js if the keyboard targets touch
22
+ * devices
23
+ */
24
+ verifyTargets(keyboard, targetsText, kmp) {
25
+ // Note, if we have gotten this far, we've already located and loaded a
26
+ // .kmx, so no need to verify that the package includes a .kmx
27
+ // If at least one target is a touch target, we need to check that the
28
+ // package also includes the .js
29
+ const targets = KeymanTargets.keymanTargetsFromString(targetsText, { expandTargets: true });
30
+ if (targets.some(target => KeymanTargets.TouchKeymanTargets.includes(target))) {
31
+ if (!kmp.files.find(file => this.callbacks.path.basename(file.name ?? '', '.js') == keyboard.id)) {
32
+ // .js version of the keyboard is not found, warn
33
+ this.callbacks.reportMessage(CompilerMessages.Warn_JsKeyboardFileIsMissing({ id: keyboard.id }));
34
+ return false;
35
+ }
36
+ // A js file is included and targeted
37
+ return true;
38
+ }
39
+ // js is not targeted
40
+ return false;
41
+ }
42
+ }
43
+ //# sourceMappingURL=package-keyboard-target-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-keyboard-target-validator.js","sources":["../../../src/compiler/package-keyboard-target-validator.ts"],"sourceRoot":"","names":[],"mappings":";;AAAA,OAAO,EAAE,aAAa,EAAkC,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIlE,MAAM,OAAO,8BAA8B;IACrB;IAApB,YAAoB,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAE7C,gBAAgB,CAAC,GAA4B,EAAE,QAAoC;QACxF,KAAI,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzC,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,IAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;gBAClC,qEAAqE;gBACrE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aAC/F;YACD,IAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;gBACnD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;aAC3H;SACF;IACH,CAAC;IAED;;;OAGG;IACK,aAAa,CACnB,QAAyC,EACzC,WAAmB,EACnB,GAA4B;QAE5B,uEAAuE;QACvE,8DAA8D;QAE9D,sEAAsE;QACtE,gCAAgC;QAChC,MAAM,OAAO,GAAG,aAAa,CAAC,uBAAuB,CAAC,WAAW,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAC1F,IAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;YAC5E,IAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE;gBAC/F,iDAAiD;gBACjD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;gBAC/F,OAAO,KAAK,CAAC;aACd;YACD,qCAAqC;YACrC,OAAO,IAAI,CAAC;SACb;QACD,qBAAqB;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;CACF","debug_id":"eb56a499-f668-564c-a778-7076e75f16bd"}
1
+ {"version":3,"file":"package-keyboard-target-validator.js","sourceRoot":"","sources":["../../../src/compiler/package-keyboard-target-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkC,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIlE,MAAM,OAAO,8BAA8B;IACrB;IAApB,YAAoB,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAE7C,gBAAgB,CAAC,GAA4B,EAAE,QAAoC;QACxF,KAAI,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,IAAI,KAAK,GAAG,IAAI,CAAC;YAEjB,IAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnC,qEAAqE;gBACrE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAChG,CAAC;YACD,IAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;YAC5H,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,aAAa,CACnB,QAAyC,EACzC,WAAmB,EACnB,GAA4B;QAE5B,uEAAuE;QACvE,8DAA8D;QAE9D,sEAAsE;QACtE,gCAAgC;QAChC,MAAM,OAAO,GAAG,aAAa,CAAC,uBAAuB,CAAC,WAAW,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAC1F,IAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChG,iDAAiD;gBACjD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC;gBAC/F,OAAO,KAAK,CAAC;YACf,CAAC;YACD,qCAAqC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,qBAAqB;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -1,17 +1,17 @@
1
- import { KmpJsonFile, CompilerCallbacks } from '@keymanapp/common-types';
2
- import { WebKeyboardMetadata } from './web-keyboard-metadata.js';
3
- export type KeyboardMetadata = {
4
- keyboard: KmpJsonFile.KmpJsonFileKeyboard;
5
- isJavascript: boolean;
6
- data: WebKeyboardMetadata;
7
- };
8
- export type KeyboardMetadataCollection = {
9
- [id: string]: KeyboardMetadata;
10
- };
11
- export declare class PackageMetadataCollector {
12
- private callbacks;
13
- constructor(callbacks: CompilerCallbacks);
14
- collectKeyboardMetadata(kpsFilename: string, kmp: KmpJsonFile.KmpJsonFile): KeyboardMetadataCollection;
15
- private getKeyboardFileData;
16
- }
1
+ import { KmpJsonFile, CompilerCallbacks } from '@keymanapp/common-types';
2
+ import { WebKeyboardMetadata } from './web-keyboard-metadata.js';
3
+ export type KeyboardMetadata = {
4
+ keyboard: KmpJsonFile.KmpJsonFileKeyboard;
5
+ isJavascript: boolean;
6
+ data: WebKeyboardMetadata;
7
+ };
8
+ export type KeyboardMetadataCollection = {
9
+ [id: string]: KeyboardMetadata;
10
+ };
11
+ export declare class PackageMetadataCollector {
12
+ private callbacks;
13
+ constructor(callbacks: CompilerCallbacks);
14
+ collectKeyboardMetadata(kpsFilename: string, kmp: KmpJsonFile.KmpJsonFile): KeyboardMetadataCollection;
15
+ private getKeyboardFileData;
16
+ }
17
17
  //# sourceMappingURL=package-metadata-collector.d.ts.map
@@ -1,83 +1,80 @@
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]="bb911927-a4f3-5e88-a372-6e5f527f100d")}catch(e){}}();
3
- import { KmxFileReader, KmxFileReaderError } from '@keymanapp/common-types';
4
- import { getCompiledKmxKeyboardMetadata } from './kmx-keyboard-metadata.js';
5
- import { CompilerMessages } from './package-compiler-messages.js';
6
- import { getCompiledWebKeyboardMetadata } from './web-keyboard-metadata.js';
7
- export class PackageMetadataCollector {
8
- callbacks;
9
- constructor(callbacks) {
10
- this.callbacks = callbacks;
11
- }
12
- collectKeyboardMetadata(kpsFilename, kmp) {
13
- let result = {};
14
- if (!kmp.keyboards) {
15
- return result;
16
- }
17
- for (let keyboard of kmp.keyboards) {
18
- result[keyboard.id] = this.getKeyboardFileData(kpsFilename, kmp, keyboard);
19
- if (!result[keyboard.id]) {
20
- // Warnings or errors will have been raised by getKeyboardFileData
21
- return null;
22
- }
23
- }
24
- return result;
25
- }
26
- getKeyboardFileData(kpsFilename, kmp, keyboard) {
27
- let isJavascript = false;
28
- let file = kmp.files.find(file => this.callbacks.path.basename(file.name ?? '', ".kmx" /* KeymanFileTypes.Binary.Keyboard */) == keyboard.id);
29
- if (!file) {
30
- isJavascript = true;
31
- file = kmp.files.find(file => this.callbacks.path.basename(file.name ?? '', ".js" /* KeymanFileTypes.Binary.WebKeyboard */) == keyboard.id);
32
- if (!file) {
33
- this.callbacks.reportMessage(CompilerMessages.Error_KeyboardContentFileNotFound({ id: keyboard.id }));
34
- return null;
35
- }
36
- }
37
- if (!file.name) {
38
- this.callbacks.reportMessage(CompilerMessages.Error_FileRecordIsMissingName({ description: file.description ?? '(no description)' }));
39
- return null;
40
- }
41
- const filename = this.callbacks.resolveFilename(kpsFilename, file.name);
42
- if (!this.callbacks.fs.existsSync(filename)) {
43
- this.callbacks.reportMessage(CompilerMessages.Error_KeyboardFileNotFound({ filename }));
44
- return null;
45
- }
46
- //
47
- // load the data from file
48
- //
49
- let fileData;
50
- try {
51
- fileData = this.callbacks.loadFile(filename);
52
- }
53
- catch (e) {
54
- this.callbacks.reportMessage(CompilerMessages.Error_FileCouldNotBeRead({ filename, e }));
55
- return null;
56
- }
57
- if (isJavascript) {
58
- const js = new TextDecoder().decode(fileData);
59
- return { keyboard, isJavascript, data: getCompiledWebKeyboardMetadata(js) };
60
- }
61
- else {
62
- const kmxReader = new KmxFileReader();
63
- let kmx;
64
- try {
65
- kmx = kmxReader.read(fileData);
66
- }
67
- catch (e) {
68
- if (e instanceof KmxFileReaderError) {
69
- // The file couldn't be read, it might not be a .kmx file
70
- this.callbacks.reportMessage(CompilerMessages.Error_KeyboardFileNotValid({ filename, e }));
71
- return null;
72
- }
73
- else {
74
- // Unknown error, bubble it up
75
- throw e;
76
- }
77
- }
78
- return { keyboard, isJavascript, data: getCompiledKmxKeyboardMetadata(kmx) };
79
- }
80
- }
81
- }
82
- //# sourceMappingURL=package-metadata-collector.js.map
83
- //# debugId=bb911927-a4f3-5e88-a372-6e5f527f100d
1
+ import { KmxFileReader, KmxFileReaderError } from '@keymanapp/common-types';
2
+ import { getCompiledKmxKeyboardMetadata } from './kmx-keyboard-metadata.js';
3
+ import { CompilerMessages } from './package-compiler-messages.js';
4
+ import { getCompiledWebKeyboardMetadata } from './web-keyboard-metadata.js';
5
+ export class PackageMetadataCollector {
6
+ callbacks;
7
+ constructor(callbacks) {
8
+ this.callbacks = callbacks;
9
+ }
10
+ collectKeyboardMetadata(kpsFilename, kmp) {
11
+ let result = {};
12
+ if (!kmp.keyboards) {
13
+ return result;
14
+ }
15
+ for (let keyboard of kmp.keyboards) {
16
+ result[keyboard.id] = this.getKeyboardFileData(kpsFilename, kmp, keyboard);
17
+ if (!result[keyboard.id]) {
18
+ // Warnings or errors will have been raised by getKeyboardFileData
19
+ return null;
20
+ }
21
+ }
22
+ return result;
23
+ }
24
+ getKeyboardFileData(kpsFilename, kmp, keyboard) {
25
+ let isJavascript = false;
26
+ let file = kmp.files.find(file => this.callbacks.path.basename(file.name ?? '', ".kmx" /* KeymanFileTypes.Binary.Keyboard */) == keyboard.id);
27
+ if (!file) {
28
+ isJavascript = true;
29
+ file = kmp.files.find(file => this.callbacks.path.basename(file.name ?? '', ".js" /* KeymanFileTypes.Binary.WebKeyboard */) == keyboard.id);
30
+ if (!file) {
31
+ this.callbacks.reportMessage(CompilerMessages.Error_KeyboardContentFileNotFound({ id: keyboard.id }));
32
+ return null;
33
+ }
34
+ }
35
+ if (!file.name) {
36
+ this.callbacks.reportMessage(CompilerMessages.Error_FileRecordIsMissingName({ description: file.description ?? '(no description)' }));
37
+ return null;
38
+ }
39
+ const filename = this.callbacks.resolveFilename(kpsFilename, file.name);
40
+ if (!this.callbacks.fs.existsSync(filename)) {
41
+ this.callbacks.reportMessage(CompilerMessages.Error_KeyboardFileNotFound({ filename }));
42
+ return null;
43
+ }
44
+ //
45
+ // load the data from file
46
+ //
47
+ let fileData;
48
+ try {
49
+ fileData = this.callbacks.loadFile(filename);
50
+ }
51
+ catch (e) {
52
+ this.callbacks.reportMessage(CompilerMessages.Error_FileCouldNotBeRead({ filename, e }));
53
+ return null;
54
+ }
55
+ if (isJavascript) {
56
+ const js = new TextDecoder().decode(fileData);
57
+ return { keyboard, isJavascript, data: getCompiledWebKeyboardMetadata(js) };
58
+ }
59
+ else {
60
+ const kmxReader = new KmxFileReader();
61
+ let kmx;
62
+ try {
63
+ kmx = kmxReader.read(fileData);
64
+ }
65
+ catch (e) {
66
+ if (e instanceof KmxFileReaderError) {
67
+ // The file couldn't be read, it might not be a .kmx file
68
+ this.callbacks.reportMessage(CompilerMessages.Error_KeyboardFileNotValid({ filename, e }));
69
+ return null;
70
+ }
71
+ else {
72
+ // Unknown error, bubble it up
73
+ throw e;
74
+ }
75
+ }
76
+ return { keyboard, isJavascript, data: getCompiledKmxKeyboardMetadata(kmx) };
77
+ }
78
+ }
79
+ }
80
+ //# sourceMappingURL=package-metadata-collector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-metadata-collector.js","sources":["../../../src/compiler/package-metadata-collector.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"bb911927-a4f3-5e88-a372-6e5f527f100d"}
1
+ {"version":3,"file":"package-metadata-collector.js","sourceRoot":"","sources":["../../../src/compiler/package-metadata-collector.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { KeyboardMetadataCollection } from './package-metadata-collector.js';
2
- export declare class PackageMetadataUpdater {
3
- updatePackage(metadata: KeyboardMetadataCollection): void;
4
- }
1
+ import { KeyboardMetadataCollection } from './package-metadata-collector.js';
2
+ export declare class PackageMetadataUpdater {
3
+ updatePackage(metadata: KeyboardMetadataCollection): void;
4
+ }
5
5
  //# sourceMappingURL=package-metadata-updater.d.ts.map
@@ -1,14 +1,11 @@
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]="0e3eb263-61ad-585e-b47e-7e3a56e3817b")}catch(e){}}();
3
- export class PackageMetadataUpdater {
4
- updatePackage(metadata) {
5
- for (let id of Object.keys(metadata)) {
6
- const keyboard = metadata[id];
7
- keyboard.keyboard.name = keyboard.data.keyboardName;
8
- keyboard.keyboard.rtl = keyboard.data.isRtl ? true : undefined;
9
- keyboard.keyboard.version = keyboard.data.keyboardVersion ?? '1.0';
10
- }
11
- }
12
- }
13
- //# sourceMappingURL=package-metadata-updater.js.map
14
- //# debugId=0e3eb263-61ad-585e-b47e-7e3a56e3817b
1
+ export class PackageMetadataUpdater {
2
+ updatePackage(metadata) {
3
+ for (let id of Object.keys(metadata)) {
4
+ const keyboard = metadata[id];
5
+ keyboard.keyboard.name = keyboard.data.keyboardName;
6
+ keyboard.keyboard.rtl = keyboard.data.isRtl ? true : undefined;
7
+ keyboard.keyboard.version = keyboard.data.keyboardVersion ?? '1.0';
8
+ }
9
+ }
10
+ }
11
+ //# sourceMappingURL=package-metadata-updater.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-metadata-updater.js","sources":["../../../src/compiler/package-metadata-updater.ts"],"sourceRoot":"","names":[],"mappings":";;AAEA,MAAM,OAAO,sBAAsB;IAE1B,aAAa,CAAC,QAAoC;QACvD,KAAI,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YACpD,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,QAAQ,CAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;SACpE;IACH,CAAC;CACF","debug_id":"0e3eb263-61ad-585e-b47e-7e3a56e3817b"}
1
+ {"version":3,"file":"package-metadata-updater.js","sourceRoot":"","sources":["../../../src/compiler/package-metadata-updater.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,sBAAsB;IAE1B,aAAa,CAAC,QAAoC;QACvD,KAAI,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YACpD,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,QAAQ,CAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
@@ -1,19 +1,19 @@
1
- import { KmpJsonFile, CompilerCallbacks, CompilerOptions } from '@keymanapp/common-types';
2
- /**
3
- * @internal
4
- */
5
- export declare class PackageValidation {
6
- private callbacks;
7
- private options;
8
- constructor(callbacks: CompilerCallbacks, options: CompilerOptions);
9
- validate(filename: string, kmpJson: KmpJsonFile.KmpJsonFile): boolean;
10
- private checkForDuplicatedOrNonMinimalLanguages;
11
- private checkForModelsAndKeyboardsInSamePackage;
12
- private checkLexicalModels;
13
- private checkKeyboards;
14
- private checkContentFiles;
15
- private checkContentFile;
16
- private checkIfContentFileIsDangerous;
17
- private checkPackageInfo;
18
- }
1
+ import { KmpJsonFile, CompilerCallbacks, CompilerOptions } from '@keymanapp/common-types';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare class PackageValidation {
6
+ private callbacks;
7
+ private options;
8
+ constructor(callbacks: CompilerCallbacks, options: CompilerOptions);
9
+ validate(filename: string, kmpJson: KmpJsonFile.KmpJsonFile): boolean;
10
+ private checkForDuplicatedOrNonMinimalLanguages;
11
+ private checkForModelsAndKeyboardsInSamePackage;
12
+ private checkLexicalModels;
13
+ private checkKeyboards;
14
+ private checkContentFiles;
15
+ private checkContentFile;
16
+ private checkIfContentFileIsDangerous;
17
+ private checkPackageInfo;
18
+ }
19
19
  //# sourceMappingURL=package-validation.d.ts.map