@predictive-text-studio/lexical-model-compiler
Version:
Keyman Developer lexical model compiler
40 lines • 1.35 kB
JavaScript
;
/**
* kmlmp - Keyman Lexical Model Package Compiler
*/
Object.defineProperty(exports, "__esModule", { value: true });
const program = require("commander");
const fs = require("fs");
const kmp_compiler_1 = require("./package-compiler/kmp-compiler");
let inputFilename;
/* Arguments */
program
.description('Compiles Keyman lexical model packages')
.version(require('../package.json').version)
.arguments('<infile>')
.action(infile => inputFilename = infile)
.option('-o, --outFile <filename>', 'where to save the resultant file');
program.parse(process.argv);
// Deal with input arguments:
if (!inputFilename) {
exitDueToUsageError('Must provide a lexical model package source file.');
}
let outputFilename = program.outFile ? program.outFile : inputFilename.replace(/\.kps$/, ".kmp");
//
// Load .kps source data
//
let kpsString = fs.readFileSync(inputFilename, 'utf8');
let kmpCompiler = new kmp_compiler_1.default();
let kmpJsonData = kmpCompiler.transformKpsToKmpObject(kpsString);
//
// Build the .kmp package file
//
kmpCompiler.buildKmpFile(kmpJsonData, outputFilename);
function exitDueToUsageError(message) {
console.error(`${program._name}: ${message}`);
console.error();
program.outputHelp();
return process.exit(64 /* EX_USAGE */);
}
//# sourceMappingURL=kmlmp.js.map