@keymanapp/kmc 17.0.154-alpha → 17.0.156-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 (148) hide show
  1. package/build/src/commands/analyze.d.ts +5 -0
  2. package/build/src/commands/analyze.d.ts.map +1 -0
  3. package/build/src/commands/analyze.js +101 -0
  4. package/build/src/commands/analyze.js.map +1 -0
  5. package/build/src/commands/build.d.ts +5 -3
  6. package/build/src/commands/build.d.ts.map +1 -1
  7. package/build/src/commands/build.js +126 -69
  8. package/build/src/commands/build.js.map +1 -1
  9. package/build/src/commands/buildClasses/BuildActivity.d.ts +12 -0
  10. package/build/src/commands/buildClasses/BuildActivity.d.ts.map +1 -0
  11. package/build/src/commands/buildClasses/BuildActivity.js +12 -0
  12. package/build/src/commands/buildClasses/BuildActivity.js.map +1 -0
  13. package/build/src/commands/buildClasses/BuildKeyboardInfo.d.ts +12 -0
  14. package/build/src/commands/buildClasses/BuildKeyboardInfo.d.ts.map +1 -0
  15. package/build/src/commands/buildClasses/BuildKeyboardInfo.js +77 -0
  16. package/build/src/commands/buildClasses/BuildKeyboardInfo.js.map +1 -0
  17. package/build/src/commands/buildClasses/BuildKmnKeyboard.d.ts +12 -0
  18. package/build/src/commands/buildClasses/BuildKmnKeyboard.d.ts.map +1 -0
  19. package/build/src/commands/{build → buildClasses}/BuildKmnKeyboard.js +41 -44
  20. package/build/src/commands/buildClasses/BuildKmnKeyboard.js.map +1 -0
  21. package/build/src/commands/buildClasses/BuildLdmlKeyboard.d.ts +12 -0
  22. package/build/src/commands/buildClasses/BuildLdmlKeyboard.d.ts.map +1 -0
  23. package/build/src/commands/{build → buildClasses}/BuildLdmlKeyboard.js +80 -80
  24. package/build/src/commands/buildClasses/BuildLdmlKeyboard.js.map +1 -0
  25. package/build/src/commands/buildClasses/BuildModel.d.ts +12 -0
  26. package/build/src/commands/buildClasses/BuildModel.d.ts.map +1 -0
  27. package/build/src/commands/{build → buildClasses}/BuildModel.js +31 -29
  28. package/build/src/commands/buildClasses/BuildModel.js.map +1 -0
  29. package/build/src/commands/buildClasses/BuildModelInfo.d.ts +22 -0
  30. package/build/src/commands/buildClasses/BuildModelInfo.d.ts.map +1 -0
  31. package/build/src/commands/buildClasses/BuildModelInfo.js +73 -0
  32. package/build/src/commands/buildClasses/BuildModelInfo.js.map +1 -0
  33. package/build/src/commands/buildClasses/BuildPackage.d.ts +12 -0
  34. package/build/src/commands/buildClasses/BuildPackage.d.ts.map +1 -0
  35. package/build/src/commands/{build → buildClasses}/BuildPackage.js +39 -37
  36. package/build/src/commands/buildClasses/BuildPackage.js.map +1 -0
  37. package/build/src/commands/buildClasses/BuildProject.d.ts +12 -0
  38. package/build/src/commands/buildClasses/BuildProject.d.ts.map +1 -0
  39. package/build/src/commands/buildClasses/BuildProject.js +84 -0
  40. package/build/src/commands/buildClasses/BuildProject.js.map +1 -0
  41. package/build/src/commands/buildClasses/buildActivities.d.ts +5 -0
  42. package/build/src/commands/buildClasses/buildActivities.d.ts.map +1 -0
  43. package/build/src/commands/{build → buildClasses}/buildActivities.js +22 -16
  44. package/build/src/commands/buildClasses/buildActivities.js.map +1 -0
  45. package/build/src/commands/buildTestData/index.d.ts +5 -5
  46. package/build/src/commands/buildTestData/index.d.ts.map +1 -1
  47. package/build/src/commands/buildTestData/index.js +39 -36
  48. package/build/src/commands/buildTestData/index.js.map +1 -1
  49. package/build/src/commands/buildTestData.d.ts +5 -3
  50. package/build/src/commands/buildTestData.d.ts.map +1 -1
  51. package/build/src/commands/buildTestData.js +11 -9
  52. package/build/src/commands/buildTestData.js.map +1 -1
  53. package/build/src/kmc.d.ts +8 -6
  54. package/build/src/kmc.d.ts.map +1 -1
  55. package/build/src/kmc.js +43 -39
  56. package/build/src/kmc.js.map +1 -1
  57. package/build/src/kmlmc.d.ts +8 -6
  58. package/build/src/kmlmc.d.ts.map +1 -1
  59. package/build/src/kmlmc.js +52 -50
  60. package/build/src/kmlmc.js.map +1 -1
  61. package/build/src/kmlmi.d.ts +8 -6
  62. package/build/src/kmlmi.d.ts.map +1 -1
  63. package/build/src/kmlmi.js +74 -73
  64. package/build/src/kmlmi.js.map +1 -1
  65. package/build/src/kmlmp.d.ts +8 -6
  66. package/build/src/kmlmp.d.ts.map +1 -1
  67. package/build/src/kmlmp.js +59 -57
  68. package/build/src/kmlmp.js.map +1 -1
  69. package/build/src/messages/messages.d.ts +90 -39
  70. package/build/src/messages/messages.d.ts.map +1 -1
  71. package/build/src/messages/messages.js +47 -28
  72. package/build/src/messages/messages.js.map +1 -1
  73. package/build/src/util/KeymanSentry.d.ts +11 -0
  74. package/build/src/util/KeymanSentry.d.ts.map +1 -0
  75. package/build/src/util/KeymanSentry.js +114 -0
  76. package/build/src/util/KeymanSentry.js.map +1 -0
  77. package/build/src/util/NodeCompilerCallbacks.d.ts +43 -0
  78. package/build/src/util/NodeCompilerCallbacks.d.ts.map +1 -0
  79. package/build/src/util/NodeCompilerCallbacks.js +184 -0
  80. package/build/src/util/NodeCompilerCallbacks.js.map +1 -0
  81. package/build/src/util/baseOptions.d.ts +11 -0
  82. package/build/src/util/baseOptions.d.ts.map +1 -0
  83. package/build/src/util/baseOptions.js +34 -0
  84. package/build/src/util/baseOptions.js.map +1 -0
  85. package/build/src/util/calculateSourcePath.d.ts +13 -0
  86. package/build/src/util/calculateSourcePath.d.ts.map +1 -0
  87. package/build/src/util/calculateSourcePath.js +20 -0
  88. package/build/src/util/calculateSourcePath.js.map +1 -0
  89. package/build/src/util/escapeRegExp.d.ts +4 -2
  90. package/build/src/util/escapeRegExp.d.ts.map +1 -1
  91. package/build/src/util/escapeRegExp.js +8 -6
  92. package/build/src/util/escapeRegExp.js.map +1 -1
  93. package/build/src/util/fileLists.d.ts +18 -0
  94. package/build/src/util/fileLists.d.ts.map +1 -0
  95. package/build/src/util/fileLists.js +48 -0
  96. package/build/src/util/fileLists.js.map +1 -0
  97. package/build/src/util/getDeveloperBinPath.d.ts +11 -9
  98. package/build/src/util/getDeveloperBinPath.d.ts.map +1 -1
  99. package/build/src/util/getDeveloperBinPath.js +38 -36
  100. package/build/src/util/getDeveloperBinPath.js.map +1 -1
  101. package/build/src/util/projectLoader.d.ts +6 -0
  102. package/build/src/util/projectLoader.d.ts.map +1 -0
  103. package/build/src/util/projectLoader.js +48 -0
  104. package/build/src/util/projectLoader.js.map +1 -0
  105. package/build/src/util/projectRunner.d.ts +5 -0
  106. package/build/src/util/projectRunner.d.ts.map +1 -0
  107. package/build/src/util/projectRunner.js +29 -0
  108. package/build/src/util/projectRunner.js.map +1 -0
  109. package/build/src/util/spawnAwait.d.ts +4 -0
  110. package/build/src/util/spawnAwait.d.ts.map +1 -0
  111. package/build/src/util/spawnAwait.js +22 -0
  112. package/build/src/util/spawnAwait.js.map +1 -0
  113. package/build/src/util/sysexits.d.ts +11 -9
  114. package/build/src/util/sysexits.d.ts.map +1 -1
  115. package/build/src/util/sysexits.js +5 -3
  116. package/build/src/util/sysexits.js.map +1 -1
  117. package/package.json +17 -12
  118. package/build/src/commands/build/BuildActivity.d.ts +0 -17
  119. package/build/src/commands/build/BuildActivity.d.ts.map +0 -1
  120. package/build/src/commands/build/BuildActivity.js +0 -11
  121. package/build/src/commands/build/BuildActivity.js.map +0 -1
  122. package/build/src/commands/build/BuildKmnKeyboard.d.ts +0 -10
  123. package/build/src/commands/build/BuildKmnKeyboard.d.ts.map +0 -1
  124. package/build/src/commands/build/BuildKmnKeyboard.js.map +0 -1
  125. package/build/src/commands/build/BuildLdmlKeyboard.d.ts +0 -10
  126. package/build/src/commands/build/BuildLdmlKeyboard.d.ts.map +0 -1
  127. package/build/src/commands/build/BuildLdmlKeyboard.js.map +0 -1
  128. package/build/src/commands/build/BuildModel.d.ts +0 -10
  129. package/build/src/commands/build/BuildModel.d.ts.map +0 -1
  130. package/build/src/commands/build/BuildModel.js.map +0 -1
  131. package/build/src/commands/build/BuildPackage.d.ts +0 -10
  132. package/build/src/commands/build/BuildPackage.d.ts.map +0 -1
  133. package/build/src/commands/build/BuildPackage.js.map +0 -1
  134. package/build/src/commands/build/BuildProject.d.ts +0 -11
  135. package/build/src/commands/build/BuildProject.d.ts.map +0 -1
  136. package/build/src/commands/build/BuildProject.js +0 -111
  137. package/build/src/commands/build/BuildProject.js.map +0 -1
  138. package/build/src/commands/build/buildActivities.d.ts +0 -3
  139. package/build/src/commands/build/buildActivities.d.ts.map +0 -1
  140. package/build/src/commands/build/buildActivities.js.map +0 -1
  141. package/build/src/messages/NodeCompilerCallbacks.d.ts +0 -21
  142. package/build/src/messages/NodeCompilerCallbacks.d.ts.map +0 -1
  143. package/build/src/messages/NodeCompilerCallbacks.js +0 -100
  144. package/build/src/messages/NodeCompilerCallbacks.js.map +0 -1
  145. package/build/src/util/kpj.schema.json +0 -127
  146. package/build/src/util/kvks.schema.json +0 -182
  147. package/build/src/util/ldml-keyboard.schema.json +0 -702
  148. package/build/src/util/ldml-keyboardtest.schema.json +0 -221
@@ -1,36 +1,38 @@
1
- import { fileURLToPath } from 'url';
2
- import * as path from 'path';
3
- import * as fs from 'fs';
4
- /**
5
- * Locates the Keyman Developer bin folder, checking first if this is running
6
- * from the source repository (using the presence of the KEYMAN_ROOT environment
7
- * variable), and if not, checking for the presence of kmcomp.exe in each
8
- * parent folder recursively until we reach the root of the filesystem.
9
- * @returns string | null
10
- */
11
- export function getDeveloperBinPath() {
12
- // if running in source repo, then we always look in developer/bin/
13
- const keymanRoot = process.env['KEYMAN_ROOT'];
14
- if (keymanRoot) {
15
- // https://stackoverflow.com/a/45242825/1836776 (imperfect due to
16
- // possibility of '..foo', but good enough)
17
- const rel = path.relative(keymanRoot, import.meta.url);
18
- if (rel && !rel.startsWith('..') && !path.isAbsolute(rel)) {
19
- return path.join(keymanRoot, 'developer', 'bin');
20
- }
21
- }
22
- // Otherwise, we will look in parent folders until we find kmcomp.exe
23
- // TODO: once we eliminate kmcomp.exe, we'll need to do this some other way?
24
- let p = fileURLToPath(import.meta.url);
25
- const root = path.parse(p).root.toLowerCase(); // lower-case for drive letter on Windows
26
- p = path.dirname(p);
27
- do {
28
- if (fs.existsSync(path.join(p, 'kmcomp.exe'))) {
29
- return p;
30
- }
31
- p = path.dirname(p);
32
- } while (p.toLowerCase() != root);
33
- // kmcomp.exe was not found on the path
34
- return null;
35
- }
36
- //# sourceMappingURL=getDeveloperBinPath.js.map
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]="9afce5e1-9343-5ba6-a735-3c2e09e8beae")}catch(e){}}();
2
+ import { fileURLToPath } from 'url';
3
+ import * as path from 'path';
4
+ import * as fs from 'fs';
5
+ /**
6
+ * Locates the Keyman Developer bin folder, checking first if this is running
7
+ * from the source repository (using the presence of the KEYMAN_ROOT environment
8
+ * variable), and if not, checking for the presence of kmcomp.exe in each
9
+ * parent folder recursively until we reach the root of the filesystem.
10
+ * @returns string | null
11
+ */
12
+ export function getDeveloperBinPath() {
13
+ // if running in source repo, then we always look in developer/bin/
14
+ const keymanRoot = process.env['KEYMAN_ROOT'];
15
+ if (keymanRoot) {
16
+ // https://stackoverflow.com/a/45242825/1836776 (imperfect due to
17
+ // possibility of '..foo', but good enough)
18
+ const rel = path.relative(keymanRoot, import.meta.url);
19
+ if (rel && !rel.startsWith('..') && !path.isAbsolute(rel)) {
20
+ return path.join(keymanRoot, 'developer', 'bin');
21
+ }
22
+ }
23
+ // Otherwise, we will look in parent folders until we find kmcomp.exe
24
+ // TODO: once we eliminate kmcomp.exe, we'll need to do this some other way?
25
+ let p = fileURLToPath(import.meta.url);
26
+ const root = path.parse(p).root.toLowerCase(); // lower-case for drive letter on Windows
27
+ p = path.dirname(p);
28
+ do {
29
+ if (fs.existsSync(path.join(p, 'kmcomp.exe'))) {
30
+ return p;
31
+ }
32
+ p = path.dirname(p);
33
+ } while (p.toLowerCase() != root);
34
+ // kmcomp.exe was not found on the path
35
+ return null;
36
+ }
37
+ //# debugId=9afce5e1-9343-5ba6-a735-3c2e09e8beae
38
+ //# sourceMappingURL=getDeveloperBinPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDeveloperBinPath.js","sourceRoot":"","sources":["../../../src/util/getDeveloperBinPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,mEAAmE;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE;QACd,iEAAiE;QACjE,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;SAClD;KACF;IAED,qEAAqE;IACrE,4EAA4E;IAC5E,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,yCAAyC;IACxF,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC;SACV;QACD,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACrB,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE;IAElC,uCAAuC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"debug_id":"9afce5e1-9343-5ba6-a735-3c2e09e8beae","file":"getDeveloperBinPath.js","mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,mEAAmE;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE;QACd,iEAAiE;QACjE,2CAA2C;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;SAClD;KACF;IAED,qEAAqE;IACrE,4EAA4E;IAC5E,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,yCAAyC;IACxF,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE;YAC7C,OAAO,CAAC,CAAC;SACV;QACD,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACrB,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE;IAElC,uCAAuC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC","names":[],"sourceRoot":"","sources":["../../../src/util/getDeveloperBinPath.ts"],"version":3}
@@ -0,0 +1,6 @@
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]="e1737539-4928-50bb-9595-c49dc18e5e75")}catch(e){}}();
2
+ import { CompilerCallbacks, KeymanDeveloperProject } from "@keymanapp/common-types";
3
+ export declare const isProject: (filename: string) => boolean;
4
+ export declare function loadProject(infile: string, callbacks: CompilerCallbacks): KeymanDeveloperProject;
5
+ //# debugId=e1737539-4928-50bb-9595-c49dc18e5e75
6
+ //# sourceMappingURL=projectLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"debug_id":"e1737539-4928-50bb-9595-c49dc18e5e75","file":"projectLoader.d.ts","mappings":";AAGA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAkC,MAAM,yBAAyB,CAAC;AAGpH,eAAO,MAAM,SAAS,aAAc,MAAM,KAAG,OAI1C,CAAC;AAEJ,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,0BAsBvE","names":[],"sourceRoot":"","sources":["../../../src/util/projectLoader.ts"],"version":3}
@@ -0,0 +1,48 @@
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]="000d4cea-cffd-5f0d-beb3-d40cecbc39e5")}catch(e){}}();
2
+ import * as path from 'path';
3
+ import * as fs from 'fs';
4
+ import { KeymanDeveloperProject, KeymanFileTypes, KPJFileReader } from "@keymanapp/common-types";
5
+ import { InfrastructureMessages } from "../messages/messages.js";
6
+ export const isProject = (filename) => fs.existsSync(filename) && (fs.statSync(filename).isDirectory() ||
7
+ KeymanFileTypes.sourceTypeFromFilename(filename) == ".kpj" /* KeymanFileTypes.Source.Project */);
8
+ export function loadProject(infile, callbacks) {
9
+ // TODO: move path requirement out of here?
10
+ infile = path.resolve(infile.replace(/\\/g, '/'));
11
+ // TODO: move fs requirement out of here?
12
+ if (fs.statSync(infile).isDirectory()) {
13
+ // This is a project folder, look for folder-name.kpj
14
+ infile = path.join(infile, path.basename(infile) + ".kpj" /* KeymanFileTypes.Source.Project */);
15
+ }
16
+ // infile should be the .kpj
17
+ if (!infile.endsWith(".kpj" /* KeymanFileTypes.Source.Project */)) {
18
+ // TODO separate error code
19
+ callbacks.reportMessage(InfrastructureMessages.Error_NotAProjectFile({ filename: infile }));
20
+ return null;
21
+ }
22
+ const project = callbacks.fs.existsSync(infile) ?
23
+ loadProjectFromFile(infile, callbacks) :
24
+ loadDefaultProjectFromFolder(infile, callbacks);
25
+ return project;
26
+ }
27
+ function loadDefaultProjectFromFolder(infile, callbacks) {
28
+ // The folder does not contain a .kpj, so construct a default 2.0 .kpj
29
+ const project = new KeymanDeveloperProject(infile, '2.0', callbacks);
30
+ project.populateFiles();
31
+ return project;
32
+ }
33
+ function loadProjectFromFile(infile, callbacks) {
34
+ const kpjData = callbacks.loadFile(infile);
35
+ const reader = new KPJFileReader(callbacks);
36
+ const kpj = reader.read(kpjData);
37
+ try {
38
+ reader.validate(kpj);
39
+ }
40
+ catch (e) {
41
+ callbacks.reportMessage(InfrastructureMessages.Error_InvalidProjectFile({ message: (e ?? '').toString() }));
42
+ return null;
43
+ }
44
+ const project = reader.transform(infile, kpj);
45
+ return project;
46
+ }
47
+ //# debugId=000d4cea-cffd-5f0d-beb3-d40cecbc39e5
48
+ //# sourceMappingURL=projectLoader.js.map
@@ -0,0 +1 @@
1
+ {"debug_id":"000d4cea-cffd-5f0d-beb3-d40cecbc39e5","file":"projectLoader.js","mappings":";AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAqB,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAW,EAAE,CACrD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CACzB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;IACnC,eAAe,CAAC,sBAAsB,CAAC,QAAQ,CAAC,+CAAkC,CACnF,CAAC;AAEJ,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,SAA4B;IACtE,2CAA2C;IAC3C,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAElD,yCAAyC;IACzC,IAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE;QACpC,qDAAqD;QACrD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,8CAAiC,CAAC,CAAC;KACpF;IAED,4BAA4B;IAC5B,IAAG,CAAC,MAAM,CAAC,QAAQ,6CAAgC,EAAE;QACnD,2BAA2B;QAC3B,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,EAAC,QAAQ,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;KACb;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACxC,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAElD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAc,EAAE,SAA4B;IAChF,sEAAsE;IACtE,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACrE,OAAO,CAAC,aAAa,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,SAA4B;IACvE,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI;QACF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KACtB;IAAC,OAAM,CAAC,EAAE;QACT,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,EAAC,OAAO,EAAE,CAAC,CAAC,IAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC,CAAC;QACxG,OAAO,IAAI,CAAC;KACb;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC","names":[],"sourceRoot":"","sources":["../../../src/util/projectLoader.ts"],"version":3}
@@ -0,0 +1,5 @@
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]="be9ed622-7cc8-54b6-8776-7170258416d6")}catch(e){}}();
2
+ import { CompilerCallbacks } from "@keymanapp/common-types";
3
+ export declare function runOnFiles(callbacks: CompilerCallbacks, filenames: string[], callback: (filename: string) => Promise<boolean>): Promise<boolean>;
4
+ //# debugId=be9ed622-7cc8-54b6-8776-7170258416d6
5
+ //# sourceMappingURL=projectRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"debug_id":"be9ed622-7cc8-54b6-8776-7170258416d6","file":"projectRunner.d.ts","mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,yBAAyB,CAAC;AAkB7E,wBAAsB,UAAU,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAC,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnJ","names":[],"sourceRoot":"","sources":["../../../src/util/projectRunner.ts"],"version":3}
@@ -0,0 +1,29 @@
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]="efdfba5f-2611-534b-8fc4-3d8ec12533e2")}catch(e){}}();
2
+ import { KeymanFileTypes } from "@keymanapp/common-types";
3
+ import { isProject, loadProject } from './projectLoader.js';
4
+ async function runProject(callbacks, filename, callback) {
5
+ const project = loadProject(filename, callbacks);
6
+ for (const file of project.files) {
7
+ if (KeymanFileTypes.filenameIs(file.filename, ".kpj" /* KeymanFileTypes.Source.Project */)) {
8
+ // Don't accidentally recurse into projects
9
+ continue;
10
+ }
11
+ if (!await callback(project.resolveInputFilePath(file))) {
12
+ return false;
13
+ }
14
+ }
15
+ return true;
16
+ }
17
+ export async function runOnFiles(callbacks, filenames, callback) {
18
+ for (let filename of filenames) {
19
+ const result = isProject(filename) ?
20
+ await runProject(callbacks, filename, callback) :
21
+ await callback(filename);
22
+ if (!result) {
23
+ return false;
24
+ }
25
+ }
26
+ return true;
27
+ }
28
+ //# debugId=efdfba5f-2611-534b-8fc4-3d8ec12533e2
29
+ //# sourceMappingURL=projectRunner.js.map
@@ -0,0 +1 @@
1
+ {"debug_id":"efdfba5f-2611-534b-8fc4-3d8ec12533e2","file":"projectRunner.js","mappings":";AAAA,OAAO,EAAqB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5D,KAAK,UAAU,UAAU,CAAC,SAA4B,EAAE,QAAgB,EAAE,QAA6C;IACrH,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEjD,KAAI,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE;QAC/B,IAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,8CAAiC,EAAE;YAC5E,2CAA2C;YAC3C,SAAS;SACV;QACD,IAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE;YACtD,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAA4B,EAAE,SAAmB,EAAE,QAA6C;IAC/H,KAAI,IAAI,QAAQ,IAAI,SAAS,EAAE;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClC,MAAM,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjD,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAG,CAAC,MAAM,EAAE;YACV,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC","names":[],"sourceRoot":"","sources":["../../../src/util/projectRunner.ts"],"version":3}
@@ -0,0 +1,4 @@
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]="1b3d11ad-5083-545d-9fdd-21cfd59eebfa")}catch(e){}}();
2
+ export declare const spawnChild: (cmd: string, params: string[]) => Promise<string>;
3
+ //# debugId=1b3d11ad-5083-545d-9fdd-21cfd59eebfa
4
+ //# sourceMappingURL=spawnAwait.d.ts.map
@@ -0,0 +1 @@
1
+ {"debug_id":"1b3d11ad-5083-545d-9fdd-21cfd59eebfa","file":"spawnAwait.d.ts","mappings":";AAEA,eAAO,MAAM,UAAU,QAAwB,MAAM,UAAU,MAAM,EAAE,oBAsBtE,CAAA","names":[],"sourceRoot":"","sources":["../../../src/util/spawnAwait.ts"],"version":3}
@@ -0,0 +1,22 @@
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]="cd1d8ba4-fda6-5bf3-924b-686eed51ec4d")}catch(e){}}();
2
+ import { spawn } from 'child_process';
3
+ export const spawnChild = async function (cmd, params) {
4
+ const child = spawn(cmd, params);
5
+ let data = "";
6
+ for await (const chunk of child.stdout) {
7
+ data += chunk;
8
+ }
9
+ let error = "";
10
+ for await (const chunk of child.stderr) {
11
+ error += chunk;
12
+ }
13
+ const exitCode = await new Promise((resolve) => {
14
+ child.on('close', resolve);
15
+ });
16
+ if (exitCode) {
17
+ throw new Error(`subprocess error exit ${exitCode}, ${error}`);
18
+ }
19
+ return data;
20
+ };
21
+ //# debugId=cd1d8ba4-fda6-5bf3-924b-686eed51ec4d
22
+ //# sourceMappingURL=spawnAwait.js.map
@@ -0,0 +1 @@
1
+ {"debug_id":"cd1d8ba4-fda6-5bf3-924b-686eed51ec4d","file":"spawnAwait.js","mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,WAAW,GAAW,EAAE,MAAgB;IACrE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAEjC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;QACtC,IAAI,IAAI,KAAK,CAAC;KACf;IAED,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;QACtC,KAAK,IAAI,KAAK,CAAC;KAChB;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;KAChE;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA","names":[],"sourceRoot":"","sources":["../../../src/util/spawnAwait.ts"],"version":3}
@@ -1,9 +1,11 @@
1
- /**
2
- * Exit codes defined in <sysexits.h>:
3
- * https://www.freebsd.org/cgi/man.cgi?query=sysexits&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html
4
- */
5
- export declare const enum SysExits {
6
- EX_USAGE = 64,
7
- EX_DATAERR = 65
8
- }
9
- //# sourceMappingURL=sysexits.d.ts.map
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]="b13aa0d6-5d0f-55f3-af94-4633e858e7b5")}catch(e){}}();
2
+ /**
3
+ * Exit codes defined in <sysexits.h>:
4
+ * https://www.freebsd.org/cgi/man.cgi?query=sysexits&apropos=0&sektion=0&manpath=FreeBSD+4.3-RELEASE&format=html
5
+ */
6
+ export declare const enum SysExits {
7
+ EX_USAGE = 64,
8
+ EX_DATAERR = 65
9
+ }
10
+ //# debugId=b13aa0d6-5d0f-55f3-af94-4633e858e7b5
11
+ //# sourceMappingURL=sysexits.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sysexits.d.ts","sourceRoot":"","sources":["../../../src/util/sysexits.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,0BAAkB,QAAQ;IACxB,QAAQ,KAAK;IACb,UAAU,KAAK;CAChB"}
1
+ {"debug_id":"b13aa0d6-5d0f-55f3-af94-4633e858e7b5","file":"sysexits.d.ts","mappings":";AAAA;;;GAGG;AACH,0BAAkB,QAAQ;IACxB,QAAQ,KAAK;IACb,UAAU,KAAK;CAChB","names":[],"sourceRoot":"","sources":["../../../src/util/sysexits.ts"],"version":3}
@@ -1,3 +1,5 @@
1
- ;
2
- export {};
3
- //# sourceMappingURL=sysexits.js.map
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]="bf2ab5ed-d7cf-56ac-9e74-a8781b1ba52c")}catch(e){}}();
2
+ ;
3
+ export {};
4
+ //# debugId=bf2ab5ed-d7cf-56ac-9e74-a8781b1ba52c
5
+ //# sourceMappingURL=sysexits.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sysexits.js","sourceRoot":"","sources":["../../../src/util/sysexits.ts"],"names":[],"mappings":"AAOC,CAAC"}
1
+ {"debug_id":"bf2ab5ed-d7cf-56ac-9e74-a8781b1ba52c","file":"sysexits.js","mappings":";AAOC,CAAC","names":[],"sourceRoot":"","sources":["../../../src/util/sysexits.ts"],"version":3}
package/package.json CHANGED
@@ -37,27 +37,32 @@
37
37
  "kmlmi": "build/src/kmlmi.js"
38
38
  },
39
39
  "dependencies": {
40
- "@keymanapp/keyman-version": "17.0.154-alpha",
41
- "@keymanapp/common-types": "17.0.154-alpha",
42
- "@keymanapp/kmc-kmn": "17.0.154-alpha",
43
- "@keymanapp/kmc-ldml": "17.0.154-alpha",
44
- "@keymanapp/kmc-model": "17.0.154-alpha",
45
- "@keymanapp/kmc-model-info": "17.0.154-alpha",
46
- "@keymanapp/kmc-package": "17.0.154-alpha",
47
- "@keymanapp/models-types": "17.0.154-alpha",
48
- "commander": "^10.0.0"
40
+ "@keymanapp/common-types": "17.0.156-alpha",
41
+ "@keymanapp/keyman-version": "17.0.156-alpha",
42
+ "@keymanapp/kmc-analyze": "17.0.156-alpha",
43
+ "@keymanapp/kmc-keyboard-info": "17.0.156-alpha",
44
+ "@keymanapp/kmc-kmn": "17.0.156-alpha",
45
+ "@keymanapp/kmc-ldml": "17.0.156-alpha",
46
+ "@keymanapp/kmc-model": "17.0.156-alpha",
47
+ "@keymanapp/kmc-model-info": "17.0.156-alpha",
48
+ "@keymanapp/kmc-package": "17.0.156-alpha",
49
+ "@keymanapp/models-types": "17.0.156-alpha",
50
+ "@sentry/node": "^7.57.0",
51
+ "chalk": "^2.4.2",
52
+ "commander": "^10.0.0",
53
+ "supports-color": "^9.4.0"
49
54
  },
50
55
  "files": [
51
56
  "build/src/"
52
57
  ],
53
58
  "devDependencies": {
59
+ "@sentry/cli": "^2.19.4",
54
60
  "@types/chai": "^4.1.7",
55
61
  "@types/mocha": "^5.2.7",
56
- "@types/node": "^10.14.6",
62
+ "@types/node": "^20.4.1",
57
63
  "@types/xml2js": "^0.4.5",
58
64
  "c8": "^7.12.0",
59
65
  "chai": "^4.3.4",
60
- "chalk": "^2.4.2",
61
66
  "esbuild": "^0.15.8",
62
67
  "mocha": "^8.4.0",
63
68
  "ts-node": "^9.1.1",
@@ -83,5 +88,5 @@
83
88
  "type": "git",
84
89
  "url": "git+https://github.com/keymanapp/keyman.git"
85
90
  },
86
- "version": "17.0.154-alpha"
91
+ "version": "17.0.156-alpha"
87
92
  }
@@ -1,17 +0,0 @@
1
- import { CompilerCallbacks } from "@keymanapp/common-types";
2
- export interface BuildActivityOptions {
3
- debug?: boolean;
4
- outFile?: string;
5
- compilerVersion?: boolean;
6
- warnDeprecatedCode?: boolean;
7
- compilerWarningsAsErrors?: boolean;
8
- }
9
- export declare abstract class BuildActivity {
10
- abstract get name(): string;
11
- abstract get sourceExtension(): string;
12
- abstract get compiledExtension(): string;
13
- abstract get description(): string;
14
- abstract build(infile: string, callbacks: CompilerCallbacks, options: BuildActivityOptions): Promise<boolean>;
15
- protected getOutputFilename(infile: string, options: BuildActivityOptions): string;
16
- }
17
- //# sourceMappingURL=BuildActivity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildActivity.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/BuildActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,8BAAsB,aAAa;IACjC,aAAoB,IAAI,IAAI,MAAM,CAAC;IACnC,aAAoB,eAAe,IAAI,MAAM,CAAC;IAC9C,aAAoB,iBAAiB,IAAI,MAAM,CAAC;IAChD,aAAoB,WAAW,IAAI,MAAM,CAAC;aAC1B,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IACpH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM;CAKnF"}
@@ -1,11 +0,0 @@
1
- import { escapeRegExp } from "../../util/escapeRegExp.js";
2
- ;
3
- export class BuildActivity {
4
- getOutputFilename(infile, options) {
5
- return options.outFile ?
6
- options.outFile :
7
- infile.replace(new RegExp(escapeRegExp(this.sourceExtension), "g"), this.compiledExtension);
8
- }
9
- }
10
- ;
11
- //# sourceMappingURL=BuildActivity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildActivity.js","sourceRoot":"","sources":["../../../../src/commands/build/BuildActivity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAQzD,CAAC;AAEF,MAAM,OAAgB,aAAa;IAMvB,iBAAiB,CAAC,MAAc,EAAE,OAA6B;QACvE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChG,CAAC;CACF;AAAA,CAAC"}
@@ -1,10 +0,0 @@
1
- import { BuildActivity, BuildActivityOptions } from './BuildActivity.js';
2
- import { CompilerCallbacks } from '@keymanapp/common-types';
3
- export declare class BuildKmnKeyboard extends BuildActivity {
4
- get name(): string;
5
- get sourceExtension(): string;
6
- get compiledExtension(): string;
7
- get description(): string;
8
- build(infile: string, callbacks: CompilerCallbacks, options: BuildActivityOptions): Promise<boolean>;
9
- }
10
- //# sourceMappingURL=BuildKmnKeyboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildKmnKeyboard.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/BuildKmnKeyboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,IAAW,IAAI,IAAI,MAAM,CAA8B;IACvD,IAAW,eAAe,IAAI,MAAM,CAAmB;IACvD,IAAW,iBAAiB,IAAI,MAAM,CAAmB;IACzD,IAAW,WAAW,IAAI,MAAM,CAAsC;IACzD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;CAsBlH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildKmnKeyboard.js","sourceRoot":"","sources":["../../../../src/commands/build/BuildKmnKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAG9B,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IACjD,IAAW,IAAI,KAAa,OAAO,iBAAiB,CAAC,CAAC,CAAC;IACvD,IAAW,eAAe,KAAa,OAAO,MAAM,CAAC,CAAC,CAAC;IACvD,IAAW,iBAAiB,KAAa,OAAO,MAAM,CAAC,CAAC,CAAC;IACzD,IAAW,WAAW,KAAa,OAAO,yBAAyB,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,SAA4B,EAAE,OAA6B;QAC5F,IAAI,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,IAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAClC,OAAO,KAAK,CAAC;SACd;QAED,oEAAoE;QACpE,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAExC,uFAAuF;QACvF,gFAAgF;QAChF,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EACnC;YACE,SAAS,EAAE,OAAO,CAAC,KAAK;YACxB,wBAAwB,EAAE,OAAO,CAAC,eAAe;YACjD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,wBAAwB,EAAE,OAAO,CAAC,wBAAwB;SAC3D,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAG,QAAQ,EAAE,IAAI,OAAO,EAAE;QACxB,gEAAgE;QAChE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KAC1C;IAED,6CAA6C;IAC7C,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElC,IAAG,QAAQ,EAAE,IAAI,OAAO,EAAE;QACxB,4EAA4E;QAC5E,4EAA4E;QAC5E,UAAU;QACV,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACzC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,10 +0,0 @@
1
- import { CompilerCallbacks } from '@keymanapp/common-types';
2
- import { BuildActivity, BuildActivityOptions } from './BuildActivity.js';
3
- export declare class BuildLdmlKeyboard extends BuildActivity {
4
- get name(): string;
5
- get sourceExtension(): string;
6
- get compiledExtension(): string;
7
- get description(): string;
8
- build(infile: string, callbacks: CompilerCallbacks, options: BuildActivityOptions): Promise<boolean>;
9
- }
10
- //# sourceMappingURL=BuildLdmlKeyboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildLdmlKeyboard.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/BuildLdmlKeyboard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,iBAAiB,EAAmC,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGzE,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,IAAW,IAAI,IAAI,MAAM,CAA4B;IACrD,IAAW,eAAe,IAAI,MAAM,CAAmB;IACvD,IAAW,iBAAiB,IAAI,MAAM,CAAmB;IACzD,IAAW,WAAW,IAAI,MAAM,CAAoC;IACvD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;CA+BlH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildLdmlKeyboard.js","sourceRoot":"","sources":["../../../../src/commands/build/BuildLdmlKeyboard.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { BuildActivity, BuildActivityOptions } from './BuildActivity.js';
2
- import { CompilerCallbacks } from '@keymanapp/common-types';
3
- export declare class BuildModel extends BuildActivity {
4
- get name(): string;
5
- get sourceExtension(): string;
6
- get compiledExtension(): string;
7
- get description(): string;
8
- build(infile: string, callbacks: CompilerCallbacks, options: BuildActivityOptions): Promise<boolean>;
9
- }
10
- //# sourceMappingURL=BuildModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildModel.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/BuildModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBAAa,UAAW,SAAQ,aAAa;IAC3C,IAAW,IAAI,IAAI,MAAM,CAA4B;IACrD,IAAW,eAAe,IAAI,MAAM,CAAwB;IAC5D,IAAW,iBAAiB,IAAI,MAAM,CAAwB;IAC9D,IAAW,WAAW,IAAI,MAAM,CAAoC;IACvD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;CAsBlH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildModel.js","sourceRoot":"","sources":["../../../../src/commands/build/BuildModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,MAAM,OAAO,UAAW,SAAQ,aAAa;IAC3C,IAAW,IAAI,KAAa,OAAO,eAAe,CAAC,CAAC,CAAC;IACrD,IAAW,eAAe,KAAa,OAAO,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAW,iBAAiB,KAAa,OAAO,WAAW,CAAC,CAAC,CAAC;IAC9D,IAAW,WAAW,KAAa,OAAO,uBAAuB,CAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,SAA4B,EAAE,OAA6B;QAC5F,IAAI,cAAc,GAAW,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,WAAW;QACX,IAAI;YACF,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SACxC;QAAC,OAAM,CAAC,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;SACd;QAED,IAAG,CAAC,IAAI,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACpC,OAAO,KAAK,CAAC;SACd;QAED,UAAU;QACV,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { BuildActivity, BuildActivityOptions } from './BuildActivity.js';
2
- import { CompilerCallbacks } from '@keymanapp/common-types';
3
- export declare class BuildPackage extends BuildActivity {
4
- get name(): string;
5
- get sourceExtension(): string;
6
- get compiledExtension(): string;
7
- get description(): string;
8
- build(infile: string, callbacks: CompilerCallbacks, options: BuildActivityOptions): Promise<boolean>;
9
- }
10
- //# sourceMappingURL=BuildPackage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildPackage.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/BuildPackage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAW,IAAI,IAAI,MAAM,CAAsB;IAC/C,IAAW,eAAe,IAAI,MAAM,CAAmB;IACvD,IAAW,iBAAiB,IAAI,MAAM,CAAmB;IACzD,IAAW,WAAW,IAAI,MAAM,CAAsC;IACzD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;CAmClH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildPackage.js","sourceRoot":"","sources":["../../../../src/commands/build/BuildPackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,IAAW,IAAI,KAAa,OAAO,SAAS,CAAC,CAAC,CAAC;IAC/C,IAAW,eAAe,KAAa,OAAO,MAAM,CAAC,CAAC,CAAC;IACvD,IAAW,iBAAiB,KAAa,OAAO,MAAM,CAAC,CAAC,CAAC;IACzD,IAAW,WAAW,KAAc,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,SAA4B,EAAE,OAA6B;QAE5F,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAExD,EAAE;QACF,wBAAwB;QACxB,EAAE;QAEF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAChE,IAAG,CAAC,WAAW,EAAE;YACf,OAAO,KAAK,CAAC;SACd;QAED,EAAE;QACF,4BAA4B;QAC5B,EAAE;QAEF,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACpD,IAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SACd;QAED,EAAE;QACF,8BAA8B;QAC9B,EAAE;QAEF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjE,IAAG,CAAC,IAAI,EAAE;YACR,OAAO,KAAK,CAAC;SACd;QAED,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,11 +0,0 @@
1
- import { CompilerCallbacks } from '@keymanapp/common-types';
2
- import { BuildActivity, BuildActivityOptions } from './BuildActivity.js';
3
- export declare const PROJECT_EXTENSION = ".kpj";
4
- export declare class BuildProject extends BuildActivity {
5
- get name(): string;
6
- get sourceExtension(): string;
7
- get compiledExtension(): string;
8
- get description(): string;
9
- build(infile: string, callbacks: CompilerCallbacks, options: BuildActivityOptions): Promise<boolean>;
10
- }
11
- //# sourceMappingURL=BuildProject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildProject.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/BuildProject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAyC,MAAM,yBAAyB,CAAC;AAEnG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAIzE,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAW,IAAI,IAAI,MAAM,CAAsB;IAC/C,IAAW,eAAe,IAAI,MAAM,CAA8B;IAClE,IAAW,iBAAiB,IAAI,MAAM,CAAiB;IACvD,IAAW,WAAW,IAAI,MAAM,CAAyD;IAC5E,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;CAIlH"}
@@ -1,111 +0,0 @@
1
- import * as path from 'path';
2
- import * as fs from 'fs';
3
- import { KeymanDeveloperProject, KPJFileReader } from '@keymanapp/common-types';
4
- import { BuildActivity } from './BuildActivity.js';
5
- import { buildActivities } from './buildActivities.js';
6
- import { InfrastructureMessages } from '../../messages/messages.js';
7
- export const PROJECT_EXTENSION = '.kpj';
8
- export class BuildProject extends BuildActivity {
9
- get name() { return 'Project'; }
10
- get sourceExtension() { return PROJECT_EXTENSION; }
11
- get compiledExtension() { return null; }
12
- get description() { return 'Build a keyboard or lexical model project'; }
13
- async build(infile, callbacks, options) {
14
- let builder = new ProjectBuilder(infile, callbacks, options);
15
- return builder.run();
16
- }
17
- }
18
- class ProjectBuilder {
19
- callbacks;
20
- infile;
21
- options;
22
- project;
23
- constructor(infile, callbacks, options) {
24
- this.infile = path.resolve(infile);
25
- this.callbacks = callbacks;
26
- this.options = options;
27
- }
28
- async run() {
29
- if (this.options.outFile) {
30
- this.callbacks.reportMessage(InfrastructureMessages.Error_OutFileNotValidForProjects());
31
- return false;
32
- }
33
- this.project = this.loadProject();
34
- if (!this.project) {
35
- return false;
36
- }
37
- // Go through the various file types and build them
38
- for (let builder of buildActivities) {
39
- if (builder.sourceExtension == PROJECT_EXTENSION) {
40
- // We don't support nested projects
41
- continue;
42
- }
43
- if (!await this.buildProjectTargets(builder)) {
44
- return false;
45
- }
46
- }
47
- // TODO: generate .keyboard_info from .kps + etc (and support merge of
48
- // $PROJECTPATH/.keyboard_info for version 1.0 projects)
49
- return true;
50
- }
51
- loadProject() {
52
- // TODO: callbacks.reportMessage on exceptions
53
- // TODO: version 2.0 projects are folder-based and scan source/ folder for valid
54
- // files. .kpj need not exist, but if it does, is used just for options.
55
- this.infile = path.resolve(this.infile.replace(/\\/g, '/'));
56
- if (fs.statSync(this.infile).isDirectory()) {
57
- // This is a project folder, look for folder-name.kpj
58
- this.infile = path.join(this.infile, path.basename(this.infile) + '.kpj');
59
- }
60
- const project = fs.existsSync(this.infile) ?
61
- this.loadProjectFromFile() :
62
- this.loadDefaultProjectFromFolder();
63
- return project;
64
- }
65
- loadDefaultProjectFromFolder() {
66
- // The folder does not contain a .kpj, so construct a default 2.0 .kpj
67
- const project = new KeymanDeveloperProject(this.infile, '2.0', this.callbacks);
68
- project.populateFiles();
69
- return project;
70
- }
71
- loadProjectFromFile() {
72
- const kpjData = this.callbacks.loadFile(this.infile);
73
- const reader = new KPJFileReader(this.callbacks);
74
- const kpj = reader.read(kpjData);
75
- const schema = this.callbacks.loadSchema('kpj');
76
- try {
77
- reader.validate(kpj, schema);
78
- }
79
- catch (e) {
80
- this.callbacks.reportMessage(InfrastructureMessages.Error_InvalidProjectFile({ message: (e ?? '').toString() }));
81
- return null;
82
- }
83
- const project = reader.transform(this.infile, kpj);
84
- return project;
85
- }
86
- async buildProjectTargets(activity) {
87
- let result = true;
88
- for (let file of this.project.files) {
89
- if (file.fileType.toLowerCase() == activity.sourceExtension) {
90
- result = await this.buildTarget(file, activity) && result;
91
- }
92
- }
93
- return result;
94
- }
95
- async buildTarget(file, activity) {
96
- const options = { ...this.options };
97
- options.outFile = this.project.resolveOutputFilePath(file, activity.sourceExtension, activity.compiledExtension);
98
- const infile = this.project.resolveInputFilePath(file);
99
- this.callbacks.reportMessage(InfrastructureMessages.Info_BuildingFile({ filename: infile }));
100
- fs.mkdirSync(path.dirname(options.outFile), { recursive: true });
101
- let result = await activity.build(infile, this.callbacks, options);
102
- if (result) {
103
- this.callbacks.reportMessage(InfrastructureMessages.Info_FileBuiltSuccessfully({ filename: path.basename(infile) }));
104
- }
105
- else {
106
- this.callbacks.reportMessage(InfrastructureMessages.Info_FileNotBuiltSuccessfully({ filename: path.basename(infile) }));
107
- }
108
- return result;
109
- }
110
- }
111
- //# sourceMappingURL=BuildProject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuildProject.js","sourceRoot":"","sources":["../../../../src/commands/build/BuildProject.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { BuildActivity } from './BuildActivity.js';
2
- export declare const buildActivities: BuildActivity[];
3
- //# sourceMappingURL=buildActivities.d.ts.map