In order to maintain roughly the current build artifact size, strip out
the unfinished core integration from what we merge with preflight.
Test-bot: skip
Build-bot: release:android,ios,developer,web
The convention is to use the `.d.ts` extension for typescript types, and
that's what is used elsewhere in the `package.json` file. This change
fixes the two instances that had `.d.js`.
The export of `test-index.ts` were intended to be used by tests only,
but over time they contained also exports that were consumed else where,
e.g. in UI classes like `kmwuibutton.ts`. This change removes unused
exports, moves test-only classes to a `unitTestEndPoints` container and
marks test-only types with `@internal`.
Build-bot: skip build:web
Test-bot: skip
PR #15856 introduced the `KeyboardDetails` type but overlooked the use in
one file.
Follow-up-of: #15856
Follows: #15887
Build-bot: skip build:web
Test-bot: skip
This change explicitly specifies the return types and access for the
functions in KeymanEngine. Also introduce `KeyboardDetails` instead of
`ReturnType<>`.
Test-bot: skip
VSCode shows red squiggles under things like `describe` or `it` in
.ts test files for web. This change adds the types to the `tsconfig.json`
file which fixes this problem.
Build-bot: skip build:web
Test-bot: skip
Starting the local dev server before running the e2e tests with
`web/build.sh start` didn't work on Windows. This change now directly
calls `node` to start the server which seems to work cross-platform.
Fixes: #15895
Build-bot: skip build:web
Test-bot: skip
This change appends the filename to the description of the tests on
the index page of the manual web tests. This makes it easier to find
the test on the rendered index page when having the directory name
of the test available.
Build-bot: skip
Test-bot: skip
This change removes a file that is no longer needed. The link is
redirected to keyman.com, so it's kind of pointless to keep it around.
Build-bot: skip
Test-bot: skip
Starting the local dev server before running the e2e tests with
`web/build.sh start` didn't work on Windows. This change now directly
calls `node` to start the server which seems to work cross-platform.
Fixes: #15895
Build-bot: skip build:web
Test-bot: skip
chore(web): cleanup `web/src/app/browser/src/test-index.ts` exports
The exports of `test-index.ts` were intended to be used by tests only, but over time they contained also exports that were consumed elsewhere, e.g. in UI classes like `kmwuibutton.ts`. This change removes unused exports, moves test-only classes to a `unitTestEndPoints` container and marks test-only types with `@internal`.
Fixes: #15894
refactor(web): move common code to abstract `KeyboardProcessor` base class
This change moves code that was implemented in both `JSKeyboardProcessor` and `CoreKeyboardProcessor` to the `AbstractKeyboardProcessor`. This got renamed from `KeyboardProcessor` and is now a generic abstract class.
Also removed some of the band-aids in `CoreKeyboardInterface` and `JSKeyboardInterface` that I put in before: Typescript allows implementations to have a slightly different method signature and still matches the interface as long as the used types are derived from the ones specified in the interface.
Follows: #15870
The convention is to use the `.d.ts` extension for typescript types, and
that's what is used elsewhere in the `package.json` file. This change
fixes the two instances that had `.d.js`.
The export of `test-index.ts` were intended to be used by tests only,
but over time they contained also exports that were consumed else where,
e.g. in UI classes like `kmwuibutton.ts`. This change removes unused
exports, moves test-only classes to a `unitTestEndPoints` container and
marks test-only types with `@internal`.
Build-bot: skip build:web
Test-bot: skip
feat(web): clarify return type of `KeymanEngine.getKeyboardDetails` 🧼🎼
`getKeyboardDetails` can return `null` if `stub` is falsy. This PR changes the return type accordingly to improve type safety.
Follows: #15889
This change moves code that was implemented in both `JSKeyboardProcessor`
and `CoreKeyboardProcessor` to the `AbstractKeyboardProcessor`. This got
renamed from `KeyboardProcessor` and is now a generic abstract class.
Also removed some of the band-aids in `CoreKeyboardInterface` and
`JSKeyboardInterface` that I put in before: Typescript allows
implementations to have a slightly different method signature and still
matches the interface as long as the used types are derived from the ones
specified in the interface.
Follows: #15870
Build-bot: skip build:web
Test-bot: skip
This change will ignore keyboards where `getKeyboardDetails` returns
`null` and will not push them to the `detailsForAllKeyboards` array.
Addresses a code review comment.
refactor(web): use `KeyboardDetails` type 🧼🎼
PR #15856 introduced the `KeyboardDetails` type but overlooked the use in one file.
Follow-up-of: #15856
Follows: #15887
feat(web): get list of store names from stores defined in core
This implements `CoreKeyboardInterface.loadSerializedOptions` by getting the list of all variable store names from Core and then trying to load these.
Also change `VariableStoreSerializer.loadStore` signature so that it can return `undefined`. This allows to return only those options from `loadSerializedOptions` that have a non-default value, i.e. were serialized before.
Follow-up-of: #15470
`getKeyboardDetails` can return `null` if `stub` is falsy. This PR changes
the return type accordingly to improve type safety.
Follows: #15889
Build-bot: skip build:web
Test-bot: skip
PR #15856 introduced the `KeyboardDetails` type but overlooked the use in
one file.
Follow-up-of: #15856
Follows: #15887
Build-bot: skip build:web
Test-bot: skip