-
-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
epic: kmc-kmw KeymanWeb compiler in Typescript 🗜 #8954
Conversation
User Test ResultsTest specification and instructions User tests are not required Test Artifacts
|
…ling-and-more chore(common): cleanup error handling for KmxFileReader and CompilerOptions as shared type
Part 1 of the `CompilerOptions` reorg. kmc now uses `CompilerOptions` throughout, and `CompilerBaseOptions` maps to the set of options available to all activities.
LdmlCompilerOptions is now based on the shared CompilerOptions. Also fixes command line parameter inheritance for sub-commands.
This module is used for identification of Keyman source and binary file formats by file extension. It is not yet appropriate to use for constants; this will come in a future commit.
Now that we have the file type detection in place, we can replace existing references to the file extensions, where possible, with the constant declarations. While we could rely on TypeScript's typing to use string-based values, this helps us to avoid using file extensions directly in string transforms, regex, etc, and use the `KeymanFileTypes` alias instead. Note that only references in common/web, and kmc-* projects have been touched. References in other Developer projects have not been touched, as some of those are not yet ESM, so that needs to be addressed first.
feat(developer): kmc analyze osk-char-use 🗜
…-kmc-kmw chore(developer): enable eslint for kmc-kmw 🗜
…iler-options chore(developer): refactor CompilerOptions 🗜
chore: add run-name to deb-packaging 🗜
chore(developer): minor patches to fix compile issues 🗜
Ensures that we calculate the file type instead of using stored data, which is a lot cleaner. Means we ignore the filetype field in the .kpj xml, which is fine. We should do the same with filename vs filepath.
Turns KeymanDeveloperProjectFile into an interface, and removes redundant data in filename and fileType fields, calculating these from filePath instead. Maintains separate KeymanDeveloperProjectFile10 and KeymanDeveloperProjectFile20 classes implementing the base interface for now, although that may be a target for future consolidation (lowpri).
Projects can contain any type of file, but the fromFilename file type utility function would only handle known source and binary file types.
…ype-references chore(developer): refactor KeymanDeveloperProjectFile 🗜
…oject-file chore(developer): add Error_NotAProjectFile 🗜
…ature-kmc-kmw-a17s18
…re-kmc-kmw-a17s18 chore: merge master into feature-kmc-kmw (A17S18) 🗜
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we're going to merge this now, might want to move the last three description-list items into the third one, since its name signifies that the latter is pretty much a catch-all for post-merge stuff.
Builds are all passing, and it doesn't have a net effect on existing products quite yet. We will want testing whenever the new, TS-based tooling is integrated into Developer... but that's not quite here yet.
But, in the meantime, RSLGTM.
Changes in this pull request will be available for download in Keyman version 17.0.156-alpha |
@keymanapp-test-bot skip