Commit graph

853 commits

Author SHA1 Message Date
Marc Durdin
6c944cff65 chore: Merge branch 'epic/package-metadata' into chore/merge-master-into-package-metadata 2023-10-06 11:52:13 +07:00
Marc Durdin
a1d7095c58
Merge pull request #9681 from keymanapp/chore/common/9262-cleanup-final-non-esm
chore(common): cleanup final Typescript non-ESM metadata
2023-10-06 13:37:54 +11:00
Marc Durdin
8661daacdb
Merge pull request #9680 from keymanapp/chore/common/9679-keyman-version-esm-only
chore(common): keyman-version now generates only es module
2023-10-06 13:37:43 +11:00
Marc Durdin
b8b0e561e8
chore: Add comment to common/web/types/src/schema-validators.ts 2023-10-06 12:29:02 +11:00
Marc Durdin
68740f2aa2
Merge branch 'epic/package-metadata' into feat/common/9640-precompile-schemas 2023-10-06 12:27:31 +11:00
Marc Durdin
7e7c81e7ee chore(common): reduce strictness on ts for sentry-manager 2023-10-05 15:48:53 +07:00
Marc Durdin
225877f57a feat(common): precompile json schemas to improve performance
Fixes #9640.

This ended up being somewhat more fragile than originally anticipated.
For the `ajv` cli call to get the right versions, we needed to install
ajv as a dev dependency in the top-level package.json as well as at the
common/web/types level.

Ajv does not do all that well with ESM yet, either, so we use esbuild to
transform the compiled validators before building in typescript.
2023-10-05 13:56:53 +07:00
Marc Durdin
693aee5c99
Merge branch 'epic/package-metadata' into chore/merge-master-into-package-metadata 2023-10-04 19:34:16 +11:00
Marc Durdin
3e51389e17
Merge branch 'chore/common/9679-keyman-version-esm-only' into chore/common/9262-cleanup-final-non-esm 2023-10-04 19:07:37 +11:00
Marc Durdin
27dfef024d chore(common): restore (unused) test target for keyman-version 2023-10-04 14:41:31 +07:00
Marc Durdin
39699f75d5 chore(common): restore es5 target for keyman-version 2023-10-04 14:24:17 +07:00
Marc Durdin
d4e4992714 chore(common): cleanup final Typescript non-ESM metadata
Fixes #9262.
2023-10-04 12:55:51 +07:00
Marc Durdin
f432cab851 chore(common): keyman-version now generates only es module 2023-10-04 12:06:46 +07:00
Marc Durdin
e0c2778199
Merge pull request #9644 from keymanapp/chore/merge-master-into-package-metadata
chore: merge master into package-metadata 🎺
2023-10-04 03:43:45 +02:00
Marc Durdin
99663ce9f0
Merge pull request #9621 from keymanapp/chore/developer/9620-validate-keyboard_info-and-fix-keys
chore(developer): validate emitted .keyboard_info and fix keys 🎺
2023-10-04 03:42:22 +02:00
Steven R. Loomis
01c171ce82
Merge pull request #9615 from keymanapp/feat/developer/9403-scancodes-epic-ldml
feat(developer): ldml scan codes support 🙀
2023-10-03 08:55:19 -05:00
Marc Durdin
f864f57d8b
Merge pull request #9607 from keymanapp/feat/developer/kmc-package-windows-installer
feat(developer): Windows package installer compiler 🎺
2023-10-03 15:35:43 +02:00
Steven R. Loomis
2b2661bb1b feat(developer): scancode and forms 🙀
- fixes to the special case test

Fixes: #9403
2023-10-02 18:00:48 -05:00
Steven R. Loomis
8200f84418 feat(developer): scancode and forms 🙀
- fix casing of k_oC1
- allow vkey 226 to be doubly defined
- drop LdmlVkeyNames table and test, not needed anymore (was for vkey #7135)

Fixes: #9403
2023-10-02 12:30:36 -05:00
Steven R. Loomis
1b8516652b
Actualizar virtual-key-constants.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-10-02 09:23:48 -05:00
Marc Durdin
7adc9b5d95 feat(developer): support store(&version) '17.0'
Fixes #9541.

Also adds version 16.0 support to the kmcmplib compiler constants, and
unit tests for both versions. Does not add any support for automatic
version feature detection, because that forces an inverted dependency on
the touch layout compilation phase (done in kmc-kmw), which would be a
significant refactor. This may be something we need to support in the
future.
2023-10-02 15:30:07 +07:00
Steven R. Loomis
17eba2d237 feat(developer): scancode and forms 🙀
- spec: 'hardware' is no longer an enum but a str.
Ripple effects here.
- custom scancodes and layouts are, interestingly, supported. But it's a warning.
- tests for bad scancodes.

Fixes: #9403
2023-09-30 22:06:39 -05:00
Steven R. Loomis
f5ceac8803
Merge branch 'master' into feat/developer/9403-scancodes-epic-ldml 2023-09-30 19:04:01 -05:00
Steven R. Loomis
ffe00c06b5 feat(common): scancode - move vkey map generation into KeysCompiler 🙀
- also fix visual keyboard compiler to use same code

For: #9403
2023-09-30 18:54:37 -05:00
Steven R. Loomis
4b9d7cbe7e feat(common): scancode - confirming that the calculated scancodes are the same 🙀
For: #9403
2023-09-30 17:22:50 -05:00
Steven R. Loomis
b9f9d9ce50 feat(common): scancode - generate scancode.ts 🙀
- interim step
- also re-add statically

For: #9403
2023-09-30 17:09:06 -05:00
Marc Durdin
d99388fc68
Merge branch 'epic/package-metadata' into chore/merge-master-into-package-metadata 2023-09-29 09:31:53 +02:00
Steven R. Loomis
968da50a5c feat(developer): ldml dynamic scancodes 🙀
- emit scancodes.json

for: feat(developer): ldml scancodes 🙀  #9403
2023-09-28 17:43:06 -05:00
Steven R. Loomis
6e2d858792 feat(developer): ldml dynamic scancodes 🙀
- at least make sure we're using a consistent (if wrong) vkey for each scancode?

for: feat(developer): ldml scancodes 🙀  #9403
2023-09-28 17:16:27 -05:00
Steven R. Loomis
518cc36314 feat(common): scancode - skip test to validate prior changes🙀
- working on a dynamic approach, skipping this test for now

For: #9403
2023-09-28 13:41:19 -05:00
Steven R. Loomis
5fa99f5314 fix(common): update keyman for removal of vkeys 🙀
dropped in upstream CLDR-17093

- missed changes

See #7135
2023-09-28 13:32:02 -05:00
Steven R. Loomis
bdef1c48d3 fix(common): update keyman for removal of vkeys 🙀
dropped in upstream CLDR-17093

See #7135
2023-09-28 13:03:44 -05:00
Marc Durdin
84d77ff306
Merge pull request #9537 from keymanapp/feat/developer/add-logFormat-to-kmc
feat(developer): add --log-format to kmc 🎺
2023-09-28 10:54:19 +02:00
Marc Durdin
65d95d39fc
Merge pull request #9535 from keymanapp/feat/developer/eliminate-source-info-files
feat(developer): eliminate source .model_info and .keyboard_info files 🎺
2023-09-28 10:54:08 +02:00
Joshua A. Horton
05b4de3002 chore(web): Merge branch 'master' into feat/web/default-subkeys-9430 2023-09-26 13:15:53 +07:00
Steven R. Loomis
2c588edbba feat(common): scancode fixes for ks and jis 🙀
- use vkey k.K_oE2 for 0x7D in KS and JIS keyboards

For: #9403
2023-09-25 17:35:44 -05:00
Steven R. Loomis
71aee7a7fa feat(common): scancode fixes for ks and iso 🙀
For: #9403

- per review comments
- track CLDR PR 3282
2023-09-25 17:08:19 -05:00
Steven R. Loomis
27266049f7 feat(common): ldml import infrastructure 🙀
For: #9403

- Just use a local Symbol() instead of a named one, there's no reason for a namespace here.
2023-09-25 15:58:05 -05:00
Marc Durdin
94be7bb60c chore(developer): validate emitted .keyboard_info and fix keys
Fixes #9620.

.keyboard_info keys emitted from kmc-keyboard-info had the wrong format
for the example.keys object, which I discovered when I applied the
validation to the kmc-keyboard-info output.
2023-09-25 15:53:20 +07:00
Steven R. Loomis
f56e4ffa85 feat(common): ldml scancodes 🙀
For: #9403

- unit test the set and row count for codes
- fix errors!
2023-09-22 17:56:35 -05:00
Steven R. Loomis
44f061f293 feat(common): ldml scancodes 🙀
For: #9403

- improve how forms are read in the XML structure
- warnings when custom (non-default-import) scancodes are loaded
- error, as usual, when an unknown form is present
2023-09-22 17:33:20 -05:00
Steven R. Loomis
3a677da0c6 feat(common): ldml scancodes 🙀
For: #9403

- use Symbols to track import status
2023-09-22 16:48:07 -05:00
Steven R. Loomis
6a54ebdd57 feat(developer): ldml scancodes 🙀
For: #9403

- read implied imports for scancodes
2023-09-22 15:20:20 -05:00
Marc Durdin
a1a7b39481 feat(developer): Windows package installer compiler
Replaces kmcomp's package installer build infrastructure. While this is
mostly legacy, package installers are still used in adhoc distribution
scenarios, so we need to continue to support with the new kmc.

The package installer is a Windows self-extracting zip archive. The user
is expected to find setup-redist.exe and keymandesktop.msi themselves,
from the Keyman Developer release files. They are not included with
Keyman Developer, but are available as standalone downloads from
https://downloads.keyman.com/windows/.

`kmc build` has been updated to include two subcommands:
* `kmc build ldml-test-data`
* `kmc build windows-package-installer`

Both of these subcommands are a little long, but the use cases for them
are fairly narrow, so I believe this is okay. `kmc build-test-data` has
been removed, as `kmc build ldml-test-data` replaces it.
2023-09-21 17:35:16 +07:00
Steven R. Loomis
60295cef70 chore(core): ldml update keyboard -> keyboard3 🙀
For: #9604

- DOCTYPE fixes (typos) to make the red squiggles go away
2023-09-20 18:56:29 -05:00
Steven R. Loomis
8be00cb482 chore(resources): code changes for keyboard to keyboard3 🙀 2023-09-18 19:00:32 -05:00
Marc Durdin
0cd3bd6dea
Merge pull request #9563 from keymanapp/chore/merge-master-into-package-metadata
chore: merge master into package-metadata 🎺
2023-09-15 17:06:16 +02:00
Marc Durdin
d2f4e5f2c7 feat(developer): add --log-format to kmc
Adds logFormat of tsv vs formatted for kmc, in order to allow for
"porcelain" style log formatting when we interop with TIKE.
2023-09-01 18:00:13 +04:00
Marc Durdin
6e8cc167a9
Merge pull request #9474 from keymanapp/feat/developer/compile-without-source-keyboard-info
feat(developer): support building .keyboard_info without source version 🎺
2023-09-01 13:05:43 +10:00
Marc Durdin
0913770208
Merge pull request #9471 from keymanapp/chore/developer/keyboard-info-font-examples-cleanup
chore(developer): cleanup keyboard_info schema 🎺
2023-09-01 13:05:36 +10:00