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
Previously running the tests failed because it couldn't find ICU 70 when
running webkit. Ubuntu 24.04 Noble comes with ICU 74. Updating
playwright to 1.46 fixes this.
This moves `common/predictive-text/` →
`web/src/engine/predictive-text/worker-main/`.
This also moves `common/test/predictive-text/` →
`web/src/test/manual/predictive-text/`. Note though that this testing
tool is still broken.
Fixes: #12134
node 22.5.1 (or its corresponding npm version) breaks optional dependencies in
developer/server, so node-windows-trayicon is never installed. Needs investigation
and resolution before we move to that version, so conservatively moving back to
current LTS.
During analysis of root causes for #12027, discovered a few package
relationship issues in package.json and build.sh.
analyzer-messages.ts ///<reference> is a mitigation for now.
Relates-to: #12027
- replace eslint-config-standard-with-typescript with eslint-config-love (author's recommendation)
- bump to @typescript-eslint/eslint-plugin@7.13.1 which supports Typescript 5.4.x
Fixes#11220.
Replaces the sed script for matching emoji in ios prepRelease with a
tiny node project that uses emoji-regex package, to reduce future
maintenance.
Also strips lingering emoji and :xxx: emoji shortcut strings from
HISTORY.md. Note that :xxx: are not stripped programatically at this
time.
Relates to #10207.
Adds @microsoft/api-extractor and @microsoft/api-documenter NPM
packages for validating and generating API documentation from Typescript
modules.
Adds basic configuration for each module that we will be publishing at
this time.
api-extractor's output will be emitted to /developer/docs/api/etc/, for
future release comparisons. A baseline output will be committed
separately.
The build outputs will be in /developer/build/docs and the intermediate
files will be in /developer/build/api.
Note that at this time, we will not enable the checks and validations.
That is a task for alpha rather than beta. The primary intent at this
time is to select a solid, well-supported toolchain for generating the
API documentation for kmc.
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.
Adds support for calculating isRTL and license fields in .model_info
compiler.
Also:
* establishes @keymanapp/developer-utils shared module
* moves license validation into @keymanapp/developer-utils
* refactors kmc-model-info to a class and general cleanup