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
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
Marc Durdin
1fa540c77f
Merge pull request #9612 from keymanapp/chore/developer/9611-normalize-case-on-input-filenames
...
chore(developer): normalize case on input filenames in kmc 🎺
2023-10-04 03:42:10 +02: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
05e2b196dc
Merge branch 'epic/package-metadata' into feat/windows/create-installer-without-buildpkg
2023-10-03 15:38:17 +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
Marc Durdin
311c7675ee
chore: Update developer/src/tike/project/Keyman.Developer.System.Project.kmnProjectFileAction.pas
2023-10-04 00:34:57 +11:00
Marc Durdin
fafedbbd72
chore: Apply suggestions from code review
2023-10-02 14:24:07 +11:00
Marc Durdin
d99388fc68
Merge branch 'epic/package-metadata' into chore/merge-master-into-package-metadata
2023-09-29 09:31:53 +02:00
Marc Durdin
d7f056c2a0
Merge pull request #9549 from keymanapp/fix/developer/9546-template-only-includes-mobile-layout
...
fix(developer): only include mobile touch platform in basic project
2023-09-28 11:17:07 +02:00
Marc Durdin
4a7820fdeb
chore(developer): remove obsolete menu item
2023-09-28 16:05:43 +07:00
Marc Durdin
893c492580
chore(developer): remove obsolete files
2023-09-28 16:04:05 +07: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
Marc Durdin
640f04c5d3
Merge pull request #9480 from keymanapp/feat/developer/use-last-commit-date-for-keyboard_info
...
feat(developer): use git's last commit date for keyboard_info 🎺
2023-09-28 10:53:59 +02:00
Marc Durdin
cc82a3cc63
Merge pull request #9536 from keymanapp/chore/npm-pack-bundling
...
chore: workaround npm/cli#3466 when bundling internal deps
2023-09-26 06:36:52 +02: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
Marc Durdin
a093507a4c
chore(developer): remove .keyboard_info sources
...
Fixes #9551 .
Removes various .keyboard_info files from test fixtures and also removes
generation of .keyboard_info source files from kmconvert, alongside now-
redundant tests (cvt.dpr).
2023-09-25 12:19:26 +07:00
Marc Durdin
fd9b131307
chore(developer): remove Package Installer UI from TIKE
2023-09-25 10:27:59 +07:00
Marc Durdin
5a6758d12e
chore(developer): move package version unit tests into Typescript
2023-09-25 08:44:11 +07:00
Marc Durdin
7dc8743cd3
chore(windows): remove buildpkg
2023-09-25 06:00:39 +07:00
Marc Durdin
e1087ed781
chore(developer): fix commander global options
2023-09-22 11:20:48 +07:00
Marc Durdin
c95b0dd421
chore(developer): normalize case on input filenames in kmc
...
Fixes #9611 .
2023-09-22 09:54:22 +07:00
Marc Durdin
a9fb7a189f
chore(developer): add missing parameter to ldml-test-data
2023-09-22 09:27:37 +07:00
Marc Durdin
db6a836e31
chore(developer): remove extra parameter
2023-09-21 17:44:08 +07: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
454448bc63
chore: use kmc instead of kmcomp to build test keyboards
2023-09-16 15:24:46 +07:00
Steven R. Loomis
27508571c9
fix(developer): ldml drop \u1234 🙀
...
- fix 1..6 char Unicode escapes with an unrolled loop
- for feat(core): ldml drop \u1234 format 🙀 #9515
2023-09-15 15:27:47 -04:00
Steven R. Loomis
213dd7d2ad
fix(developer): ldml drop \u1234 🙀
...
- for now, convert \u{1234} to \u1234 before going into
UnicodeSet.
- for feat(core): ldml drop \u1234 format 🙀 #9515
2023-09-15 14:42:37 -04:00
Steven R. Loomis
28012d1f7d
chore(developer): ldml fix for update 🙀
...
- hardware types isn't a fixed set anymore
- un-mothball the pertinent error type
Related to #9403 , exposed during #9515 CLDR update
2023-09-15 14:42:03 -04: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
ccfefa279f
chore: make const for date format
2023-09-12 09:26:03 +01:00
Marc Durdin
b8cf546d38
chore: Update developer/src/kmc/src/util/baseOptions.ts
2023-09-12 17:18:02 +10:00
Marc Durdin
a0bdb617a0
chore(developer): Apply suggestions from code review
...
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2023-09-12 17:15:35 +10:00
Marc Durdin
ae07e5174c
fix(developer): only include mobile touch platform in basic project
...
Fixes #9546 .
Previously, a new project would include both mobile and tablet platform
in the touch layout file. However, the majority of devs want to work
with just one, so this removes the tablet platform. Adding a new
platform is a single click within the editor, which duplicates the
current platform as a starting point.
2023-09-09 17:51:40 +02:00
Marc Durdin
3a2540b077
feat(developer): remove kmcomp
...
Removes kmcomp.dpr, related source, compilekeymanweb.pas, and related
unit tests.
Cleans up a couple of bits and pieces around kmc in order to help tests
to pass, and updates some tests that had legacy code in them
(particularly missing &TARGETS stores).
2023-09-09 17:47:15 +02:00
Marc Durdin
4c07b6c49c
feat(developer): remove kmcmpdll
2023-09-02 12:25:29 +04:00
Marc Durdin
ec134f61e6
chore(developer): update tests for new compiler
2023-09-02 10:51:30 +04:00
Marc Durdin
a14abd7b0d
chore(developer): add kmcwrapper to unit tests
2023-09-02 07:54:07 +04:00
Marc Durdin
ea4af39b13
chore(developer): kmcomp to build with kmcwrapper
2023-09-02 07:11:18 +04:00
Marc Durdin
44d57e8041
feat(developer): compile kmn files with kmc in tike
2023-09-01 20:40:16 +04:00
Marc Durdin
41f370ede6
chore(developer): remove duplicate outFile parameter
...
Consolidates the outFile parameter that was duplicated in kmc-kmn.
2023-09-01 20:23:43 +04:00
Marc Durdin
c91b271e67
feat(developer): use kmc to compile packages in TIKE
...
Also removes unused FSilent flag (was always False).
2023-09-01 19:44:38 +04:00
Marc Durdin
fb165a3f95
feat(developer): use kmc instead of kmlmc in TIKE
...
First step of integration of kmc into TIKE, establishing base classes
and replacing the lexical model compiler wrapper with them.
2023-09-01 18:16:25 +04: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