@keymanapp/kmc 17.0.185-alpha → 17.0.190-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 (71) hide show
  1. package/README.md +20 -11
  2. package/build/src/commands/analyze.d.ts +2 -2
  3. package/build/src/commands/analyze.d.ts.map +1 -1
  4. package/build/src/commands/analyze.js +4 -5
  5. package/build/src/commands/analyze.js.map +1 -1
  6. package/build/src/commands/build.d.ts +2 -2
  7. package/build/src/commands/build.d.ts.map +1 -1
  8. package/build/src/commands/build.js +58 -31
  9. package/build/src/commands/build.js.map +1 -1
  10. package/build/src/commands/buildClasses/BuildKeyboardInfo.d.ts +5 -4
  11. package/build/src/commands/buildClasses/BuildKeyboardInfo.d.ts.map +1 -1
  12. package/build/src/commands/buildClasses/BuildKeyboardInfo.js +21 -38
  13. package/build/src/commands/buildClasses/BuildKeyboardInfo.js.map +1 -1
  14. package/build/src/commands/buildClasses/BuildKmnKeyboard.d.ts +2 -2
  15. package/build/src/commands/buildClasses/BuildKmnKeyboard.d.ts.map +1 -1
  16. package/build/src/commands/buildClasses/BuildKmnKeyboard.js +16 -7
  17. package/build/src/commands/buildClasses/BuildKmnKeyboard.js.map +1 -1
  18. package/build/src/commands/buildClasses/BuildModelInfo.d.ts +5 -4
  19. package/build/src/commands/buildClasses/BuildModelInfo.d.ts.map +1 -1
  20. package/build/src/commands/buildClasses/BuildModelInfo.js +18 -17
  21. package/build/src/commands/buildClasses/BuildModelInfo.js.map +1 -1
  22. package/build/src/commands/buildClasses/BuildProject.d.ts +5 -4
  23. package/build/src/commands/buildClasses/BuildProject.d.ts.map +1 -1
  24. package/build/src/commands/buildClasses/BuildProject.js +17 -8
  25. package/build/src/commands/buildClasses/BuildProject.js.map +1 -1
  26. package/build/src/commands/buildClasses/buildActivities.d.ts +6 -2
  27. package/build/src/commands/buildClasses/buildActivities.d.ts.map +1 -1
  28. package/build/src/commands/buildClasses/buildActivities.js +5 -4
  29. package/build/src/commands/buildClasses/buildActivities.js.map +1 -1
  30. package/build/src/commands/buildTestData/index.d.ts +3 -4
  31. package/build/src/commands/buildTestData/index.d.ts.map +1 -1
  32. package/build/src/commands/buildTestData/index.js +4 -3
  33. package/build/src/commands/buildTestData/index.js.map +1 -1
  34. package/build/src/commands/buildWindowsPackageInstaller/index.d.ts +4 -0
  35. package/build/src/commands/buildWindowsPackageInstaller/index.d.ts.map +1 -0
  36. package/build/src/commands/buildWindowsPackageInstaller/index.js +36 -0
  37. package/build/src/commands/buildWindowsPackageInstaller/index.js.map +1 -0
  38. package/build/src/kmc.js +16 -9
  39. package/build/src/kmc.js.map +1 -1
  40. package/build/src/messages/infrastructureMessages.d.ts +14 -2
  41. package/build/src/messages/infrastructureMessages.d.ts.map +1 -1
  42. package/build/src/messages/infrastructureMessages.js +11 -7
  43. package/build/src/messages/infrastructureMessages.js.map +1 -1
  44. package/build/src/util/NodeCompilerCallbacks.d.ts +5 -2
  45. package/build/src/util/NodeCompilerCallbacks.d.ts.map +1 -1
  46. package/build/src/util/NodeCompilerCallbacks.js +34 -4
  47. package/build/src/util/NodeCompilerCallbacks.js.map +1 -1
  48. package/build/src/util/baseOptions.d.ts +3 -4
  49. package/build/src/util/baseOptions.d.ts.map +1 -1
  50. package/build/src/util/baseOptions.js +7 -17
  51. package/build/src/util/baseOptions.js.map +1 -1
  52. package/build/src/util/extendedCompilerOptions.d.ts +12 -0
  53. package/build/src/util/extendedCompilerOptions.d.ts.map +1 -0
  54. package/build/src/util/extendedCompilerOptions.js +5 -0
  55. package/build/src/util/extendedCompilerOptions.js.map +1 -0
  56. package/build/src/util/getDeveloperBinPath.d.ts +1 -1
  57. package/build/src/util/getDeveloperBinPath.js +7 -7
  58. package/build/src/util/getDeveloperBinPath.js.map +1 -1
  59. package/build/src/util/getLastGitCommitDate.d.ts +10 -0
  60. package/build/src/util/getLastGitCommitDate.d.ts.map +1 -0
  61. package/build/src/util/getLastGitCommitDate.js +46 -0
  62. package/build/src/util/getLastGitCommitDate.js.map +1 -0
  63. package/package.json +13 -16
  64. package/build/src/commands/buildTestData.d.ts +0 -5
  65. package/build/src/commands/buildTestData.d.ts.map +0 -1
  66. package/build/src/commands/buildTestData.js +0 -11
  67. package/build/src/commands/buildTestData.js.map +0 -1
  68. package/build/src/kmlmi.d.ts +0 -8
  69. package/build/src/kmlmi.d.ts.map +0 -1
  70. package/build/src/kmlmi.js +0 -75
  71. package/build/src/kmlmi.js.map +0 -1
package/README.md CHANGED
@@ -9,13 +9,11 @@ This package provides the following Keyman **command line tools**:
9
9
  file.
10
10
  - `kmlmp` — uses a `.model.kmp` file to generate a redistributable **lexical
11
11
  model package**.
12
- - `kmlmi` — merges Keyman lexical model `.model_info` files.
13
12
 
14
13
  `kmlmc` is intended to be used standalone, or as part of a build system. `kmlmp`
15
- is used only by command line tools. `kmlmi` is used exclusively in the
16
- [lexical-models repository][lexical models].
14
+ is used only by command line tools.
17
15
 
18
- Note: `kmc` will in the future replace `kmlmc`, `kmlmp`, and `kmlmi`.
16
+ Note: `kmc` will in the future replace `kmlmc` and `kmlmp`.
19
17
 
20
18
  In order to build [lexical models][], these tools must be built and compiled.
21
19
 
@@ -40,18 +38,29 @@ To see more command line options by using the `--help` option:
40
38
 
41
39
  kmc --help
42
40
 
43
- kmlmc Usage
44
- -----------
41
+ ---
45
42
 
46
- To compile a lexical model from its `.model.ts` source, use `kmlmc`:
43
+ To compile a lexical model from its `.model.ts` source, use `kmc`:
47
44
 
48
- kmlmc my-lexical-model.model.ts --outFile my-lexical-model.js
45
+ kmc build my-lexical-model.model.ts --outFile my-lexical-model.model.js
49
46
 
50
47
  To see more command line options by using the `--help` option:
51
48
 
52
- kmlmc --help
53
- kmlmp --help
54
- kmlmi --help
49
+ kmc --help
50
+
51
+ ---
52
+
53
+ kmc can now build package installers for Windows. Example usage (Bash on
54
+ Windows, using 'node .' instead of 'kmc' to run the local build):
55
+
56
+ ```
57
+ node . build windows-package-installer \
58
+ $KEYMAN_ROOT/developer/src/kmc-package/test/fixtures/khmer_angkor/source/khmer_angkor.kps \
59
+ --msi /c/Program\ Files\ \(x86\)/Common\ Files/Keyman/Cached\ Installer\ Files/keymandesktop.msi \
60
+ --exe $KEYMAN_ROOT/windows/bin/desktop/setup-redist.exe \
61
+ --license $KEYMAN_ROOT/LICENSE.md \
62
+ --out-file ./khmer.exe
63
+ ```
55
64
 
56
65
  How to build from source
57
66
  ------------------------
@@ -1,5 +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]="f642b2ed-e9e5-50cc-91b3-afe1c2a32833")}catch(e){}}();
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]="02b3b71e-ff75-5ac8-a708-b796596cce10")}catch(e){}}();
2
2
  import { Command } from 'commander';
3
3
  export declare function declareAnalyze(program: Command): void;
4
- //# debugId=f642b2ed-e9e5-50cc-91b3-afe1c2a32833
4
+ //# debugId=02b3b71e-ff75-5ac8-a708-b796596cce10
5
5
  //# sourceMappingURL=analyze.d.ts.map
@@ -1 +1 @@
1
- {"debug_id":"f642b2ed-e9e5-50cc-91b3-afe1c2a32833","file":"analyze.d.ts","mappings":";AAEA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAoB5C,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAK9C","names":[],"sourceRoot":"","sources":["../../../src/commands/analyze.ts"],"version":3}
1
+ {"debug_id":"02b3b71e-ff75-5ac8-a708-b796596cce10","file":"analyze.d.ts","mappings":";AAEA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAoB5C,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAI9C","names":[],"sourceRoot":"","sources":["../../../src/commands/analyze.ts"],"version":3}
@@ -1,4 +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]="3eb2be3e-106c-5f5d-b50a-c4062f4447e6")}catch(e){}}();
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]="18e4a408-d0a3-56e1-a5b8-f421cd79f988")}catch(e){}}();
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
4
  import { Option } from 'commander';
@@ -10,13 +10,11 @@ import { runOnFiles } from '../util/projectRunner.js';
10
10
  ;
11
11
  export function declareAnalyze(program) {
12
12
  let command = program.command('analyze [infile...]');
13
- BaseOptions.addVersion(command);
14
13
  declareOskCharUse(command);
15
14
  declareOskRewrite(command);
16
15
  }
17
16
  function declareOskCharUse(command) {
18
17
  let subCommand = command.command('osk-char-use');
19
- BaseOptions.addVersion(subCommand);
20
18
  BaseOptions.addLogLevel(subCommand);
21
19
  subCommand
22
20
  .description('Analyze On Screen Keyboards for character usage')
@@ -24,7 +22,8 @@ function declareOskCharUse(command) {
24
22
  .option('--include-counts', 'Include number of times each character is referenced', false)
25
23
  .option('--strip-dotted-circle', 'Strip U+25CC (dotted circle base) from results', false)
26
24
  .addOption(new Option('-m, --mapping-file <filename>', 'Result file to write to (.json, .md, or .txt)').makeOptionMandatory())
27
- .action(async (filenames, options) => {
25
+ .action(async (filenames, _options, commander) => {
26
+ const options = commander.optsWithGlobals();
28
27
  if (!filenames.length) {
29
28
  // If there are no filenames provided, then we are building the current
30
29
  // folder ('.') as a project-style build
@@ -97,5 +96,5 @@ async function analyzeOskRewritePua(callbacks, filenames, options) {
97
96
  return true;
98
97
  });
99
98
  }
100
- //# debugId=3eb2be3e-106c-5f5d-b50a-c4062f4447e6
99
+ //# debugId=18e4a408-d0a3-56e1-a5b8-f421cd79f988
101
100
  //# sourceMappingURL=analyze.js.map
@@ -1 +1 @@
1
- {"debug_id":"3eb2be3e-106c-5f5d-b50a-c4062f4447e6","file":"analyze.js","mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAYrD,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrD,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACpC,UAAU;SACP,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,YAAY,EAAE,2DAA2D,EAAE,MAAM,CAAC;SACzF,MAAM,CAAC,kBAAkB,EAAE,sDAAsD,EAAE,KAAK,CAAC;SACzF,MAAM,CAAC,uBAAuB,EAAE,gDAAgD,EAAE,KAAK,CAAC;SACxF,SAAS,CAAC,IAAI,MAAM,CAAC,+BAA+B,EAAE,+CAA+C,CAAC,CAAC,mBAAmB,EAAE,CAAC;SAC7H,MAAM,CAAC,KAAK,EAAE,SAAmB,EAAE,OAAY,EAAE,EAAE;QAClD,IAAG,CAAC,SAAS,CAAC,MAAM,EAAE;YACpB,uEAAuE;YACvE,wCAAwC;YACxC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;QAED,IAAG,CAAC,MAAM,OAAO,CAAC,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;YACxD,2DAA2D;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;AAEP,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC9D,UAAU;SACP,WAAW,CAAC,yGAAyG,CAAC;SACtH,SAAS,CAAC,IAAI,MAAM,CAAC,+BAA+B,EAAE,gCAAgC,CAAC,CAAC,mBAAmB,EAAE,CAAC;SAC9G,MAAM,CAAC,KAAK,EAAE,SAAmB,EAAE,OAAY,EAAE,EAAE;QAClD,IAAG,CAAC,SAAS,CAAC,MAAM,EAAE;YACpB,uEAAuE;YACvE,wCAAwC;YACxC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;QAED,IAAG,CAAC,MAAM,OAAO,CAAC,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;YAC3D,2DAA2D;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAA+G,EAClI,SAAmB,EAAE,OAAgC;IACvD,IAAI,SAAS,GAAG,IAAI,qBAAqB,CAAC,EAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAC,CAAC,CAAC;IACxE,IAAI;QACF,OAAO,MAAM,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KACpD;IAAC,OAAM,CAAC,EAAE;QACT,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,SAA4B,EAAE,SAAmB,EAAE,OAAgC;IAClH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,IAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI,KAAK,EAAE;QAC3D,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;KACd;IAED,MAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAC,SAAS,EAAE;QACrD,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;IAEH,IAAG,CAAC,MAAM,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAA4B,EAAE,SAAmB,EAAE,OAAgC;IACrH,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,OAAO,GAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzF,OAAO,MAAM,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAgB,EAAoB,EAAE;QACzF,IAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC7C,OAAO,KAAK,CAAC;SACd;QACD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,KAAI,IAAI,QAAQ,IAAI,eAAe,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC;YAC1F,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC","names":[],"sourceRoot":"","sources":["../../../src/commands/analyze.ts"],"version":3}
1
+ {"debug_id":"18e4a408-d0a3-56e1-a5b8-f421cd79f988","file":"analyze.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/commands/analyze.ts"],"version":3}
@@ -1,4 +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]="e729e16a-6383-5b6f-b6d3-079fab9acf50")}catch(e){}}();
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]="02aad210-0401-5581-815b-e9c1e524daaa")}catch(e){}}();
2
2
  import { Command } from 'commander';
3
3
  import { NodeCompilerCallbacks } from '../util/NodeCompilerCallbacks.js';
4
4
  import { CompilerOptions } from '@keymanapp/common-types';
@@ -11,5 +11,5 @@ export declare const unitTestEndpoints: {
11
11
  build: typeof build;
12
12
  };
13
13
  export {};
14
- //# debugId=e729e16a-6383-5b6f-b6d3-079fab9acf50
14
+ //# debugId=02aad210-0401-5581-815b-e9c1e524daaa
15
15
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"debug_id":"e729e16a-6383-5b6f-b6d3-079fab9acf50","file":"build.d.ts","mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAyB,eAAe,EAAmB,MAAM,yBAAyB,CAAC;AAuBlG,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,QAiD5C;AAED,iBAAe,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CA6DzH;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;CAE7B,CAAC","names":[],"sourceRoot":"","sources":["../../../src/commands/build.ts"],"version":3}
1
+ {"debug_id":"02aad210-0401-5581-815b-e9c1e524daaa","file":"build.d.ts","mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAyB,eAAe,EAAmB,MAAM,yBAAyB,CAAC;AA4BlG,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,QAsE5C;AAED,iBAAe,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAoEzH;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;CAE7B,CAAC","names":[],"sourceRoot":"","sources":["../../../src/commands/build.ts"],"version":3}
@@ -1,4 +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]="e835bd26-c440-5a41-872c-faf3eae5feed")}catch(e){}}();
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]="6fa699d6-d718-53b3-8682-3e9f5580472d")}catch(e){}}();
2
2
  import * as fs from 'fs';
3
3
  import * as path from 'path';
4
4
  import { buildActivities } from './buildClasses/buildActivities.js';
@@ -9,6 +9,8 @@ import { CompilerFileCallbacks } from '@keymanapp/common-types';
9
9
  import { BaseOptions } from '../util/baseOptions.js';
10
10
  import { expandFileLists } from '../util/fileLists.js';
11
11
  import { isProject } from '../util/projectLoader.js';
12
+ import { buildTestData } from './buildTestData/index.js';
13
+ import { buildWindowsPackageInstaller } from './buildWindowsPackageInstaller/index.js';
12
14
  function commandOptionsToCompilerOptions(options) {
13
15
  // We don't want to rename command line options to match the precise
14
16
  // properties that we have in CompilerOptions, but nor do we want to rename
@@ -17,43 +19,47 @@ function commandOptionsToCompilerOptions(options) {
17
19
  // CompilerBaseOptions
18
20
  outFile: options.outFile,
19
21
  logLevel: options.logLevel,
22
+ logFormat: options.logFormat,
20
23
  color: options.color,
21
24
  // CompilerOptions
22
25
  shouldAddCompilerVersion: options.compilerVersion,
23
26
  saveDebug: options.debug,
24
27
  compilerWarningsAsErrors: options.compilerWarningsAsErrors,
25
28
  warnDeprecatedCode: options.warnDeprecatedCode,
29
+ // ExtendedOptions
30
+ forPublishing: options.forPublishing,
26
31
  };
27
32
  }
28
33
  export function declareBuild(program) {
29
- BaseOptions.addAll(program
30
- .command('build [infile...]')
31
- .description(`Compile one or more source files or projects.`)
34
+ const buildCommand = program
35
+ .command('build')
36
+ .option('--color', 'Force colorization for log messages')
37
+ .option('--no-color', 'No colorization for log messages; if both omitted, detects from console')
38
+ // These options are only used with build file but are included here so that
39
+ // they are visible in `kmc build --help`
40
+ .option('-d, --debug', 'Include debug information in output')
41
+ .option('-w, --compiler-warnings-as-errors', 'Causes warnings to fail the build; overrides project-level warnings-as-errors option')
42
+ .option('-W, --no-compiler-warnings-as-errors', 'Warnings do not fail the build; overrides project-level warnings-as-errors option')
43
+ .option('--no-compiler-version', 'Exclude compiler version metadata from output')
44
+ .option('--no-warn-deprecated-code', 'Turn off warnings for deprecated code styles');
45
+ BaseOptions.addAll(buildCommand);
46
+ buildCommand.command('file [infile...]', { isDefault: true })
47
+ .description(`Compile one or more source files or projects ('file' subcommand is default).`)
48
+ .option('--for-publishing', 'Verify that project meets @keymanapp repository requirements')
32
49
  .addHelpText('after', `
33
50
  Supported file types:
34
- * folder: Keyman project in folder
35
- * .kpj: Keyman project
36
- * .kmn: Keyman keyboard
37
- * .xml: LDML keyboard
38
- * .model.ts: Keyman lexical model
39
- * .kps: Keyman keyboard or lexical model package
40
-
41
- The following two metadata file types are also supported:
42
- * .model_info: lexical model metadata file
43
- * .keyboard_info: keyboard metadata file
51
+ * folder: Keyman project in folder
52
+ * .kpj: Keyman project
53
+ * .kmn: Keyman keyboard
54
+ * .xml: LDML keyboard
55
+ * .model.ts: Keyman lexical model
56
+ * .kps: Keyman keyboard or lexical model package
44
57
 
45
58
  File lists can be referenced with @filelist.txt.
46
59
 
47
- If no input file is supplied, kmc will build the current folder.`))
48
- .option('-d, --debug', 'Include debug information in output')
49
- .option('-w, --compiler-warnings-as-errors', 'Causes warnings to fail the build; overrides project-level warnings-as-errors option')
50
- .option('-W, --no-compiler-warnings-as-errors', 'Warnings do not fail the build; overrides project-level warnings-as-errors option')
51
- .option('--no-compiler-version', 'Exclude compiler version metadata from output')
52
- .option('--no-warn-deprecated-code', 'Turn off warnings for deprecated code styles')
53
- .option('--color', 'Force colorization for log messages')
54
- .option('--no-color', 'No colorization for log messages; if both omitted, detects from console')
55
- .action(async (filenames, options) => {
56
- options = commandOptionsToCompilerOptions(options);
60
+ If no input file is supplied, kmc will build the current folder.`)
61
+ .action(async (filenames, _options, commander) => {
62
+ const options = commandOptionsToCompilerOptions(commander.optsWithGlobals());
57
63
  const callbacks = new NodeCompilerCallbacks(options);
58
64
  if (!filenames.length) {
59
65
  // If there are no filenames provided, then we are building the current
@@ -70,6 +76,21 @@ If no input file is supplied, kmc will build the current folder.`))
70
76
  }
71
77
  }
72
78
  });
79
+ buildCommand
80
+ .command('ldml-test-data <infile>')
81
+ .description('Convert LDML keyboard test .xml to .json')
82
+ .action(buildTestData);
83
+ buildCommand
84
+ .command('windows-package-installer <infile>')
85
+ .description('Build an executable installer for Windows for a Keyman package')
86
+ .option('--msi <msiFilename>', 'Location of keymandesktop.msi')
87
+ .option('--exe <exeFilename>', 'Location of setup.exe')
88
+ .option('--license <licenseFilename>', 'Location of license.txt')
89
+ .option('--title-image [titleImageFilename]', 'Location of title image')
90
+ .option('--app-name [applicationName]', 'Installer property: name of the application to be installed', 'Keyman')
91
+ .option('--start-disabled', 'Installer property: do not enable keyboards after installation completes')
92
+ .option('--start-with-configuration', 'Installer property: start Keyman Configuration after installation completes')
93
+ .action(buildWindowsPackageInstaller);
73
94
  }
74
95
  async function build(filename, parentCallbacks, options) {
75
96
  try {
@@ -82,6 +103,9 @@ async function build(filename, parentCallbacks, options) {
82
103
  parentCallbacks.reportMessage(InfrastructureMessages.Error_FileDoesNotExist({ filename }));
83
104
  return false;
84
105
  }
106
+ // Normalize case for the filename and expand the path; this avoids false
107
+ // positive case mismatches on input filenames and glommed paths
108
+ filename = fs.realpathSync.native(filename);
85
109
  let builder = null;
86
110
  // If infile is a directory, then we treat that as a project and build it
87
111
  if (isProject(filename)) {
@@ -105,20 +129,23 @@ async function build(filename, parentCallbacks, options) {
105
129
  if (fs.statSync(filename).isDirectory()) {
106
130
  buildFilename = path.join(buildFilename, path.basename(buildFilename) + ".kpj" /* KeymanFileTypes.Source.Project */);
107
131
  }
108
- buildFilename = path.relative(process.cwd(), buildFilename).replace(/\\/g, '/');
132
+ const relativeFilename = path.relative(process.cwd(), buildFilename).replace(/\\/g, '/');
109
133
  const callbacks = new CompilerFileCallbacks(buildFilename, options, parentCallbacks);
110
- callbacks.reportMessage(InfrastructureMessages.Info_BuildingFile({ filename: buildFilename }));
134
+ callbacks.reportMessage(InfrastructureMessages.Info_BuildingFile({ filename: buildFilename, relativeFilename }));
111
135
  let result = await builder.build(filename, callbacks, options);
112
136
  result = result && !callbacks.hasFailureMessage();
113
137
  if (result) {
114
138
  callbacks.reportMessage(builder instanceof BuildProject
115
- ? InfrastructureMessages.Info_ProjectBuiltSuccessfully({ filename: buildFilename })
116
- : InfrastructureMessages.Info_FileBuiltSuccessfully({ filename: buildFilename }));
139
+ ? InfrastructureMessages.Info_ProjectBuiltSuccessfully({ filename: buildFilename, relativeFilename })
140
+ : InfrastructureMessages.Info_FileBuiltSuccessfully({ filename: buildFilename, relativeFilename }));
117
141
  }
118
142
  else {
143
+ if (!callbacks.hasFailureMessage(false)) { // false == check only for error+fatal messages
144
+ callbacks.reportMessage(InfrastructureMessages.Info_WarningsHaveFailedBuild());
145
+ }
119
146
  callbacks.reportMessage(builder instanceof BuildProject
120
- ? InfrastructureMessages.Info_ProjectNotBuiltSuccessfully({ filename: buildFilename })
121
- : InfrastructureMessages.Info_FileNotBuiltSuccessfully({ filename: buildFilename }));
147
+ ? InfrastructureMessages.Info_ProjectNotBuiltSuccessfully({ filename: buildFilename, relativeFilename })
148
+ : InfrastructureMessages.Info_FileNotBuiltSuccessfully({ filename: buildFilename, relativeFilename }));
122
149
  }
123
150
  return result;
124
151
  }
@@ -133,5 +160,5 @@ async function build(filename, parentCallbacks, options) {
133
160
  export const unitTestEndpoints = {
134
161
  build
135
162
  };
136
- //# debugId=e835bd26-c440-5a41-872c-faf3eae5feed
163
+ //# debugId=6fa699d6-d718-53b3-8682-3e9f5580472d
137
164
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"debug_id":"e835bd26-c440-5a41-872c-faf3eae5feed","file":"build.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/commands/build.ts"],"version":3}
1
+ {"debug_id":"6fa699d6-d718-53b3-8682-3e9f5580472d","file":"build.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../src/commands/build.ts"],"version":3}
@@ -1,12 +1,13 @@
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]="10f685c8-646a-5c4f-b670-19c955ce0f2c")}catch(e){}}();
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]="cf20033e-86a5-5c72-be19-1f5b7cef7f2f")}catch(e){}}();
2
2
  import { BuildActivity } from './BuildActivity.js';
3
- import { CompilerCallbacks, CompilerOptions, KeymanFileTypes } from '@keymanapp/common-types';
3
+ import { CompilerCallbacks, KeymanFileTypes } from '@keymanapp/common-types';
4
+ import { ExtendedCompilerOptions } from 'src/util/extendedCompilerOptions.js';
4
5
  export declare class BuildKeyboardInfo extends BuildActivity {
5
6
  get name(): string;
6
7
  get sourceExtension(): KeymanFileTypes.Source;
7
8
  get compiledExtension(): KeymanFileTypes.Binary;
8
9
  get description(): string;
9
- build(infile: string, callbacks: CompilerCallbacks, options: CompilerOptions): Promise<boolean>;
10
+ build(infile: string, callbacks: CompilerCallbacks, options: ExtendedCompilerOptions): Promise<boolean>;
10
11
  }
11
- //# debugId=10f685c8-646a-5c4f-b670-19c955ce0f2c
12
+ //# debugId=cf20033e-86a5-5c72-be19-1f5b7cef7f2f
12
13
  //# sourceMappingURL=BuildKeyboardInfo.d.ts.map
@@ -1 +1 @@
1
- {"debug_id":"10f685c8-646a-5c4f-b670-19c955ce0f2c","file":"BuildKeyboardInfo.d.ts","mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAA0B,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAStH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,IAAW,IAAI,IAAI,MAAM,CAAgC;IACzD,IAAW,eAAe,IAAI,eAAe,CAAC,MAAM,CAAgD;IACpG,IAAW,iBAAiB,IAAI,eAAe,CAAC,MAAM,CAAgD;IACtG,IAAW,WAAW,IAAI,MAAM,CAA6C;IAChE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;CAgE7G","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKeyboardInfo.ts"],"version":3}
1
+ {"debug_id":"cf20033e-86a5-5c72-be19-1f5b7cef7f2f","file":"BuildKeyboardInfo.d.ts","mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAA0B,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAMrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,IAAW,IAAI,IAAI,MAAM,CAAgC;IACzD,IAAW,eAAe,IAAI,eAAe,CAAC,MAAM,CAA2C;IAC/F,IAAW,iBAAiB,IAAI,eAAe,CAAC,MAAM,CAAgD;IACtG,IAAW,WAAW,IAAI,MAAM,CAA6C;IAChE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;CA+CrH","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKeyboardInfo.ts"],"version":3}
@@ -1,68 +1,51 @@
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]="319016fb-9761-53f5-877b-616435a853f5")}catch(e){}}();
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]="a5d7fd5d-b81e-5992-a99a-1814c50ca8fc")}catch(e){}}();
2
2
  import * as fs from 'fs';
3
3
  import { BuildActivity } from './BuildActivity.js';
4
4
  import { KeymanFileTypes } from '@keymanapp/common-types';
5
5
  import { KeyboardInfoCompiler } from '@keymanapp/kmc-keyboard-info';
6
6
  import { loadProject } from '../../util/projectLoader.js';
7
7
  import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
8
- import { KmpCompiler } from '@keymanapp/kmc-package';
9
8
  import { calculateSourcePath } from '../../util/calculateSourcePath.js';
10
- const HelpRoot = 'https://help.keyman.com/keyboard/';
9
+ import { getLastGitCommitDate } from '../../util/getLastGitCommitDate.js';
11
10
  export class BuildKeyboardInfo extends BuildActivity {
12
11
  get name() { return 'Keyboard metadata'; }
13
- get sourceExtension() { return ".keyboard_info" /* KeymanFileTypes.Source.KeyboardInfo */; }
12
+ get sourceExtension() { return ".kpj" /* KeymanFileTypes.Source.Project */; }
14
13
  get compiledExtension() { return ".keyboard_info" /* KeymanFileTypes.Binary.KeyboardInfo */; }
15
14
  get description() { return 'Build a keyboard metadata file'; }
16
15
  async build(infile, callbacks, options) {
17
- if (KeymanFileTypes.filenameIs(infile, ".keyboard_info" /* KeymanFileTypes.Source.KeyboardInfo */)) {
18
- // We are given a .keyboard_info but need to use the project file in the
19
- // same folder, so that we can find the related files. This also supports
20
- // version 2.0 projects (where the .kpj file is optional).
21
- infile = KeymanFileTypes.replaceExtension(infile, ".keyboard_info" /* KeymanFileTypes.Source.KeyboardInfo */, ".kpj" /* KeymanFileTypes.Source.Project */);
16
+ if (!KeymanFileTypes.filenameIs(infile, ".kpj" /* KeymanFileTypes.Source.Project */)) {
17
+ // Even if the project file does not exist, we use its name as our reference
18
+ // in order to avoid ambiguity
19
+ throw new Error(`BuildKeyboardInfo called with unexpected file type ${infile}`);
22
20
  }
23
21
  const project = loadProject(infile, callbacks);
24
22
  if (!project) {
23
+ // Error messages written by loadProject
25
24
  return false;
26
25
  }
27
- const metadata = findProjectFile(callbacks, project, ".keyboard_info" /* KeymanFileTypes.Source.KeyboardInfo */);
28
- if (!metadata) {
29
- // Project loader should always have added a metadata file
30
- return false;
31
- }
32
- if (!fs.existsSync(project.resolveInputFilePath(metadata))) {
33
- // For now, if the metadata file does not exist, we won't attempt to build
34
- // it. One day in the future, when source metadata files become optional,
35
- // we'll need to skip this
36
- return true;
37
- }
38
26
  const keyboard = findProjectFile(callbacks, project, ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */);
39
27
  const kps = findProjectFile(callbacks, project, ".kps" /* KeymanFileTypes.Source.Package */);
40
28
  if (!keyboard || !kps) {
29
+ // Error messages written by findProjectFile
41
30
  return false;
42
31
  }
43
- let kmpCompiler = new KmpCompiler(callbacks);
44
- let kmpJsonData = kmpCompiler.transformKpsToKmpObject(project.resolveInputFilePath(kps));
45
- if (!kmpJsonData) {
46
- // Errors will have been emitted by KmpCompiler
47
- return false;
48
- }
49
- const keyboardFileNameJs = project.resolveOutputFilePath(keyboard, ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */, ".js" /* KeymanFileTypes.Binary.WebKeyboard */);
50
- const keyboard_id = callbacks.path.basename(metadata.filename, ".keyboard_info" /* KeymanFileTypes.Source.KeyboardInfo */);
32
+ const jsFilename = project.resolveOutputFilePath(keyboard, ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */, ".js" /* KeymanFileTypes.Binary.WebKeyboard */);
33
+ const lastCommitDate = getLastGitCommitDate(project.projectPath);
51
34
  const compiler = new KeyboardInfoCompiler(callbacks);
52
- const data = compiler.writeMergedKeyboardInfoFile(project.resolveInputFilePath(metadata), {
53
- keyboard_id,
54
- kmpFileName: project.resolveOutputFilePath(kps, ".kps" /* KeymanFileTypes.Source.Package */, ".kmp" /* KeymanFileTypes.Binary.Package */),
55
- kmpJsonData,
56
- kpsFileName: project.resolveInputFilePath(kps),
57
- helpLink: HelpRoot + keyboard_id,
58
- keyboardFileNameJs: fs.existsSync(keyboardFileNameJs) ? keyboardFileNameJs : undefined,
59
- sourcePath: calculateSourcePath(infile)
35
+ const data = compiler.writeKeyboardInfoFile({
36
+ kmpFilename: project.resolveOutputFilePath(kps, ".kps" /* KeymanFileTypes.Source.Package */, ".kmp" /* KeymanFileTypes.Binary.Package */),
37
+ kpsFilename: project.resolveInputFilePath(kps),
38
+ jsFilename: fs.existsSync(jsFilename) ? jsFilename : undefined,
39
+ sourcePath: calculateSourcePath(infile),
40
+ lastCommitDate,
41
+ forPublishing: !!options.forPublishing,
60
42
  });
61
43
  if (data == null) {
62
44
  // Error messages have already been emitted by KeyboardInfoCompiler
63
45
  return false;
64
46
  }
65
- fs.writeFileSync(project.resolveOutputFilePath(metadata, ".keyboard_info" /* KeymanFileTypes.Source.KeyboardInfo */, ".keyboard_info" /* KeymanFileTypes.Binary.KeyboardInfo */), data);
47
+ const outputFilename = project.getOutputFilePath(".keyboard_info" /* KeymanFileTypes.Binary.KeyboardInfo */);
48
+ fs.writeFileSync(outputFilename, data);
66
49
  return true;
67
50
  }
68
51
  }
@@ -73,5 +56,5 @@ function findProjectFile(callbacks, project, ext) {
73
56
  }
74
57
  return file;
75
58
  }
76
- //# debugId=319016fb-9761-53f5-877b-616435a853f5
59
+ //# debugId=a5d7fd5d-b81e-5992-a99a-1814c50ca8fc
77
60
  //# sourceMappingURL=BuildKeyboardInfo.js.map
@@ -1 +1 @@
1
- {"debug_id":"319016fb-9761-53f5-877b-616435a853f5","file":"BuildKeyboardInfo.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKeyboardInfo.ts"],"version":3}
1
+ {"debug_id":"a5d7fd5d-b81e-5992-a99a-1814c50ca8fc","file":"BuildKeyboardInfo.js","mappings":"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","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKeyboardInfo.ts"],"version":3}
@@ -1,4 +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]="4d32eaf7-d82e-58dd-b845-f2d26b526db3")}catch(e){}}();
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]="6170126b-cd61-5849-a76d-f9a04c9a9c12")}catch(e){}}();
2
2
  import { CompilerOptions, CompilerCallbacks, KeymanFileTypes } from '@keymanapp/common-types';
3
3
  import { BuildActivity } from './BuildActivity.js';
4
4
  export declare class BuildKmnKeyboard extends BuildActivity {
@@ -8,5 +8,5 @@ export declare class BuildKmnKeyboard extends BuildActivity {
8
8
  get description(): string;
9
9
  build(infile: string, callbacks: CompilerCallbacks, options: CompilerOptions): Promise<boolean>;
10
10
  }
11
- //# debugId=4d32eaf7-d82e-58dd-b845-f2d26b526db3
11
+ //# debugId=6170126b-cd61-5849-a76d-f9a04c9a9c12
12
12
  //# sourceMappingURL=BuildKmnKeyboard.d.ts.map
@@ -1 +1 @@
1
- {"debug_id":"4d32eaf7-d82e-58dd-b845-f2d26b526db3","file":"BuildKmnKeyboard.d.ts","mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,IAAW,IAAI,IAAI,MAAM,CAA8B;IACvD,IAAW,eAAe,IAAI,eAAe,CAAC,MAAM,CAAkD;IACtG,IAAW,iBAAiB,IAAI,eAAe,CAAC,MAAM,CAA4C;IAClG,IAAW,WAAW,IAAI,MAAM,CAAsC;IACzD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;CAgB7G","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKmnKeyboard.ts"],"version":3}
1
+ {"debug_id":"6170126b-cd61-5849-a76d-f9a04c9a9c12","file":"BuildKmnKeyboard.d.ts","mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,IAAW,IAAI,IAAI,MAAM,CAA8B;IACvD,IAAW,eAAe,IAAI,eAAe,CAAC,MAAM,CAAkD;IACtG,IAAW,iBAAiB,IAAI,eAAe,CAAC,MAAM,CAA4C;IAClG,IAAW,WAAW,IAAI,MAAM,CAAsC;IACzD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;CAoB7G","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKmnKeyboard.ts"],"version":3}
@@ -1,8 +1,10 @@
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]="44ead5f1-da7c-5b53-923f-4f4aa2bc0af9")}catch(e){}}();
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]="afb477c7-3f70-5516-97d5-aca25dae9b2f")}catch(e){}}();
2
2
  import * as path from 'path';
3
3
  import { platform } from 'os';
4
4
  import { KmnCompiler } from '@keymanapp/kmc-kmn';
5
5
  import { BuildActivity } from './BuildActivity.js';
6
+ import * as fs from 'fs';
7
+ import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
6
8
  export class BuildKmnKeyboard extends BuildActivity {
7
9
  get name() { return 'Keyman keyboard'; }
8
10
  get sourceExtension() { return ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */; }
@@ -14,12 +16,19 @@ export class BuildKmnKeyboard extends BuildActivity {
14
16
  return false;
15
17
  }
16
18
  // We need to resolve paths to absolute paths before calling kmc-kmn
17
- let outfile = this.getOutputFilename(infile, options);
19
+ if (options.outFile) {
20
+ options.outFile = getPosixAbsolutePath(options.outFile);
21
+ const folderName = path.dirname(options.outFile);
22
+ try {
23
+ fs.mkdirSync(folderName, { recursive: true });
24
+ }
25
+ catch (e) {
26
+ callbacks.reportMessage(InfrastructureMessages.Error_CannotCreateFolder({ folderName, e }));
27
+ return false;
28
+ }
29
+ }
18
30
  infile = getPosixAbsolutePath(infile);
19
- outfile = getPosixAbsolutePath(outfile);
20
- // TODO: Currently this only builds .kmn->.kmx, and targeting .js is as-yet unsupported
21
- // TODO: outfile should be set in options only?
22
- return compiler.run(infile, outfile, options);
31
+ return compiler.run(infile, options);
23
32
  }
24
33
  }
25
34
  function getPosixAbsolutePath(filename) {
@@ -37,5 +46,5 @@ function getPosixAbsolutePath(filename) {
37
46
  }
38
47
  return filename;
39
48
  }
40
- //# debugId=44ead5f1-da7c-5b53-923f-4f4aa2bc0af9
49
+ //# debugId=afb477c7-3f70-5516-97d5-aca25dae9b2f
41
50
  //# sourceMappingURL=BuildKmnKeyboard.js.map
@@ -1 +1 @@
1
- {"debug_id":"44ead5f1-da7c-5b53-923f-4f4aa2bc0af9","file":"BuildKmnKeyboard.js","mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IACjD,IAAW,IAAI,KAAa,OAAO,iBAAiB,CAAC,CAAC,CAAC;IACvD,IAAW,eAAe,KAA6B,0DAA6C,CAAC,CAAC;IACtG,IAAW,iBAAiB,KAA6B,oDAAuC,CAAC,CAAC;IAClG,IAAW,WAAW,KAAa,OAAO,yBAAyB,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,SAA4B,EAAE,OAAwB;QACvF,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,+CAA+C;QAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,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","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKmnKeyboard.ts"],"version":3}
1
+ {"debug_id":"afb477c7-3f70-5516-97d5-aca25dae9b2f","file":"BuildKmnKeyboard.js","mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IACjD,IAAW,IAAI,KAAa,OAAO,iBAAiB,CAAC,CAAC,CAAC;IACvD,IAAW,eAAe,KAA6B,0DAA6C,CAAC,CAAC;IACtG,IAAW,iBAAiB,KAA6B,oDAAuC,CAAC,CAAC;IAClG,IAAW,WAAW,KAAa,OAAO,yBAAyB,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,SAA4B,EAAE,OAAwB;QACvF,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,IAAG,OAAO,CAAC,OAAO,EAAE;YAClB,OAAO,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI;gBACF,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;aAC7C;YAAC,OAAM,CAAC,EAAE;gBACT,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;gBAC1F,OAAO,KAAK,CAAC;aACd;SACF;QACD,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,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","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKmnKeyboard.ts"],"version":3}
@@ -1,6 +1,7 @@
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]="c7de3b8e-ab62-5125-a27c-8d940eb2541f")}catch(e){}}();
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]="9a759415-bf84-584d-8adc-4fe4b66cf990")}catch(e){}}();
2
2
  import { BuildActivity } from './BuildActivity.js';
3
- import { CompilerCallbacks, CompilerOptions, KeymanFileTypes } from '@keymanapp/common-types';
3
+ import { CompilerCallbacks, KeymanFileTypes } from '@keymanapp/common-types';
4
+ import { ExtendedCompilerOptions } from 'src/util/extendedCompilerOptions.js';
4
5
  export declare class BuildModelInfo extends BuildActivity {
5
6
  get name(): string;
6
7
  get sourceExtension(): KeymanFileTypes.Source;
@@ -16,7 +17,7 @@ export declare class BuildModelInfo extends BuildActivity {
16
17
  * @param options
17
18
  * @returns
18
19
  */
19
- build(infile: string, callbacks: CompilerCallbacks, options: CompilerOptions): Promise<boolean>;
20
+ build(infile: string, callbacks: CompilerCallbacks, options: ExtendedCompilerOptions): Promise<boolean>;
20
21
  }
21
- //# debugId=c7de3b8e-ab62-5125-a27c-8d940eb2541f
22
+ //# debugId=9a759415-bf84-584d-8adc-4fe4b66cf990
22
23
  //# sourceMappingURL=BuildModelInfo.d.ts.map
@@ -1 +1 @@
1
- {"debug_id":"c7de3b8e-ab62-5125-a27c-8d940eb2541f","file":"BuildModelInfo.d.ts","mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO9F,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAW,IAAI,IAAI,MAAM,CAAqC;IAC9D,IAAW,eAAe,IAAI,eAAe,CAAC,MAAM,CAA6C;IACjG,IAAW,iBAAiB,IAAI,eAAe,CAAC,MAAM,CAA6C;IACnG,IAAW,WAAW,IAAI,MAAM,CAAkD;IAElF;;;;;;;;;OASG;IACU,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;CA6D7G","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildModelInfo.ts"],"version":3}
1
+ {"debug_id":"9a759415-bf84-584d-8adc-4fe4b66cf990","file":"BuildModelInfo.d.ts","mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAW,IAAI,IAAI,MAAM,CAAqC;IAC9D,IAAW,eAAe,IAAI,eAAe,CAAC,MAAM,CAA2C;IAC/F,IAAW,iBAAiB,IAAI,eAAe,CAAC,MAAM,CAA6C;IACnG,IAAW,WAAW,IAAI,MAAM,CAAkD;IAElF;;;;;;;;;OASG;IACU,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;CAyDrH","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildModelInfo.ts"],"version":3}