@keymanapp/common-types 18.0.16-alpha → 18.0.18-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 (147) hide show
  1. package/build/src/consts/virtual-key-constants.js +222 -221
  2. package/build/src/consts/virtual-key-constants.js.map +1 -1
  3. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js +73 -72
  4. package/build/src/keyman-touch-layout/keyman-touch-layout-file-reader.js.map +1 -1
  5. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js +121 -120
  6. package/build/src/keyman-touch-layout/keyman-touch-layout-file-writer.js.map +1 -1
  7. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js +55 -54
  8. package/build/src/keyman-touch-layout/keyman-touch-layout-file.js.map +1 -1
  9. package/build/src/kmx/element-string.d.ts.map +1 -1
  10. package/build/src/kmx/element-string.js +126 -120
  11. package/build/src/kmx/element-string.js.map +1 -1
  12. package/build/src/kmx/keyman-targets.js +80 -79
  13. package/build/src/kmx/keyman-targets.js.map +1 -1
  14. package/build/src/kmx/kmx-builder.js +190 -189
  15. package/build/src/kmx/kmx-builder.js.map +1 -1
  16. package/build/src/kmx/kmx-file-reader.js +135 -134
  17. package/build/src/kmx/kmx-file-reader.js.map +1 -1
  18. package/build/src/kmx/kmx-plus-builder/build-disp.js +28 -27
  19. package/build/src/kmx/kmx-plus-builder/build-disp.js.map +1 -1
  20. package/build/src/kmx/kmx-plus-builder/build-elem.js +90 -89
  21. package/build/src/kmx/kmx-plus-builder/build-elem.js.map +1 -1
  22. package/build/src/kmx/kmx-plus-builder/build-keys.js +108 -107
  23. package/build/src/kmx/kmx-plus-builder/build-keys.js.map +1 -1
  24. package/build/src/kmx/kmx-plus-builder/build-layr.js +102 -101
  25. package/build/src/kmx/kmx-plus-builder/build-layr.js.map +1 -1
  26. package/build/src/kmx/kmx-plus-builder/build-list.js +67 -66
  27. package/build/src/kmx/kmx-plus-builder/build-list.js.map +1 -1
  28. package/build/src/kmx/kmx-plus-builder/build-loca.js +22 -21
  29. package/build/src/kmx/kmx-plus-builder/build-loca.js.map +1 -1
  30. package/build/src/kmx/kmx-plus-builder/build-meta.js +23 -22
  31. package/build/src/kmx/kmx-plus-builder/build-meta.js.map +1 -1
  32. package/build/src/kmx/kmx-plus-builder/build-sect.js +16 -15
  33. package/build/src/kmx/kmx-plus-builder/build-sect.js.map +1 -1
  34. package/build/src/kmx/kmx-plus-builder/build-strs.js +47 -46
  35. package/build/src/kmx/kmx-plus-builder/build-strs.js.map +1 -1
  36. package/build/src/kmx/kmx-plus-builder/build-tran.js +70 -69
  37. package/build/src/kmx/kmx-plus-builder/build-tran.js.map +1 -1
  38. package/build/src/kmx/kmx-plus-builder/build-uset.js +61 -60
  39. package/build/src/kmx/kmx-plus-builder/build-uset.js.map +1 -1
  40. package/build/src/kmx/kmx-plus-builder/build-vars.js +49 -48
  41. package/build/src/kmx/kmx-plus-builder/build-vars.js.map +1 -1
  42. package/build/src/kmx/kmx-plus-builder/builder-section.js +5 -4
  43. package/build/src/kmx/kmx-plus-builder/builder-section.js.map +1 -1
  44. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js +138 -137
  45. package/build/src/kmx/kmx-plus-builder/kmx-plus-builder.js.map +1 -1
  46. package/build/src/kmx/kmx-plus.d.ts +3 -2
  47. package/build/src/kmx/kmx-plus.d.ts.map +1 -1
  48. package/build/src/kmx/kmx-plus.js +831 -823
  49. package/build/src/kmx/kmx-plus.js.map +1 -1
  50. package/build/src/kmx/kmx.d.ts.map +1 -1
  51. package/build/src/kmx/kmx.js +303 -299
  52. package/build/src/kmx/kmx.js.map +1 -1
  53. package/build/src/kmx/string-list.js +89 -88
  54. package/build/src/kmx/string-list.js.map +1 -1
  55. package/build/src/kpj/keyman-developer-project.js +196 -195
  56. package/build/src/kpj/keyman-developer-project.js.map +1 -1
  57. package/build/src/kpj/kpj-file-reader.js +120 -119
  58. package/build/src/kpj/kpj-file-reader.js.map +1 -1
  59. package/build/src/kpj/kpj-file.js +13 -12
  60. package/build/src/kpj/kpj-file.js.map +1 -1
  61. package/build/src/kvk/kvk-file-reader.js +38 -37
  62. package/build/src/kvk/kvk-file-reader.js.map +1 -1
  63. package/build/src/kvk/kvk-file-writer.js +78 -77
  64. package/build/src/kvk/kvk-file-writer.js.map +1 -1
  65. package/build/src/kvk/kvk-file.js +91 -90
  66. package/build/src/kvk/kvk-file.js.map +1 -1
  67. package/build/src/kvk/kvks-file-reader.js +176 -175
  68. package/build/src/kvk/kvks-file-reader.js.map +1 -1
  69. package/build/src/kvk/kvks-file-writer.js +107 -106
  70. package/build/src/kvk/kvks-file-writer.js.map +1 -1
  71. package/build/src/kvk/kvks-file.js +12 -11
  72. package/build/src/kvk/kvks-file.js.map +1 -1
  73. package/build/src/kvk/visual-keyboard.js +76 -75
  74. package/build/src/kvk/visual-keyboard.js.map +1 -1
  75. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js +22 -21
  76. package/build/src/ldml-keyboard/ldml-keyboard-testdata-xml.js.map +1 -1
  77. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js +410 -409
  78. package/build/src/ldml-keyboard/ldml-keyboard-xml-reader.js.map +1 -1
  79. package/build/src/ldml-keyboard/ldml-keyboard-xml.js +58 -57
  80. package/build/src/ldml-keyboard/ldml-keyboard-xml.js.map +1 -1
  81. package/build/src/ldml-keyboard/pattern-parser.js +491 -490
  82. package/build/src/ldml-keyboard/pattern-parser.js.map +1 -1
  83. package/build/src/ldml-keyboard/unicodeset-parser-api.js +30 -29
  84. package/build/src/ldml-keyboard/unicodeset-parser-api.js.map +1 -1
  85. package/build/src/main.js +35 -34
  86. package/build/src/main.js.map +1 -1
  87. package/build/src/package/kmp-json-file.js +4 -3
  88. package/build/src/package/kmp-json-file.js.map +1 -1
  89. package/build/src/package/kps-file.js +18 -17
  90. package/build/src/package/kps-file.js.map +1 -1
  91. package/build/src/schema-validators.js +28 -27
  92. package/build/src/schema-validators.js.map +1 -1
  93. package/build/src/schemas/displaymap.schema.js +38 -37
  94. package/build/src/schemas/displaymap.schema.js.map +1 -1
  95. package/build/src/schemas/displaymap.schema.validator.mjs +267 -266
  96. package/build/src/schemas/displaymap.schema.validator.mjs.map +1 -1
  97. package/build/src/schemas/keyboard_info.schema.js +101 -100
  98. package/build/src/schemas/keyboard_info.schema.js.map +1 -1
  99. package/build/src/schemas/keyboard_info.schema.validator.mjs +1161 -1160
  100. package/build/src/schemas/keyboard_info.schema.validator.mjs.map +1 -1
  101. package/build/src/schemas/keyman-touch-layout.clean.spec.js +154 -153
  102. package/build/src/schemas/keyman-touch-layout.clean.spec.js.map +1 -1
  103. package/build/src/schemas/keyman-touch-layout.clean.spec.validator.mjs +1095 -1094
  104. package/build/src/schemas/keyman-touch-layout.clean.spec.validator.mjs.map +1 -1
  105. package/build/src/schemas/keyman-touch-layout.spec.js +143 -142
  106. package/build/src/schemas/keyman-touch-layout.spec.js.map +1 -1
  107. package/build/src/schemas/keyman-touch-layout.spec.validator.mjs +1437 -1436
  108. package/build/src/schemas/keyman-touch-layout.spec.validator.mjs.map +1 -1
  109. package/build/src/schemas/kmp.schema.js +356 -355
  110. package/build/src/schemas/kmp.schema.js.map +1 -1
  111. package/build/src/schemas/kmp.schema.validator.mjs +1628 -1627
  112. package/build/src/schemas/kmp.schema.validator.mjs.map +1 -1
  113. package/build/src/schemas/kpj-9.0.schema.js +134 -133
  114. package/build/src/schemas/kpj-9.0.schema.js.map +1 -1
  115. package/build/src/schemas/kpj-9.0.schema.validator.mjs +656 -655
  116. package/build/src/schemas/kpj-9.0.schema.validator.mjs.map +1 -1
  117. package/build/src/schemas/kpj.schema.js +132 -131
  118. package/build/src/schemas/kpj.schema.js.map +1 -1
  119. package/build/src/schemas/kpj.schema.validator.mjs +516 -515
  120. package/build/src/schemas/kpj.schema.validator.mjs.map +1 -1
  121. package/build/src/schemas/kvks.schema.js +185 -184
  122. package/build/src/schemas/kvks.schema.js.map +1 -1
  123. package/build/src/schemas/kvks.schema.validator.mjs +626 -625
  124. package/build/src/schemas/kvks.schema.validator.mjs.map +1 -1
  125. package/build/src/schemas/ldml-keyboard3.schema.js +699 -698
  126. package/build/src/schemas/ldml-keyboard3.schema.js.map +1 -1
  127. package/build/src/schemas/ldml-keyboard3.schema.validator.mjs +3118 -3117
  128. package/build/src/schemas/ldml-keyboard3.schema.validator.mjs.map +1 -1
  129. package/build/src/schemas/ldml-keyboardtest3.schema.js +228 -227
  130. package/build/src/schemas/ldml-keyboardtest3.schema.js.map +1 -1
  131. package/build/src/schemas/ldml-keyboardtest3.schema.validator.mjs +745 -744
  132. package/build/src/schemas/ldml-keyboardtest3.schema.validator.mjs.map +1 -1
  133. package/build/src/schemas.js +26 -25
  134. package/build/src/schemas.js.map +1 -1
  135. package/build/src/util/common-events.js +29 -28
  136. package/build/src/util/common-events.js.map +1 -1
  137. package/build/src/util/compiler-interfaces.js +381 -380
  138. package/build/src/util/compiler-interfaces.js.map +1 -1
  139. package/build/src/util/errors.js +8 -7
  140. package/build/src/util/errors.js.map +1 -1
  141. package/build/src/util/file-types.js +143 -142
  142. package/build/src/util/file-types.js.map +1 -1
  143. package/build/src/util/util.d.ts +4 -0
  144. package/build/src/util/util.d.ts.map +1 -1
  145. package/build/src/util/util.js +369 -362
  146. package/build/src/util/util.js.map +1 -1
  147. package/package.json +2 -2
@@ -1,196 +1,197 @@
1
- //
2
- // Version 1.0 and 2.0 of Keyman Developer Project .kpj file
3
- //
4
- !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]="a6c1d388-5034-5dba-ae5a-1c0cd6cf3dd9")}catch(e){}}();
5
- import { KeymanFileTypes } from '../main.js';
6
- export class KeymanDeveloperProject {
7
- _projectFilename;
8
- callbacks;
9
- options;
10
- files;
11
- projectPath = '';
12
- projectFile;
13
- get projectFilename() {
14
- return this._projectFilename;
15
- }
16
- constructor(_projectFilename, version, callbacks) {
17
- this._projectFilename = _projectFilename;
18
- this.callbacks = callbacks;
19
- this.projectPath = this.callbacks.path.dirname(this._projectFilename);
20
- this.options = new KeymanDeveloperProjectOptions(version);
21
- this.files = [];
22
- this.projectFile = new KeymanDeveloperProjectFile20(_projectFilename, callbacks);
23
- }
24
- /**
25
- * Adds .kmn, .xml, .kps to project based on options.sourcePath
26
- * @param projectFilename Full path to project.kpj (even if the file doesn't exist)
27
- */
28
- populateFiles() {
29
- if (this.options.version != '2.0') {
30
- throw new Error('populateFiles can only be called on a v2.0 project');
31
- }
32
- let sourcePath = this.resolveProjectPath(this.options.sourcePath);
33
- if (!this.callbacks.fs.existsSync(sourcePath)) {
34
- return false;
35
- }
36
- let files = this.callbacks.fs.readdirSync(sourcePath);
37
- for (let filename of files) {
38
- let fullPath = this.callbacks.path.join(sourcePath, filename);
39
- if (KeymanFileTypes.filenameIs(filename, ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */)) {
40
- try {
41
- const data = this.callbacks.loadFile(fullPath);
42
- const text = new TextDecoder().decode(data);
43
- if (!text?.match(/ldmlKeyboard3\.dtd/)) {
44
- // Skip this .xml because we assume it isn't really a keyboard .xml
45
- continue;
46
- }
47
- }
48
- catch (e) {
49
- // We'll just silently skip this file because we were not able to load it,
50
- // so let's hope it wasn't a real LDML keyboard XML :-)
51
- continue;
52
- }
53
- }
54
- if (KeymanFileTypes.sourceTypeFromFilename(filename) !== null) {
55
- let file = new KeymanDeveloperProjectFile20(fullPath, this.callbacks);
56
- this.files.push(file);
57
- }
58
- }
59
- return this.files.length > 0;
60
- }
61
- isKeyboardProject() {
62
- return !!this.files.find(file => file.fileType == ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */ || file.fileType == ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */);
63
- }
64
- isLexicalModelProject() {
65
- return !!this.files.find(file => file.fileType == ".model.ts" /* KeymanFileTypes.Source.Model */);
66
- }
67
- resolveProjectPath(p) {
68
- // Replace placeholders in the target path
69
- return p.replace('$PROJECTPATH', this.projectPath);
70
- }
71
- getOutputFilePath(type) {
72
- // Roughly corresponds to Delphi TProject.GetTargetFileName
73
- let p = this.options.version == '1.0' ?
74
- this.options.buildPath || '$SOURCEPATH' :
75
- this.options.buildPath;
76
- // Replace placeholders in the target path
77
- if (this.options.version == '1.0') {
78
- // TODO: do we need to support $VERSION?
79
- // $SOURCEPATH only supported in 1.0 projects
80
- p = p.replace('$SOURCEPATH', this.callbacks.path.dirname(this._projectFilename));
81
- }
82
- p = this.resolveProjectPath(p);
83
- const f = this.callbacks.path.basename(this._projectFilename, ".kpj" /* KeymanFileTypes.Source.Project */) + type;
84
- return this.callbacks.path.normalize(this.callbacks.path.join(p, f));
85
- }
86
- resolveInputFilePath(file) {
87
- return this.callbacks.resolveFilename(this._projectFilename, file.filePath);
88
- }
89
- resolveOutputFilePath(file, sourceExt, targetExt) {
90
- // Roughly corresponds to Delphi TProject.GetTargetFileName
91
- let p = this.options.version == '1.0' ?
92
- this.options.buildPath || '$SOURCEPATH' :
93
- this.options.buildPath;
94
- // Replace placeholders in the target path
95
- if (this.options.version == '1.0') {
96
- // TODO: do we need to support $VERSION?
97
- // $SOURCEPATH only supported in 1.0 projects
98
- p = p.replace('$SOURCEPATH', this.callbacks.path.dirname(this.resolveInputFilePath(file)));
99
- }
100
- p = this.resolveProjectPath(p);
101
- let f = file.filename.replace(new RegExp(`\\${sourceExt}$`, 'i'), targetExt);
102
- return this.callbacks.path.normalize(this.callbacks.path.join(p, f));
103
- }
104
- }
105
- ;
106
- export var KeymanDeveloperProjectType;
107
- (function (KeymanDeveloperProjectType) {
108
- KeymanDeveloperProjectType[KeymanDeveloperProjectType["Keyboard"] = 0] = "Keyboard";
109
- KeymanDeveloperProjectType[KeymanDeveloperProjectType["LexicalModel"] = 1] = "LexicalModel";
110
- })(KeymanDeveloperProjectType || (KeymanDeveloperProjectType = {}));
111
- ;
112
- export class KeymanDeveloperProjectOptions {
113
- buildPath;
114
- sourcePath;
115
- compilerWarningsAsErrors = false;
116
- warnDeprecatedCode = true;
117
- checkFilenameConventions = false; // missing option defaults to False
118
- /**
119
- * Skip building .keyboard_info and .model_info files, for example in
120
- * unit tests or for legacy keyboards
121
- */
122
- skipMetadataFiles;
123
- projectType = KeymanDeveloperProjectType.Keyboard;
124
- version;
125
- constructor(version) {
126
- this.version = version;
127
- switch (version) {
128
- case "1.0":
129
- this.buildPath = '';
130
- this.sourcePath = '';
131
- this.skipMetadataFiles = true;
132
- break;
133
- case "2.0":
134
- this.buildPath = '$PROJECTPATH/build';
135
- this.sourcePath = '$PROJECTPATH/source';
136
- this.skipMetadataFiles = false;
137
- break;
138
- default:
139
- throw new Error('Invalid version');
140
- }
141
- }
142
- }
143
- ;
144
- ;
145
- export class KeymanDeveloperProjectFile10 {
146
- id;
147
- filePath;
148
- fileVersion;
149
- callbacks;
150
- get filename() {
151
- return this.callbacks.path.basename(this.filePath);
152
- }
153
- get fileType() {
154
- return KeymanFileTypes.fromFilename(this.filename);
155
- }
156
- details; // 1.0 only
157
- childFiles; // 1.0 only
158
- constructor(id, filePath, fileVersion, callbacks) {
159
- this.id = id;
160
- this.filePath = filePath;
161
- this.fileVersion = fileVersion;
162
- this.callbacks = callbacks;
163
- this.details = {};
164
- this.childFiles = [];
165
- }
166
- }
167
- ;
168
- export class KeymanDeveloperProjectFile20 {
169
- filePath;
170
- callbacks;
171
- get filename() {
172
- return this.callbacks.path.basename(this.filePath);
173
- }
174
- get fileType() {
175
- return KeymanFileTypes.fromFilename(this.filename);
176
- }
177
- constructor(filePath, callbacks) {
178
- this.filePath = filePath;
179
- this.callbacks = callbacks;
180
- }
181
- }
182
- ;
183
- export class KeymanDeveloperProjectFileDetail_Kps {
184
- name;
185
- copyright;
186
- version;
187
- }
188
- ;
189
- export class KeymanDeveloperProjectFileDetail_Kmn {
190
- name;
191
- copyright;
192
- message;
193
- }
194
- ;
195
- //# debugId=a6c1d388-5034-5dba-ae5a-1c0cd6cf3dd9
1
+ //
2
+ // Version 1.0 and 2.0 of Keyman Developer Project .kpj file
3
+ //
4
+
5
+ !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]="fd8aa31b-e8b1-58bc-bee2-8179c000fb98")}catch(e){}}();
6
+ import { KeymanFileTypes } from '../main.js';
7
+ export class KeymanDeveloperProject {
8
+ _projectFilename;
9
+ callbacks;
10
+ options;
11
+ files;
12
+ projectPath = '';
13
+ projectFile;
14
+ get projectFilename() {
15
+ return this._projectFilename;
16
+ }
17
+ constructor(_projectFilename, version, callbacks) {
18
+ this._projectFilename = _projectFilename;
19
+ this.callbacks = callbacks;
20
+ this.projectPath = this.callbacks.path.dirname(this._projectFilename);
21
+ this.options = new KeymanDeveloperProjectOptions(version);
22
+ this.files = [];
23
+ this.projectFile = new KeymanDeveloperProjectFile20(_projectFilename, callbacks);
24
+ }
25
+ /**
26
+ * Adds .kmn, .xml, .kps to project based on options.sourcePath
27
+ * @param projectFilename Full path to project.kpj (even if the file doesn't exist)
28
+ */
29
+ populateFiles() {
30
+ if (this.options.version != '2.0') {
31
+ throw new Error('populateFiles can only be called on a v2.0 project');
32
+ }
33
+ let sourcePath = this.resolveProjectPath(this.options.sourcePath);
34
+ if (!this.callbacks.fs.existsSync(sourcePath)) {
35
+ return false;
36
+ }
37
+ let files = this.callbacks.fs.readdirSync(sourcePath);
38
+ for (let filename of files) {
39
+ let fullPath = this.callbacks.path.join(sourcePath, filename);
40
+ if (KeymanFileTypes.filenameIs(filename, ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */)) {
41
+ try {
42
+ const data = this.callbacks.loadFile(fullPath);
43
+ const text = new TextDecoder().decode(data);
44
+ if (!text?.match(/ldmlKeyboard3\.dtd/)) {
45
+ // Skip this .xml because we assume it isn't really a keyboard .xml
46
+ continue;
47
+ }
48
+ }
49
+ catch (e) {
50
+ // We'll just silently skip this file because we were not able to load it,
51
+ // so let's hope it wasn't a real LDML keyboard XML :-)
52
+ continue;
53
+ }
54
+ }
55
+ if (KeymanFileTypes.sourceTypeFromFilename(filename) !== null) {
56
+ let file = new KeymanDeveloperProjectFile20(fullPath, this.callbacks);
57
+ this.files.push(file);
58
+ }
59
+ }
60
+ return this.files.length > 0;
61
+ }
62
+ isKeyboardProject() {
63
+ return !!this.files.find(file => file.fileType == ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */ || file.fileType == ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */);
64
+ }
65
+ isLexicalModelProject() {
66
+ return !!this.files.find(file => file.fileType == ".model.ts" /* KeymanFileTypes.Source.Model */);
67
+ }
68
+ resolveProjectPath(p) {
69
+ // Replace placeholders in the target path
70
+ return p.replace('$PROJECTPATH', this.projectPath);
71
+ }
72
+ getOutputFilePath(type) {
73
+ // Roughly corresponds to Delphi TProject.GetTargetFileName
74
+ let p = this.options.version == '1.0' ?
75
+ this.options.buildPath || '$SOURCEPATH' :
76
+ this.options.buildPath;
77
+ // Replace placeholders in the target path
78
+ if (this.options.version == '1.0') {
79
+ // TODO: do we need to support $VERSION?
80
+ // $SOURCEPATH only supported in 1.0 projects
81
+ p = p.replace('$SOURCEPATH', this.callbacks.path.dirname(this._projectFilename));
82
+ }
83
+ p = this.resolveProjectPath(p);
84
+ const f = this.callbacks.path.basename(this._projectFilename, ".kpj" /* KeymanFileTypes.Source.Project */) + type;
85
+ return this.callbacks.path.normalize(this.callbacks.path.join(p, f));
86
+ }
87
+ resolveInputFilePath(file) {
88
+ return this.callbacks.resolveFilename(this._projectFilename, file.filePath);
89
+ }
90
+ resolveOutputFilePath(file, sourceExt, targetExt) {
91
+ // Roughly corresponds to Delphi TProject.GetTargetFileName
92
+ let p = this.options.version == '1.0' ?
93
+ this.options.buildPath || '$SOURCEPATH' :
94
+ this.options.buildPath;
95
+ // Replace placeholders in the target path
96
+ if (this.options.version == '1.0') {
97
+ // TODO: do we need to support $VERSION?
98
+ // $SOURCEPATH only supported in 1.0 projects
99
+ p = p.replace('$SOURCEPATH', this.callbacks.path.dirname(this.resolveInputFilePath(file)));
100
+ }
101
+ p = this.resolveProjectPath(p);
102
+ let f = file.filename.replace(new RegExp(`\\${sourceExt}$`, 'i'), targetExt);
103
+ return this.callbacks.path.normalize(this.callbacks.path.join(p, f));
104
+ }
105
+ }
106
+ ;
107
+ export var KeymanDeveloperProjectType;
108
+ (function (KeymanDeveloperProjectType) {
109
+ KeymanDeveloperProjectType[KeymanDeveloperProjectType["Keyboard"] = 0] = "Keyboard";
110
+ KeymanDeveloperProjectType[KeymanDeveloperProjectType["LexicalModel"] = 1] = "LexicalModel";
111
+ })(KeymanDeveloperProjectType || (KeymanDeveloperProjectType = {}));
112
+ ;
113
+ export class KeymanDeveloperProjectOptions {
114
+ buildPath;
115
+ sourcePath;
116
+ compilerWarningsAsErrors = false;
117
+ warnDeprecatedCode = true;
118
+ checkFilenameConventions = false; // missing option defaults to False
119
+ /**
120
+ * Skip building .keyboard_info and .model_info files, for example in
121
+ * unit tests or for legacy keyboards
122
+ */
123
+ skipMetadataFiles;
124
+ projectType = KeymanDeveloperProjectType.Keyboard;
125
+ version;
126
+ constructor(version) {
127
+ this.version = version;
128
+ switch (version) {
129
+ case "1.0":
130
+ this.buildPath = '';
131
+ this.sourcePath = '';
132
+ this.skipMetadataFiles = true;
133
+ break;
134
+ case "2.0":
135
+ this.buildPath = '$PROJECTPATH/build';
136
+ this.sourcePath = '$PROJECTPATH/source';
137
+ this.skipMetadataFiles = false;
138
+ break;
139
+ default:
140
+ throw new Error('Invalid version');
141
+ }
142
+ }
143
+ }
144
+ ;
145
+ ;
146
+ export class KeymanDeveloperProjectFile10 {
147
+ id;
148
+ filePath;
149
+ fileVersion;
150
+ callbacks;
151
+ get filename() {
152
+ return this.callbacks.path.basename(this.filePath);
153
+ }
154
+ get fileType() {
155
+ return KeymanFileTypes.fromFilename(this.filename);
156
+ }
157
+ details; // 1.0 only
158
+ childFiles; // 1.0 only
159
+ constructor(id, filePath, fileVersion, callbacks) {
160
+ this.id = id;
161
+ this.filePath = filePath;
162
+ this.fileVersion = fileVersion;
163
+ this.callbacks = callbacks;
164
+ this.details = {};
165
+ this.childFiles = [];
166
+ }
167
+ }
168
+ ;
169
+ export class KeymanDeveloperProjectFile20 {
170
+ filePath;
171
+ callbacks;
172
+ get filename() {
173
+ return this.callbacks.path.basename(this.filePath);
174
+ }
175
+ get fileType() {
176
+ return KeymanFileTypes.fromFilename(this.filename);
177
+ }
178
+ constructor(filePath, callbacks) {
179
+ this.filePath = filePath;
180
+ this.callbacks = callbacks;
181
+ }
182
+ }
183
+ ;
184
+ export class KeymanDeveloperProjectFileDetail_Kps {
185
+ name;
186
+ copyright;
187
+ version;
188
+ }
189
+ ;
190
+ export class KeymanDeveloperProjectFileDetail_Kmn {
191
+ name;
192
+ copyright;
193
+ message;
194
+ }
195
+ ;
196
196
  //# sourceMappingURL=keyman-developer-project.js.map
197
+ //# debugId=fd8aa31b-e8b1-58bc-bee2-8179c000fb98
@@ -1 +1 @@
1
- {"debug_id":"a6c1d388-5034-5dba-ae5a-1c0cd6cf3dd9","file":"keyman-developer-project.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/kpj/keyman-developer-project.ts"],"version":3}
1
+ {"version":3,"file":"keyman-developer-project.js","sources":["../../../src/kpj/keyman-developer-project.ts"],"sourceRoot":"","names":[],"mappings":"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","debug_id":"fd8aa31b-e8b1-58bc-bee2-8179c000fb98"}