@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.
Files changed (70) hide show
  1. package/build/src/commands/analyze.d.ts.map +1 -1
  2. package/build/src/commands/analyze.js +106 -107
  3. package/build/src/commands/analyze.js.map +1 -1
  4. package/build/src/commands/build.js +166 -168
  5. package/build/src/commands/build.js.map +1 -1
  6. package/build/src/commands/buildClasses/BuildActivity.js +31 -33
  7. package/build/src/commands/buildClasses/BuildActivity.js.map +1 -1
  8. package/build/src/commands/buildClasses/BuildKeyboardInfo.js +47 -49
  9. package/build/src/commands/buildClasses/BuildKeyboardInfo.js.map +1 -1
  10. package/build/src/commands/buildClasses/BuildKmnKeyboard.js +35 -37
  11. package/build/src/commands/buildClasses/BuildKmnKeyboard.js.map +1 -1
  12. package/build/src/commands/buildClasses/BuildLdmlKeyboard.js +19 -21
  13. package/build/src/commands/buildClasses/BuildLdmlKeyboard.js.map +1 -1
  14. package/build/src/commands/buildClasses/BuildModel.js +13 -15
  15. package/build/src/commands/buildClasses/BuildModel.js.map +1 -1
  16. package/build/src/commands/buildClasses/BuildModelInfo.js +73 -75
  17. package/build/src/commands/buildClasses/BuildModelInfo.js.map +1 -1
  18. package/build/src/commands/buildClasses/BuildPackage.js +13 -15
  19. package/build/src/commands/buildClasses/BuildPackage.js.map +1 -1
  20. package/build/src/commands/buildClasses/BuildProject.js +116 -118
  21. package/build/src/commands/buildClasses/BuildProject.js.map +1 -1
  22. package/build/src/commands/buildClasses/buildActivities.js +21 -23
  23. package/build/src/commands/buildClasses/buildActivities.js.map +1 -1
  24. package/build/src/commands/buildTestData/index.js +39 -41
  25. package/build/src/commands/buildTestData/index.js.map +1 -1
  26. package/build/src/commands/buildWindowsPackageInstaller/index.d.ts +1 -1
  27. package/build/src/commands/buildWindowsPackageInstaller/index.d.ts.map +1 -1
  28. package/build/src/commands/buildWindowsPackageInstaller/index.js +43 -45
  29. package/build/src/commands/buildWindowsPackageInstaller/index.js.map +1 -1
  30. package/build/src/commands/messageCommand.js +237 -239
  31. package/build/src/commands/messageCommand.js.map +1 -1
  32. package/build/src/kmc.js +57 -58
  33. package/build/src/kmc.js.map +1 -1
  34. package/build/src/kmlmc.js +57 -59
  35. package/build/src/kmlmc.js.map +1 -1
  36. package/build/src/kmlmp.js +46 -48
  37. package/build/src/kmlmp.js.map +1 -1
  38. package/build/src/messages/infrastructureMessages.js +75 -77
  39. package/build/src/messages/infrastructureMessages.js.map +1 -1
  40. package/build/src/messages/messageNamespaces.js +39 -41
  41. package/build/src/messages/messageNamespaces.js.map +1 -1
  42. package/build/src/util/NodeCompilerCallbacks.js +221 -223
  43. package/build/src/util/NodeCompilerCallbacks.js.map +1 -1
  44. package/build/src/util/TestKeymanSentry.d.ts +3 -2
  45. package/build/src/util/TestKeymanSentry.d.ts.map +1 -1
  46. package/build/src/util/TestKeymanSentry.js +51 -53
  47. package/build/src/util/TestKeymanSentry.js.map +1 -1
  48. package/build/src/util/baseOptions.js +24 -26
  49. package/build/src/util/baseOptions.js.map +1 -1
  50. package/build/src/util/calculateSourcePath.js +18 -20
  51. package/build/src/util/calculateSourcePath.js.map +1 -1
  52. package/build/src/util/extendedCompilerOptions.js +123 -125
  53. package/build/src/util/extendedCompilerOptions.js.map +1 -1
  54. package/build/src/util/fileLists.js +46 -48
  55. package/build/src/util/fileLists.js.map +1 -1
  56. package/build/src/util/getDeveloperBinPath.js +36 -38
  57. package/build/src/util/getDeveloperBinPath.js.map +1 -1
  58. package/build/src/util/getLastGitCommitDate.js +44 -46
  59. package/build/src/util/getLastGitCommitDate.js.map +1 -1
  60. package/build/src/util/kmcSentryOptions.d.ts +8 -0
  61. package/build/src/util/kmcSentryOptions.d.ts.map +1 -0
  62. package/build/src/util/kmcSentryOptions.js +20 -0
  63. package/build/src/util/kmcSentryOptions.js.map +1 -0
  64. package/build/src/util/projectLoader.js +51 -53
  65. package/build/src/util/projectLoader.js.map +1 -1
  66. package/build/src/util/projectRunner.js +27 -29
  67. package/build/src/util/projectRunner.js.map +1 -1
  68. package/build/src/util/sysexits.js +7 -9
  69. package/build/src/util/sysexits.js.map +1 -1
  70. package/package.json +12 -12
@@ -1,15 +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]="a9183d53-e0bc-5242-af15-86636b27f4d8")}catch(e){}}();
2
- import { BuildActivity } from './BuildActivity.js';
3
- import { KmpCompiler } from '@keymanapp/kmc-package';
4
- export class BuildPackage extends BuildActivity {
5
- get name() { return 'Package'; }
6
- get sourceExtension() { return ".kps" /* KeymanFileTypes.Source.Package */; }
7
- get compiledExtension() { return ".kmp" /* KeymanFileTypes.Binary.Package */; }
8
- get description() { return 'Build a Keyman package'; }
9
- async build(infile, outfile, callbacks, options) {
10
- const compiler = new KmpCompiler();
11
- return await super.runCompiler(compiler, infile, outfile, callbacks, options);
12
- }
13
- }
14
- //# debugId=a9183d53-e0bc-5242-af15-86636b27f4d8
15
- //# sourceMappingURL=BuildPackage.js.map
1
+ import { BuildActivity } from './BuildActivity.js';
2
+ import { KmpCompiler } from '@keymanapp/kmc-package';
3
+ export class BuildPackage extends BuildActivity {
4
+ get name() { return 'Package'; }
5
+ get sourceExtension() { return ".kps" /* KeymanFileTypes.Source.Package */; }
6
+ get compiledExtension() { return ".kmp" /* KeymanFileTypes.Binary.Package */; }
7
+ get description() { return 'Build a Keyman package'; }
8
+ async build(infile, outfile, callbacks, options) {
9
+ const compiler = new KmpCompiler();
10
+ return await super.runCompiler(compiler, infile, outfile, callbacks, options);
11
+ }
12
+ }
13
+ //# sourceMappingURL=BuildPackage.js.map
@@ -1 +1 @@
1
- {"debug_id":"a9183d53-e0bc-5242-af15-86636b27f4d8","file":"BuildPackage.js","mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,IAAW,IAAI,KAAa,OAAO,SAAS,CAAC,CAAC,CAAC;IAC/C,IAAW,eAAe,KAA6B,mDAAsC,CAAC,CAAC;IAC/F,IAAW,iBAAiB,KAA6B,mDAAsC,CAAC,CAAC;IACjG,IAAW,WAAW,KAAc,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,SAA4B,EAAE,OAAwB;QACxG,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","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildPackage.ts"],"version":3}
1
+ {"version":3,"file":"BuildPackage.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildPackage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,IAAW,IAAI,KAAa,OAAO,SAAS,CAAC,CAAC,CAAC;IAC/C,IAAW,eAAe,KAA6B,mDAAsC,CAAC,CAAC;IAC/F,IAAW,iBAAiB,KAA6B,mDAAsC,CAAC,CAAC;IACjG,IAAW,WAAW,KAAc,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,SAA4B,EAAE,OAAwB;QACxG,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"}
@@ -1,118 +1,116 @@
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]="09ea0055-a21a-538d-b7e7-39d1613686c3")}catch(e){}}();
2
- import * as path from 'path';
3
- import * as fs from 'fs';
4
- import { CompilerFileCallbacks, KeymanDeveloperProjectType } from '@keymanapp/common-types';
5
- import { BuildActivity } from './BuildActivity.js';
6
- import { buildActivities, buildKeyboardInfoActivity, buildModelInfoActivity } from './buildActivities.js';
7
- import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
8
- import { loadProject } from '../../util/projectLoader.js';
9
- import { getOption } from '@keymanapp/developer-utils';
10
- export class BuildProject extends BuildActivity {
11
- get name() { return 'Project'; }
12
- get sourceExtension() { return ".kpj" /* KeymanFileTypes.Source.Project */; }
13
- get compiledExtension() { return null; }
14
- get description() { return 'Build a keyboard or lexical model project'; }
15
- async build(infile, outfile, callbacks, options) {
16
- if (outfile) {
17
- callbacks.reportMessage(InfrastructureMessages.Error_OutFileNotValidForProjects());
18
- return false;
19
- }
20
- let builder = new ProjectBuilder(infile, callbacks, options);
21
- return builder.run();
22
- }
23
- }
24
- class ProjectBuilder {
25
- callbacks;
26
- infile;
27
- options;
28
- project;
29
- constructor(infile, callbacks, options) {
30
- this.infile = path.resolve(infile);
31
- this.callbacks = new CompilerFileCallbacks(infile, options, callbacks);
32
- this.options = options;
33
- }
34
- async run() {
35
- this.project = loadProject(this.infile, this.callbacks);
36
- if (!this.project) {
37
- return false;
38
- }
39
- // Give a hint if the project is v1.0
40
- if (this.project.options.version != '2.0') {
41
- if (getOption("prompt to upgrade projects", true)) {
42
- this.callbacks.reportMessage(InfrastructureMessages.Hint_ProjectIsVersion10());
43
- }
44
- }
45
- // Go through the various file types and build them
46
- for (let builder of buildActivities) {
47
- if (builder.sourceExtension == ".kpj" /* KeymanFileTypes.Source.Project */) {
48
- // We don't support nested projects
49
- continue;
50
- }
51
- if (!await this.buildProjectTargets(builder)) {
52
- return false;
53
- }
54
- }
55
- // Build project metadata
56
- if (this.options.forPublishing || !this.project.options.skipMetadataFiles) {
57
- let activity = null;
58
- // Determine activity type first of all by examining files in the project
59
- // Then if that is inconclusive, examine the declared project type
60
- if (this.project.isKeyboardProject()) {
61
- activity = buildKeyboardInfoActivity;
62
- }
63
- else if (this.project.isLexicalModelProject()) {
64
- activity = buildModelInfoActivity;
65
- }
66
- else if (this.project.options.projectType == KeymanDeveloperProjectType.Keyboard) {
67
- activity = buildKeyboardInfoActivity;
68
- }
69
- else if (this.project.options.projectType == KeymanDeveloperProjectType.LexicalModel) {
70
- activity = buildModelInfoActivity;
71
- }
72
- else {
73
- // If we get here, then we are not sure what type of project this is, so
74
- // we'll assume keyboard
75
- activity = buildKeyboardInfoActivity;
76
- }
77
- if (!await (this.buildProjectTargets(activity))) {
78
- return false;
79
- }
80
- }
81
- return true;
82
- }
83
- async buildProjectTargets(activity) {
84
- if (activity.sourceExtension == ".kpj" /* KeymanFileTypes.Source.Project */) {
85
- return await this.buildTarget(this.project.projectFile, activity);
86
- }
87
- let result = true;
88
- for (let file of this.project.files) {
89
- if (file.fileType.toLowerCase() == activity.sourceExtension) {
90
- result = await this.buildTarget(file, activity) && result;
91
- }
92
- }
93
- return result;
94
- }
95
- async buildTarget(file, activity) {
96
- const options = { ...this.options };
97
- const outfile = this.project.resolveOutputFilePath(file, activity.sourceExtension, activity.compiledExtension);
98
- options.checkFilenameConventions = this.project.options.checkFilenameConventions ?? this.options.checkFilenameConventions;
99
- const infile = this.project.resolveInputFilePath(file);
100
- const buildFilename = path.relative(process.cwd(), infile).replace(/\\/g, '/');
101
- const callbacks = new CompilerFileCallbacks(buildFilename, options, this.callbacks);
102
- callbacks.reportMessage(InfrastructureMessages.Info_BuildingFile({ filename: infile, relativeFilename: buildFilename }));
103
- fs.mkdirSync(path.dirname(outfile), { recursive: true });
104
- let result = await activity.build(infile, outfile, callbacks, options);
105
- // check if we had a message that causes the build to be a failure
106
- // note: command line option here, if set, overrides project setting
107
- result = result && !callbacks.hasFailureMessage(this.options.compilerWarningsAsErrors ?? this.project.options.compilerWarningsAsErrors);
108
- if (result) {
109
- callbacks.reportMessage(InfrastructureMessages.Info_FileBuiltSuccessfully({ filename: infile, relativeFilename: buildFilename }));
110
- }
111
- else {
112
- callbacks.reportMessage(InfrastructureMessages.Info_FileNotBuiltSuccessfully({ filename: infile, relativeFilename: buildFilename }));
113
- }
114
- return result;
115
- }
116
- }
117
- //# debugId=09ea0055-a21a-538d-b7e7-39d1613686c3
118
- //# sourceMappingURL=BuildProject.js.map
1
+ import * as path from 'path';
2
+ import * as fs from 'fs';
3
+ import { CompilerFileCallbacks, KeymanDeveloperProjectType } from '@keymanapp/common-types';
4
+ import { BuildActivity } from './BuildActivity.js';
5
+ import { buildActivities, buildKeyboardInfoActivity, buildModelInfoActivity } from './buildActivities.js';
6
+ import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
7
+ import { loadProject } from '../../util/projectLoader.js';
8
+ import { getOption } from '@keymanapp/developer-utils';
9
+ export class BuildProject extends BuildActivity {
10
+ get name() { return 'Project'; }
11
+ get sourceExtension() { return ".kpj" /* KeymanFileTypes.Source.Project */; }
12
+ get compiledExtension() { return null; }
13
+ get description() { return 'Build a keyboard or lexical model project'; }
14
+ async build(infile, outfile, callbacks, options) {
15
+ if (outfile) {
16
+ callbacks.reportMessage(InfrastructureMessages.Error_OutFileNotValidForProjects());
17
+ return false;
18
+ }
19
+ let builder = new ProjectBuilder(infile, callbacks, options);
20
+ return builder.run();
21
+ }
22
+ }
23
+ class ProjectBuilder {
24
+ callbacks;
25
+ infile;
26
+ options;
27
+ project;
28
+ constructor(infile, callbacks, options) {
29
+ this.infile = path.resolve(infile);
30
+ this.callbacks = new CompilerFileCallbacks(infile, options, callbacks);
31
+ this.options = options;
32
+ }
33
+ async run() {
34
+ this.project = loadProject(this.infile, this.callbacks);
35
+ if (!this.project) {
36
+ return false;
37
+ }
38
+ // Give a hint if the project is v1.0
39
+ if (this.project.options.version != '2.0') {
40
+ if (getOption("prompt to upgrade projects", true)) {
41
+ this.callbacks.reportMessage(InfrastructureMessages.Hint_ProjectIsVersion10());
42
+ }
43
+ }
44
+ // Go through the various file types and build them
45
+ for (let builder of buildActivities) {
46
+ if (builder.sourceExtension == ".kpj" /* KeymanFileTypes.Source.Project */) {
47
+ // We don't support nested projects
48
+ continue;
49
+ }
50
+ if (!await this.buildProjectTargets(builder)) {
51
+ return false;
52
+ }
53
+ }
54
+ // Build project metadata
55
+ if (this.options.forPublishing || !this.project.options.skipMetadataFiles) {
56
+ let activity = null;
57
+ // Determine activity type first of all by examining files in the project
58
+ // Then if that is inconclusive, examine the declared project type
59
+ if (this.project.isKeyboardProject()) {
60
+ activity = buildKeyboardInfoActivity;
61
+ }
62
+ else if (this.project.isLexicalModelProject()) {
63
+ activity = buildModelInfoActivity;
64
+ }
65
+ else if (this.project.options.projectType == KeymanDeveloperProjectType.Keyboard) {
66
+ activity = buildKeyboardInfoActivity;
67
+ }
68
+ else if (this.project.options.projectType == KeymanDeveloperProjectType.LexicalModel) {
69
+ activity = buildModelInfoActivity;
70
+ }
71
+ else {
72
+ // If we get here, then we are not sure what type of project this is, so
73
+ // we'll assume keyboard
74
+ activity = buildKeyboardInfoActivity;
75
+ }
76
+ if (!await (this.buildProjectTargets(activity))) {
77
+ return false;
78
+ }
79
+ }
80
+ return true;
81
+ }
82
+ async buildProjectTargets(activity) {
83
+ if (activity.sourceExtension == ".kpj" /* KeymanFileTypes.Source.Project */) {
84
+ return await this.buildTarget(this.project.projectFile, activity);
85
+ }
86
+ let result = true;
87
+ for (let file of this.project.files) {
88
+ if (file.fileType.toLowerCase() == activity.sourceExtension) {
89
+ result = await this.buildTarget(file, activity) && result;
90
+ }
91
+ }
92
+ return result;
93
+ }
94
+ async buildTarget(file, activity) {
95
+ const options = { ...this.options };
96
+ const outfile = this.project.resolveOutputFilePath(file, activity.sourceExtension, activity.compiledExtension);
97
+ options.checkFilenameConventions = this.project.options.checkFilenameConventions ?? this.options.checkFilenameConventions;
98
+ const infile = this.project.resolveInputFilePath(file);
99
+ const buildFilename = path.relative(process.cwd(), infile).replace(/\\/g, '/');
100
+ const callbacks = new CompilerFileCallbacks(buildFilename, options, this.callbacks);
101
+ callbacks.reportMessage(InfrastructureMessages.Info_BuildingFile({ filename: infile, relativeFilename: buildFilename }));
102
+ fs.mkdirSync(path.dirname(outfile), { recursive: true });
103
+ let result = await activity.build(infile, outfile, callbacks, options);
104
+ // check if we had a message that causes the build to be a failure
105
+ // note: command line option here, if set, overrides project setting
106
+ result = result && !callbacks.hasFailureMessage(this.options.compilerWarningsAsErrors ?? this.project.options.compilerWarningsAsErrors);
107
+ if (result) {
108
+ callbacks.reportMessage(InfrastructureMessages.Info_FileBuiltSuccessfully({ filename: infile, relativeFilename: buildFilename }));
109
+ }
110
+ else {
111
+ callbacks.reportMessage(InfrastructureMessages.Info_FileNotBuiltSuccessfully({ filename: infile, relativeFilename: buildFilename }));
112
+ }
113
+ return result;
114
+ }
115
+ }
116
+ //# sourceMappingURL=BuildProject.js.map
@@ -1 +1 @@
1
- {"debug_id":"09ea0055-a21a-538d-b7e7-39d1613686c3","file":"BuildProject.js","mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAqB,qBAAqB,EAAsD,0BAA0B,EAAmB,MAAM,yBAAyB,CAAC;AACpL,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,IAAW,IAAI,KAAa,OAAO,SAAS,CAAC,CAAC,CAAC;IAC/C,IAAW,eAAe,KAA6B,mDAAsC,CAAC,CAAC;IAC/F,IAAW,iBAAiB,KAA6B,OAAO,IAAI,CAAC,CAAC,CAAC;IACvE,IAAW,WAAW,KAAc,OAAO,2CAA2C,CAAC,CAAC,CAAC;IAClF,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,SAA4B,EAAE,OAAgC;QAChH,IAAG,OAAO,EAAE;YACV,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,gCAAgC,EAAE,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;CACF;AAED,MAAM,cAAc;IAClB,SAAS,CAAoB;IAC7B,MAAM,CAAS;IACf,OAAO,CAA0B;IACjC,OAAO,CAAyB;IAEhC,YAAY,MAAc,EAAE,SAA4B,EAAE,OAAgC;QACxF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,IAAG,CAAC,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAED,qCAAqC;QACrC,IAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE;YACxC,IAAG,SAAS,CAAC,4BAA4B,EAAE,IAAI,CAAC,EAAE;gBAChD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,uBAAuB,EAAE,CAAC,CAAC;aAChF;SACF;QAED,mDAAmD;QACnD,KAAI,IAAI,OAAO,IAAI,eAAe,EAAE;YAClC,IAAG,OAAO,CAAC,eAAe,+CAAkC,EAAE;gBAC5D,mCAAmC;gBACnC,SAAS;aACV;YAED,IAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE;gBAC3C,OAAO,KAAK,CAAC;aACd;SACF;QAED,yBAAyB;QACzB,IAAG,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACxE,IAAI,QAAQ,GAAkB,IAAI,CAAC;YAEnC,yEAAyE;YACzE,kEAAkE;YAClE,IAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE;gBACnC,QAAQ,GAAG,yBAAyB,CAAC;aACtC;iBAAM,IAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE;gBAC9C,QAAQ,GAAG,sBAAsB,CAAC;aACnC;iBAAM,IAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,0BAA0B,CAAC,QAAQ,EAAE;gBACjF,QAAQ,GAAG,yBAAyB,CAAC;aACtC;iBAAM,IAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,0BAA0B,CAAC,YAAY,EAAE;gBACrF,QAAQ,GAAG,sBAAsB,CAAC;aACnC;iBAAM;gBACL,wEAAwE;gBACxE,wBAAwB;gBACxB,QAAQ,GAAG,yBAAyB,CAAC;aACtC;YAED,IAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAC9C,OAAO,KAAK,CAAC;aACd;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAuB;QAC/C,IAAG,QAAQ,CAAC,eAAe,+CAAkC,EAAE;YAC7D,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SACnE;QAED,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,KAAI,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClC,IAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,eAAe,EAAE;gBAC1D,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC;aAC3D;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAgC,EAAE,QAAuB;QACzE,MAAM,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,OAAO,EAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC/G,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;QAC1H,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpF,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAC,aAAa,EAAC,CAAC,CAAC,CAAC;QAEtH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;QAEtD,IAAI,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEvE,kEAAkE;QAClE,oEAAoE;QACpE,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAExI,IAAG,MAAM,EAAE;YACT,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAC,aAAa,EAAC,CAAC,CAAC,CAAC;SAChI;aAAM;YACL,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAC,CAAC,CAAC,CAAC;SACpI;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildProject.ts"],"version":3}
1
+ {"version":3,"file":"BuildProject.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/BuildProject.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,21 @@
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]="88e0e501-0e39-53f4-a749-e094188f0876")}catch(e){}}();
2
- import { BuildKeyboardInfo } from './BuildKeyboardInfo.js';
3
- import { BuildKmnKeyboard } from './BuildKmnKeyboard.js';
4
- import { BuildLdmlKeyboard } from './BuildLdmlKeyboard.js';
5
- import { BuildModel } from './BuildModel.js';
6
- import { BuildModelInfo } from './BuildModelInfo.js';
7
- import { BuildPackage } from './BuildPackage.js';
8
- // These builders are listed in the order that files need to be built in
9
- // projects. Packages depend on .kmn, .xml and .model.ts file types
10
- export const buildActivities = [
11
- new BuildKmnKeyboard(),
12
- new BuildLdmlKeyboard(),
13
- new BuildModel(),
14
- new BuildPackage(),
15
- ];
16
- // These are built from the .kpj reference after all others
17
- export const buildKeyboardInfoActivity = new BuildKeyboardInfo();
18
- export const buildModelInfoActivity = new BuildModelInfo();
19
- // Note: BuildProject is not listed here to avoid circular references,
20
- // because it depends on the other activities here. This means that
21
- // BuildProject must be separately checked.
22
- //# debugId=88e0e501-0e39-53f4-a749-e094188f0876
23
- //# sourceMappingURL=buildActivities.js.map
1
+ import { BuildKeyboardInfo } from './BuildKeyboardInfo.js';
2
+ import { BuildKmnKeyboard } from './BuildKmnKeyboard.js';
3
+ import { BuildLdmlKeyboard } from './BuildLdmlKeyboard.js';
4
+ import { BuildModel } from './BuildModel.js';
5
+ import { BuildModelInfo } from './BuildModelInfo.js';
6
+ import { BuildPackage } from './BuildPackage.js';
7
+ // These builders are listed in the order that files need to be built in
8
+ // projects. Packages depend on .kmn, .xml and .model.ts file types
9
+ export const buildActivities = [
10
+ new BuildKmnKeyboard(),
11
+ new BuildLdmlKeyboard(),
12
+ new BuildModel(),
13
+ new BuildPackage(),
14
+ ];
15
+ // These are built from the .kpj reference after all others
16
+ export const buildKeyboardInfoActivity = new BuildKeyboardInfo();
17
+ export const buildModelInfoActivity = new BuildModelInfo();
18
+ // Note: BuildProject is not listed here to avoid circular references,
19
+ // because it depends on the other activities here. This means that
20
+ // BuildProject must be separately checked.
21
+ //# sourceMappingURL=buildActivities.js.map
@@ -1 +1 @@
1
- {"debug_id":"88e0e501-0e39-53f4-a749-e094188f0876","file":"buildActivities.js","mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,wEAAwE;AACxE,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,IAAI,gBAAgB,EAAE;IACtB,IAAI,iBAAiB,EAAE;IACvB,IAAI,UAAU,EAAE;IAChB,IAAI,YAAY,EAAE;CACnB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,cAAc,EAAE,CAAC;AAG3D,sEAAsE;AACtE,mEAAmE;AACnE,2CAA2C","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildClasses/buildActivities.ts"],"version":3}
1
+ {"version":3,"file":"buildActivities.js","sourceRoot":"","sources":["../../../../src/commands/buildClasses/buildActivities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,wEAAwE;AACxE,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,IAAI,gBAAgB,EAAE;IACtB,IAAI,iBAAiB,EAAE;IACvB,IAAI,UAAU,EAAE;IAChB,IAAI,YAAY,EAAE;CACnB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,cAAc,EAAE,CAAC;AAG3D,sEAAsE;AACtE,mEAAmE;AACnE,2CAA2C"}
@@ -1,41 +1,39 @@
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]="d27f0fd4-926d-5cc4-a291-1c72032e536c")}catch(e){}}();
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
- import * as kmcLdml from '@keymanapp/kmc-ldml';
5
- import { defaultCompilerOptions, LDMLKeyboardXMLSourceFileReader } from '@keymanapp/common-types';
6
- import { NodeCompilerCallbacks } from '../../util/NodeCompilerCallbacks.js';
7
- import { fileURLToPath } from 'url';
8
- import { exitProcess } from '../../util/sysexits.js';
9
- import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
10
- export async function buildTestData(infile, _options, commander) {
11
- const options = commander.optsWithGlobals();
12
- let compilerOptions = {
13
- ...defaultCompilerOptions,
14
- ...options,
15
- saveDebug: false,
16
- shouldAddCompilerVersion: false,
17
- readerOptions: {
18
- importsPath: fileURLToPath(new URL(...LDMLKeyboardXMLSourceFileReader.defaultImportsURL))
19
- }
20
- };
21
- const callbacks = new NodeCompilerCallbacks(options);
22
- let testData = await loadTestData(infile, callbacks, compilerOptions);
23
- if (!testData || callbacks.hasFailureMessage()) {
24
- await exitProcess(1);
25
- }
26
- const fileBaseName = options.outFile ?? infile;
27
- const outFileBase = path.basename(fileBaseName, path.extname(fileBaseName));
28
- const outFileDir = path.dirname(fileBaseName);
29
- const outFileJson = path.join(outFileDir, outFileBase + '.json');
30
- fs.writeFileSync(outFileJson, JSON.stringify(testData, null, ' '));
31
- callbacks.reportMessage(InfrastructureMessages.Info_FileBuiltSuccessfully({ filename: outFileJson, relativeFilename: infile }));
32
- }
33
- async function loadTestData(inputFilename, callbacks, options) {
34
- const k = new kmcLdml.LdmlKeyboardCompiler();
35
- if (!await k.init(callbacks, options)) {
36
- return null;
37
- }
38
- return await k.loadTestData(inputFilename);
39
- }
40
- //# debugId=d27f0fd4-926d-5cc4-a291-1c72032e536c
41
- //# sourceMappingURL=index.js.map
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import * as kmcLdml from '@keymanapp/kmc-ldml';
4
+ import { defaultCompilerOptions, LDMLKeyboardXMLSourceFileReader } from '@keymanapp/common-types';
5
+ import { NodeCompilerCallbacks } from '../../util/NodeCompilerCallbacks.js';
6
+ import { fileURLToPath } from 'url';
7
+ import { exitProcess } from '../../util/sysexits.js';
8
+ import { InfrastructureMessages } from '../../messages/infrastructureMessages.js';
9
+ export async function buildTestData(infile, _options, commander) {
10
+ const options = commander.optsWithGlobals();
11
+ let compilerOptions = {
12
+ ...defaultCompilerOptions,
13
+ ...options,
14
+ saveDebug: false,
15
+ shouldAddCompilerVersion: false,
16
+ readerOptions: {
17
+ importsPath: fileURLToPath(new URL(...LDMLKeyboardXMLSourceFileReader.defaultImportsURL))
18
+ }
19
+ };
20
+ const callbacks = new NodeCompilerCallbacks(options);
21
+ let testData = await loadTestData(infile, callbacks, compilerOptions);
22
+ if (!testData || callbacks.hasFailureMessage()) {
23
+ await exitProcess(1);
24
+ }
25
+ const fileBaseName = options.outFile ?? infile;
26
+ const outFileBase = path.basename(fileBaseName, path.extname(fileBaseName));
27
+ const outFileDir = path.dirname(fileBaseName);
28
+ const outFileJson = path.join(outFileDir, outFileBase + '.json');
29
+ fs.writeFileSync(outFileJson, JSON.stringify(testData, null, ' '));
30
+ callbacks.reportMessage(InfrastructureMessages.Info_FileBuiltSuccessfully({ filename: outFileJson, relativeFilename: infile }));
31
+ }
32
+ async function loadTestData(inputFilename, callbacks, options) {
33
+ const k = new kmcLdml.LdmlKeyboardCompiler();
34
+ if (!await k.init(callbacks, options)) {
35
+ return null;
36
+ }
37
+ return await k.loadTestData(inputFilename);
38
+ }
39
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"debug_id":"d27f0fd4-926d-5cc4-a291-1c72032e536c","file":"index.js","mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAqB,sBAAsB,EAAqC,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AACxJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,QAAa,EAAE,SAAc;IAC/E,MAAM,OAAO,GAA2B,SAAS,CAAC,eAAe,EAAE,CAAC;IAEpE,IAAI,eAAe,GAAgC;QACjD,GAAG,sBAAsB;QACzB,GAAG,OAAO;QACV,SAAS,EAAE,KAAK;QAChB,wBAAwB,EAAE,KAAK;QAC/B,aAAa,EAAE;YACb,WAAW,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;SAC1F;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,iBAAiB,EAAE,EAAE;QAC9C,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;KACtB;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,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAG,MAAM,EAAC,CAAC,CAAC,CAAC;AACjI,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,SAA4B,EAAE,OAAoC;IACnH,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAC7C,IAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IACD,OAAO,MAAM,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AAC7C,CAAC","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildTestData/index.ts"],"version":3}
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,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAqB,sBAAsB,EAAqC,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AACxJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,QAAa,EAAE,SAAc;IAC/E,MAAM,OAAO,GAA2B,SAAS,CAAC,eAAe,EAAE,CAAC;IAEpE,IAAI,eAAe,GAAgC;QACjD,GAAG,sBAAsB;QACzB,GAAG,OAAO;QACV,SAAS,EAAE,KAAK;QAChB,wBAAwB,EAAE,KAAK;QAC/B,aAAa,EAAE;YACb,WAAW,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;SAC1F;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,iBAAiB,EAAE,EAAE;QAC9C,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;KACtB;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,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAG,MAAM,EAAC,CAAC,CAAC,CAAC;AACjI,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,SAA4B,EAAE,OAAoC;IACnH,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAC7C,IAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IACD,OAAO,MAAM,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function buildWindowsPackageInstaller(infile: string, _options: any, commander: any): Promise<void>;
1
+ export declare function buildWindowsPackageInstaller(infile: string, _options: any, commander: any): Promise<never | void>;
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/buildWindowsPackageInstaller/index.ts"],"names":[],"mappings":"AAkBA,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,iBAwC/F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/buildWindowsPackageInstaller/index.ts"],"names":[],"mappings":"AAkBA,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,GAAC,IAAI,CAAC,CAwCrH"}
@@ -1,45 +1,43 @@
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]="4029cc62-e81d-5aed-bf7d-600c0191747d")}catch(e){}}();
2
- import * as fs from 'fs';
3
- import * as path from 'path';
4
- import { defaultCompilerOptions } from '@keymanapp/common-types';
5
- import { NodeCompilerCallbacks } from '../../util/NodeCompilerCallbacks.js';
6
- import { WindowsPackageInstallerCompiler } from '@keymanapp/kmc-package';
7
- import { exitProcess } from '../../util/sysexits.js';
8
- ;
9
- export async function buildWindowsPackageInstaller(infile, _options, commander) {
10
- // TODO(lowpri): we probably should cleanup the options management here, move
11
- // translation of command line options to kmc-* options into a separate module
12
- const options = commander.optsWithGlobals();
13
- const sources = {
14
- licenseFilename: options.license,
15
- msiFilename: options.msi,
16
- setupExeFilename: options.exe,
17
- startDisabled: options.startDisabled,
18
- startWithConfiguration: options.startWithConfiguration,
19
- appName: options.appName,
20
- titleImageFilename: options.titleImage
21
- };
22
- const outfile = options.outFile;
23
- // Normalize case for the filename and expand the path; this avoids false
24
- // positive case mismatches on input filenames and glommed paths
25
- infile = fs.realpathSync.native(infile);
26
- const callbacks = new NodeCompilerCallbacks({ ...defaultCompilerOptions, ...options });
27
- const compiler = new WindowsPackageInstallerCompiler();
28
- if (!await compiler.init(callbacks, { ...options, sources })) {
29
- await exitProcess(1);
30
- }
31
- const fileBaseName = outfile ?? infile;
32
- const outFileBase = path.basename(fileBaseName, path.extname(fileBaseName));
33
- const outFileDir = path.dirname(fileBaseName);
34
- const outFileExe = path.join(outFileDir, outFileBase + '.exe');
35
- const result = await compiler.run(infile, outFileExe);
36
- if (!result) {
37
- // errors will have been reported already
38
- await exitProcess(1);
39
- }
40
- if (!await compiler.write(result.artifacts)) {
41
- await exitProcess(1);
42
- }
43
- }
44
- //# debugId=4029cc62-e81d-5aed-bf7d-600c0191747d
45
- //# sourceMappingURL=index.js.map
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { defaultCompilerOptions } from '@keymanapp/common-types';
4
+ import { NodeCompilerCallbacks } from '../../util/NodeCompilerCallbacks.js';
5
+ import { WindowsPackageInstallerCompiler } from '@keymanapp/kmc-package';
6
+ import { exitProcess } from '../../util/sysexits.js';
7
+ ;
8
+ export async function buildWindowsPackageInstaller(infile, _options, commander) {
9
+ // TODO(lowpri): we probably should cleanup the options management here, move
10
+ // translation of command line options to kmc-* options into a separate module
11
+ const options = commander.optsWithGlobals();
12
+ const sources = {
13
+ licenseFilename: options.license,
14
+ msiFilename: options.msi,
15
+ setupExeFilename: options.exe,
16
+ startDisabled: options.startDisabled,
17
+ startWithConfiguration: options.startWithConfiguration,
18
+ appName: options.appName,
19
+ titleImageFilename: options.titleImage
20
+ };
21
+ const outfile = options.outFile;
22
+ // Normalize case for the filename and expand the path; this avoids false
23
+ // positive case mismatches on input filenames and glommed paths
24
+ infile = fs.realpathSync.native(infile);
25
+ const callbacks = new NodeCompilerCallbacks({ ...defaultCompilerOptions, ...options });
26
+ const compiler = new WindowsPackageInstallerCompiler();
27
+ if (!await compiler.init(callbacks, { ...options, sources })) {
28
+ return await exitProcess(1);
29
+ }
30
+ const fileBaseName = outfile ?? infile;
31
+ const outFileBase = path.basename(fileBaseName, path.extname(fileBaseName));
32
+ const outFileDir = path.dirname(fileBaseName);
33
+ const outFileExe = path.join(outFileDir, outFileBase + '.exe');
34
+ const result = await compiler.run(infile, outFileExe);
35
+ if (!result) {
36
+ // errors will have been reported already
37
+ return await exitProcess(1);
38
+ }
39
+ if (!await compiler.write(result.artifacts)) {
40
+ return await exitProcess(1);
41
+ }
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"debug_id":"4029cc62-e81d-5aed-bf7d-600c0191747d","file":"index.js","mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAqB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAkC,MAAM,wBAAwB,CAAC;AAEzG,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAUpD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,MAAc,EAAE,QAAa,EAAE,SAAc;IAC9F,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,OAAO,GAA8C,SAAS,CAAC,eAAe,EAAE,CAAC;IACvF,MAAM,OAAO,GAAmC;QAC9C,eAAe,EAAE,OAAO,CAAC,OAAO;QAChC,WAAW,EAAE,OAAO,CAAC,GAAG;QACxB,gBAAgB,EAAE,OAAO,CAAC,GAAG;QAC7B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;QACtD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,kBAAkB,EAAE,OAAO,CAAC,UAAU;KACvC,CAAA;IAED,MAAM,OAAO,GAAW,OAAO,CAAC,OAAO,CAAC;IAExC,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,SAAS,GAAsB,IAAI,qBAAqB,CAAC,EAAC,GAAG,sBAAsB,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;IACxG,MAAM,QAAQ,GAAG,IAAI,+BAA+B,EAAE,CAAC;IACvD,IAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,EAAE;QACzD,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,MAAM,YAAY,GAAG,OAAO,IAAI,MAAM,CAAC;IACvC,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,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,IAAG,CAAC,MAAM,EAAE;QACV,yCAAyC;QACzC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,IAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC1C,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;KACtB;AACH,CAAC","names":[],"sourceRoot":"","sources":["../../../../src/commands/buildWindowsPackageInstaller/index.ts"],"version":3}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/buildWindowsPackageInstaller/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAqB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAkC,MAAM,wBAAwB,CAAC;AAEzG,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAUpD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,MAAc,EAAE,QAAa,EAAE,SAAc;IAC9F,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,OAAO,GAA8C,SAAS,CAAC,eAAe,EAAE,CAAC;IACvF,MAAM,OAAO,GAAmC;QAC9C,eAAe,EAAE,OAAO,CAAC,OAAO;QAChC,WAAW,EAAE,OAAO,CAAC,GAAG;QACxB,gBAAgB,EAAE,OAAO,CAAC,GAAG;QAC7B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;QACtD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,kBAAkB,EAAE,OAAO,CAAC,UAAU;KACvC,CAAA;IAED,MAAM,OAAO,GAAW,OAAO,CAAC,OAAO,CAAC;IAExC,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,SAAS,GAAsB,IAAI,qBAAqB,CAAC,EAAC,GAAG,sBAAsB,EAAE,GAAG,OAAO,EAAC,CAAC,CAAC;IACxG,MAAM,QAAQ,GAAG,IAAI,+BAA+B,EAAE,CAAC;IACvD,IAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,EAAE;QACzD,OAAO,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;KAC7B;IAED,MAAM,YAAY,GAAG,OAAO,IAAI,MAAM,CAAC;IACvC,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,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtD,IAAG,CAAC,MAAM,EAAE;QACV,yCAAyC;QACzC,OAAO,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;KAC7B;IAED,IAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC1C,OAAO,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;KAC7B;AACH,CAAC"}