Commit graph

3368 commits

Author SHA1 Message Date
Marc Durdin
393951ce8e
Merge branch 'chore/developer/move-keyman-targets-to-common' into feat/developer/introduce-kmc-keyboard-info 2023-07-26 14:34:40 +10:00
Marc Durdin
a2d45c00c7 chore(common): address review comments 2023-07-26 11:32:38 +07:00
Marc Durdin
7f5e0756d2
Merge pull request #9306 from keymanapp/chore/developer/9305-use-kmc-messages-for-errors-in-kmc-model-info
chore(developer): use kmc messages for kmc-model-info 🗜
2023-07-26 09:48:17 +10:00
Marc Durdin
2465d99556 chore(developer): langtags.js not langtags.ts 2023-07-26 05:55:26 +07:00
Steven R. Loomis
7ee574b8ba chore(developer): make unknown vkey a hint, not error 🙀
- add a TODO mentioning #7135

Fixes: #9236
2023-07-25 17:53:58 -05:00
Steven R. Loomis
2f381279af chore(developer): make unknown vkey a hint, not error 🙀
Note that feat(core): ldml vkey support 🙀 #7135 is future,
in the future this may be an Error again.

- also, add an internal error to the visual-keyboard-compiler on missing keys
- also, update fr-t-k0-azerty to fix a missing key (simultaneous fix has been made in CLDR)
- also, reinstate CLDR's fr-t-k0-azerty - now all 'stock' keyboards build in keyman!
- keep the 'internal' azerty as k_020 - it has some additional transform goodies

Fixes: #9236
2023-07-25 17:52:19 -05:00
Marc Durdin
54eddf5782 chore(developer): add kmc-analyze makefile 2023-07-25 15:22:24 +07:00
Marc Durdin
95d7be292c chore(developer): dep ref for kmc-keyboard-info configure 2023-07-25 15:11:44 +07:00
Marc Durdin
b369fbb89b feat(developer): implement kmc keyboard_info compiler
Fixes missing components of the kmc-keyboard-info compiler and
integration into kmc. Lots of cleanup making sure that the compiler
actually generates expected output against the keyboards repository.
2023-07-25 14:21:58 +07:00
Marc Durdin
3cc0f37e1b feat(developer): introduce kmc-keyboard-info
Adds kmc-keyboard-info module and a basic unit test for it. Integration
into kmc is next step.
2023-07-24 10:41:12 +07:00
Marc Durdin
039dda63ec chore(developer): use keymanTargetsFromString in kmc-package 2023-07-24 09:02:48 +07:00
Marc Durdin
1bfd9e64ae refactor(developer): move keyman-targets.ts to common/web/types
Also adds unit test. Prep for use in kmc-keyboard-info.
2023-07-24 08:59:04 +07:00
Marc Durdin
2c16f68d07 chore(developer): fixup broken import 2023-07-21 12:09:17 +07:00
Marc Durdin
1810434b34 chore: Merge branch 'feature-kmc-kmw' into chore/merge-master-into-kmc-kmw-a17s17 2023-07-21 10:09:33 +07:00
Marc Durdin
e99288a9a6 chore(developer): remove errant baseUrl tsconfig 2023-07-21 09:53:13 +07:00
Marc Durdin
887bea8289
chore: address review comments
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2023-07-21 12:39:02 +10:00
Marc Durdin
794bf8a3be chore(developer): use kmc messages for kmc-model-info
Fixes #9305.
2023-07-19 15:15:54 +07:00
Marc Durdin
ab80e3c292 fix(developer): LexicalModelCompiler now takes a callbacks constructor parameter 2023-07-19 15:14:08 +07:00
Marc Durdin
fd8e17e05c fix(developer): respect checkFilenameConventions in kmc
Fixes #9300.
2023-07-19 13:56:21 +07:00
Marc Durdin
79a31b1914 fix(developer): clean up warning KM02093
Fixes #9299.
2023-07-19 12:57:57 +07:00
Marc Durdin
bf1fa7ef71 fix(developer): use relative paths for KM05009
Fixes #9298. Previous commit partially fixed this as well.

Throws in: warning colour changed to orange to differentiate from line
number colour.
2023-07-19 12:56:49 +07:00
Marc Durdin
db2f708bf8 fix(developer): consistently show filename for messages in kmc
Fixes #9297.
2023-07-19 12:56:11 +07:00
Marc Durdin
0ec7ae8ccf fix(developer): reduce KM0208A to info severity
Fixes #9296.

208A in kmcmplib is the awkwardly-named CWARN_Info. We now have an
'info' severity in kmc, so this tidies that up (we can keep the same
flag in kmcmplib for now).
2023-07-19 12:54:20 +07:00
Marc Durdin
11b68542f2 refactor(developer): remove node deps from kmc-model
Fixes #9288.

Tweaks a couple of unit tests to ensure callbacks are available, and
stops masking exceptions in one test with `doesNotThrow`... if it's
gonna throw then the test is gonna go bang anyway.
2023-07-18 14:38:47 +07:00
Marc Durdin
e2dc338ef1 refactor(developer): remove node dependencies from kmc-model-info
Fixes #9286.

Refactors the use of path and fs into the standard kmc callbacks pattern
and adds `callbacks.fileSize()`, which is needed for populating the
metadata file.

Turns on eslint test for node dependencies for kmc-model-info.
2023-07-18 14:02:04 +07:00
Marc Durdin
90434b0bb4
Merge branch 'feat/developer/kmc-model-info-tests' into feat/developer/add-model-info-keyboard-info-to-kmc-build-activities 2023-07-18 16:07:19 +10:00
Marc Durdin
bd3c663f21 chore(developer): work around line endings for fixture 2023-07-18 13:06:39 +07:00
Marc Durdin
0e65d7703c feat(developer): add model_info and keyboard_info build activities to kmc
Adds ability to build .model_info and .keyboard_info files to kmc. Note
that .keyboard_info building is currently a stub as the .keyboard_info
compiler has not yet been translated to TypeScript, which will come in a
subsequent PR.

Note that .model_info and .keyboard_info builds depend on the project
loader, as they reference both keyboard and package source files when
constructing the metadata files.

Also:
* Fixed a deep reference to KeymanDeveloperProjectFile.
* Split the project loader into a utility unit.
* Marked the .kpj fileType field as deprecated, as it is easily
  extrapolated from the filename, with the aim to remove it entirely
  from version 2.0 projects.

@keymanapp-test-bot skip
2023-07-18 12:14:46 +07:00
Marc Durdin
0e5204b2fc feat(developer): unit tests for kmc-model-info
Establishes a baseline unit test for kmc-model-info, in preparation for
integration into kmc build.
2023-07-18 11:51:46 +07:00
Marc Durdin
7f0460172e
Merge pull request #9074 from keymanapp/chore/windows/disable-compression-for-wix-light-debug-builds
chore(windows): disable wix compression for debug builds
2023-07-17 15:01:09 +10:00
Marc Durdin
2775ea0f46 fix(developer): warning suppression should be per file in kmc
Fixes #9274.
2023-07-17 11:00:45 +07:00
Marc Durdin
192dafa6ea feat(developer): support file lists in kmc
Fixes #9162.

Adds support for `@files.txt` parameters in kmc. Files listed in this
file, separated by line breaks, will be added to the input file list,
relative to the path of files.txt.

The file can include comments in lines starting with '#' and ignores
whitespace before and after each filename.
2023-07-17 08:15:45 +07:00
Marc Durdin
0fa7d1af5d chore(developer): remove old copy_schema call kmc build.sh 2023-07-17 05:25:16 +07:00
Marc Durdin
3fa8bc5d7a
Merge branch 'feature-kmc-kmw' into chore/common/bundle-schemas 2023-07-14 15:14:09 +10:00
Marc Durdin
3491463d3c
Merge pull request #9251 from keymanapp/fix/developer/9250-kmc-message-relative-paths
fix(developer): use relative paths in kmc messages 🗜
2023-07-14 15:12:54 +10:00
Marc Durdin
ce9c9ec9fc chore: try removing -t from sentry-cli 2023-07-13 14:48:05 +07:00
Marc Durdin
b0652c2afc chore(developer): wasm debug symbols and upload to sentry 2023-07-13 13:42:47 +07:00
Marc Durdin
2e7162d5a9 chore(windows): remove hardcoded compression level in wxs files 2023-07-13 12:12:02 +07:00
Marc Durdin
68c5ba0a18 chore(developer): avoid double-map for bundled sourcemap 2023-07-13 11:11:57 +07:00
Marc Durdin
cbc857fad9 chore(developer): sourcemap def in wrong file 2023-07-13 09:04:19 +07:00
Marc Durdin
4c8d173eab chore(developer): enable source maps for bundle 2023-07-13 07:58:16 +07:00
Marc Durdin
5cc373274c chore(developer): remove --dist from sentry-cli sourcemaps inject 2023-07-13 07:44:52 +07:00
Marc Durdin
31ee7bff63 feat(developer): use sentry inject for sourcemap resolution 2023-07-13 06:07:44 +07:00
Steven R. Loomis
f3bfef0cc3 fix(common): set variables need to serialize elementstring 🙀
- populate the 'elem' field of set variables
- this will be needed for mapFrom/mapTo

For: #7375
2023-07-12 16:44:50 -05:00
Marc Durdin
568a8141dd chore(common): additional cleanup on schema loading 2023-07-12 13:11:06 +07:00
Marc Durdin
1a52e61d4e fix(developer): use relative paths in kmc messages
Fixes #9250.
2023-07-12 12:09:16 +07:00
Marc Durdin
111de31fd6 chore(developer): fix tests and linting 2023-07-12 12:08:48 +07:00
Marc Durdin
fa3980f598 feat(developer): deploy kmc as ES module
Deploy kmc as an ES module, forced now by top-level await that we use in
the sentry load.

Moved NodeCompilerCallbacks to same util folder as schemas are found in,
to avoid rewriting schema loading with imports in this PR. It belongs
better there than messages/ anyway.

Distributed files are now .mjs. Removed --enable-source-maps from
launchers as logging will be managed with sentry anyway.
2023-07-12 10:20:35 +07:00
Marc Durdin
8082f5f3bd chore(developer): workaround TS2367 2023-07-11 17:44:56 +07:00
Marc Durdin
b435471b24 feat(developer): add sentry reporting for kmc
Fixes #9113.

Adds sentry reporting, plus helper functions, for kmc. Includes the
now-standard `-sentry-client-test-exception` command line parameter,
with `kmcmplib` and `event` sub-options available.

Uploads kmc* sourcemaps to sentry on a release build.

On Windows, honours the registry setting for error reporting. Also
includes a command line option `--[no-]error-reporting` (must be used
prior to initial command, e.g. `kmc --no-error-reporting build ...`).
2023-07-11 15:45:41 +07:00