Commit graph

3617 commits

Author SHA1 Message Date
Marc Durdin
f76efc38cc chore(common): stop using xml2js.processors.firstCharLowerCase
Fixes #9713.
2023-10-09 05:43:29 +07:00
Marc Durdin
cc5b8da69b refactor(developer): .keyboard_info examples should use keys as a string
Fixes #9708.

Matches the kmp.json format of keys string in the .keyboard_info schema
and compiler, in order to reduce the number of formats we are working
with. This same format may be used elsewhere in Keyman schemas in the
future for sets of keys, for example, I hope we can use it in regression
tests.
2023-10-08 19:01:14 +07:00
Marc Durdin
400444933c feat(developer): introduce WelcomeFile property to packages
Fixes #9478.

This adds a property WelcomeFile to .kps and kmp.json, which allows us
to move away from the hardcoded welcome.htm filename in the future, and
makes transform from Markdown (#9477) a simpler operation, and just
generally starts the cleanup of the messiness of hard-coded filenames.

The package compiler will fallback to injecting welcome.htm into this
property if (a) welcome.htm is present, and (b) the property does not
already have a value. This doesn't buy us much because we still need to
support welcome.htm for existing legacy packages, but does mean that
our .kmp package metadata will be more consistent for packages compiled
with 17.0+ compilers.
2023-10-08 07:22:57 +07:00
Marc Durdin
00484a0e0f chore: fixup js imports for schema validators 2023-10-07 06:46:10 +07:00
Marc Durdin
bcb2233cfd chore: ignore types for imported schemas for now 2023-10-06 12:56:35 +07:00
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
aa80554a45
Merge pull request #9678 from keymanapp/chore/common/9677-version-to-esm
chore(common): convert resources/build/version to ES Modules
2023-10-06 13:37:34 +11:00
Marc Durdin
42c869ac54
Merge pull request #9676 from keymanapp/chore/common/9675-hextobin-to-esm
chore(common): convert hextobin to ES Modules
2023-10-06 13:37:25 +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
3f21f65c43 chore(common): fixup sourcemap-path-remapper build settings 2023-10-05 14:46:14 +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
f832b9ff3d chore(developer): remove temp non-esm module in kmc-model 2023-10-04 15:25:01 +07: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
90f63b70e9
Merge branch 'chore/common/9677-version-to-esm' into chore/common/9679-keyman-version-esm-only 2023-10-04 16:24:10 +11:00
Marc Durdin
8c28b96c9f chore(common): convert resources/build/version to ES Modules
Fixes #9677.
2023-10-04 12:21:35 +07:00
Marc Durdin
253dea0ba6 chore(common): fixup Commander call 2023-10-04 12:21:10 +07:00
Marc Durdin
f432cab851 chore(common): keyman-version now generates only es module 2023-10-04 12:06:46 +07:00
Marc Durdin
fbd9a4b5e8 chore(common): convert resources/build/version to ES Modules
Fixes #9677.
2023-10-04 11:50:53 +07:00
Marc Durdin
f69f28bbd5 chore(common): convert hextobin to ES Modules
Fixes #9675.
2023-10-04 11:50:28 +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
cb3d526310
Merge pull request #9619 from keymanapp/chore/developer/9551-remove-keyboard_info-sources
chore(developer): remove .keyboard_info sources 🎺
2023-10-03 15:38:37 +02: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
Marc Durdin
70dfbce5aa
Merge pull request #9571 from keymanapp/feat/developer/remove-kmcmpdll
feat(developer): remove kmcomp, kmcmpdll 🎺
2023-10-03 15:35:19 +02:00
Marc Durdin
d2856a357c
Merge pull request #9539 from keymanapp/feat/developer/use-kmc-in-tike
feat(developer): use kmc to compile project files 🎺
2023-10-03 15:35:11 +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
a86bcb9248 chore(common): fixup legacy test keyboards 2023-09-28 16:10:46 +07:00