This requires to move some other files around. Also move `finalize`
and `mergeInDefaults` methods to processor and rename them to
`finalizeProcessorAction` and `mergeInOtherProcessorAction` (decided
to directly use the term `ProcessorAction`, to which `RuleBehavior`
will be renamed to in a following PR).
Co-authored-by: Marc Durdin <marc@durdin.net>
Fixes: #13908
Fixes: KEYMAN-WEB-RK
Fun fact: `Number('')` returns 0, not NaN! I thought it would do the latter in #13838, which is what led to the issue this PR addresses.
Splits systemStores.ts into stores.ts and platformSystemStore.ts under
engine/js-processor, and systemStores.ts under engine/keyboard, in
preparation for web-core use of system stores.
Preparation for epic/web-core, clarify which members of
`JSKeyboardProcessor` are private and which will need equivalent
implementations in `CoreKeyboardProcessor`.
Note: some of the publicly accessed members are not immediately obvious,
because they are accessed via interfaces declared in other modules (for
example `baseLayout` is referenced in `KeyboardState` type in
hardwareEventKeyboard.ts).
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
This is a followup to the recent #13827, which automatically adds --debug to local-environment builds. For web/ test scripts involving browser-based scripts, that same flag had been used to enable an _inspectable_ test mode that doesn't auto-return, which doesn't match the semantics of --debug for build configurations.
To rectify this, those scripts now have their --debug option renamed to --inspect, allowing them to be optionally turned on, but not automatically enabled.
Test-bot: skip
Fixes: #10876
This change blocks key output while a flick is in a "reset" state. If the flick is in a direction-locked state, key output still results - be it the base key (if not slid far enough) or a target flick key.
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. as well as `TIER` → `KEYMAN_TIER`. Unfortunately these variables are used in a lot of places, so this turned out to be a bit of a yak shave.
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