spiegel-keyman/developer
Marc Durdin 2f2f998da6 fix(developer): schema conformance for model package compiler
Fixes #3199.

Ensures that the model package compiler passes schema validation for
kmp.json. Three problems were corrected:

1. `followKeyboardVersion` is a source-only property; it should not be
   in deployable kmp.json.
2. `copyLocation` should have been a number not a string (in XML
   everything is a string... but JSON has more control here)
3. `fileType` is a source-only property; it also should not be in
   deployable kmp.json.

I have checked that the resulting files validate against the package
kmp.json schema version 1.1.0 defined at
https://github.com/keymanapp/api.keyman.com/blob/master/schemas/package/1.1.0/package.json.

None of these fixes should impact the use of these packages in target
apps. `followKeyboardVersion` and `fileType` are used only in the source
at package development time, and `copyLocation` is unused (and should be
eliminated from Keyman altogether in the future).
2021-03-01 10:57:49 +11:00
..
inst chore: node.js update to 12.13 2019-12-09 18:15:41 +00:00
js fix(developer): schema conformance for model package compiler 2021-03-01 10:57:49 +11:00
README.md [Developer] Start integration of model compiler into distribution 2019-08-21 11:55:27 +10:00

Keyman Developer

This is the likely future home for Keyman Developer. However, at this time, Keyman Developer still lives in windows/src/developer/

This folder currently contains only the Lexical Model Compiler and the related Package Compiler. It runs on nodeJS on all supported desktop platforms.

Lexical Model Compiler

Package Compiler

The package compiler is broadly compatible with the kmcomp .kps package compiler. However at this stage it is only tested with lexical models, and use with keyboards (either .js or .kmx) is not tested or supported. It is likely in the future that the kmcomp .kps compiler will be deprecated in favour of this one.

Transition steps

  1. Split .kps and model compilers into separate paths

Folders

inst

Contains a minimal distribution of node.js intended just for compiling lexical models. If more dependencies are required, then the developer will be expected to install node.js themselves; this gets users going without requiring a large installer or a full node.js install.

js

Source files for node-based compilers.