Commit graph

405 commits

Author SHA1 Message Date
Marc Durdin
a355721e1b
Merge pull request #9996 from keymanapp/chore/developer/9948-handle-project-version-cleanly-in-kmc
chore(developer): handle project version checks cleanly in kmc 🦕
2023-11-15 13:48:44 +11:00
Marc Durdin
b8dcc1b43d
Merge branch 'master' into feat/developer/9948-load-xml-ldml-files 2023-11-15 13:46:52 +11:00
Marc Durdin
65b7b20dc8 chore(developer): handle project version checks cleanly in kmc
Relates to #9948.

While the schema validation does check the version already, it gives a
fairly obtuse message, and we can do better.

Found a secondary issue with a iterator type guard needed in
kpj-file-reader when preparing unit test, which was probably masked in
other tests by not verifying all messages generated, so updated all
infrastructure message tests to verify the full set of messages
generated.
2023-11-14 06:24:28 +07:00
Marc Durdin
1d3cb5eb4b chore(common): ldmlKeyboard3.dtd 2023-11-08 05:48:24 +07:00
Marc Durdin
c5c5b35415 chore(common): remove prepublish step from package.json
Given we've just run a build, this (a) seems unnecessary, and (b) seems
to go wrong in some circumstances anyway, e.g.
https://build.palaso.org/buildConfiguration/Keyman_Developer_Release/421326?buildTab=log&focusLine=19936&linesState=18839&logView=flowAware:

```
07:01:29   > @keymanapp/kmc@17.0.205-alpha prepublishOnly
07:01:29   > npm run build
07:01:29
07:01:31
07:01:31   > @keymanapp/kmc@17.0.205-alpha build
07:01:31   > tsc -b
07:01:31
07:01:35   ../../../common/web/types/build/src/kmx/kmx.d.ts(1,1): error TS1036: Statements are not allowed in ambient contexts.
07:01:35   ../../../common/web/types/build/src/kmx/kmx.d.ts(1,2): error TS1345: An expression of type 'void' cannot be tested for truthiness.
...
```
2023-11-04 07:34:18 +07:00
Marc Durdin
2f227b61ed
Merge pull request #9903 from keymanapp/chore/common/9854-SchemaValidator-error-management
chore(common): fixup SchemaValidators error handling
2023-11-02 14:52:54 +11:00
Marc Durdin
45b5db1974
Merge pull request #9844 from keymanapp/chore/developer/verify-kmp-json-output-from-kmc-package
chore(developer): verify kmp.json output from kmc-package
2023-11-02 14:50:50 +11:00
Marc Durdin
f5b07f86c6 chore(common): fixup SchemaValidators error handling
Fixes #9854.
2023-10-31 11:44:08 +07:00
Steven R. Loomis
f72c571696
Merge branch 'master' into chore/developer/9838-cldr44-epic-ldml 2023-10-26 18:38:14 -05:00
Steven R. Loomis
a45dc5c345 chore(developer): ldml update to prefinal v44 🙀
-  fix binary size issue
- upstream: issue in abnt2 sample keyboard

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-26 18:21:56 -05:00
Marc Durdin
762f343b52
Merge pull request #9824 from keymanapp/chore/common/kpj-handle-xml-error
chore(common): handle invalid XML in kpj-file-reader
2023-10-26 13:46:29 +11:00
Steven R. Loomis
6da64553fc chore(developer): ldml update to prefinal v44 🙀
- form

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-25 08:56:55 -05:00
Marc Durdin
cdac2dd01b chore(developer): verify kmp.json output from kmc-package 2023-10-25 12:07:46 +07:00
Steven R. Loomis
a9f437f97a chore(common,developer): ldml update to prefinal v44 🙀
- more data and developer fixes

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 17:40:34 -05:00
Steven R. Loomis
1ff2bfc4d7 chore(developer,common,core): ldml update to prefinal v44 🙀
- more data file updates
- now updating some developer files
- updating the KMX+ spec with some changes.
 (vkey was dropped in #7135, remove it from the spec)

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 17:28:08 -05:00
Steven R. Loomis
5dbda001fc chore(common,core): ldml update to prefinal v44 🙀
- common passes tests
- updated data files

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 14:47:22 -05:00
Marc Durdin
c645707279 chore(common): handle invalid XML in kpj-file-reader 2023-10-23 08:53:30 +07: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
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
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
Steven R. Loomis
f89be2d21b fix(common): ldml test fix 🙀
- the wrong test case was updated previously

For: #9468
2023-10-16 10:24:49 -05:00
Steven R. Loomis
f4501fea81 chore(developer): remove an unused error code 🙀 2023-10-13 17:38:08 -05: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
f76efc38cc chore(common): stop using xml2js.processors.firstCharLowerCase
Fixes #9713.
2023-10-09 05:43:29 +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
12bb554b5a feat(developer): fix vars and markers 🙀
- Figured it out. Problem was a custom Array constructor.
- also updated ElementString class, which would have the same issue.

For: #9121
For: #9119
2023-10-07 09:11:27 -05:00
Steven R. Loomis
450e29cf2a feat(developer): fix vars and markers 🙀
- odd, but seems to work this way

For: #9121
For: #9119
2023-10-07 08:48:18 -05:00
Marc Durdin
00484a0e0f chore: fixup js imports for schema validators 2023-10-07 06:46:10 +07: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
Steven R. Loomis
25c20ee812 feat(common): fix marker parsing 🙀
- cleaned up regex

For: #9119
2023-10-06 11:58:59 -05: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
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
Steven R. Loomis
4c0cab2796 feat(common,developer): DRY out strings 🙀
- refactor string preprocessing pipeline into an options bag
2023-10-05 17:40:30 -05: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
Steven R. Loomis
e04b41e89e feat(developer): fix vars and markers 🙀
- finish all of the developer LDML-TODOs around markers and variables

For: #9121
For: #9119
2023-10-04 19:21:04 -05:00
Steven R. Loomis
2472a941cf feat(core): match any marker 🙀
- add a regex form that matches any marker

For: #9119
2023-10-04 18:34:20 -05: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
d4e4992714 chore(common): cleanup final Typescript non-ESM metadata
Fixes #9262.
2023-10-04 12:55:51 +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