@keymanapp/kmc 18.0.11-alpha → 18.0.13-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/commands/analyze.d.ts.map +1 -1
- package/build/src/commands/analyze.js +106 -107
- package/build/src/commands/analyze.js.map +1 -1
- package/build/src/commands/build.js +166 -168
- package/build/src/commands/build.js.map +1 -1
- package/build/src/commands/buildClasses/BuildActivity.js +31 -33
- package/build/src/commands/buildClasses/BuildActivity.js.map +1 -1
- package/build/src/commands/buildClasses/BuildKeyboardInfo.js +47 -49
- package/build/src/commands/buildClasses/BuildKeyboardInfo.js.map +1 -1
- package/build/src/commands/buildClasses/BuildKmnKeyboard.js +35 -37
- package/build/src/commands/buildClasses/BuildKmnKeyboard.js.map +1 -1
- package/build/src/commands/buildClasses/BuildLdmlKeyboard.js +19 -21
- package/build/src/commands/buildClasses/BuildLdmlKeyboard.js.map +1 -1
- package/build/src/commands/buildClasses/BuildModel.js +13 -15
- package/build/src/commands/buildClasses/BuildModel.js.map +1 -1
- package/build/src/commands/buildClasses/BuildModelInfo.js +73 -75
- package/build/src/commands/buildClasses/BuildModelInfo.js.map +1 -1
- package/build/src/commands/buildClasses/BuildPackage.js +13 -15
- package/build/src/commands/buildClasses/BuildPackage.js.map +1 -1
- package/build/src/commands/buildClasses/BuildProject.js +116 -118
- package/build/src/commands/buildClasses/BuildProject.js.map +1 -1
- package/build/src/commands/buildClasses/buildActivities.js +21 -23
- package/build/src/commands/buildClasses/buildActivities.js.map +1 -1
- package/build/src/commands/buildTestData/index.js +39 -41
- package/build/src/commands/buildTestData/index.js.map +1 -1
- package/build/src/commands/buildWindowsPackageInstaller/index.d.ts +1 -1
- package/build/src/commands/buildWindowsPackageInstaller/index.d.ts.map +1 -1
- package/build/src/commands/buildWindowsPackageInstaller/index.js +43 -45
- package/build/src/commands/buildWindowsPackageInstaller/index.js.map +1 -1
- package/build/src/commands/messageCommand.js +237 -239
- package/build/src/commands/messageCommand.js.map +1 -1
- package/build/src/kmc.js +57 -58
- package/build/src/kmc.js.map +1 -1
- package/build/src/kmlmc.js +57 -59
- package/build/src/kmlmc.js.map +1 -1
- package/build/src/kmlmp.js +46 -48
- package/build/src/kmlmp.js.map +1 -1
- package/build/src/messages/infrastructureMessages.js +75 -77
- package/build/src/messages/infrastructureMessages.js.map +1 -1
- package/build/src/messages/messageNamespaces.js +39 -41
- package/build/src/messages/messageNamespaces.js.map +1 -1
- package/build/src/util/NodeCompilerCallbacks.js +221 -223
- package/build/src/util/NodeCompilerCallbacks.js.map +1 -1
- package/build/src/util/TestKeymanSentry.d.ts +3 -2
- package/build/src/util/TestKeymanSentry.d.ts.map +1 -1
- package/build/src/util/TestKeymanSentry.js +51 -53
- package/build/src/util/TestKeymanSentry.js.map +1 -1
- package/build/src/util/baseOptions.js +24 -26
- package/build/src/util/baseOptions.js.map +1 -1
- package/build/src/util/calculateSourcePath.js +18 -20
- package/build/src/util/calculateSourcePath.js.map +1 -1
- package/build/src/util/extendedCompilerOptions.js +123 -125
- package/build/src/util/extendedCompilerOptions.js.map +1 -1
- package/build/src/util/fileLists.js +46 -48
- package/build/src/util/fileLists.js.map +1 -1
- package/build/src/util/getDeveloperBinPath.js +36 -38
- package/build/src/util/getDeveloperBinPath.js.map +1 -1
- package/build/src/util/getLastGitCommitDate.js +44 -46
- package/build/src/util/getLastGitCommitDate.js.map +1 -1
- package/build/src/util/kmcSentryOptions.d.ts +8 -0
- package/build/src/util/kmcSentryOptions.d.ts.map +1 -0
- package/build/src/util/kmcSentryOptions.js +20 -0
- package/build/src/util/kmcSentryOptions.js.map +1 -0
- package/build/src/util/projectLoader.js +51 -53
- package/build/src/util/projectLoader.js.map +1 -1
- package/build/src/util/projectRunner.js +27 -29
- package/build/src/util/projectRunner.js.map +1 -1
- package/build/src/util/sysexits.js +7 -9
- package/build/src/util/sysexits.js.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//# debugId=ae12c182-d718-56e7-9083-078ddce82a57
|
|
33
|
-
//# sourceMappingURL=BuildActivity.js.map
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
|
|
4
|
+
export class BuildActivity {
|
|
5
|
+
async runCompiler(compiler, infile, outfile, callbacks, options) {
|
|
6
|
+
if (!await compiler.init(callbacks, options)) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const result = await compiler.run(infile, outfile);
|
|
10
|
+
if (!result) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (!this.createOutputFolder(outfile ?? infile, callbacks)) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return await compiler.write(result.artifacts);
|
|
17
|
+
}
|
|
18
|
+
createOutputFolder(targetFilename, callbacks) {
|
|
19
|
+
const targetFolder = path.dirname(targetFilename);
|
|
20
|
+
try {
|
|
21
|
+
fs.mkdirSync(targetFolder, { recursive: true });
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
callbacks.reportMessage(InfrastructureMessages.Error_CannotCreateFolder({ folderName: targetFolder, e }));
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
;
|
|
31
|
+
//# sourceMappingURL=BuildActivity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"BuildActivity.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,MAAM,OAAgB,aAAa;IAOvB,KAAK,CAAC,WAAW,CAA4B,QAAwB,EAAE,MAAc,EAAE,OAAe,EAAE,SAA4B,EAAE,OAAU;QACxJ,IAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SACd;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,IAAG,CAAC,MAAM,EAAE;YACV,OAAO,KAAK,CAAC;SACd;QAED,IAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,IAAI,MAAM,EAAE,SAAS,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAEO,kBAAkB,CAAC,cAAsB,EAAE,SAA4B;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAElD,IAAI;YACF,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;SAC/C;QAAC,OAAM,CAAC,EAAE;YACT,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,EAAC,UAAU,EAAC,YAAY,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;YACvG,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAAA,CAAC"}
|
|
@@ -1,49 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
get
|
|
12
|
-
get
|
|
13
|
-
get
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
//# debugId=f007f4c4-c24f-503c-a2c7-218b4e69645b
|
|
49
|
-
//# sourceMappingURL=BuildKeyboardInfo.js.map
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import { BuildActivity } from './BuildActivity.js';
|
|
3
|
+
import { KeymanFileTypes } from '@keymanapp/common-types';
|
|
4
|
+
import { KeyboardInfoCompiler } from '@keymanapp/kmc-keyboard-info';
|
|
5
|
+
import { loadProject } from '../../util/projectLoader.js';
|
|
6
|
+
import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
|
|
7
|
+
import { calculateSourcePath } from '../../util/calculateSourcePath.js';
|
|
8
|
+
import { getLastGitCommitDate } from '../../util/getLastGitCommitDate.js';
|
|
9
|
+
export class BuildKeyboardInfo extends BuildActivity {
|
|
10
|
+
get name() { return 'Keyboard metadata'; }
|
|
11
|
+
get sourceExtension() { return ".kpj" /* KeymanFileTypes.Source.Project */; }
|
|
12
|
+
get compiledExtension() { return ".keyboard_info" /* KeymanFileTypes.Binary.KeyboardInfo */; }
|
|
13
|
+
get description() { return 'Build a keyboard metadata file'; }
|
|
14
|
+
async build(infile, _outfile, callbacks, options) {
|
|
15
|
+
if (!KeymanFileTypes.filenameIs(infile, ".kpj" /* KeymanFileTypes.Source.Project */)) {
|
|
16
|
+
// Even if the project file does not exist, we use its name as our reference
|
|
17
|
+
// in order to avoid ambiguity
|
|
18
|
+
throw new Error(`BuildKeyboardInfo called with unexpected file type ${infile}`);
|
|
19
|
+
}
|
|
20
|
+
const project = loadProject(infile, callbacks);
|
|
21
|
+
if (!project) {
|
|
22
|
+
// Error messages written by loadProject
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const kps = project.files.find(file => file.fileType == ".kps" /* KeymanFileTypes.Source.Package */);
|
|
26
|
+
if (!kps) {
|
|
27
|
+
callbacks.reportMessage(InfrastructureMessages.Error_FileTypeNotFound({ ext: ".kps" /* KeymanFileTypes.Source.Package */ }));
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const keyboard = project.files.find(file => file.fileType == ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */);
|
|
31
|
+
const jsFilename = keyboard ? project.resolveOutputFilePath(keyboard, ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */, ".js" /* KeymanFileTypes.Binary.WebKeyboard */) : null;
|
|
32
|
+
const lastCommitDate = getLastGitCommitDate(project.projectPath);
|
|
33
|
+
const sources = {
|
|
34
|
+
kmpFilename: project.resolveOutputFilePath(kps, ".kps" /* KeymanFileTypes.Source.Package */, ".kmp" /* KeymanFileTypes.Binary.Package */),
|
|
35
|
+
kpsFilename: project.resolveInputFilePath(kps),
|
|
36
|
+
jsFilename: jsFilename && fs.existsSync(jsFilename) ? jsFilename : undefined,
|
|
37
|
+
sourcePath: calculateSourcePath(infile),
|
|
38
|
+
lastCommitDate,
|
|
39
|
+
forPublishing: !!options.forPublishing,
|
|
40
|
+
};
|
|
41
|
+
// Note: should we always ignore the passed-in output filename for .keyboard_info?
|
|
42
|
+
const outputFilename = project.getOutputFilePath(".keyboard_info" /* KeymanFileTypes.Binary.KeyboardInfo */);
|
|
43
|
+
const compiler = new KeyboardInfoCompiler();
|
|
44
|
+
return await super.runCompiler(compiler, infile, outputFilename, callbacks, { ...options, sources });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=BuildKeyboardInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"BuildKeyboardInfo.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKeyboardInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAqB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,IAAW,IAAI,KAAa,OAAO,mBAAmB,CAAC,CAAC,CAAC;IACzD,IAAW,eAAe,KAA6B,mDAAsC,CAAC,CAAC;IAC/F,IAAW,iBAAiB,KAA6B,kEAA2C,CAAC,CAAC;IACtG,IAAW,WAAW,KAAa,OAAO,gCAAgC,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,QAAgB,EAAE,SAA4B,EAAE,OAAgC;QACjH,IAAG,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,8CAAiC,EAAE;YACtE,4EAA4E;YAC5E,8BAA8B;YAC9B,MAAM,IAAI,KAAK,CAAC,sDAAsD,MAAM,EAAE,CAAC,CAAC;SACjF;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAG,CAAC,OAAO,EAAE;YACX,wCAAwC;YACxC,OAAO,KAAK,CAAC;SACd;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,+CAAkC,CAAC,CAAC;QACxF,IAAG,CAAC,GAAG,EAAG;YACR,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,EAAC,GAAG,6CAAgC,EAAC,CAAC,CAAC,CAAC;YAC9G,OAAO,KAAK,CAAC;SACd;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,sDAAyC,CAAC,CAAC;QACpG,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,qGAA4E,CAAC,CAAC,CAAC,IAAI,CAAC;QACxJ,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,WAAW,EAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,2FAAiE;YAChH,WAAW,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC;YAC9C,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YAC5E,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC;YACvC,cAAc;YACd,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa;SACvC,CAAC;QACF,kFAAkF;QAClF,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,4DAAqC,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,EAAC,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IACrG,CAAC;CACF"}
|
|
@@ -1,37 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
get
|
|
8
|
-
get
|
|
9
|
-
get
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//# debugId=fad107d1-49bb-510e-a938-040105e2e7e6
|
|
37
|
-
//# sourceMappingURL=BuildKmnKeyboard.js.map
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { platform } from 'os';
|
|
3
|
+
import { KmnCompiler } from '@keymanapp/kmc-kmn';
|
|
4
|
+
import { BuildActivity } from './BuildActivity.js';
|
|
5
|
+
export class BuildKmnKeyboard extends BuildActivity {
|
|
6
|
+
get name() { return 'Keyman keyboard'; }
|
|
7
|
+
get sourceExtension() { return ".kmn" /* KeymanFileTypes.Source.KeymanKeyboard */; }
|
|
8
|
+
get compiledExtension() { return ".kmx" /* KeymanFileTypes.Binary.Keyboard */; }
|
|
9
|
+
get description() { return 'Build a Keyman keyboard'; }
|
|
10
|
+
async build(infile, outfile, callbacks, options) {
|
|
11
|
+
// We need to resolve paths to absolute paths before calling kmc-kmn
|
|
12
|
+
infile = getPosixAbsolutePath(infile);
|
|
13
|
+
if (outfile) {
|
|
14
|
+
outfile = getPosixAbsolutePath(outfile);
|
|
15
|
+
}
|
|
16
|
+
const compiler = new KmnCompiler();
|
|
17
|
+
return await super.runCompiler(compiler, infile, outfile, callbacks, options);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function getPosixAbsolutePath(filename) {
|
|
21
|
+
if (platform() == 'win32') {
|
|
22
|
+
// On Win32, we need to use backslashes for path.resolve to work
|
|
23
|
+
filename = filename.replace(/\//g, '\\');
|
|
24
|
+
}
|
|
25
|
+
// Resolve to a fully qualified absolute path
|
|
26
|
+
filename = path.resolve(filename);
|
|
27
|
+
if (platform() == 'win32') {
|
|
28
|
+
// Ensure that we convert the result back to posix-style paths which is what
|
|
29
|
+
// kmc-kmn expects. On posix platforms, we assume paths have forward slashes
|
|
30
|
+
// already
|
|
31
|
+
filename = filename.replace(/\\/g, '/');
|
|
32
|
+
}
|
|
33
|
+
return filename;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=BuildKmnKeyboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"BuildKmnKeyboard.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildKmnKeyboard.ts"],"names":[],"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,OAAe,EAAE,SAA4B,EAAE,OAAwB;QACxG,oEAAoE;QACpE,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACtC,IAAG,OAAO,EAAE;YACV,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACzC;QAED,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACnC,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChF,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,21 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
get
|
|
8
|
-
get
|
|
9
|
-
get
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
//# debugId=5684b85a-23f9-5140-8559-035ad9a22f57
|
|
21
|
-
//# sourceMappingURL=BuildLdmlKeyboard.js.map
|
|
1
|
+
import * as kmcLdml from '@keymanapp/kmc-ldml';
|
|
2
|
+
import { LDMLKeyboardXMLSourceFileReader } from '@keymanapp/common-types';
|
|
3
|
+
import { BuildActivity } from './BuildActivity.js';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
export class BuildLdmlKeyboard extends BuildActivity {
|
|
6
|
+
get name() { return 'LDML keyboard'; }
|
|
7
|
+
get sourceExtension() { return ".xml" /* KeymanFileTypes.Source.LdmlKeyboard */; }
|
|
8
|
+
get compiledExtension() { return ".kmx" /* KeymanFileTypes.Binary.Keyboard */; }
|
|
9
|
+
get description() { return 'Build a LDML keyboard'; }
|
|
10
|
+
async build(infile, outfile, callbacks, options) {
|
|
11
|
+
// TODO-LDML: consider hardware vs touch -- touch-only layout will not have a .kvk
|
|
12
|
+
const ldmlCompilerOptions = { ...options, readerOptions: {
|
|
13
|
+
importsPath: fileURLToPath(new URL(...LDMLKeyboardXMLSourceFileReader.defaultImportsURL))
|
|
14
|
+
} };
|
|
15
|
+
const compiler = new kmcLdml.LdmlKeyboardCompiler();
|
|
16
|
+
return await super.runCompiler(compiler, infile, outfile, callbacks, ldmlCompilerOptions);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=BuildLdmlKeyboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"BuildLdmlKeyboard.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildLdmlKeyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAqB,+BAA+B,EAAoC,MAAM,yBAAyB,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,IAAW,IAAI,KAAa,OAAO,eAAe,CAAC,CAAC,CAAC;IACrD,IAAW,eAAe,KAA6B,wDAA2C,CAAC,CAAC;IACpG,IAAW,iBAAiB,KAA6B,oDAAuC,CAAC,CAAC;IAClG,IAAW,WAAW,KAAa,OAAO,uBAAuB,CAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,SAA4B,EAAE,OAAwB;QACxG,kFAAkF;QAClF,MAAM,mBAAmB,GAAgC,EAAC,GAAG,OAAO,EAAE,aAAa,EAAE;gBACnF,WAAW,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;aAC1F,EAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACpD,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC5F,CAAC;CACF"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
get
|
|
6
|
-
get
|
|
7
|
-
get
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
//# debugId=5a59570f-0c41-54f8-9fbf-741b33cc09a0
|
|
15
|
-
//# sourceMappingURL=BuildModel.js.map
|
|
1
|
+
import { BuildActivity } from './BuildActivity.js';
|
|
2
|
+
import { LexicalModelCompiler } from '@keymanapp/kmc-model';
|
|
3
|
+
export class BuildModel extends BuildActivity {
|
|
4
|
+
get name() { return 'Lexical model'; }
|
|
5
|
+
get sourceExtension() { return ".model.ts" /* KeymanFileTypes.Source.Model */; }
|
|
6
|
+
get compiledExtension() { return ".model.js" /* KeymanFileTypes.Binary.Model */; }
|
|
7
|
+
get description() { return 'Build a lexical model'; }
|
|
8
|
+
async build(infile, outfile, callbacks, options) {
|
|
9
|
+
const compiler = new LexicalModelCompiler();
|
|
10
|
+
return await super.runCompiler(compiler, infile, outfile, callbacks, options);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=BuildModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"BuildModel.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,OAAO,UAAW,SAAQ,aAAa;IAC3C,IAAW,IAAI,KAAa,OAAO,eAAe,CAAC,CAAC,CAAC;IACrD,IAAW,eAAe,KAA6B,sDAAoC,CAAC,CAAC;IAC7F,IAAW,iBAAiB,KAA6B,sDAAoC,CAAC,CAAC;IAC/F,IAAW,WAAW,KAAa,OAAO,uBAAuB,CAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,SAA4B,EAAE,OAAwB;QACxG,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC5C,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -1,75 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
get
|
|
13
|
-
get
|
|
14
|
-
get
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* .
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* @param
|
|
23
|
-
* @
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
//# debugId=2f86f821-9505-55e6-886f-7defa7e03a9c
|
|
75
|
-
//# sourceMappingURL=BuildModelInfo.js.map
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { BuildActivity } from './BuildActivity.js';
|
|
3
|
+
import { KeymanFileTypes } from '@keymanapp/common-types';
|
|
4
|
+
import { ModelInfoCompiler } from '@keymanapp/kmc-model-info';
|
|
5
|
+
import { KmpCompiler } from '@keymanapp/kmc-package';
|
|
6
|
+
import { loadProject } from '../../util/projectLoader.js';
|
|
7
|
+
import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
|
|
8
|
+
import { calculateSourcePath } from '../../util/calculateSourcePath.js';
|
|
9
|
+
import { getLastGitCommitDate } from '../../util/getLastGitCommitDate.js';
|
|
10
|
+
export class BuildModelInfo extends BuildActivity {
|
|
11
|
+
get name() { return 'Lexical model metadata'; }
|
|
12
|
+
get sourceExtension() { return ".kpj" /* KeymanFileTypes.Source.Project */; }
|
|
13
|
+
get compiledExtension() { return ".model_info" /* KeymanFileTypes.Binary.ModelInfo */; }
|
|
14
|
+
get description() { return 'Build a lexical model metadata file'; }
|
|
15
|
+
/**
|
|
16
|
+
* Compiles a build/ .model_info from a source .model_info file and
|
|
17
|
+
* corresponding model and package data files. Data not provided in the
|
|
18
|
+
* .model_info file will be extracted from the other source files.
|
|
19
|
+
* @param infile a .kpj file or a .model_info file. When a .model_info file is
|
|
20
|
+
* given, will look for a .kpj in the same folder.
|
|
21
|
+
* @param callbacks
|
|
22
|
+
* @param options
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
async build(infile, _outfile, callbacks, options) {
|
|
26
|
+
if (!KeymanFileTypes.filenameIs(infile, ".kpj" /* KeymanFileTypes.Source.Project */)) {
|
|
27
|
+
// Even if the project file does not exist, we use its name as our reference
|
|
28
|
+
// in order to avoid ambiguity
|
|
29
|
+
throw new Error(`BuildModelInfo called with unexpected file type ${infile}`);
|
|
30
|
+
}
|
|
31
|
+
const project = loadProject(infile, callbacks);
|
|
32
|
+
if (!project) {
|
|
33
|
+
// Error messages will be reported by loadProject
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const model = project.files.find(file => file.fileType == ".model.ts" /* KeymanFileTypes.Source.Model */);
|
|
37
|
+
if (!model) {
|
|
38
|
+
callbacks.reportMessage(InfrastructureMessages.Error_FileTypeNotFound({ ext: ".model.ts" /* KeymanFileTypes.Source.Model */ }));
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
const kps = project.files.find(file => file.fileType == ".kps" /* KeymanFileTypes.Source.Package */);
|
|
42
|
+
if (!kps) {
|
|
43
|
+
callbacks.reportMessage(InfrastructureMessages.Error_FileTypeNotFound({ ext: ".kps" /* KeymanFileTypes.Source.Package */ }));
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
let kmpCompiler = new KmpCompiler();
|
|
47
|
+
if (!await kmpCompiler.init(callbacks, options)) {
|
|
48
|
+
// Errors will have been emitted by KmpCompiler
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
let kmpJsonData = kmpCompiler.transformKpsToKmpObject(project.resolveInputFilePath(kps));
|
|
52
|
+
if (!kmpJsonData) {
|
|
53
|
+
// Errors will have been emitted by KmpCompiler
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const lastCommitDate = getLastGitCommitDate(project.projectPath);
|
|
57
|
+
const sources = {
|
|
58
|
+
model_id: path.basename(project.projectPath, ".kpj" /* KeymanFileTypes.Source.Project */),
|
|
59
|
+
kmpJsonData,
|
|
60
|
+
sourcePath: calculateSourcePath(infile),
|
|
61
|
+
modelFileName: project.resolveOutputFilePath(model, ".model.ts" /* KeymanFileTypes.Source.Model */, ".model.js" /* KeymanFileTypes.Binary.Model */),
|
|
62
|
+
kmpFileName: project.resolveOutputFilePath(kps, ".kps" /* KeymanFileTypes.Source.Package */, ".kmp" /* KeymanFileTypes.Binary.Package */),
|
|
63
|
+
kpsFilename: project.resolveInputFilePath(kps),
|
|
64
|
+
lastCommitDate,
|
|
65
|
+
forPublishing: !!options.forPublishing,
|
|
66
|
+
};
|
|
67
|
+
// Note: should we always ignore the passed-in output filename for .model_info?
|
|
68
|
+
const outputFilename = project.getOutputFilePath(".model_info" /* KeymanFileTypes.Binary.ModelInfo */);
|
|
69
|
+
const compiler = new ModelInfoCompiler();
|
|
70
|
+
return await super.runCompiler(compiler, infile, outputFilename, callbacks, { ...options, sources });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=BuildModelInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"BuildModelInfo.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildModelInfo.ts"],"names":[],"mappings":"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"}
|