Commit graph

3814 commits

Author SHA1 Message Date
Marc Durdin
439ea0e4d1 chore(developer): remove '--rename' option from kmc-copy
An in-place rename is dangerous and destructive, so we won't support it.
2025-01-22 08:12:54 +07:00
Marc Durdin
6372fe8f5e
Merge branch 'chore/developer/12965-kmc-generate-test-basic-transform' into chore/developer/disable-icon-in-kmc-generate 2025-01-22 07:45:56 +07:00
Marc Durdin
89813e11ad chore(developer): use path separator for non-Windows platforms in kmc-generate tests 2025-01-22 07:45:41 +07:00
Marc Durdin
edc8d00caf chore(developer): stub out icon support in kmc-generate
As icon generation turns out to be challenging due to limitations or
native dependencies in node.js libraries for image generation, icon
options are now stubbed out to avoid confusion.
2025-01-22 07:14:07 +07:00
Marc Durdin
e86ddc89a2 chore(developer): add test for basic transform to kmc-generate
Fixes: #12965
2025-01-21 15:58:19 +07:00
Marc Durdin
6f6316e79b fix(developer): use 1.0.0 as default for ldml keyboards in kmc-generate
Fixes: #12961
2025-01-21 13:58:37 +07:00
Marc Durdin
2dec427bd4 fix(developer): use correct terms in kmc-generate lexical model help
Fixes: #12959
2025-01-21 13:55:48 +07:00
Marc Durdin
3ad0dec493 chore(developer): validate keyboard and model IDs in kmc-generate
Fixes: #12957
2025-01-21 12:41:52 +07:00
Marc Durdin
bda60eb39f chore(developer): validate targets parameter in kmc-generate
Fixes: #12954
2025-01-21 10:55:18 +07:00
Marc Durdin
c191e57d9c
Merge pull request #12951 from keymanapp/fix/developer/12950-handle-dev-utils-deps-in-server-build
fix(developer): include developer-utils deps in server build
2025-01-20 15:14:11 +07:00
Marc Durdin
357d196181 chore(developer): use JQ variable in script 2025-01-20 14:11:42 +07:00
Marc Durdin
f407d9823d fix(developer): include developer-utils deps in server build
Fixes: #12950
2025-01-20 13:06:01 +07:00
Marc Durdin
11d92be941 chore: address review comments 2025-01-20 10:25:56 +07:00
Marc Durdin
d24f3477bd chore(developer): update binary_kvk_file test to make .kps more valid
The test .kps for binary_kvk_file tests was not very coherent, which
meant that it failed with the changes and additional consistency
checking included in this PR.
2025-01-20 10:06:25 +07:00
Marc Durdin
0b749a5df2 feat(developer): rewrite font data in .kvk from package metadata
When compiling a package, rewrite the font data in embedded .kvk files
to use the facename from the font referenced in OSKFont or DisplayFont.

This also does some safety checking for cross-references of the .kvk,
and the font data.

Fixes: #12912
2025-01-20 09:21:50 +07:00
Marc Durdin
45a6291a3e refactor(developer): move ttfInfo to developer-utils
We will need ttfInfo in kmc-package, so move it to the shared module.
2025-01-20 09:19:47 +07:00
Marc Durdin
0d2264c80c
Merge pull request #12909 from keymanapp/fix/developer/12852-filter-incorrect-fonts-from-keyboard-info
fix(developer): filter incorrect fonts out of .keyboard_info
2025-01-16 09:29:13 +01:00
Marc Durdin
b26d154658
Merge pull request #12895 from keymanapp/fix/developer/12870-detect-invalid-key-ids-in-touch-layouts
fix(developer): detect invalid key ids in touch layout files
2025-01-16 09:28:24 +01:00
Marc Durdin
67a1622c42 fix(developer): filter incorrect fonts out of .keyboard_info
The font collection code was somewhat wrong in kmc-keyboard-info. It
collected all fonts referenced in the package, even for multi-keyboard
packages, which meant that the .keyboard_info file listed all fonts for
all languages. Furthermore, if a font was referenced in multiple
language entries in the .kps, then it would be repeated for each
language in the .keyboard_info. This patch addresses both of these bugs.

The good news is that this makes some of the .keyboard_info files
smaller. In particular, fv_all.keyboard_info goes from 4675 lines down
to 695 lines!

Fixes: #12852
2025-01-16 11:04:22 +07:00
Marc Durdin
74f4392d75 fix(developer): detect invalid key ids in touch layout files
Fixes: #12870
2025-01-15 09:59:50 +07:00
Darcy Wong
e1ae48eaa2
Merge pull request #12876 from keymanapp/docs/developer/key-shortcuts
docs(developer): Clarify square brackets in `U_####[_####]` shortcut
2025-01-15 09:01:14 +07:00
Marc Durdin
d0a971901a
Merge pull request #12879 from keymanapp/fix/developer/12846-clarify-license-parameter
fix(developer): ensure license parameter is required and add tests
2025-01-15 01:57:09 +01:00
Marc Durdin
b5eb7fec46
Merge pull request #12838 from keymanapp/correct-http
chore: changes to use https and removes anchor in docs
2025-01-15 01:55:09 +01:00
Marc Durdin
31e3e9e02a chore(developer): redirect stderr in command-line-tests 2025-01-13 16:27:49 +07:00
Marc Durdin
dad1df3194 fix(developer): ensure license parameter is required and add tests
Some additional items arose from this:

* Adds a command-line-tests unit test which does some basic sanity tests
  on `kmc`.
* Cleans up some of the error reporting infrastructure in `kmc` to
  ensure that thrown errors are handled better.
* Removes redundant subshell from `builder_run_action`.

Fixes: #12846
2025-01-13 15:10:31 +07:00
Darcy Wong
929b7d7f38 docs(developer): Clarify square brackets in U_####[_####] shortcut 2025-01-13 08:43:31 +07:00
Meng-Heng
328687435d chore: change to https in docs 2024-12-17 15:27:07 +07:00
Meng-Heng
8e7d920d43 fix: modifies video's description in docs and adds duration 2024-12-16 13:27:54 +07:00
Meng-Heng
91c68d943a Merge branch 'master' of https://github.com/keymanapp/keyman into showcase-video 2024-12-16 13:26:25 +07:00
Eberhard Beilharz
e069c3ad2a
chore(core): remove meson warnings for wasm builds
Replace deprecated function calls. Also add `strip` command to wasm
build defaults.
2024-12-12 19:48:13 +01:00
Meng-Heng
ef8e8107af feat: display playable video on the website
More on: #1712:
2024-12-12 20:06:07 +07:00
Marc Durdin
413ee3a6cf
Merge pull request #12805 from keymanapp/chore/12657-add-language-examples-schema-docs
chore(developer): add some docs for language examples in kmp.json
2024-12-09 14:24:25 +01:00
Marc Durdin
a77b20ffe9
Merge pull request #12807 from keymanapp/fix/developer/12795-displaymap-for-hints
fix(developer): support hint property in displaymap
2024-12-09 07:35:00 +01:00
Marc Durdin
4202f46550 fix(developer): support hint property in displaymap
Fixes: #12795
2024-12-09 12:20:53 +07:00
Marc Durdin
2576acc456 chore(developer): verify bundled node version when building installer
The node version must be an exact match at this time. Also updated
node.exe accordingly.

Fixes: #12075
2024-12-09 11:44:21 +07:00
Marc Durdin
cb8ce445f9 chore(developer): add some docs for language examples in kmp.json
Fixes: #12657
2024-12-09 10:43:53 +07:00
Marc Durdin
f1a073b7d6
Merge pull request #12804 from keymanapp/test/developer/12597-add-tests-for-ERROR_DescriptionIsMissing
test(developer): add test for ERROR_DescriptionIsMissing to kmc-keyboard-info
2024-12-09 03:21:48 +01:00
Marc Durdin
889482ca53 test(developer): update fixture 2024-12-09 06:27:45 +07:00
Marc Durdin
2c97590904 test(developer): add test for ERROR_DescriptionIsMissing to kmc-keyboard-info
Originally reported in #12202. Check was added in #12204, backported to
17.0.329 in #12207, but #12597 reports this for 17.0.331. So added test
to verify that it is working as expected (it is).

Note that this only applies when using the `--for-publishing` build flag
in kmc, because it is checked in the kmc-keyboard-info stage. Guessing
this is where the confusion arose.

Consolidated tests which used a common pattern for kmc-keyboard-info
calls. The remaining tests do stubs or calls into internal functions, so
they cannot be easily deduped.

Fixes: #12597
2024-12-09 06:22:11 +07:00
Marc Durdin
09d14dae14 fix(developer): remove platforms from kmc-generate LM readme
Lexical models are not specific to a platform, so the readme should not
list supported platforms.

Fixes: #12592
2024-12-09 06:01:35 +07:00
Marc Durdin
ee46a6693d chore(developer): Merge branch 'master' into feat/developer/12012-improve-support-for-bcp47 2024-12-06 14:16:00 +07:00
Marc Durdin
7be5c62e3b
Merge pull request #12773 from keymanapp/chore/developer/12746-kmc-copy-full-gh-url-to-master
change(developer): use full github url in kmc copy parameters 🍒
2024-12-06 08:01:34 +01:00
Marc Durdin
72d0bac0ee
Merge pull request #12775 from keymanapp/chore/rename-test-callbacks
chore: rename TestCompilerCallbacks.ts
2024-12-05 23:51:40 +01:00
Marc Durdin
389ef7f001 chore: rename TestCompilerCallbacks.ts
There was confusion with two implementations of TestCompilerCallbacks.
Turns out one of them wasn't used.
2024-12-05 13:04:27 +07:00
Marc Durdin
170282bba7 chore: address review comments 2024-12-05 09:23:27 +07:00
Marc Durdin
33b4fa3e89 change(developer): use full github url in kmc copy parameters
Fixes: #12746
Cherry-pick-of: #12754
2024-12-05 09:23:08 +07:00
Steven R. Loomis
dcc4c2b570
Merge branch 'feat/developer/7394-verify-normalization-epic-ldml' into feat/developer/10649-local-imports 2024-12-04 13:52:32 -06:00
Steven R. Loomis
c38077459a Merge remote-tracking branch 'upstream/master' into feat/developer/7394-verify-normalization-epic-ldml 2024-12-04 13:51:14 -06:00
Steven R. Loomis
9a338abf91 chore(developer): update per code review
- support empty string as import base
2024-12-04 08:34:36 -06:00
Marc Durdin
148938eb1d fix(developer): honour provided script when checking for matching scripts
Fixes: #12765
2024-12-04 12:51:00 +07:00