Commit graph

1707 commits

Author SHA1 Message Date
Joshua A. Horton
7c9c5a6d3f change(web): minor progress across multiple files, some legacy events 2023-02-28 08:34:50 +07:00
Joshua A. Horton
367d66e33b change(web): starts on modularized ContextManager base class, top-level module design 2023-02-28 08:34:45 +07:00
Marc Durdin
be4f036a3c feat(developer): Add support for building a folder to kmc
Relates to #2761.

kmc now supports passing in a folder and building all Keyman source
files found in the folder, even if a .kpj is not present in the folder.

If a .kpj file exists, `KeymanDeveloperProject/Options/Version` will be
checked to determine behaviour. If this field is missing or "1.0", then
the classical behaviour persists.

If the Version field is "2.0", the `Files` key is ignored, and .kmn,
.xml, .model.ts, and .kps files under `sourcePath` are enumerated and
added to the in-memory project for build.

If a .kpj is not present in the folder, a virtual project is constructed
in memory with the following defaults:

* `version`: `2.0`
* `buildPath`: `$PROJECTPATH/build`
* `sourcePath`: `$PROJECTPATH/source`
* `compilerWarningsAsErrors`: `false`
* `warnDeprecatedCode`: `true`
* `checkFilenameConventions`: `true`

It is still considered an error to include both a keyboard and a model
in the same file, but a version 2.0 project will not include the field
determining its type in `Options/ProjectType`; this will instead be
checked during build.

The call to `kmc` can reference a folder or a .kpj file. The .kpj file
must have the same basename as the folder name (e.g.
`khmer_angkor/khmer_angkor.kpj`).

WARNING: this does not add support for 2.0 projects to Keyman Developer;
it is likely that opening a version 2.0 project in Developer will
currently corrupt it.

WARNING: it is not anticipated that kmcomp.exe will be updated to
support version 2.0 projects -- rather kmcomp.exe will be removed before
release of v17, and replaced with kmc.
2023-02-27 13:11:22 +07:00
Marc Durdin
b04489a47b feat(developer): kmc .kpj support
Adds support for building .kpj projects. Required minor tweak to kmcomp
to allow it to build both .kmx and .js from .kmn command line.
Currently, calls kmcomp.exe to build .kmn files, until we support a
cross-platform kmc-kmn C++ project.
2023-02-27 06:14:06 +07:00
Marc Durdin
35c706576b chore(common): export kpj from module 2023-02-26 06:02:43 +07:00
Marc Durdin
647803ef28 feat(common): add .kpj typescript reader and schema 2023-02-25 11:17:39 +07:00
Joshua Horton
2fcd801119
Merge pull request #8271 from keymanapp/chore/web/namespaced-main
chore(web): renames folder for namespaced Web code 🧩
2023-02-24 08:15:38 +07:00
Joshua Horton
ba328a7cb1
Merge pull request #8270 from keymanapp/refactor/web/common-configuration
refactor(web): common config for both types of Keyman Engine for Web 🧩
2023-02-24 08:15:32 +07:00
Joshua Horton
ee9ab544b7
Merge pull request #8269 from keymanapp/change/web/keyboard-cache-fetch-modularization
change(web): keyboard caching, fetching modularization 🧩
2023-02-24 08:15:23 +07:00
Marc Durdin
a2ceb98948 chore: rewrite extra standard build script prolog 2023-02-23 08:09:41 +07:00
Marc Durdin
9eb472579c chore: Merge branch 'feature-ldml' into chore/merge-master-to-feature-ldml-A17S7-2 2023-02-23 08:05:31 +07:00
Marc Durdin
a0ecb30a9c
Merge pull request #8265 from keymanapp/feat/developer/epic-ldml/7238-touch-layout-compiler
feat(developer): touch layout compiler for LDML 🙀
2023-02-23 08:47:46 +11:00
Marc Durdin
def625525f
Merge pull request #8286 from keymanapp/chore/A17S7-master-to-feature-ldml
chore: merge master into feature-ldml A17S7 🙀
2023-02-23 08:47:27 +11:00
Marc Durdin
ce864ea923 chore: update standard script prolog to use builtin instead of dirname 2023-02-22 11:04:15 +07:00
Marc Durdin
463c7ff907 chore: remove greadlink from standard script prolog 2023-02-22 10:43:06 +07:00
Marc Durdin
e645b8665f chore: Merge branch 'feature-ldml' into chore/A17S7-master-to-feature-ldml
* core/build.sh -- accept feature-ldml changes (remove call to get_builder_OS)
* developer/src/kmlmc/build.sh -- delete file
*	linux/debian/rules -- accept master changes, fixup call to core/build.sh
*	linux/ibus-keyman/tests/Makefile.am -- accept master changes, fixup call to core/build.sh
*	linux/scripts/build.sh -- accept master changes, fixup call to core/build.sh
*	linux/scripts/reconf.sh -- accept master changes
2023-02-22 08:00:08 +07:00
Joshua A. Horton
45b7389ef1 chore(common/web): comment enhancement from review 2023-02-21 08:32:59 +07:00
Joshua A. Horton
9aab5c4265 change(common/web): removes the keyboard-sandboxing experiment code from this PR 2023-02-21 08:27:40 +07:00
Steven R. Loomis
e1e5eea469 feat(core): ldml rename key2 to keys 🙀
- So in summary, since before #7532 basically keys was restructured, and the old 'keys' was moved into 'keys.kmap'.

#8069
2023-02-20 17:40:34 -06:00
Steven R. Loomis
018d109560
Merge pull request #8222 from keymanapp/feat/core/7535-process-test-data-epic-ldml
feat(core): ldml: implement xml test cases 🙀
2023-02-20 16:35:03 -06:00
Joshua A. Horton
2df48cc55b refactor(common/web): headless keyboard loading + related unit-test patchups 2023-02-20 14:00:32 +07:00
Joshua A. Horton
1a0d60e1b1 chore(common/web): more import path fun 2023-02-20 13:40:48 +07:00
Joshua A. Horton
2764a85a70 refactor(common/web): minor build-bundler tweak post-rebase 2023-02-20 13:39:16 +07:00
Joshua A. Horton
cea89c6562 refactor(web): KeyboardStub extends KeyboardProperties, extracts StubAndKeyboardCache 2023-02-20 12:54:56 +07:00
Joshua A. Horton
e0c20db88b chore(web): cleanup from prior commits/work 2023-02-20 12:54:50 +07:00
Joshua A. Horton
be5a152210 fix(web): fixes query-return font handling 2023-02-20 12:53:48 +07:00
Joshua A. Horton
b973639a18 change(web): refactors, modularizes KMW cloud API querying code 2023-02-20 12:53:47 +07:00
Joshua A. Horton
4f121d34f5 refactor(common/web): headless keyboard loading + related unit-test patchups 2023-02-20 12:53:47 +07:00
Joshua A. Horton
edcdf08b9e docs(common/web): about known caveat for experiment 2023-02-20 12:49:33 +07:00
Joshua A. Horton
6f3913bd62 feat(common/web): explicit headless kbd-load unit tests, more precise closure-capture documentation 2023-02-20 12:08:43 +07:00
Joshua A. Horton
560c09654e chore(common/web): minor cleanup 2023-02-20 10:35:32 +07:00
Joshua A. Horton
e10f043bf0 change(common/web): better typing, handling of legacy Codes endpoints 2023-02-20 10:24:42 +07:00
Joshua A. Horton
9a0f32f59f fix(common/web): keyboard-processor DOM tests now called by build.sh test 2023-02-20 10:22:00 +07:00
Marc Durdin
88df443ba1 feat(developer): touch layout compiler [unfinished] 2023-02-20 10:18:01 +07:00
Marc Durdin
a004978863 chore: use builder_heading, remove echo_heading 2023-02-20 09:17:51 +07:00
Marc Durdin
4d53a277f3 chore: use builder_die, remove fail 2023-02-20 09:15:38 +07:00
Marc Durdin
c475188c6b chore: use builder_die, remove die 2023-02-20 09:03:37 +07:00
Joshua A. Horton
2cd8f90a66 chore(web): Merge branch 'feature-gestures' into chore/update-feature-gestures-base 2023-02-20 08:32:47 +07:00
Steven R. Loomis
bccc1e5720 Merge remote-tracking branch 'upstream/master' into chore/merge-master-20230217-epic-ldml 2023-02-17 18:52:33 -06:00
Joshua A. Horton
913593a652 feat(common/web): keyboard loader declaration bundle start 2023-02-17 14:26:35 +07:00
Joshua A. Horton
c056ab7d24 change(common/web): turns off tests for not-yet-adopted class 2023-02-17 11:23:22 +07:00
Joshua A. Horton
0a91730a12 feat(common/web): 'sandboxed' keyboard loading for DOM 2023-02-17 11:23:22 +07:00
Joshua A. Horton
ee9da1cf58 change(common/web): node + dom loaders as separately bundled modules 2023-02-17 11:23:21 +07:00
Joshua A. Horton
cb91a89736 feat(common/web): basic classes for DOM-based keyboard loading 2023-02-17 11:23:20 +07:00
Joshua A. Horton
8b57e28a34 chore(common/web): more import path fun 2023-02-17 11:23:16 +07:00
Joshua A. Horton
e6fe2b73bf refactor(common/web): headless keyboard loading + related unit-test patchups 2023-02-17 11:23:01 +07:00
Steven R. Loomis
83adfdd1c6
Update common/web/types/src/kmx/kmx-plus-builder/build-key2.ts
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2023-02-16 21:43:45 -06:00
Joshua A. Horton
45d2e4f5e5 fix(common/web): fixes unit tests for prior commit 2023-02-17 08:03:24 +07:00
Steven R. Loomis
8ea87aa828 feat(common): ldml: merge keys into key2 🙀 2023-02-16 12:29:19 -06:00
Joshua A. Horton
58d2c3ba66 chore(common/web): TS import cleanup via subpaths 2023-02-16 16:05:45 +07:00