Commit graph

4320 commits

Author SHA1 Message Date
Marc Durdin
706f3996c2 chore(developer): prevent leading zeroes in initial component of version number 2025-02-03 14:07:38 +07:00
Marc Durdin
6dbc20f87b feat(developer): verify package version number format in kmc-package
Ensures that version number field is not blank, and is a recognized
format matching the pattern 'number[.number[.number]]'. Each number
component should be an integer, without leading zeroes.

The format chosen is more restrictive than semver, because much of our
existing infrastructure assumes this format anyway. This does lead to
a mismatch in version number format for LDML keyboards, which do support
semver according to the spec, so this may need to be revisited in the
future to allow for full semver formats.

Fixes: #13067
2025-02-03 14:00:58 +07:00
Marc Durdin
adf4b80bc0 chore(developer): make kmc-generate more resilient with nullish options 2025-02-03 10:30:13 +07:00
Marc Durdin
072c47b853 fix(developer): pass correct generator options from kmc
Also add some resilience to option usage in kmc-generate; more work may
need to be done here in future.

Fixes: #13110
2025-02-03 10:13:36 +07:00
Marc Durdin
05c17e3439 feat(developer): include command line in kmc sentry reports
In order to reproduce kmc errors, it's very helpful to know how it was
instantiated. This change includes the command line call for kmc. This
includes things such as a keyboard filename and may include file paths,
but does not include private personal information or secrets.
2025-02-03 09:53:45 +07:00
Steven R. Loomis
4f6c34de8c
Merge pull request #13099 from keymanapp/feat/developer/12749-ldml-local-import-workaround
chore(developer,core,resources): LDML v46 update and remove workaround for import base
2025-01-31 11:16:12 -06:00
Steven R. Loomis
72928c19ef chore(developer): LDML update issue
- missed a windows installer location

Fixes: #11307
2025-01-31 09:04:45 -06:00
Steven R. Loomis
622900a5d8 chore(developer): LDML update issue
- test needed to be updated

Fixes: #11307
2025-01-30 23:42:10 -06:00
Steven R. Loomis
b54ea40770 chore(developer): update comments per review
- note that 45,46,47 are the same data and so aliased

Fixes: #11307
2025-01-30 23:13:36 -06:00
Marc Durdin
60b00e8645
Merge pull request #13081 from keymanapp/chore/developer/handle-forward-slash-in-paths-in-package-editor
chore(developer): handle forward slashes in paths in package editor
2025-01-31 11:51:02 +07:00
Marc Durdin
595f486414
chore: Apply suggestions from code review
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-01-31 05:05:23 +01:00
Marc Durdin
afa3e3a0b2 feat(developer): clarify project id format for kmc-copy UI
Fixes: #13073
2025-01-31 11:01:40 +07:00
Marc Durdin
46be7a8b10 chore(developer): roll back unwanted package editor form changes 2025-01-31 08:58:19 +07:00
Marc Durdin
7147851b54 chore(developer): remove unused VERBOSE_CopyingFolder message from kmc-copy 2025-01-31 08:56:56 +07:00
Marc Durdin
de4c5076d9
Merge pull request #13061 from keymanapp/feat/developer/13060-relocate-files-in-kmc-copy
feat(developer): support relocation of external files in kmc-copy
2025-01-31 06:06:32 +07:00
Marc Durdin
fcd9165854
Merge pull request #13047 from keymanapp/chore/developer/13045-use-langtags-json-for-kmc-generate
chore(developer): use langtags.json for kmc-generate language names
2025-01-31 06:06:23 +07:00
Marc Durdin
10b6151bf7
Merge pull request #13046 from keymanapp/refactor/13045-move-langtags-to-its-own-npm-module
refactor: move langtags to @keymanapp/langtags npm module
2025-01-31 06:06:13 +07:00
Steven R. Loomis
b35ba06a2b chore(developer): remove workaround for base=""
Fixes: #12749
2025-01-30 15:48:02 -06:00
Steven R. Loomis
b741a88ca0 chore(core,developer): treat CLDR v45, 46, 46.1, 47 as 46
Fixes: #11307
2025-01-30 15:42:30 -06:00
Steven R. Loomis
2c32fb7903 chore(resources, developer,core): CLDR 46 and workaround
Fixes: #11307
- import from CLDR 46, mostly unchanged

Fixes: #12749
- workaround LDML DTD bug CLDR-18138 where base= does not imply base=cldr
2025-01-30 15:41:34 -06:00
Marc Durdin
0dc1ef2ac0 chore(developer): handle forward slashes in paths in package editor 2025-01-30 13:58:14 +07:00
Marc Durdin
2a728b49f8 chore(developer): add verbose logs for project copier 2025-01-30 13:57:13 +07:00
Marc Durdin
46fc4d52cf feat(developer): add user interface for kmc copy to TIKE
Adds a new set of 'New Project' dialogs to allow authors to easily copy
keyboards from local filesystem, Keyman Cloud (including a keyboard
search web page, implemented in keymanapp/keyman.com#536), and
directly from a GitHub URL. Adds related documentation.

Fixes: #13073
Depends-on: keymanapp/keyman.com#536
2025-01-30 11:04:18 +07:00
Marc Durdin
d2aa22ff75 fix(developer): make kmc log options consistent across all commands
Makes the `--log-format`, `--log-level`, and `--color`/`--no-color`
options available for all commands and DRYs out some of the options
processing for consistency. This has positive impact in particular on
the Generator classes which removes the need for several unit tests as
the interface can now be checked at compile time.

Fixes: #13072
Unblocks: #13073
2025-01-30 09:20:29 +07:00
Marc Durdin
192e932949 feat(developer): support relocation of external files in kmc-copy
Fixes: #13060
2025-01-28 12:24:04 +07:00
Meng-Heng
e1d98dfdba chore: adjust bookmark links in developer docs 2025-01-27 13:47:29 +07:00
Marc Durdin
68ef6108eb chore(developer): add langtags dep for kmc-generate 2025-01-27 13:25:32 +07:00
Marc Durdin
b49334d9cf chore(developer): use langtags.json for kmc-generate language names
Also fills out the remaining functionality in @keymanapp/langtags.

Fixes: #13045
2025-01-27 11:47:25 +07:00
Marc Durdin
75d77704a2 refactor: move langtags to @keymanapp/langtags npm module
We want to use langtags in several modules, so it makes sense to make it
into its own NPM module.

Relates-to: #13045
2025-01-27 09:59:38 +07:00
Marc Durdin
85cbc6adda
Merge pull request #13034 from keymanapp/fix/developer/12853-dont-list-js-keyboards-for-multi-keyboard-packages
fix(developer): don't list .js keyboards for multi-keyboard packages in kmc-keyboard-info
2025-01-24 14:05:25 +07:00
Marc Durdin
2760dcea20
Merge pull request #13020 from keymanapp/fix/developer/13017-escape-font-name-in-touch-layout-editor
fix(developer): escape font facename in touch layout editor
2025-01-24 13:16:17 +07:00
Marc Durdin
a689f65188 fix(developer): don't list .js keyboards for multi-keyboard packages in kmc-keyboard-info
Because the build process for multi-keyboard packages does not deploy
.js keyboards to s.keyman.com, it does not make sense to list them, even
if the package may contain .js keyboards for mobile platforms.

Fixes: #12853
2025-01-24 13:07:43 +07:00
Marc Durdin
0c15382c3f
Merge pull request #13003 from keymanapp/fix/developer/12980-context-index-mismatch-kmw-compiler
fix(developer): produce correct index parameter value for context in kmw compiler
2025-01-24 10:55:54 +07:00
Marc Durdin
7e30a9fd5c fix(developer): escape font facename in touch layout editor
Fixes: #13017
2025-01-24 10:46:32 +07:00
Marc Durdin
71ce8d6c91 chore(developer): extend notany tests in kmc-kmn 2025-01-24 08:56:21 +07:00
Marc Durdin
006bcc0942
Merge pull request #12984 from keymanapp/feat/developer/12983-copy-disorganized-projects
feat(developer): support copying disorganized projects in kmc-copy
2025-01-23 14:43:28 +07:00
Marc Durdin
85404a3291
Merge pull request #12982 from keymanapp/chore/developer/12981-check-for-filename-collisions-kmc-copy
chore(developer): report on filename collisions in kmc-copy
2025-01-23 14:43:18 +07:00
Marc Durdin
7f5f5b9b30
Merge pull request #12979 from keymanapp/chore/developer/12978-validate-output-folder-id-in-kmc-copy
chore(developer): validate output folder name in kmc-copy
2025-01-23 14:43:09 +07:00
Marc Durdin
ae148984b8
Merge pull request #12976 from keymanapp/feat/developer/12975-verbose-and-debug-log-levels
feat(developer): add 'verbose' and 'debug' log levels to kmc
2025-01-23 14:42:59 +07:00
Marc Durdin
7808396895
Merge pull request #12973 from keymanapp/chore/developer/12972-remove-rename-from-kmc-copy
chore(developer): remove '--rename' option from kmc-copy
2025-01-23 14:42:49 +07:00
Marc Durdin
11030358d5
Merge pull request #12971 from keymanapp/chore/developer/disable-icon-in-kmc-generate
chore(developer): stub out icon support in kmc-generate
2025-01-23 14:42:40 +07:00
Marc Durdin
4a99018f1b fix(developer): produce correct index parameter value for context in kmw compiler
The KMW compiler would produce incorrect indices for the corresponding
character in the context after adjusting for the presence of `nul` and
`if` statements at the start of the context string, when using the
`context` and `context(n)` statements in the output.

This fix addresses the offset calculation for those scenarios and adds a
unit test to verify that the new offsets are correct.

Fixes: #12980
2025-01-23 14:20:31 +07:00
Marc Durdin
b51f1213d9 feat(developer): support copying disorganized projects in kmc-copy
Fixes: #12983
2025-01-22 13:20:13 +07:00
Marc Durdin
ba8e5dc152 chore(developer): report on filename collisions in kmc-copy
Fixes: #12981
2025-01-22 12:32:33 +07:00
Marc Durdin
d4513a1d51 chore(developer): add new severity types to message command 2025-01-22 11:14:33 +07:00
Marc Durdin
62a2608013 chore(developer): add new severity types to message command 2025-01-22 11:10:54 +07:00
Marc Durdin
c6aa912655 chore(developer): validate output folder name in kmc-copy
Fixes: #12978
2025-01-22 10:58:01 +07:00
Marc Durdin
f9cb1927c9 chore(developer): cleanup tests with new verbose messages 2025-01-22 10:01:49 +07:00
Marc Durdin
b4e8912490
Merge pull request #12966 from keymanapp/chore/developer/12965-kmc-generate-test-basic-transform
chore(developer): add test for basic transform to kmc-generate
2025-01-22 09:03:05 +07:00
Marc Durdin
a08f1aca6e feat(developer): add 'verbose' and 'debug' log levels to kmc
Adds 'verbose' and 'debug' log levels and corresponding error severity
levels. This means the internal error severity values have changed to
match - 'info' is now 2 instead of 0.

Fixes: #12975
2025-01-22 08:58:13 +07:00