Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 2.73 KB

File metadata and controls

69 lines (51 loc) · 2.73 KB

Keyman Web

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 install to 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

Usage

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,

  1. cd to keyman/web/source
  2. Run ./build.sh

build.sh options:

  • -ui
    • to compile desktop user interface modules to output folder
  • -test
    • to compile for testing without copying resources or updating the saved version number.
  • -embed
    • to compile only the KMEA/KMEI embedded engine.
  • -web
    • to compile only the KeymanWeb engine.
  • -debug_embedded
    • to compile a readable version of the embedded KMEA/KMEI code
  • -no_minify
    • to disable the minified '/release/web' and '/release/embedded' build sections.
    • the '/release/unminified/web' and '/release/unminified/embedded' folders will still be built.
  • -clean
    • to erase pre-existing build products before the build.

If more than one target is specified, the last one will take precedence.

Unit Testing

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.