change(web): util package modularization, bundling 🧩#7800
Merged
jahorton merged 12 commits intofeature-esmodule-web-enginefrom Feb 2, 2023
Merged
change(web): util package modularization, bundling 🧩#7800jahorton merged 12 commits intofeature-esmodule-web-enginefrom
jahorton merged 12 commits intofeature-esmodule-web-enginefrom
Conversation
User Test ResultsTest specification and instructions User tests are not required Test Artifacts |
24a46bf to
1966468
Compare
mcdurdin
approved these changes
Feb 2, 2023
Member
mcdurdin
left a comment
There was a problem hiding this comment.
I think LGTM. I can see us wanting to converge on a common set of params for build-bundler.js over time.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A very early-stage part of addressing #7309. As a result, the Web build (and those dependent on it) will be broken for a while in this PR and its following chain.
The highlights:
keyman-versionbuild output. Where we're going, we don't need (or want) namespaces.DeviceSpec- its related enums are now attached as 'subclasses' of a sort via namespace-aliasing tricks like seen here: https://stackoverflow.com/a/47401896common/web/utilsis now fully ES6-module based; that's what its TypeScript build output produces.esbuilddoesn't handle transformations to es5 well. Known limitation.tsc, on the other hand, has no such qualms and is happy to transpile to ES5, so we can just bundle that instead.utilsmodule build now includes a bundled build version, courtesy ofes6build. This relies upon a prior TS build, bundling its JS outputs.importstatements refer to.jsfiles, rather than.tsfiles.@keymanapp-test-bot skip