-
Notifications
You must be signed in to change notification settings - Fork 1
[54] support bi-directional filesystem conventions #55
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
Merged
asos-dominicjomaa
merged 26 commits into
ASOS:main
from
TomStrepsil:feat/54-support-bidirectional-filesystem-conventions
Oct 21, 2025
Merged
[54] support bi-directional filesystem conventions #55
asos-dominicjomaa
merged 26 commits into
ASOS:main
from
TomStrepsil:feat/54-support-bidirectional-filesystem-conventions
Oct 21, 2025
Conversation
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
* rename to proper module namespace * update docs links * update versions * web toggle point in readme title * fixup changelog from revised 0.x range * 2.0.0 -> 0.5.0 in oss version scheme * fix broken link syntax in CHANGELOG * consistent quoting * more version history issues * fixup module name in jsdoc * add web remove sdkInstanceProvider * remove SDKInstanceProvider * fixup jsdoc dedupe * tweak * clarity re: ssr package * casing etc
* update workflows * version * typo * update chromium linux snaps * versions for serve update * package.json repository field * update root package.lock * bugs & directories/doc fields * fix changelog --------- Co-authored-by: Tom Pereira <[email protected]>
Co-authored-by: Tom Pereira <[email protected]>
jackiedunne
approved these changes
Aug 4, 2025
2 tasks
Comment on lines
+6
to
+8
| const normalizeToRelativePath = (path, joinDirectory) => | ||
| relative(joinDirectory, path).replace(/^([^./])/, "./$1"); | ||
|
|
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.
Nit (one for a follow up honestly), extract to separate module?
asos-dominicjomaa
approved these changes
Oct 21, 2025
asos-dominicjomaa
left a comment
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.
Nice!
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.
Issue
resolves #54
enables #46
Details
Change the webpack package so that rather than using
import.meta.webpackContextto create a context module, hand-roll an equivalent data structure (mapping paths to statically-imported modules), and perform the same chaining of module splits as is afforded by this API (i.e. cascade context targets that themselves have a contextual split).Rather than the bespoke
require.contextdata structure, a simplerMapis produced by the join point generator, passing it to the point cut asvariantPathMap(previouslyvariants), which in turn passes it to the toggle handler. This represents a breaking change for consumers that have used a bespoke toggle handler.Scout Rule
webpack package
node_modulespart of the app root, and something odd has happened) are skippedwebpackNormalModuleoption to just take a module, rather than an async function - born out of a mistake when importing originally, I assumeenhanced-resolveattempt resolution in a try/catch, to support module alias etc.toggleHandleris an option of thepointCut, not general plugin configurationrepo root / examples
express example
Upgrade Guide
toggleHandlerhas been specified in the Webpack plugin, this should be updated to take avariantPathMapargument (which is aMap) in place of avariantsargument which was arequire.contextmodule.See changes to
examples/serve/src/toggleHandlersin this PR for reference.webpackNormalModulehas been supplied, this should now return an imported module itself, rather than an resolution functionCheckList
main.