@keymanapp/kmc 17.0.105-alpha → 17.0.107-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.
@@ -1,6 +1,6 @@
1
1
  import * as path from 'path';
2
2
  import { BuildActivity } from './BuildActivity.js';
3
- import { Compiler } from '@keymanapp/kmc-kmn';
3
+ import { KmnCompiler } from '@keymanapp/kmc-kmn';
4
4
  import { platform } from 'os';
5
5
  export class BuildKmnKeyboard extends BuildActivity {
6
6
  get name() { return 'Keyman keyboard'; }
@@ -8,8 +8,8 @@ export class BuildKmnKeyboard extends BuildActivity {
8
8
  get compiledExtension() { return '.kmx'; }
9
9
  get description() { return 'Build a Keyman keyboard'; }
10
10
  async build(infile, callbacks, options) {
11
- let compiler = new Compiler();
12
- if (!await compiler.init()) {
11
+ let compiler = new KmnCompiler();
12
+ if (!await compiler.init(callbacks)) {
13
13
  return false;
14
14
  }
15
15
  // We need to resolve paths to absolute paths before calling kmc-kmn
@@ -18,7 +18,7 @@ export class BuildKmnKeyboard extends BuildActivity {
18
18
  outfile = getPosixAbsolutePath(outfile);
19
19
  // TODO: Currently this only builds .kmn->.kmx, and targeting .js is as-yet unsupported
20
20
  // TODO: Support additional options compilerWarningsAsErrors, warnDeprecatedCode
21
- return compiler.run(infile, outfile, callbacks, {
21
+ return compiler.run(infile, outfile, {
22
22
  saveDebug: options.debug,
23
23
  shouldAddCompilerVersion: options.compilerVersion,
24
24
  warnDeprecatedCode: options.warnDeprecatedCode,
@@ -1 +1 @@
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,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,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,QAAQ,EAAE,CAAC;QAC9B,IAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE;YACzB,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,EAAE,SAAS,EAC9C;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
+ {"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,6 +1,6 @@
1
1
  import * as path from 'path';
2
2
  import * as fs from 'fs';
3
- import * as kmc from '@keymanapp/kmc-ldml';
3
+ import * as kmcLdml from '@keymanapp/kmc-ldml';
4
4
  import { KvkFileWriter } from '@keymanapp/common-types';
5
5
  import { BuildActivity } from './BuildActivity.js';
6
6
  export class BuildLdmlKeyboard extends BuildActivity {
@@ -43,7 +43,7 @@ function buildLdmlKeyboardToMemory(inputFilename, callbacks, options) {
43
43
  // TODO: warnDeprecatedCode: options.warnDeprecatedCode,
44
44
  // TODO: treatWarningsAsErrors: options.treatWarningsAsErrors,
45
45
  };
46
- const k = new kmc.Compiler(callbacks, options);
46
+ const k = new kmcLdml.LdmlKeyboardCompiler(callbacks, options);
47
47
  let source = k.load(inputFilename);
48
48
  if (!source) {
49
49
  return [null, null, null];
@@ -54,11 +54,11 @@ function buildLdmlKeyboardToMemory(inputFilename, callbacks, options) {
54
54
  }
55
55
  // In order for the KMX file to be loaded by non-KMXPlus components, it is helpful
56
56
  // to duplicate some of the metadata
57
- kmc.KMXPlusMetadataCompiler.addKmxMetadata(kmx.kmxplus, kmx.keyboard, compilerOptions);
57
+ kmcLdml.KMXPlusMetadataCompiler.addKmxMetadata(kmx.kmxplus, kmx.keyboard, compilerOptions);
58
58
  // Use the builder to generate the binary output file
59
- const builder = new kmc.KMXBuilder(kmx, options.debug);
59
+ const builder = new kmcLdml.KMXBuilder(kmx, options.debug);
60
60
  const kmx_binary = builder.compile();
61
- const vkcompiler = new kmc.VisualKeyboardCompiler();
61
+ const vkcompiler = new kmcLdml.LdmlKeyboardVisualKeyboardCompiler();
62
62
  const vk = vkcompiler.compile(source);
63
63
  const writer = new KvkFileWriter();
64
64
  const kvk_binary = writer.write(vk);
@@ -67,7 +67,7 @@ function buildLdmlKeyboardToMemory(inputFilename, callbacks, options) {
67
67
  // const tlcompiler = new kmc.TouchLayoutCompiler();
68
68
  // const tl = tlcompiler.compile(source);
69
69
  // const tlwriter = new TouchLayoutFileWriter();
70
- const kmwcompiler = new kmc.KeymanWebCompiler(callbacks, compilerOptions);
70
+ const kmwcompiler = new kmcLdml.LdmlKeyboardKeymanWebCompiler(callbacks, compilerOptions);
71
71
  const kmw_string = kmwcompiler.compile(inputFilename, source);
72
72
  const encoder = new TextEncoder();
73
73
  const kmw_binary = encoder.encode(kmw_string);
@@ -1 +1 @@
1
- {"version":3,"file":"BuildLdmlKeyboard.js","sourceRoot":"","sources":["../../../../src/commands/build/BuildLdmlKeyboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuildLdmlKeyboard.js","sourceRoot":"","sources":["../../../../src/commands/build/BuildLdmlKeyboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,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;CA0BlH"}
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,6 +1,6 @@
1
1
  import * as fs from 'fs';
2
2
  import { BuildActivity } from './BuildActivity.js';
3
- import KmpCompiler from '@keymanapp/kmc-package';
3
+ import { KmpCompiler, PackageValidation } from '@keymanapp/kmc-package';
4
4
  export class BuildPackage extends BuildActivity {
5
5
  get name() { return 'Package'; }
6
6
  get sourceExtension() { return '.kps'; }
@@ -17,6 +17,13 @@ export class BuildPackage extends BuildActivity {
17
17
  return false;
18
18
  }
19
19
  //
20
+ // Validate the package file
21
+ //
22
+ const validation = new PackageValidation(callbacks);
23
+ if (!validation.validate(infile, kmpJsonData)) {
24
+ return false;
25
+ }
26
+ //
20
27
  // Build the .kmp package file
21
28
  //
22
29
  const data = await kmpCompiler.buildKmpFile(infile, kmpJsonData);
@@ -1 +1 @@
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;AACzE,OAAO,WAAW,MAAM,wBAAwB,CAAC;AAGjD,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,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
+ {"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"}
@@ -21,7 +21,7 @@ export function buildTestData(infile, options) {
21
21
  }
22
22
  function loadTestData(inputFilename, options) {
23
23
  const c = new NodeCompilerCallbacks();
24
- const k = new kmc.Compiler(c, options);
24
+ const k = new kmc.LdmlKeyboardCompiler(c, options);
25
25
  let source = k.loadTestData(inputFilename);
26
26
  if (!source) {
27
27
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/buildTestData/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAI/E,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAA6B;IACzE,IAAI,eAAe,GAAwB;QACzC,KAAK,EAAE,KAAK;QACZ,kBAAkB,EAAE,KAAK;KAC1B,CAAC;IAEF,IAAI,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;KACR;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,YAAY,CAAC,aAAqB,EAAE,OAA4B;IACvE,MAAM,CAAC,GAAsB,IAAI,qBAAqB,EAAE,CAAC;IACzD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/buildTestData/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAI/E,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAA6B;IACzE,IAAI,eAAe,GAAwB;QACzC,KAAK,EAAE,KAAK;QACZ,kBAAkB,EAAE,KAAK;KAC1B,CAAC;IAEF,IAAI,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;KACR;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,YAAY,CAAC,aAAqB,EAAE,OAA4B;IACvE,MAAM,CAAC,GAAsB,IAAI,qBAAqB,EAAE,CAAC;IACzD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import * as path from 'path';
6
6
  import { Command } from 'commander';
7
- import KmpCompiler from '@keymanapp/kmc-package';
7
+ import { KmpCompiler, PackageValidation } from '@keymanapp/kmc-package';
8
8
  import { writeMergedModelMetadataFile } from '@keymanapp/kmc-model-info';
9
9
  import KEYMAN_VERSION from "@keymanapp/keyman-version";
10
10
  import { NodeCompilerCallbacks } from './messages/NodeCompilerCallbacks.js';
@@ -39,6 +39,13 @@ const callbacks = new NodeCompilerCallbacks();
39
39
  let kmpCompiler = new KmpCompiler(callbacks);
40
40
  let kmpJsonData = kmpCompiler.transformKpsToKmpObject(kpsFilename);
41
41
  //
42
+ // Validate the package file
43
+ //
44
+ const validation = new PackageValidation(callbacks);
45
+ if (!validation.validate(kpsFilename, kmpJsonData)) {
46
+ process.exit(1);
47
+ }
48
+ //
42
49
  // Write out the merged .model_info file
43
50
  //
44
51
  let modelInfoOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"kmlmi.js","sourceRoot":"","sources":["../../src/kmlmi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kmlmi.js","sourceRoot":"","sources":["../../src/kmlmi.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,17 @@
2
2
  /**
3
3
  * kmlmp - Keyman Lexical Model Package Compiler
4
4
  */
5
+ // Note: this is a deprecated package and will be removed in Keyman 18.0
5
6
  import * as fs from 'fs';
6
7
  import { Command } from 'commander';
7
- import KmpCompiler from '@keymanapp/kmc-package';
8
+ import { PackageValidation, KmpCompiler } from '@keymanapp/kmc-package';
8
9
  import KEYMAN_VERSION from "@keymanapp/keyman-version";
9
10
  import { NodeCompilerCallbacks } from './messages/NodeCompilerCallbacks.js';
10
11
  let inputFilename;
11
12
  const program = new Command();
12
13
  /* Arguments */
13
14
  program
14
- .description('Compiles Keyman lexical model packages')
15
+ .description('Compiles Keyman lexical model packages\nDeprecated: use <kmc build> instead; will be removed in v18')
15
16
  .version(KEYMAN_VERSION.VERSION_WITH_TAG)
16
17
  .arguments('<infile>')
17
18
  .action(infile => inputFilename = infile)
@@ -28,6 +29,16 @@ let outputFilename = program.opts().outFile ? program.opts().outFile : inputFile
28
29
  const callbacks = new NodeCompilerCallbacks();
29
30
  let kmpCompiler = new KmpCompiler(callbacks);
30
31
  let kmpJsonData = kmpCompiler.transformKpsToKmpObject(inputFilename);
32
+ if (!kmpJsonData) {
33
+ process.exit(1);
34
+ }
35
+ //
36
+ // Validate the package file
37
+ //
38
+ const validation = new PackageValidation(callbacks);
39
+ if (!validation.validate(inputFilename, kmpJsonData)) {
40
+ process.exit(1);
41
+ }
31
42
  //
32
43
  // Build the .kmp package file
33
44
  //
@@ -1 +1 @@
1
- {"version":3,"file":"kmlmp.js","sourceRoot":"","sources":["../../src/kmlmp.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,WAAW,MAAM,wBAAwB,CAAC;AAEjD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,IAAI,aAAqB,CAAC;AAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,eAAe;AACf,OAAO;KACJ,WAAW,CAAC,wCAAwC,CAAC;KACrD,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC;KACxC,SAAS,CAAC,UAAU,CAAC;KACrB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC;KACxC,MAAM,CAAC,0BAA0B,EAAE,kCAAkC,CAAC,CAAC;AAE1E,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,6BAA6B;AAE7B,IAAI,CAAC,aAAa,EAAE;IAClB,mBAAmB,CAAC,mDAAmD,CAAC,CAAC;CAC1E;AAED,IAAI,cAAc,GAAW,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEvH,EAAE;AACF,wBAAwB;AACxB,EAAE;AAEF,MAAM,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAC9C,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;AAC7C,IAAI,WAAW,GAAG,WAAW,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAErE,EAAE;AACF,8BAA8B;AAC9B,EAAE;AAEF,IAAI,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAClB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACf,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,UAAU,EAAE,CAAC;IACrB,OAAO,OAAO,CAAC,IAAI,4BAAmB,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"kmlmp.js","sourceRoot":"","sources":["../../src/kmlmp.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,wEAAwE;AAExE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,IAAI,aAAqB,CAAC;AAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,eAAe;AACf,OAAO;KACJ,WAAW,CAAC,qGAAqG,CAAC;KAClH,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC;KACxC,SAAS,CAAC,UAAU,CAAC;KACrB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC;KACxC,MAAM,CAAC,0BAA0B,EAAE,kCAAkC,CAAC,CAAC;AAE1E,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,6BAA6B;AAE7B,IAAI,CAAC,aAAa,EAAE;IAClB,mBAAmB,CAAC,mDAAmD,CAAC,CAAC;CAC1E;AAED,IAAI,cAAc,GAAW,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEvH,EAAE;AACF,wBAAwB;AACxB,EAAE;AAEF,MAAM,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAC9C,IAAI,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;AAC7C,IAAI,WAAW,GAAG,WAAW,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;AACrE,IAAG,CAAC,WAAW,EAAE;IACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,EAAE;AACF,4BAA4B;AAC5B,EAAE;AAEF,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACpD,IAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,EAAE;AACF,8BAA8B;AAC9B,EAAE;AAEF,IAAI,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAClB,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACf,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,CAAC,UAAU,EAAE,CAAC;IACrB,OAAO,OAAO,CAAC,IAAI,4BAAmB,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -37,14 +37,14 @@
37
37
  "kmlmi": "build/src/kmlmi.js"
38
38
  },
39
39
  "dependencies": {
40
- "@keymanapp/keyman-version": "17.0.105-alpha",
41
- "@keymanapp/common-types": "17.0.105-alpha",
42
- "@keymanapp/kmc-kmn": "17.0.105-alpha",
43
- "@keymanapp/kmc-ldml": "17.0.105-alpha",
44
- "@keymanapp/kmc-model": "17.0.105-alpha",
45
- "@keymanapp/kmc-model-info": "17.0.105-alpha",
46
- "@keymanapp/kmc-package": "17.0.105-alpha",
47
- "@keymanapp/models-types": "17.0.105-alpha",
40
+ "@keymanapp/keyman-version": "17.0.107-alpha",
41
+ "@keymanapp/common-types": "17.0.107-alpha",
42
+ "@keymanapp/kmc-kmn": "17.0.107-alpha",
43
+ "@keymanapp/kmc-ldml": "17.0.107-alpha",
44
+ "@keymanapp/kmc-model": "17.0.107-alpha",
45
+ "@keymanapp/kmc-model-info": "17.0.107-alpha",
46
+ "@keymanapp/kmc-package": "17.0.107-alpha",
47
+ "@keymanapp/models-types": "17.0.107-alpha",
48
48
  "commander": "^10.0.0"
49
49
  },
50
50
  "files": [
@@ -83,5 +83,5 @@
83
83
  "type": "git",
84
84
  "url": "git+https://github.com/keymanapp/keyman.git"
85
85
  },
86
- "version": "17.0.105-alpha"
86
+ "version": "17.0.107-alpha"
87
87
  }