Keyman 15 and Angular

I’m just coming back after a while and I wanted to update to latest keyman version. I have been working with version 11 based on the tutorial from Jacob Bowdoin and it’s going great. So I went and downloaded the latest stable version and replaced the local copy I had with it, however I’m constantly having errors with Can’t resolve ‘@keymanapp/models-wordBreakers’ in keymanweb. I tried searching for a solution or to download the package without luck. I’ve also tried with the minified and unminified versions but ended with the same errors. So now I’m back on using the older version that I have installed but I would really want this resolved.
Any help is appreciated, and thank you for providing this great library!

[…] however I’m constantly having errors with Can’t resolve ‘@keymanapp/models-wordBreakers’ in keymanweb.

Before diving into technical detail about our setup and how that may affect things, I’d first like to note that relying directly on the compiled build products provided in our releases should be sufficient to avoid this error. We make sure to keep those bundled as a “pre-packed” form of the engine.

Since version 12.0, we’ve been slowly modularizing the Keyman Engine for Web into multiple projects, all of which are visible and accessible within our main repo at GitHub - keymanapp/keyman: Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web. We’re using a “monorepo” strategy for this; from 12.0 - 15.0, we used the lerna module (accessible via npm), and for 16.0 we’ve swapped to use of the newer npm features designed to support the pattern.

Our team has internally noted, though not prioritized, the detail that some of these modules are not included in the published .zip’s source/ folder: bug(web): source maps refer to files not available in the release folder · Issue #5149 · keymanapp/keyman · GitHub. (This posting, to my knowledge, is the first external complaint we’ve had arise related to this.) As a result, if you’re attempting to recompile keymanweb from the published .zip folder’s source, that will fail. Recompiling from a cloned copy of the repo, via its web/source/build.sh, however, should be possible once the dependencies are set up appropriately. (See the repo’s docs/ folder for corresponding details.)

Something that you may run into, depending on how you’re trying to compile from the source, is that the TS code uses a now non-standard namespacing pattern rather than the module-based pattern that has become standard. This can cause… tricky situations when trying to compile a project with reliance on module-based code, and vice-versa, so this may be important to note depending upon your development setup. We are aware of this as an issue:

We hope to remedy this organizational pattern issue in an upcoming release, though unfortunately 16.0 will not be that release.

This topic was automatically closed after 14 days. New replies are no longer allowed.