Commit graph

2263 commits

Author SHA1 Message Date
Sabine
cebbda981f Merge branch 'feat/developer/kmc-convert' into feat/developer/kmc-convert-validateKeylayout
# Conflicts:
#	developer/src/common/web/utils/src/xml-utils.ts
#	developer/src/kmc-convert/src/converter-messages.ts
#	developer/src/kmc-convert/src/keylayout-to-kmn/keylayout-file-reader.ts
#	developer/src/kmc-convert/src/keylayout-to-kmn/keylayout-to-kmn-converter.ts
#	developer/src/kmc-convert/src/keylayout-to-kmn/kmn-file-writer.ts
2025-07-03 11:54:41 +02:00
Sabine
cdb3634f41 feat(developer): interfaces for attributes/nodes 2025-06-28 08:54:25 +02:00
SabineSIL
33ce348791
Merge branch 'epic/kmc-convert' into feat/developer/kmc-convert 2025-06-27 11:02:02 +02:00
Sabine
072ecbe97b feat(developer): work on comments of PR 12564: replace if/else with array; change in util.ts to prevent NFD characters to be omitted 2025-06-25 15:25:42 +02:00
Sabine
e345798b4b feat(developer): work on more comments:
- make convert() private
- 2 new versions of write()
- tests for new versions of write()
- use keyman verion number
- remove process.cwd from keylayout-file-reader.ts
- add ERROR_UnsupportedCharactersDetected
2025-06-24 17:30:49 +02:00
Steven R. Loomis
fab29aad77 feat(developer): ldml: update errors for unparseable reorder
Fixes: #14091
2025-06-02 08:52:00 -05:00
Steven R. Loomis
e1638ad458 feat(comon): ldml: test fix for element strings with context
Fixes: #13937
2025-05-31 07:46:11 -05:00
Steven R. Loomis
9d0d34bf09 feat(developer): ldml: list compiler: add context to lists. vars, markers, usets...
- update several messages and the substitution tracker to take context

Fixes: #13935
2025-05-30 14:34:40 -05:00
Steven R. Loomis
8662acc46d feat(developer): ldml: list compiler: add context to lists
add contexts to lists and elements and uset

Fixes: #13935
2025-05-30 12:55:57 -05:00
Steven R. Loomis
db24750bd3 feat(developer): update strs compiler to collect context
- default state needs to be null not undefined

For: #13932
2025-05-28 20:17:45 -05:00
Steven R. Loomis
633f9551c7 feat(developer): update strs compiler to collect context
- attempt to find an object with a context

For: #13932
2025-05-28 20:17:44 -05:00
Sabine
b400d57701 feat(developer): kmn-file writer print out UnicodeCharacters, edit tests using ConverterMsg;new func convertToUnicodeCharacter() with tests 2025-05-26 14:12:45 +02:00
Marc Durdin
9f15e7c7ec maint: add empty 'scripts' tag to package.json to silence warning
Also removes './' from front of gosh.js to address another npm cleanup
(from `npm pkg fix`).

Fixes: #13833
2025-05-25 06:35:28 +07:00
Sabine
00158fdeee feat(developer): readme; add keylayout to schema-bundler.js; remove comments in create_keylayout_schema.sh 2025-05-21 11:20:25 +02:00
Sabine
ebd1514c51 feat(developer): validation create keylayout.schema.json 2025-05-19 15:30:04 +02:00
Joshua Horton
155c1a2b12 maint: update mocha
Some of the npm audit warnings left after #13897 require an updated `mocha` version to remedy.  As we only really use `mocha` to do unit-testing, it should be safe to update if all of our existing tests pass with the new version.

Test-bot: skip
2025-05-13 14:02:02 +07:00
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02:00
Eberhard Beilharz
af1f2629dd
maint(common): use function to detect if running on TC
This change makes use of the new builder script function to detect if
the script is running on TeamCity.
2025-05-06 17:42:25 +02:00
Joshua Horton
e382bf45ce
Merge pull request #13785 from keymanapp/change/web/drop-usvstring-alias
change(web): replace USVString with string in predictive-text engine
2025-05-06 08:16:28 +07:00
Sabine
b401a26286 feat(developer): start validation: add new keylayout validator (= copy of keyboard3Test validator ) that can be used from kmc.convert 2025-04-30 17:27:09 +02:00
Joshua Horton
e328aa03f7 chore(common): address common/web/types linter issues 2025-04-30 12:34:14 +07:00
Joshua Horton
2011d117d6 chore(developer): finalize activation of prefer-const within developer TS modules 2025-04-30 09:41:07 +07:00
Joshua Horton
e601d59b59 change(web): replace USVString with string in predictive-text engine
Fixes: #12046

It was only ever an alias (for `string`!) for its intended use, with actual `USVString` typing being unavailable in the browser.
2025-04-29 10:47:20 +07:00
Sabine
91bdddf714 feat(developer): move convertToUnicodeCodePoint to util.ts 2025-04-03 16:04:22 +02:00
Steven R. Loomis
b59bb6d4de feat(developer): serialize KMXPlus into XML 🍒
Cherry pick of #12969
> feat(developer): serialize KMXPlus (back) into XML 🗼

(cherry picked from commit f93c45c9e8 #12969)

Fixes: #12874
2025-02-10 12:12:12 -06:00
Dr Mark C. Sinclair
6ead43b899
Merge pull request #13122 from keymanapp/fix/common/web/types/12945-replace-invalid-StrsItem-identity-checks-with-isEqual
fix(common/web): replace invalid StrsItem identity checks with isEqual()
2025-02-04 11:20:53 +00:00
Dr Mark C. Sinclair
6d060df601 fix(common/web): add two test cases for Strs.allocString() 2025-02-03 15:02:05 +00:00
Dr Mark C. Sinclair
0fabe6614a fix(common/web): add test cases for Strs implicit constructor and allocString for a one-character string 2025-02-03 12:47:58 +00:00
Dr Mark C. Sinclair
bdfa21128e fix(common/web): initial boiler plate for kmx-plus-tests.ts 2025-02-03 11:57:05 +00:00
Marc Durdin
5fea5b32cd fix(common): handle undefined input in @keymanapp/langtags lookups
Matches prior behaviour when langtags was part of kmc-keyboard-info.

Fixes: #13116
2025-02-03 12:40:10 +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
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
ffdbfab775 chore: add copyright and license to langtags readme 2025-01-30 14:04:38 +07:00
Marc Durdin
c74e841ed7 chore(common): add README.md for langtags package 2025-01-27 11:55:10 +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
Dr Mark C. Sinclair
d5c3e43f20
Merge pull request #12882 from keymanapp/fix/common/web/types/1288-handle-invalid-order-and-tertiary-arguments-to-ElementString-fromString
fix(common/web): handle invalid order and tertiary arguments to ElementString.fromString()
2025-01-18 15:58:55 +00:00
Dr Mark C. Sinclair
d48ccda140 fix(common/web): add test cases for parseIntOrZero() 2025-01-13 12:05:39 +00:00
Dr Mark C. Sinclair
a279767acc fix(common/web): add ElementString.parseIntOrZero() method to handle invalid order and tertiary params 2025-01-13 11:37:58 +00:00
Dr Mark C. Sinclair
b9c7835fbf fix(common/web): add isEqual() method to StrsItem and use it in ElemElement.isEqual() 2025-01-09 14:45:35 +00:00
Dr Mark C. Sinclair
9d555a0639 chore(common/web): introduce initElementString() to remove dependency on fromStrings() in isEqual() tests 2025-01-09 14:12:56 +00:00
Dr Mark C. Sinclair
23b3de14d9 chore(common/web): clarify describe strings 2025-01-09 12:08:15 +00:00
Dr Mark C. Sinclair
86095d4b11 chore(common/web): add test case for string ElemElement 2025-01-09 12:03:51 +00:00
Dr Mark C. Sinclair
704486ae2e chore(common/web): add two more test cases for ElementString.isEqual() 2025-01-09 11:27:52 +00:00
Dr Mark C. Sinclair
c615f82db2 chore(common/web): add test cases for ElemElement.isEqual() and ElementStrings.isEqual() 2025-01-06 16:41:36 +00:00
Dr Mark C. Sinclair
80d2f49824 chore(common/web): add test case for quad string in ElementString.fromStrings() 2025-01-06 15:50:07 +00:00
Dr Mark C. Sinclair
e169ece9a3 chore(common/web): add two test cases for uset parse failures 2024-12-19 17:32:42 +00:00
Dr Mark C. Sinclair
58e5f0fe94 chore(common/web): stub the ElementParser.segment for uset 2024-12-19 17:21:05 +00:00
Dr Mark C. Sinclair
9569ef208c chore(common/web): corrected nesting error, and moved more code into fixtures 2024-12-19 17:11:15 +00:00
Dr Mark C. Sinclair
7694623fc9 chore(common/web): add first uset test case with supporting stubs and TestUnicodeSetParser class 2024-12-19 16:19:21 +00:00