@keymanapp/kmc-kmn 19.0.145-alpha → 19.0.151-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.
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# Keyman Developer - kmc-kmn
|
|
2
|
-
|
|
3
|
-
This package compiles .kmn keyboards into .kmx binary keyboard files. It can be
|
|
4
|
-
used from the command line with
|
|
5
|
-
[@keymanapp/kmc](https://npmjs.com/package/@keymanapp/kmc).
|
|
6
|
-
|
|
7
|
-
Note: this package requires WASM support.
|
|
8
|
-
|
|
9
|
-
* [API Reference](https://help.keyman.com/developer/current-version/reference/api/kmc-kmn)
|
|
1
|
+
# Keyman Developer - kmc-kmn
|
|
2
|
+
|
|
3
|
+
This package compiles .kmn keyboards into .kmx binary keyboard files. It can be
|
|
4
|
+
used from the command line with
|
|
5
|
+
[@keymanapp/kmc](https://npmjs.com/package/@keymanapp/kmc).
|
|
6
|
+
|
|
7
|
+
Note: this package requires WASM support.
|
|
8
|
+
|
|
9
|
+
* [API Reference](https://help.keyman.com/developer/current-version/reference/api/kmc-kmn)
|
|
@@ -65,72 +65,72 @@ export class KmnCompilerMessages {
|
|
|
65
65
|
// kmc-kmn, which would avoid a number of legacy issues. Questions about
|
|
66
66
|
// parameterisation.
|
|
67
67
|
static FATAL_UnexpectedException = SevFatal | 0x900;
|
|
68
|
-
static Fatal_UnexpectedException = (o) => CompilerMessageSpecWithException(this.FATAL_UnexpectedException, null, o.e ?? 'unknown error', `Raised when KmnCompiler or one of its components has an internal
|
|
69
|
-
error. If you experience this error, it should be reported to the Keyman
|
|
68
|
+
static Fatal_UnexpectedException = (o) => CompilerMessageSpecWithException(this.FATAL_UnexpectedException, null, o.e ?? 'unknown error', `Raised when KmnCompiler or one of its components has an internal
|
|
69
|
+
error. If you experience this error, it should be reported to the Keyman
|
|
70
70
|
team for resolution via ${KeymanUrls.NEW_KEYMAN_ISSUE()}.`);
|
|
71
71
|
static FATAL_MissingWasmModule = SevFatal | 0x901;
|
|
72
|
-
static Fatal_MissingWasmModule = (o) => CompilerMessageSpecWithException(this.FATAL_MissingWasmModule, `Could not instantiate WASM compiler module or initialization failed`, o.e ?? 'unknown error', `Raised when the kmcmplib component could not be instantiated. This may indicate
|
|
73
|
-
a configuration or dependency issue. Make sure you are running a Javascript
|
|
72
|
+
static Fatal_MissingWasmModule = (o) => CompilerMessageSpecWithException(this.FATAL_MissingWasmModule, `Could not instantiate WASM compiler module or initialization failed`, o.e ?? 'unknown error', `Raised when the kmcmplib component could not be instantiated. This may indicate
|
|
73
|
+
a configuration or dependency issue. Make sure you are running a Javascript
|
|
74
74
|
engine that supports WASM, and that use of WASM is enabled.`);
|
|
75
75
|
// Note: this is now unused
|
|
76
76
|
// static FATAL_UnableToSetCompilerOptions = SevFatal | 0x902;
|
|
77
77
|
// static Fatal_UnableToSetCompilerOptions = () => m(this.FATAL_UnableToSetCompilerOptions, null, `Unable to set compiler options`);
|
|
78
78
|
static FATAL_CallbacksNotSet = SevFatal | 0x903;
|
|
79
|
-
static Fatal_CallbacksNotSet = () => CompilerMessageSpecWithException(this.FATAL_CallbacksNotSet, null, `Callbacks were not set with init`, `Raised when KmnCompiler or one of its components experiences an internal
|
|
80
|
-
error. If you experience this error, it should be reported to the Keyman
|
|
79
|
+
static Fatal_CallbacksNotSet = () => CompilerMessageSpecWithException(this.FATAL_CallbacksNotSet, null, `Callbacks were not set with init`, `Raised when KmnCompiler or one of its components experiences an internal
|
|
80
|
+
error. If you experience this error, it should be reported to the Keyman
|
|
81
81
|
team for resolution via ${KeymanUrls.NEW_KEYMAN_ISSUE()}.`);
|
|
82
82
|
static FATAL_UnicodeSetOutOfRange = SevFatal | 0x904;
|
|
83
|
-
static Fatal_UnicodeSetOutOfRange = (compileContext) => mx(this.FATAL_UnicodeSetOutOfRange, compileContext, `UnicodeSet buffer was too small`, `Raised when caller to UnicodeSet functions provides an invalid buffer. If
|
|
84
|
-
you experience this error, it should be reported to the Keyman team for
|
|
83
|
+
static Fatal_UnicodeSetOutOfRange = (compileContext) => mx(this.FATAL_UnicodeSetOutOfRange, compileContext, `UnicodeSet buffer was too small`, `Raised when caller to UnicodeSet functions provides an invalid buffer. If
|
|
84
|
+
you experience this error, it should be reported to the Keyman team for
|
|
85
85
|
resolution via ${KeymanUrls.NEW_KEYMAN_ISSUE()}.`);
|
|
86
86
|
// TODO: rename the following functions to Error_UsetHasStrings etc
|
|
87
87
|
static ERROR_UnicodeSetHasStrings = SevError | 0x905;
|
|
88
|
-
static Error_UnicodeSetHasStrings = (compileContext) => mx(this.ERROR_UnicodeSetHasStrings, compileContext, `uset contains strings, not allowed`, `The provided uset uses multi-character strings, (\`{}\` notation, e.g.
|
|
89
|
-
\`[żġħ{ie}{għ}]\`. ). Although full UnicodeSets support strings, LDML
|
|
90
|
-
keyboards do not support multi-character strings in usets. To resolve this,
|
|
91
|
-
reformat the uset to avoid the use of multi-character strings.
|
|
92
|
-
|
|
88
|
+
static Error_UnicodeSetHasStrings = (compileContext) => mx(this.ERROR_UnicodeSetHasStrings, compileContext, `uset contains strings, not allowed`, `The provided uset uses multi-character strings, (\`{}\` notation, e.g.
|
|
89
|
+
\`[żġħ{ie}{għ}]\`. ). Although full UnicodeSets support strings, LDML
|
|
90
|
+
keyboards do not support multi-character strings in usets. To resolve this,
|
|
91
|
+
reformat the uset to avoid the use of multi-character strings.
|
|
92
|
+
|
|
93
93
|
More on uset: ${KeymanUrls.LDML_SPEC('element-uset')}`);
|
|
94
94
|
static ERROR_UnicodeSetHasProperties = SevError | 0x906;
|
|
95
|
-
static Error_UnicodeSetHasProperties = (compileContext) => mx(this.ERROR_UnicodeSetHasProperties, compileContext, `uset contains properties, not allowed`, `The provided uset uses property notation (\`\\p{…}\` or \`[:…:]\`). LDML
|
|
96
|
-
keyboards do not support Unicode properties in usets, because that would
|
|
97
|
-
make implementations dependent on a particular version of Unicode. To
|
|
98
|
-
resolve this, reformat the uset to avoid the use of properties.
|
|
99
|
-
|
|
95
|
+
static Error_UnicodeSetHasProperties = (compileContext) => mx(this.ERROR_UnicodeSetHasProperties, compileContext, `uset contains properties, not allowed`, `The provided uset uses property notation (\`\\p{…}\` or \`[:…:]\`). LDML
|
|
96
|
+
keyboards do not support Unicode properties in usets, because that would
|
|
97
|
+
make implementations dependent on a particular version of Unicode. To
|
|
98
|
+
resolve this, reformat the uset to avoid the use of properties.
|
|
99
|
+
|
|
100
100
|
More on uset: ${KeymanUrls.LDML_SPEC('element-uset')}`);
|
|
101
101
|
static ERROR_UnicodeSetSyntaxError = SevError | 0x907;
|
|
102
|
-
static Error_UnicodeSetSyntaxError = (compileContext) => mx(this.ERROR_UnicodeSetSyntaxError, compileContext, `uset had a Syntax Error while parsing`, `The provided uset has a syntax error and could not be parsed. Verify the
|
|
103
|
-
format of the uset against the specification.
|
|
104
|
-
|
|
102
|
+
static Error_UnicodeSetSyntaxError = (compileContext) => mx(this.ERROR_UnicodeSetSyntaxError, compileContext, `uset had a Syntax Error while parsing`, `The provided uset has a syntax error and could not be parsed. Verify the
|
|
103
|
+
format of the uset against the specification.
|
|
104
|
+
|
|
105
105
|
More on uset: ${KeymanUrls.LDML_SPEC('element-uset')}`);
|
|
106
106
|
static ERROR_InvalidKvksFile = SevError | 0x908;
|
|
107
107
|
static Error_InvalidKvksFile = (o) => m(this.ERROR_InvalidKvksFile, `Error encountered parsing ${def(o.filename)}: ${o.e ?? 'unknown error'}`, // Note, not fatal, not reporting to Sentry
|
|
108
|
-
`The .kvks file could not be parsed because it was not a valid XML file.
|
|
109
|
-
There may be additional information in the error message to help you
|
|
110
|
-
resolve the error.
|
|
111
|
-
|
|
108
|
+
`The .kvks file could not be parsed because it was not a valid XML file.
|
|
109
|
+
There may be additional information in the error message to help you
|
|
110
|
+
resolve the error.
|
|
111
|
+
|
|
112
112
|
More on .kvks file format: ${KeymanUrls.FILE_TYPE('kvks')}`);
|
|
113
113
|
static WARN_InvalidVkeyInKvksFile = SevWarn | 0x909;
|
|
114
|
-
static Warn_InvalidVkeyInKvksFile = (o) => m(this.WARN_InvalidVkeyInKvksFile, `Invalid virtual key ${def(o.invalidVkey)} found in ${def(o.filename)}`, `The .kvks file contained a virtual key that was not supported by
|
|
115
|
-
Keyman. Remove this virtual key from the .kvks file.
|
|
116
|
-
|
|
114
|
+
static Warn_InvalidVkeyInKvksFile = (o) => m(this.WARN_InvalidVkeyInKvksFile, `Invalid virtual key ${def(o.invalidVkey)} found in ${def(o.filename)}`, `The .kvks file contained a virtual key that was not supported by
|
|
115
|
+
Keyman. Remove this virtual key from the .kvks file.
|
|
116
|
+
|
|
117
117
|
Supported virtual keys: ${KeymanUrls.VIRTUAL_KEYS()}`);
|
|
118
118
|
static ERROR_InvalidDisplayMapFile = SevError | 0x90A;
|
|
119
119
|
static Error_InvalidDisplayMapFile = (o) => m(this.ERROR_InvalidDisplayMapFile, `Error encountered parsing display map ${def(o.filename)}: ${o.e ?? 'unknown error'}`, // Note, not fatal, not reporting to Sentry
|
|
120
|
-
`The displayMap file could not be parsed because it was not a valid JSON
|
|
121
|
-
file. There may be additional information in the error message to help you
|
|
122
|
-
resolve the error.
|
|
123
|
-
|
|
120
|
+
`The displayMap file could not be parsed because it was not a valid JSON
|
|
121
|
+
file. There may be additional information in the error message to help you
|
|
122
|
+
resolve the error.
|
|
123
|
+
|
|
124
124
|
More on displayMap: ${KeymanUrls.KMN_REF('displaymap')}`);
|
|
125
125
|
static ERROR_InvalidKvkFile = SevError | 0x90B;
|
|
126
126
|
static Error_InvalidKvkFile = (o) => m(this.ERROR_InvalidKvkFile, `Error encountered loading ${def(o.filename)}: ${o.e ?? 'unknown error'}`, // Note, not fatal, not reporting to Sentry
|
|
127
|
-
`The .kvk file could not be loaded because it was not a valid format. There
|
|
128
|
-
may be additional information in the error message to help you resolve the
|
|
129
|
-
error.
|
|
130
|
-
|
|
127
|
+
`The .kvk file could not be loaded because it was not a valid format. There
|
|
128
|
+
may be additional information in the error message to help you resolve the
|
|
129
|
+
error.
|
|
130
|
+
|
|
131
131
|
More on .kvk files: ${KeymanUrls.FILE_TYPE('kvk')}`);
|
|
132
132
|
static ERROR_FileNotFound = SevError | 0x90C;
|
|
133
|
-
static Error_FileNotFound = (o) => m(this.ERROR_FileNotFound, `File ${def(o.filename)} was not found`, `The file was not found on the disk. Verify that you have the correct path
|
|
133
|
+
static Error_FileNotFound = (o) => m(this.ERROR_FileNotFound, `File ${def(o.filename)} was not found`, `The file was not found on the disk. Verify that you have the correct path
|
|
134
134
|
to the file.`);
|
|
135
135
|
// static STATUS_None = 0x000; // This is not a real error
|
|
136
136
|
// static STATUS_EndOfFile = 0x001; // This is not a real error
|
|
@@ -468,37 +468,37 @@ export class KmnCompilerMessages {
|
|
|
468
468
|
static ERROR_ContextExCannotReferenceNul = SevError | 0x0B2;
|
|
469
469
|
static Error_ContextExCannotReferenceNul = () => m(this.ERROR_ContextExCannotReferenceNul, `The offset in context() points to a non-character nul statement in the context`);
|
|
470
470
|
static ERROR_TextBeforeOrAfterNulInOutput = SevError | 0x0B3;
|
|
471
|
-
static Error_TextBeforeOrAfterNulInOutput = () => m(this.ERROR_TextBeforeOrAfterNulInOutput, `A rule with a nul statement in the output cannot also output text or text-emitting statements`, `If a rule has [\`nul\`](https://help.keyman.com/developer/language/reference/nul)
|
|
472
|
-
in the output, it means that it deletes any context referenced on the left-hand
|
|
473
|
-
side of the rule, and has no other output, so it does not make sense to have any
|
|
474
|
-
content apart from the \`nul\` statement in the output.
|
|
475
|
-
|
|
476
|
-
The following statements can still be used with \`nul\` in the output:
|
|
477
|
-
* [\`beep()\`](https://help.keyman.com/developer/language/reference/beep)
|
|
478
|
-
* [\`call()\`](https://help.keyman.com/developer/language/reference/call)
|
|
479
|
-
* [\`reset()\`](https://help.keyman.com/developer/language/reference/reset)
|
|
480
|
-
* [\`return\`](https://help.keyman.com/developer/language/reference/return)
|
|
481
|
-
* [\`save()\`](https://help.keyman.com/developer/language/reference/save)
|
|
482
|
-
* [\`set()\`](https://help.keyman.com/developer/language/reference/set)
|
|
471
|
+
static Error_TextBeforeOrAfterNulInOutput = () => m(this.ERROR_TextBeforeOrAfterNulInOutput, `A rule with a nul statement in the output cannot also output text or text-emitting statements`, `If a rule has [\`nul\`](https://help.keyman.com/developer/language/reference/nul)
|
|
472
|
+
in the output, it means that it deletes any context referenced on the left-hand
|
|
473
|
+
side of the rule, and has no other output, so it does not make sense to have any
|
|
474
|
+
content apart from the \`nul\` statement in the output.
|
|
475
|
+
|
|
476
|
+
The following statements can still be used with \`nul\` in the output:
|
|
477
|
+
* [\`beep()\`](https://help.keyman.com/developer/language/reference/beep)
|
|
478
|
+
* [\`call()\`](https://help.keyman.com/developer/language/reference/call)
|
|
479
|
+
* [\`reset()\`](https://help.keyman.com/developer/language/reference/reset)
|
|
480
|
+
* [\`return\`](https://help.keyman.com/developer/language/reference/return)
|
|
481
|
+
* [\`save()\`](https://help.keyman.com/developer/language/reference/save)
|
|
482
|
+
* [\`set()\`](https://help.keyman.com/developer/language/reference/set)
|
|
483
483
|
* [\`use()\`](https://help.keyman.com/developer/language/reference/use)`);
|
|
484
484
|
static ERROR_NameMustBeAtLeastOneCharLong = SevError | 0x0B4;
|
|
485
485
|
static Error_NameMustBeAtLeastOneCharLong = () => m(this.ERROR_NameMustBeAtLeastOneCharLong, `The name parameter is required`);
|
|
486
486
|
static ERROR_NameMustBeAtMostNCharsLong = SevError | 0x0B5;
|
|
487
487
|
static Error_NameMustBeAtMostNCharsLong = (o) => m(this.ERROR_NameMustBeAtMostNCharsLong, `The referenced name '${def(o.name)}' must be at most ${def(o.length)} characters long`);
|
|
488
488
|
static ERROR_NameContainsInvalidCharacter = SevError | 0x0B6;
|
|
489
|
-
static Error_NameContainsInvalidCharacter = (o) => m(this.ERROR_NameContainsInvalidCharacter, `The referenced name '${def(o.name)}' contains an invalid character`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
489
|
+
static Error_NameContainsInvalidCharacter = (o) => m(this.ERROR_NameContainsInvalidCharacter, `The referenced name '${def(o.name)}' contains an invalid character`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
490
490
|
square brackets, control characters, or Unicode non-characters.`);
|
|
491
491
|
static ERROR_NameMustNotContainSpaces = SevError | 0x0B7;
|
|
492
|
-
static Error_NameMustNotContainSpaces = (o) => m(this.ERROR_NameMustNotContainSpaces, `The referenced name '${def(o.name)}' must not contain spaces`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
492
|
+
static Error_NameMustNotContainSpaces = (o) => m(this.ERROR_NameMustNotContainSpaces, `The referenced name '${def(o.name)}' must not contain spaces`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
493
493
|
square brackets, control characters, or Unicode non-characters.`);
|
|
494
494
|
static ERROR_NameMustNotContainComma = SevError | 0x0B8;
|
|
495
|
-
static Error_NameMustNotContainComma = (o) => m(this.ERROR_NameMustNotContainComma, `The referenced name '${def(o.name)}' must not contain commas`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
495
|
+
static Error_NameMustNotContainComma = (o) => m(this.ERROR_NameMustNotContainComma, `The referenced name '${def(o.name)}' must not contain commas`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
496
496
|
square brackets, control characters, or Unicode non-characters.`);
|
|
497
497
|
static ERROR_NameMustNotContainParentheses = SevError | 0x0B9;
|
|
498
|
-
static Error_NameMustNotContainParentheses = (o) => m(this.ERROR_NameMustNotContainParentheses, `The referenced name '${def(o.name)}' must not contain opening or closing parentheses`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
498
|
+
static Error_NameMustNotContainParentheses = (o) => m(this.ERROR_NameMustNotContainParentheses, `The referenced name '${def(o.name)}' must not contain opening or closing parentheses`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
499
499
|
square brackets, control characters, or Unicode non-characters.`);
|
|
500
500
|
static ERROR_NameMustNotContainSquareBrackets = SevError | 0x0BA;
|
|
501
|
-
static Error_NameMustNotContainSquareBrackets = (o) => m(this.ERROR_NameMustNotContainSquareBrackets, `The referenced name '${def(o.name)}' must not contain opening or closing square brackets`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
501
|
+
static Error_NameMustNotContainSquareBrackets = (o) => m(this.ERROR_NameMustNotContainSquareBrackets, `The referenced name '${def(o.name)}' must not contain opening or closing square brackets`, `Names (or identifiers) must not contain spaces, commas, parentheses,
|
|
502
502
|
square brackets, control characters, or Unicode non-characters.`);
|
|
503
503
|
static FATAL_BufferOverflow = SevFatal | 0x0C0;
|
|
504
504
|
static Fatal_BufferOverflow = () => m(this.FATAL_BufferOverflow, `The compiler memory buffer overflowed`);
|
|
@@ -1638,10 +1638,10 @@ var Module = (() => {
|
|
|
1638
1638
|
argsList += (i !== 0 ? ", " : "") + "arg" + i;
|
|
1639
1639
|
argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
|
|
1640
1640
|
}
|
|
1641
|
-
var invokerFnBody = `
|
|
1642
|
-
return function (${argsList}) {
|
|
1643
|
-
if (arguments.length !== ${argCount - 2}) {
|
|
1644
|
-
throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${argCount - 2}');
|
|
1641
|
+
var invokerFnBody = `
|
|
1642
|
+
return function (${argsList}) {
|
|
1643
|
+
if (arguments.length !== ${argCount - 2}) {
|
|
1644
|
+
throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${argCount - 2}');
|
|
1645
1645
|
}`;
|
|
1646
1646
|
if (needsDestructorStack) {
|
|
1647
1647
|
invokerFnBody += "var destructors = [];\n";
|
|
Binary file
|
|
@@ -26,41 +26,41 @@ export class KmwCompilerMessages extends KmnCompilerMessages {
|
|
|
26
26
|
//------------------------------------------------------------------------------|
|
|
27
27
|
static ERROR_TouchLayoutIdentifierRequires15 = SevError | 0x0002;
|
|
28
28
|
static Error_TouchLayoutIdentifierRequires15 = (o) => m(this.ERROR_TouchLayoutIdentifierRequires15, `Key "${def(o.keyId)}" on "${def(o.platformName)}", layer "${def(o.layerId)}" (${keyAddress(o.address)}) has a ` +
|
|
29
|
-
`multi-part identifier which requires version 15.0 or newer`, `
|
|
30
|
-
The Unicode key format \`U_xxxx_yyyy\` is supported in Keyman 15.0 and later
|
|
31
|
-
versions.
|
|
32
|
-
|
|
33
|
-
For example, \`U_0041_0300\` means the key will by default emit
|
|
34
|
-
\`U+0041 U+0300\` (À); earlier versions allow only a single Unicode value in
|
|
35
|
-
the identifier, e.g. \`U_0300\`.
|
|
29
|
+
`multi-part identifier which requires version 15.0 or newer`, `
|
|
30
|
+
The Unicode key format \`U_xxxx_yyyy\` is supported in Keyman 15.0 and later
|
|
31
|
+
versions.
|
|
32
|
+
|
|
33
|
+
For example, \`U_0041_0300\` means the key will by default emit
|
|
34
|
+
\`U+0041 U+0300\` (À); earlier versions allow only a single Unicode value in
|
|
35
|
+
the identifier, e.g. \`U_0300\`.
|
|
36
36
|
`);
|
|
37
37
|
static ERROR_InvalidTouchLayoutFileFormat = SevError | 0x0003;
|
|
38
|
-
static Error_InvalidTouchLayoutFileFormat = (o) => m(this.ERROR_InvalidTouchLayoutFileFormat, `Invalid touch layout file: ${def(o.msg)}`, `
|
|
39
|
-
The referenced .keyman-touch-layout file contained invalid JSON content. The
|
|
40
|
-
touch layout file format is documented at
|
|
41
|
-
https://help.keyman.com/developer/current-version/reference/file-types/keyman-touch-layout.
|
|
38
|
+
static Error_InvalidTouchLayoutFileFormat = (o) => m(this.ERROR_InvalidTouchLayoutFileFormat, `Invalid touch layout file: ${def(o.msg)}`, `
|
|
39
|
+
The referenced .keyman-touch-layout file contained invalid JSON content. The
|
|
40
|
+
touch layout file format is documented at
|
|
41
|
+
https://help.keyman.com/developer/current-version/reference/file-types/keyman-touch-layout.
|
|
42
42
|
`);
|
|
43
43
|
static ERROR_TouchLayoutFileDoesNotExist = SevError | 0x0004;
|
|
44
|
-
static Error_TouchLayoutFileDoesNotExist = (o) => m(this.ERROR_TouchLayoutFileDoesNotExist, `Touch layout file ${def(o.filename)} does not exist`, `
|
|
45
|
-
The compiler was unable to load the referenced .keyman-touch-layout file.
|
|
46
|
-
Verify that the referenced file does exist and is accessible to the compiler.
|
|
44
|
+
static Error_TouchLayoutFileDoesNotExist = (o) => m(this.ERROR_TouchLayoutFileDoesNotExist, `Touch layout file ${def(o.filename)} does not exist`, `
|
|
45
|
+
The compiler was unable to load the referenced .keyman-touch-layout file.
|
|
46
|
+
Verify that the referenced file does exist and is accessible to the compiler.
|
|
47
47
|
`);
|
|
48
48
|
static HINT_TouchLayoutUsesUnsupportedGesturesDownlevel = SevHint | 0x0005;
|
|
49
49
|
static Hint_TouchLayoutUsesUnsupportedGesturesDownlevel = (o) => m(this.HINT_TouchLayoutUsesUnsupportedGesturesDownlevel, `The touch layout uses a flick or multi-tap gesture on key ${def(o.keyId)}, which ` +
|
|
50
|
-
`is only available on version 17.0+ of Keyman`, `
|
|
51
|
-
Flick and multi-tap gesture support was added to Keyman mobile platforms in
|
|
52
|
-
version 17.0. Keyboards which include these gestures can still work in earlier
|
|
53
|
-
versions of Keyman, but any flick and multi-tap gestures will not be available,
|
|
54
|
-
which may make some characters inaccesssible.
|
|
50
|
+
`is only available on version 17.0+ of Keyman`, `
|
|
51
|
+
Flick and multi-tap gesture support was added to Keyman mobile platforms in
|
|
52
|
+
version 17.0. Keyboards which include these gestures can still work in earlier
|
|
53
|
+
versions of Keyman, but any flick and multi-tap gestures will not be available,
|
|
54
|
+
which may make some characters inaccesssible.
|
|
55
55
|
`);
|
|
56
56
|
static INFO_MinimumWebEngineVersion = SevInfo | 0x0006;
|
|
57
57
|
static Info_MinimumWebEngineVersion = (o) => m(this.INFO_MinimumWebEngineVersion, `The compiler has assigned a minimum web engine version of ${o.version} based on ` +
|
|
58
|
-
`features used in this keyboard`, `
|
|
59
|
-
If the [\`&version\` store](https://help.keyman.com/developer/language/reference/version)
|
|
60
|
-
is not present in the keyboard source, the compiler attempts to assign the
|
|
61
|
-
lowest possible Keyman version that can support the features found in the
|
|
62
|
-
keyboard. Details on the history of language features and supported versions
|
|
63
|
-
can be found at https://help.keyman.com/developer/language/guide/history.
|
|
58
|
+
`features used in this keyboard`, `
|
|
59
|
+
If the [\`&version\` store](https://help.keyman.com/developer/language/reference/version)
|
|
60
|
+
is not present in the keyboard source, the compiler attempts to assign the
|
|
61
|
+
lowest possible Keyman version that can support the features found in the
|
|
62
|
+
keyboard. Details on the history of language features and supported versions
|
|
63
|
+
can be found at https://help.keyman.com/developer/language/guide/history.
|
|
64
64
|
`);
|
|
65
65
|
}
|
|
66
66
|
;
|
package/package.json
CHANGED
|
@@ -1,67 +1,68 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@keymanapp/kmc-kmn",
|
|
3
|
-
"description": "Keyman Developer Compiler Module for .kmn to .kmx",
|
|
4
|
-
"keywords": [
|
|
5
|
-
"keyboard",
|
|
6
|
-
"keyman",
|
|
7
|
-
"kmn",
|
|
8
|
-
"kmx",
|
|
9
|
-
"unicode"
|
|
10
|
-
],
|
|
11
|
-
"type": "module",
|
|
12
|
-
"exports": {
|
|
13
|
-
".": "./build/src/main.js"
|
|
14
|
-
},
|
|
15
|
-
"files": [
|
|
16
|
-
"/build/src/"
|
|
17
|
-
],
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "tsc -b",
|
|
20
|
-
"lint": "eslint .",
|
|
21
|
-
"test": "npm run lint && cd test && tsc -b && cd .. && c8 --reporter=lcov --reporter=text mocha"
|
|
22
|
-
},
|
|
23
|
-
"author": "Marc Durdin <marc@keyman.com> (https://github.com/mcdurdin)",
|
|
24
|
-
"license": "MIT",
|
|
25
|
-
"bugs": {
|
|
26
|
-
"url": "https://github.com/keymanapp/keyman/issues"
|
|
27
|
-
},
|
|
28
|
-
"dependencies": {
|
|
29
|
-
"@keymanapp/common-types": "19.0.
|
|
30
|
-
"@keymanapp/keyman-version": "19.0.
|
|
31
|
-
"@keymanapp/developer-utils": "19.0.
|
|
32
|
-
},
|
|
33
|
-
"devDependencies": {
|
|
34
|
-
"@keymanapp/developer-test-helpers": "19.0.
|
|
35
|
-
"@types/mocha": "^5.2.7",
|
|
36
|
-
"@types/node": "^20.4.1",
|
|
37
|
-
"@types/semver": "^7.3.12",
|
|
38
|
-
"@types/sinon": "^10.0.13",
|
|
39
|
-
"@types/sinon-chai": "^3.2.9",
|
|
40
|
-
"c8": "^7.12.0",
|
|
41
|
-
"chalk": "^2.4.2",
|
|
42
|
-
"sinon-chai": "^3.7.0",
|
|
43
|
-
"typescript": "^5.4.5"
|
|
44
|
-
},
|
|
45
|
-
"mocha": {
|
|
46
|
-
"spec": "build/test/**/*.tests.js",
|
|
47
|
-
"require": [
|
|
48
|
-
"source-map-support/register"
|
|
49
|
-
]
|
|
50
|
-
},
|
|
51
|
-
"c8": {
|
|
52
|
-
"all": true,
|
|
53
|
-
"src": [
|
|
54
|
-
"src/"
|
|
55
|
-
],
|
|
56
|
-
"exclude-after-remap": true,
|
|
57
|
-
"exclude": [
|
|
58
|
-
"src/import/",
|
|
59
|
-
"test/"
|
|
60
|
-
]
|
|
61
|
-
},
|
|
62
|
-
"repository": {
|
|
63
|
-
"type": "git",
|
|
64
|
-
"url": "git+https://github.com/keymanapp/keyman.git"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@keymanapp/kmc-kmn",
|
|
3
|
+
"description": "Keyman Developer Compiler Module for .kmn to .kmx",
|
|
4
|
+
"keywords": [
|
|
5
|
+
"keyboard",
|
|
6
|
+
"keyman",
|
|
7
|
+
"kmn",
|
|
8
|
+
"kmx",
|
|
9
|
+
"unicode"
|
|
10
|
+
],
|
|
11
|
+
"type": "module",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": "./build/src/main.js"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"/build/src/"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsc -b",
|
|
20
|
+
"lint": "eslint .",
|
|
21
|
+
"test": "npm run lint && cd test && tsc -b && cd .. && c8 --reporter=lcov --reporter=text mocha"
|
|
22
|
+
},
|
|
23
|
+
"author": "Marc Durdin <marc@keyman.com> (https://github.com/mcdurdin)",
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/keymanapp/keyman/issues"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@keymanapp/common-types": "19.0.151-alpha",
|
|
30
|
+
"@keymanapp/keyman-version": "19.0.151-alpha",
|
|
31
|
+
"@keymanapp/developer-utils": "19.0.151-alpha"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@keymanapp/developer-test-helpers": "19.0.151-alpha",
|
|
35
|
+
"@types/mocha": "^5.2.7",
|
|
36
|
+
"@types/node": "^20.4.1",
|
|
37
|
+
"@types/semver": "^7.3.12",
|
|
38
|
+
"@types/sinon": "^10.0.13",
|
|
39
|
+
"@types/sinon-chai": "^3.2.9",
|
|
40
|
+
"c8": "^7.12.0",
|
|
41
|
+
"chalk": "^2.4.2",
|
|
42
|
+
"sinon-chai": "^3.7.0",
|
|
43
|
+
"typescript": "^5.4.5"
|
|
44
|
+
},
|
|
45
|
+
"mocha": {
|
|
46
|
+
"spec": "build/test/**/*.tests.js",
|
|
47
|
+
"require": [
|
|
48
|
+
"source-map-support/register"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"c8": {
|
|
52
|
+
"all": true,
|
|
53
|
+
"src": [
|
|
54
|
+
"src/"
|
|
55
|
+
],
|
|
56
|
+
"exclude-after-remap": true,
|
|
57
|
+
"exclude": [
|
|
58
|
+
"src/import/",
|
|
59
|
+
"test/"
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
"repository": {
|
|
63
|
+
"type": "git",
|
|
64
|
+
"url": "git+https://github.com/keymanapp/keyman.git",
|
|
65
|
+
"directory": "developer/src/kmc-kmn"
|
|
66
|
+
},
|
|
67
|
+
"version": "19.0.151-alpha"
|
|
68
|
+
}
|