Repository navigation
feat(lynx): add production Module Federation support #4907
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
Open
ScriptedAlchemy
wants to merge
148
commits into
main
Choose a base branch
from
feat/lynx-federation
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+23,735
−1,431
Open
Changes from 39 commits
Commits
Show all changes
148 commits
Select commit
Hold shift + click to select a range
3b6d364
feat(lynx): add native module federation support
ScriptedAlchemy a045ec0
fix(ci): gate Lynx E2E suite
ScriptedAlchemy 59e4f5e
feat(lynx): add standalone iOS application
ScriptedAlchemy c67e601
fix(lynx): harden native iOS demo
ScriptedAlchemy a1b7251
fix(lynx): tighten iOS lifecycle tests
ScriptedAlchemy fd7e78e
fix(lynx): validate iOS device origin
ScriptedAlchemy a850822
fix(lynx): bound iOS path cache
ScriptedAlchemy 7087042
fix(lynx): stabilize iOS readiness probe
ScriptedAlchemy 36a52bd
ci(lynx): extend native iOS timeout
ScriptedAlchemy 5fce98b
fix(lynx): pair native remote UI layers
ScriptedAlchemy 65f525a
fix(lynx): preserve native lazy chunk semantics
ScriptedAlchemy 1f1358e
fix(lynx): harden native federation boundaries
ScriptedAlchemy 2b546e7
fix(lynx): inject lazy identity before runtime wrapper
ScriptedAlchemy 1bafb73
fix(lynx): isolate native sharing by realm
ScriptedAlchemy 2292f0b
feat(lynx): complete standalone federation support
ScriptedAlchemy 49d996d
fix(lynx): avoid backtracking in output names
ScriptedAlchemy c4cb6ec
fix(lynx): use absolute native asset origin
ScriptedAlchemy 3fd8670
ci(lynx): cache native dependencies
ScriptedAlchemy f855940
ci(lynx): invalidate cache on pod config
ScriptedAlchemy b972a77
ci(lynx): disable xcode indexing
ScriptedAlchemy b3a0f10
ci(lynx): consolidate ios release tests
ScriptedAlchemy a7ea37f
ci(lynx): retrigger iOS e2e
ScriptedAlchemy 94f3f42
ci(lynx): retain release test diagnostics
ScriptedAlchemy 4fb17c2
ci(metro): constrain android emulator partition
ScriptedAlchemy 2d05685
docs(lynx): define architecture refactor
ScriptedAlchemy 76b37ab
docs(lynx): plan architecture refactor
ScriptedAlchemy edd28cf
fix(runtime): make manifest URL caching atomic
ScriptedAlchemy 428f8bb
fix(runtime): guard stale manifest cache writes
ScriptedAlchemy 7db9fc7
Merge remote-tracking branch 'origin/main' into feat/lynx-federation
ScriptedAlchemy b656347
refactor(lynx): configure cache events through rspeedy
ScriptedAlchemy 789db1c
refactor(lynx): isolate remote bundle compilation state
ScriptedAlchemy 7cca67a
refactor(lynx): isolate lazy chunk load settlement
ScriptedAlchemy ca0409d
refactor(lynx): simplify lazy load state
ScriptedAlchemy 8fbc9ba
refactor(lynx-demo): serialize remote loading
ScriptedAlchemy fcc61db
refactor(lynx-demo): isolate artifact test output
ScriptedAlchemy 41b4d37
refactor(lynx-ios): isolate resource loading boundaries
ScriptedAlchemy 8539062
docs(lynx): document rspeedy compatibility boundary
ScriptedAlchemy 8c2a06c
Merge remote-tracking branch 'origin/main' into feat/lynx-federation
ScriptedAlchemy 8402fdf
test(lynx): simplify bundle error coverage
ScriptedAlchemy 10e9040
fix(lynx): harden artifact server paths
ScriptedAlchemy 3b2b052
docs(lynx): describe artifact server boundary
ScriptedAlchemy f77ac7a
Merge remote-tracking branch 'origin/main' into feat/lynx-federation
ScriptedAlchemy f6b691f
test(lynx-ios): make resource boundaries deterministic
ScriptedAlchemy 818406a
Merge remote-tracking branch 'origin/main' into feat/lynx-federation
ScriptedAlchemy 5d956d1
refactor(lynx): close resource lifecycle gaps
ScriptedAlchemy ac671ad
chore(lynx): finalize package boundaries
ScriptedAlchemy 298d326
feat(lynx): complete lazy federation integration
ScriptedAlchemy 022dc5e
Merge remote-tracking branch 'origin/main' into feat/lynx-federation
ScriptedAlchemy be79436
ci(lynx): speed up iOS federation validation
ScriptedAlchemy b223844
ci(lynx): harden iOS cache seeding
ScriptedAlchemy 0f1ae1e
fix(lynx): gate UI on background startup
ScriptedAlchemy 65be391
ci(lynx): persist iOS dependencies before tests
ScriptedAlchemy 29c9275
fix(lynx): synchronize first-screen handoff
ScriptedAlchemy d441951
ci(lynx): cache iOS build atomically
ScriptedAlchemy 682af30
fix(lynx): release manual first-screen handoff
ScriptedAlchemy 52e07ad
fix(lynx-ci): cache generated iOS workspace
ScriptedAlchemy a38efd0
fix(lynx): use built-in js-ready handoff
ScriptedAlchemy 9081f2d
fix(lynx): complete public lazy bundle transport
ScriptedAlchemy 42c3605
test(lynx): cover host lazy bundle identity
ScriptedAlchemy e35a41c
test(lynx): capture iOS simulator diagnostics
ScriptedAlchemy 9ba07b1
fix(lynx): execute native lazy background chunks
ScriptedAlchemy dc76172
fix(lynx): bootstrap lazy chunks before async startup
ScriptedAlchemy adf8abc
docs(lynx): document startup loader requirement
ScriptedAlchemy 022063b
docs(lynx): clarify automatic React bootstrap
ScriptedAlchemy d751ad0
fix(lynx): embed native main-thread container
ScriptedAlchemy 9d76f69
docs(lynx): note paired entry validation
ScriptedAlchemy 6ed7e5e
docs(lynx): describe paired native container
ScriptedAlchemy 7cacc66
fix(lynx): emit main-thread container before runtime wrapper
ScriptedAlchemy 3a06a6b
test(lynx): model runtime wrapper stage
ScriptedAlchemy 946b6a5
ci: retry pkg preview registration race
ScriptedAlchemy 25894cf
fix(lynx): encode external bundle mode
ScriptedAlchemy 021a221
fix(lynx): normalize split bundle public paths
ScriptedAlchemy 7e0f79f
test(lynx): use fresh lynx preview packages
ScriptedAlchemy 626f5b8
chore: merge main into feat/lynx-federation
ScriptedAlchemy dd26568
chore: merge main into feat/lynx-federation
ScriptedAlchemy 3d92cf7
chore: merge main into feat/lynx-federation
ScriptedAlchemy 87b5035
chore: merge latest main into feat/lynx-federation
ScriptedAlchemy 66c1c76
chore: merge main into feat/lynx-federation
ScriptedAlchemy 7c888a0
fix(manifest,managers): support Rspack layered shared metadata
ScriptedAlchemy 9da692c
fix(manifest): follow the shared-identifier layout webpack uses for l…
ScriptedAlchemy b5fd62f
fix(manifest): preserve provider and expose metadata across readers
ScriptedAlchemy 77c802b
test(manifest): verify layers with rspack preview
ScriptedAlchemy 707731f
fix(lynx): validate against the Rspack layers preview
ScriptedAlchemy 92e4503
chore: merge main into feat/lynx-federation
ScriptedAlchemy c022cfc
fix(lynx): resolve automatic chunk base once
ScriptedAlchemy 404ce94
test(manifest): load new remotes from a published legacy host
ScriptedAlchemy 15b864a
test(manifest): verify installed compatibility preview provenance
ScriptedAlchemy a5aa440
test(manifest): use corrected layers preview
ScriptedAlchemy 197d0c2
test(lynx): align verified layers and runtime previews
ScriptedAlchemy 2331d31
test(lynx): use native-safe compiler preview
ScriptedAlchemy a126115
refactor(manifest): separate provider metadata from layer support
ScriptedAlchemy 7ada742
refactor(manifest): remove public shared identity metadata
ScriptedAlchemy a6c1aa7
fix(managers): preserve shorthand expose import arrays
ScriptedAlchemy 884372f
fix(enhanced): match resolved shared requests by issuer layer
ScriptedAlchemy ffb917f
fix(manifest): read webpack shared asset layer identities
ScriptedAlchemy d5bacac
Merge branch 'main' into feat/rspack-layered-shared-metadata
ScriptedAlchemy 3a97875
Merge branch 'main' into feat/lynx-federation
ScriptedAlchemy b23ccee
feat(enhanced): align exposed and shared layer configuration
ScriptedAlchemy 2def209
Merge commit 'd5bacac797e70437d0bd809215ab68197095f668' into codex/la…
ScriptedAlchemy d820029
fix(deps): keep the branch lockfile resolution after merging main
ScriptedAlchemy ed666f7
fix(deps): keep the branch lockfile resolution after merging main
ScriptedAlchemy b69c99f
test(manifest): refresh layered Rspack preview provenance
ScriptedAlchemy 00cb74b
fix(enhanced): resolve layered consumes from issuer context
ScriptedAlchemy 41e53f4
refactor(enhanced): remove distinct empty-layer support
ScriptedAlchemy 5c429da
fix(enhanced): require nonempty expose layers
ScriptedAlchemy d410bef
test(enhanced): reuse expose fixtures and cache harness
ScriptedAlchemy b830b22
refactor(manifest): collect enhanced webpack metadata from graph
ScriptedAlchemy 07527d3
perf(manifest): collect webpack stats from compilation graph
ScriptedAlchemy 99df24c
chore: merge manifest graph foundation into layer support
ScriptedAlchemy 56e3d2c
test(manifest): remove unused expose map mock
ScriptedAlchemy 0a981ee
test(manifest): isolate graph compiler spies and timeout
ScriptedAlchemy 4ed63e3
test(manifest): merge graph compiler test isolation fix
ScriptedAlchemy 1798267
Merge origin/main into feat/lynx-federation
ScriptedAlchemy a27b9bb
Merge origin/main into feat/lynx-federation
ScriptedAlchemy 4ca1b88
fix(lynx): mark remote main-thread chunks before the runtime wrapper
ScriptedAlchemy b99a1c3
chore: merge main into manifest graph foundation
ScriptedAlchemy fb4a96f
fix(runtime): isolate shared layer variants
ScriptedAlchemy 192c6b5
Merge commit 'b99a1c38c81e835ea2bf41fea6a5aed8aca4ef5c' into feat/rsp…
ScriptedAlchemy d408599
test: preserve legacy host and layered compatibility coverage
ScriptedAlchemy 63d29b5
fix(runtime): accept legacy shared entries without shareConfig
ScriptedAlchemy 0f24871
docs(enhanced): document expose layers
ScriptedAlchemy 84a671f
test(manifest): pair final compiler preview with current runtime
ScriptedAlchemy e7d30e9
test(manifest): verify native previews through resolved package URLs
ScriptedAlchemy 78eaaa3
test(manifest): keep graph fixtures inside checkout
ScriptedAlchemy 8585d13
chore(manifest): refresh published preview checksums
ScriptedAlchemy d2903b2
fix(manifest): preserve legacy unnamed-chunk assets
ScriptedAlchemy de9bac0
chore: merge manifest rollback follow-up
ScriptedAlchemy 88fe106
Merge branch 'main' into codex/manifest-graph-foundation
ScriptedAlchemy efe3dc9
chore(lynx): merge main and reconcile dependency lockfile
ScriptedAlchemy 5882900
chore(enhanced): merge manifest foundation and preserve layer resolution
ScriptedAlchemy 71e1cb6
test(runtime): cover unlayered snapshot fallback identity
ScriptedAlchemy 6c1bf13
fix(lynx): reject unsupported native main-thread shares
ScriptedAlchemy ad0b69f
test(runtime): execute snapshot fallback getters
ScriptedAlchemy 913f0f0
docs(lynx): clarify native sharing boundary
ScriptedAlchemy 531536c
ci: pin Playwright jobs to Ubuntu 24.04
ScriptedAlchemy c604387
fix(lynx): align native encoder with template plugin
ScriptedAlchemy 53e1a20
chore: merge main into Lynx federation
ScriptedAlchemy dd51a81
chore: integrate reviewed federation layers into Lynx
ScriptedAlchemy b894d0f
chore: update federation layers from main
ScriptedAlchemy 8da26b9
ci(lynx): use supported Ubuntu for Playwright
ScriptedAlchemy f005f62
chore: align Lynx with current layers branch
ScriptedAlchemy 0207288
test(manifest): validate current Rspack layers preview
ScriptedAlchemy dfc1182
chore: use validated layers preview in Lynx
ScriptedAlchemy b658280
chore: preserve unrelated compiler resolutions
ScriptedAlchemy 9d19f2c
chore: align validated layers dependency history
ScriptedAlchemy 6a728b2
fix(runtime): keep shared scopes compatible with Lynx bytecode
ScriptedAlchemy 47efb7a
fix(lynx): validate current layers and external bundles together
ScriptedAlchemy 5c7d329
fix(lynx): align current preview packages and adapter types
ScriptedAlchemy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| '@module-federation/runtime-core': patch | ||
| '@module-federation/webpack-bundler-runtime': patch | ||
| --- | ||
|
|
||
| Avoid logical assignment syntax and use a standards-safe own-property check in | ||
| embedded federation runtime initializers so ES2019 and Lynx TASM consumers can | ||
| parse the generated runtime. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| --- | ||
| '@module-federation/lynx': minor | ||
| '@module-federation/runtime-core': patch | ||
| '@module-federation/sdk': patch | ||
| --- | ||
|
|
||
| Add an Rspeedy build adapter plus background and Lynx for Web main-thread | ||
| transports. Dual-realm remotes publish a standard Module Federation manifest | ||
| whose remote entry resolves to one HTTP-loadable external `.lynx.bundle`. | ||
| Compiled federated `import()` calls skip Lynx's local loader for remote-only | ||
| chunk IDs while preserving normal local JavaScript chunk loading. | ||
|
|
||
| Resolve manifest `publicPath: 'auto'` from the fetched response URL so | ||
| root-relative manifest entries remain portable in browser-like runtimes. |
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,166 @@ | ||
| # .github/workflows/e2e-lynx.yml | ||
| name: E2E Test for Lynx Module Federation | ||
|
|
||
| on: | ||
| workflow_call: | ||
|
|
||
| jobs: | ||
| e2e-lynx: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 30 | ||
| steps: | ||
| - name: Checkout Repository | ||
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Setup pnpm | ||
| uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4 | ||
|
|
||
| - name: Setup Node.js 24 | ||
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 | ||
| with: | ||
| node-version: '24' | ||
| cache: 'pnpm' | ||
| cache-dependency-path: '**/pnpm-lock.yaml' | ||
|
|
||
| - name: Export SKIP_DEVTOOLS_POSTINSTALL | ||
| run: echo "SKIP_DEVTOOLS_POSTINSTALL=true" >> "$GITHUB_ENV" | ||
|
|
||
| - name: Install dependencies | ||
| run: pnpm install --frozen-lockfile | ||
|
|
||
| - name: Validate Lynx and Android CI policy | ||
| run: pnpm --filter lynx-module-federation-demo run test:ci-policy | ||
|
|
||
| - name: Restore Turborepo cache | ||
| uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | ||
| with: | ||
| path: .turbo/cache | ||
| key: ${{ runner.os }}-turbo-${{ github.ref_name }}-${{ hashFiles('pnpm-lock.yaml') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-turbo-${{ github.ref_name }}- | ||
| ${{ runner.os }}-turbo- | ||
|
|
||
| - name: Build shared packages | ||
| run: pnpm run build:packages | ||
|
|
||
| - name: Install Playwright Chromium | ||
| run: pnpm --filter lynx-module-federation-demo exec playwright install --with-deps chromium | ||
|
|
||
| - name: Test Lynx federation compiler and transport | ||
| run: pnpm --filter @module-federation/lynx test | ||
|
|
||
| - name: Build and validate native Lynx artifacts | ||
| run: pnpm --filter lynx-module-federation-demo run e2e:native | ||
|
|
||
| - name: Validate standalone iOS project policy | ||
| run: pnpm --filter lynx-module-federation-demo run test:ios-project | ||
|
|
||
| - name: Upload native artifacts for iOS | ||
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | ||
| with: | ||
| name: lynx-native-ios-input | ||
| path: | | ||
| apps/lynx-module-federation-demo/dist/catalog-native/ | ||
| apps/lynx-module-federation-demo/dist/host-native/ | ||
| apps/lynx-module-federation-demo/dist/remote-native/ | ||
| if-no-files-found: error | ||
| retention-days: 1 | ||
|
|
||
| - name: Run real Lynx for Web E2E | ||
| run: pnpm --filter lynx-module-federation-demo run e2e:web | ||
|
|
||
| - name: Upload Lynx E2E failure artifacts | ||
| if: failure() | ||
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | ||
| with: | ||
| name: lynx-module-federation-e2e-failure | ||
| path: | | ||
| apps/lynx-module-federation-demo/test/real-web/artifacts/ | ||
| apps/lynx-module-federation-demo/dist/catalog-native/ | ||
| apps/lynx-module-federation-demo/dist/catalog-web/ | ||
| apps/lynx-module-federation-demo/dist/host-native/ | ||
| apps/lynx-module-federation-demo/dist/remote-native/ | ||
| apps/lynx-module-federation-demo/dist/host-web/ | ||
| apps/lynx-module-federation-demo/dist/remote-web/ | ||
| if-no-files-found: ignore | ||
| retention-days: 7 | ||
|
|
||
| e2e-lynx-ios: | ||
| needs: e2e-lynx | ||
| runs-on: macos-15 | ||
| timeout-minutes: 120 | ||
| env: | ||
| DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer | ||
| NO_COLOR: 1 | ||
| RUBY_VERSION: 3.4.9 | ||
| steps: | ||
| - name: Checkout Repository | ||
| uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Setup Node.js 24 | ||
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 | ||
| with: | ||
| node-version: '24' | ||
|
|
||
| - name: Setup Ruby | ||
| uses: ruby/setup-ruby@97ecb7b512899eb71ab1bf2310a624c6f1589ac6 # v1 | ||
| with: | ||
| ruby-version: ${{ env.RUBY_VERSION }} | ||
|
|
||
| - name: Cache iOS dependencies | ||
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | ||
| with: | ||
| path: | | ||
| ~/.cocoapods/repos/trunk | ||
| ~/Library/Caches/CocoaPods | ||
| apps/lynx-module-federation-demo/ios/Pods | ||
| apps/lynx-module-federation-demo/ios/vendor/bundle | ||
| key: ${{ runner.os }}-${{ runner.arch }}-lynx-ios-xcode-16.4-ruby-${{ env.RUBY_VERSION }}-${{ hashFiles('apps/lynx-module-federation-demo/ios/Gemfile', 'apps/lynx-module-federation-demo/ios/Gemfile.lock', 'apps/lynx-module-federation-demo/ios/Podfile', 'apps/lynx-module-federation-demo/ios/Podfile.lock') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-${{ runner.arch }}-lynx-ios-xcode-16.4-ruby-${{ env.RUBY_VERSION }}- | ||
|
|
||
| - name: Download native artifacts | ||
| uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 | ||
| with: | ||
| name: lynx-native-ios-input | ||
| path: apps/lynx-module-federation-demo/dist | ||
|
|
||
| - name: Embed native host bundle | ||
| run: node apps/lynx-module-federation-demo/scripts/sync-ios-bundle.mjs | ||
|
|
||
| - name: Install iOS dependencies | ||
| working-directory: apps/lynx-module-federation-demo/ios | ||
| run: | | ||
| bundle config set path vendor/bundle | ||
| bundle install --jobs 4 --retry 3 | ||
| bundle exec pod install --deployment | ||
|
|
||
| - name: Run standalone iOS federation E2E | ||
| run: node apps/lynx-module-federation-demo/test/ios/run.mjs | ||
|
|
||
| - name: Upload iOS E2E evidence | ||
| if: success() | ||
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | ||
| with: | ||
| name: lynx-ios-e2e | ||
| path: | | ||
| apps/lynx-module-federation-demo/ios/build/orbit-control.png | ||
| apps/lynx-module-federation-demo/ios/build/requests.json | ||
| if-no-files-found: error | ||
| retention-days: 7 | ||
|
|
||
| - name: Upload iOS E2E failure artifacts | ||
| if: failure() | ||
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | ||
| with: | ||
| name: lynx-ios-e2e-failure | ||
| path: | | ||
| apps/lynx-module-federation-demo/ios/build/OrbitControl-Release.xcresult/ | ||
| apps/lynx-module-federation-demo/ios/build/orbit-control.png | ||
| apps/lynx-module-federation-demo/ios/build/requests.json | ||
| if-no-files-found: ignore | ||
| retention-days: 7 |
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| dist/ | ||
| .lynx-e2e-*/ | ||
| .turbo/ | ||
| test/real-web/artifacts/ | ||
| ios/.bundle/ | ||
| ios/Pods/ | ||
| ios/OrbitControl.xcworkspace/ | ||
| ios/Resources/main.lynx.bundle | ||
| ios/Resources/static/ | ||
| ios/build/ | ||
| ios/vendor/bundle/ |
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.