Commit graph

2294 commits

Author SHA1 Message Date
Marc Durdin
82177013e9 chore(core): Merge branch 'master' into feat/core/9720-actions-apis 2023-10-24 20:55:10 +07:00
Marc Durdin
0aa86501c6 chore(core): fix types and compile errors
Fixes #9832. Addresses a couple of other cross-platform compile issues.
2023-10-24 09:25:08 +07:00
Eberhard Beilharz
fdc9baadb2
chore(linux): Merge remote-tracking branch 'origin/master' into chore/linux/9733_RenameLibknmkbp 2023-10-20 12:31:14 +02:00
Steven R. Loomis
85ae8e0d45
Merge branch 'feat/core/9468-normalization-epic-ldml' into feat/core/9468-test-improvement-epic-ldml 2023-10-19 17:14:41 -05:00
Steven R. Loomis
13eed28a36 Merge branch 'feat/core/9468-normalization-epic-ldml' into feat/core/9468-test-improvement-epic-ldml 2023-10-19 14:00:38 -05:00
Eberhard Beilharz
52bb859817
chore(linux): Rename (lib)kmnkbp to (lib)keymancore 2023-10-19 10:35:09 +02:00
Marc Durdin
14ea216b4e fix(common): don't use URL in common/web/types
Fixes #9788.
2023-10-19 09:22:07 +07:00
Marc Durdin
5218726583 fix(developer): handle invalid project folders cleanly
Fixes #9715.
2023-10-18 06:10:41 +07:00
Marc Durdin
1db919d581 fix(developer): handle fv_all keyboard project with no .kmn 2023-10-18 05:41:52 +07:00
Marc Durdin
cc11435bb2 fix(developer): avoid adding null font data to keyboard_info 2023-10-18 05:41:03 +07:00
Marc Durdin
8d00d60ddc fix(developer): ignore whitespace at end of LICENSE.md 2023-10-18 05:40:29 +07:00
Steven R. Loomis
d46e08267e fix(common,developer): ldml test fix 🙀
- There are two cases. Added comments to cross-link them.

For: #9468
2023-10-16 10:52:39 -05:00
Marc Durdin
1d157535f2 fix(developer): kmc crash on start
Fixes #9766.

The issue arose because commander passes different parameters to the
callback depending on the spec of the command. Very fragile!
2023-10-16 18:27:20 +07:00
Steven R. Loomis
6a62d01481 chore(core): dx: ldml test subselection 🙀
- add a filter option to run just one subtest
- support backspace event, revamp test JSON format

For: #9468
2023-10-13 16:45:56 -05:00
Marc Durdin
f61e65ceb9
Merge pull request #9736 from keymanapp/chore/merge-master-into-package-metadata
chore: merge master into package-metadata
2023-10-11 11:28:07 +11:00
Marc Durdin
41ed45cf29
Merge pull request #9717 from keymanapp/chore/developer/add-for-publishing-flag
chore(developer): add --for-publishing to kmc 🎺
2023-10-11 11:19:31 +11:00
Marc Durdin
a4652cebb9
Merge pull request #9716 from keymanapp/chore/update-kmp-compiler-xml2js-dependency
chore(developer): Update kmc-package xml2js dependency 🎺
2023-10-11 11:19:24 +11:00
Marc Durdin
98af6052e4
Merge pull request #9714 from keymanapp/chore/common/9713-avoid-xml2js-firstCharLowerCase
chore(common): stop using xml2js.processors.firstCharLowerCase 🎺
2023-10-11 11:19:17 +11:00
Marc Durdin
efe08dcbcd
chore: Update developer/src/kmc-package/src/compiler/kmp-compiler.ts 2023-10-11 11:02:28 +11:00
Marc Durdin
93b952beba chore(developer): fix path in tsconfig.json in kmc-model-info 2023-10-10 16:15:50 +07:00
Marc Durdin
738ef9570a chore(developer): fixup signcode paths for server
Two conflicting merges meant that paths diverged. Fixes that.
2023-10-10 10:33:59 +07:00
Marc Durdin
78061924f1
Merge pull request #9724 from keymanapp/chore/core/9722-rename-km_kbp_-to_km_core_
chore: rename km_kbp_ to km_core_
2023-10-10 11:57:20 +11:00
Marc Durdin
a3bcc8b594
Merge pull request #9723 from keymanapp/chore/core/9721-rename-keyboardprocessor.h-to-keyman_core_api.h
chore(core): rename keyboardprocessor.h to keyman_core_api.h
2023-10-10 11:57:12 +11:00
Marc Durdin
0e4c4cbcf0 chore: rename _km_kbp_ to _km_core_ 2023-10-09 14:53:23 +07:00
Marc Durdin
db76e2541d chore: rename KM_KBP_ to KM_CORE_ 2023-10-09 14:53:22 +07:00
Marc Durdin
ba5f18defd chore: rename km_kbp_ to km_core_ 2023-10-09 14:53:13 +07:00
Marc Durdin
22362d435f chore: rename pkm_kbp_ to pkm_core_ 2023-10-09 14:52:23 +07:00
Marc Durdin
4e5cbc3b96 chore: fix typo 2023-10-09 14:51:51 +07:00
Marc Durdin
906a0a2ed7 chore: fix typo 2023-10-09 14:41:01 +07:00
Marc Durdin
4ef18f5e29 chore(core): rename keyboardprocessor.h to keyman_core_api.h
Fixes #9721.

Also tweaks some documentation references to keyboardprocessor, but does
not touch those relating to debian/control.
2023-10-09 14:21:01 +07:00
Marc Durdin
7544b33216 fix(developer): reduce WARN_PackageShouldNotRepeatLanguages to HINT
Part of #9266.

Also cleans up filenames for hint_language_tag_is_not_minimal, and fixes
a bug in transformKpsToKmpObject where a null object could be passed on
to another function in case of failure.
2023-10-09 12:58:19 +07:00
Marc Durdin
6b4497b516
Merge pull request #9695 from keymanapp/fix/windows/9692-re-enable-signature-check
fix(windows): re-enable signature check 🔥
2023-10-09 16:09:54 +11:00
Marc Durdin
35814bc29f chore(developer): add --for-publishing to kmc
The new --for-publishing flag allows us to enforce additional
requirements for keyboards and lexical models that are to be published
to the keymanapp repositories. This flag will always be switched on in
the repository builds. This flag overrides the 'skipMetadata' option
which is a project-level option.

There is a bit of a delicate balance of requirements here:

1. We want to be able to automatically verify keyboards and package
   licenses if they are in the repository.
2. We do not want to force license checks on privately built keyboards
   and models.
3. We want to provide pathways for users to check locally before
   submitting to the repository.
4. If possible, we want to be able to build the .keyboard_info and
   .model_info files locally, but this should be up to the user for
   local builds.

For now, the only additional check that this flag provides is to verify
that the license is MIT, which was an unchecked requirement for the
repositories in the past.

Future checks can be added for file layout, additional required
metadata files.

Anticipate adding this as a tool to Keyman Developer IDE -- a
'pre-publish' check -- in the future.
2023-10-09 07:45:34 +07:00
Marc Durdin
52291b1ccb chore(developer): remove unused xml2js references 2023-10-09 06:34:32 +07:00
Marc Durdin
0f5e88192c chore(developer): Update kmc-package xml2js dependency
I missed adding this as a dependency for @keymanapp/kmc-package. because
node has a very lenient dependency search, it found xml2js from other
@keymanapp/common-types, so never caused errors locally.
2023-10-09 06:06:34 +07:00
Marc Durdin
f76efc38cc chore(common): stop using xml2js.processors.firstCharLowerCase
Fixes #9713.
2023-10-09 05:43:29 +07:00
Marc Durdin
36a3a27bac fix(developer): non-minimal BCP 47 tags in kps should be a hint
Fixes #9266.

For historical reasons there are many non-minimal BCP 47 tags in package
metadata in the repository (over 2500). Furthermore, earlier versions of
kmcomp did not fail the build on package compilation warnings. This
means it is better to reduce WARN_LanguageTagIsNotMinimal to
HINT_LanguageTagIsNotMinimal, so that we can otherwise respect the
'treat warnings as errors' flag on the keyboard projects.

We may be able to upgrade this to a warning again one day in the future.
2023-10-09 05:19:43 +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
Steven R. Loomis
505a45e933
Merge branch 'master' into feat/core/9121-more-vars-epic-ldml 2023-10-07 11:36:07 -05:00
Steven R. Loomis
f3fd5aa879
Merge pull request #9687 from keymanapp/feat/core/9119-more-markers-epic-ldml 2023-10-06 18:27:30 -05:00
Steven R. Loomis
b7c7a1c7b3 feat(developer): fix vars and markers 🙀
- workaround for debugger/test issue

For: #9121
For: #9119
2023-10-06 18:11:37 -05:00
Marc Durdin
928bd2a7cd chore(common): fixup tsconfig for common/web/utils 2023-10-06 14:48:28 +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
c970b1e246 chore(developer): fix paths for addon signing 2023-10-06 11:38:55 +07:00
Marc Durdin
7c2d3624cd chore(developer): sign addons in server 2023-10-06 10:37:25 +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
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
0b4a252b0a
Merge pull request #9673 from keymanapp/chore/developer/9672-server-to-esm
chore(developer): convert Server to ES Modules
2023-10-06 13:37:20 +11:00
Marc Durdin
eeb755f76a fix(windows): re-enable signature check
Fixes #9692.

Signature checking was skipped because we missed a ".virtual" to force
nmake to build the test and test_i3633 targets. This opened up a small
cascade of related formatting issues on Makefiles, and the fact that the
test_i3633 (has there ever been a more poorly named project?) Makefile
did not even work.

Refactored significantly, added same tests to Developer Makefile, and
also now verifying the .msi and installer executable.

We can improve this further but I'd like to get this in to avoid further
critical issues with code signing given the current broken signing
configuration.
2023-10-06 09:14:35 +07:00