The Original Code is (C) 2017-2018 SIL International
Minimum Web Compilation Requirements
- Java 7+ (required by the Google Closure Compiler)
- This can be ignored for Keyman Developer builds.
- A local installation of Node.js v8.9+.
Builds will call
npm installto automatically install further necessary build dependencies.
Linux users can run the following to update to LTS version of nodejs
sudo apt-get install python-software-properties curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install nodejs
The following folders contain the distribution for KeymanWeb:
source Source code unit_tests Automated testing resources intermediate Intermediate compiled code; TypeScript source is compiled here before it is minified. release/web Fully-compiled KeymanWeb modules for testing release/embedded Fully-compiled KMEA/KMEI modules for inclusion in mobile app builds release/unminified/web Fully-compiled but non-minified KeymanWeb modules release/unminified/embedded Fully-compiled KMEA/KMEI modules for inclusion in mobile app builds samples Sample pages demonstrating ways to link with KeymanWeb testing Test-case web-pages for various aspects of KeymanWeb functionality unit_tests A Node-driven test suite for automated testing of KeymanWeb
Open index.html or samples/index.html in your browser. Be sure to compile KeymanWeb before viewing the pages.
Refer to the samples for usage details.
To view pages using compiled KeymanWeb,
- cd to keyman/web/source
- to compile desktop user interface modules to output folder
- to compile for testing without copying resources or updating the saved version number.
- to compile only the KMEA/KMEI embedded engine.
- to compile only the KeymanWeb engine.
- to compile a readable version of the embedded KMEA/KMEI code
- to disable the minified '/release/web' and '/release/embedded' build sections.
- the '/release/unminified/web' and '/release/unminified/embedded' folders will still be built.
- to erase pre-existing build products before the build.
If more than one target is specified, the last one will take precedence.
Before running unit tests on KeymanWeb, first run
./build.sh according to the instructions above.
Once the build is complete, running
npm test will run the unit testing suite on your local machine in-browser. Alternatively, see
unit_tests/test.sh, which the former command executes.