|
| 1 | +# Incremental Merge Plan: app-router-share-filter → share-filter |
| 2 | + |
| 3 | +## Overview |
| 4 | +Systematically merge 67 applicable files from `app-router-share-filter` to `share-filter` branch in logical increments, with CI validation after each increment. |
| 5 | + |
| 6 | +## Total Files to Merge: 67 |
| 7 | +*Excluding: pnpm-lock.yaml, __mocks__, .node binaries, and cypress test files* |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +## Increment A: CI/CD and Development Infrastructure (9 files) |
| 12 | +**Priority**: High - Foundation changes that affect build/test processes |
| 13 | + |
| 14 | +- [ ] `.github/workflows/build-and-test.yml` |
| 15 | +- [ ] `.github/workflows/release.yml` |
| 16 | +- [ ] `.cursor/rules/running-tests.mdc` |
| 17 | +- [ ] `.cursorignore` |
| 18 | +- [ ] `apps/next-app-router/next-app-router-4000/cypress.config.ts` |
| 19 | +- [ ] `apps/next-app-router/next-app-router-4000/project.json` |
| 20 | +- [ ] `apps/next-app-router/next-app-router-4001/project.json` |
| 21 | +- [ ] `packages/enhanced/.cursorrules` |
| 22 | +- [ ] `package.json` |
| 23 | + |
| 24 | +**Post-Increment**: ✅ Run CI validation |
| 25 | + |
| 26 | +--- |
| 27 | + |
| 28 | +## Increment B: Documentation and Changesets (10 files) |
| 29 | +**Priority**: Medium - Documentation and release notes |
| 30 | + |
| 31 | +- [ ] `.changeset/ai-eager-wolf.md` |
| 32 | +- [ ] `.changeset/ai-happy-fox.md` |
| 33 | +- [ ] `.changeset/ai-hungry-bear.md` |
| 34 | +- [ ] `.changeset/ai-sleepy-fox.md` |
| 35 | +- [ ] `.changeset/ai-sleepy-tiger.md` |
| 36 | +- [ ] `.changeset/brown-badgers-fetch.md` |
| 37 | +- [ ] `.changeset/shy-snails-battle.md` |
| 38 | +- [ ] `apps/website-new/docs/en/configure/advanced-sharing.mdx` |
| 39 | +- [ ] `apps/website-new/docs/en/configure/experiments.mdx` |
| 40 | +- [ ] `apps/website-new/docs/en/guide/basic/vite.mdx` |
| 41 | + |
| 42 | +**Post-Increment**: ✅ Run CI validation |
| 43 | + |
| 44 | +--- |
| 45 | + |
| 46 | +## Increment C: Core Package Dependencies (6 files) |
| 47 | +**Priority**: High - Package.json updates that affect dependencies |
| 48 | + |
| 49 | +- [ ] `packages/data-prefetch/package.json` |
| 50 | +- [ ] `packages/node/package.json` |
| 51 | +- [ ] `packages/runtime-core/package.json` |
| 52 | +- [ ] `apps/3000-home/package.json` |
| 53 | +- [ ] `apps/3001-shop/package.json` |
| 54 | +- [ ] `apps/3002-checkout/package.json` |
| 55 | + |
| 56 | +**Post-Increment**: ✅ Run `pnpm install` and CI validation |
| 57 | + |
| 58 | +--- |
| 59 | + |
| 60 | +## Increment D: Enhanced Library Core Changes (8 files) |
| 61 | +**Priority**: Critical - Core sharing plugin functionality |
| 62 | + |
| 63 | +- [ ] `packages/enhanced/src/lib/container/RemoteModule.ts` |
| 64 | +- [ ] `packages/enhanced/src/lib/container/runtime/EmbedFederationRuntimePlugin.ts` |
| 65 | +- [ ] `packages/enhanced/src/lib/sharing/ConsumeSharedPlugin.ts` |
| 66 | +- [ ] `packages/enhanced/src/lib/sharing/resolveMatchedConfigs.ts` |
| 67 | +- [ ] `packages/enhanced/test/unit/container/RemoteModule.test.ts` |
| 68 | +- [ ] `packages/enhanced/test/unit/sharing/share.utils.test.ts` |
| 69 | +- [ ] `packages/nextjs-mf/src/internal.test.ts` |
| 70 | +- [ ] `packages/managers/__tests__/__snapshots__/SharedManager.spec.ts.snap` |
| 71 | + |
| 72 | +**Post-Increment**: ✅ Run tests and CI validation |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## Increment E: Bridge and Data Prefetch Updates (4 files) |
| 77 | +**Priority**: High - React 19 compatibility and bridge functionality |
| 78 | + |
| 79 | +- [ ] `packages/bridge/bridge-react/__tests__/bridge.spec.tsx` |
| 80 | +- [ ] `packages/bridge/bridge-react/src/v19.ts` |
| 81 | +- [ ] `packages/data-prefetch/__tests__/react.spec.ts` |
| 82 | +- [ ] `packages/modernjs/src/runtime/AwaitDataFetch.tsx` |
| 83 | + |
| 84 | +**Post-Increment**: ✅ Run tests and CI validation |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +## Increment F: Next.js App Router Applications (15 files) |
| 89 | +**Priority**: Medium - App router demo applications |
| 90 | + |
| 91 | +- [ ] `apps/next-app-router/next-app-router-4000/app/context/context-click-counter.tsx` |
| 92 | +- [ ] `apps/next-app-router/next-app-router-4000/app/error-handling/[categorySlug]/[subCategorySlug]/error.tsx` |
| 93 | +- [ ] `apps/next-app-router/next-app-router-4000/app/error-handling/[categorySlug]/error.tsx` |
| 94 | +- [ ] `apps/next-app-router/next-app-router-4000/app/error-handling/error.tsx` |
| 95 | +- [ ] `apps/next-app-router/next-app-router-4000/app/hooks/page.tsx` |
| 96 | +- [ ] `apps/next-app-router/next-app-router-4000/app/layout.tsx` |
| 97 | +- [ ] `apps/next-app-router/next-app-router-4000/app/page.tsx` |
| 98 | +- [ ] `apps/next-app-router/next-app-router-4000/next.config.js` |
| 99 | +- [ ] `apps/next-app-router/next-app-router-4000/package.json` |
| 100 | +- [ ] `apps/next-app-router/next-app-router-4000/pages/router-test.tsx` |
| 101 | +- [ ] `apps/next-app-router/next-app-router-4000/ui/address-bar.tsx` |
| 102 | +- [ ] `apps/next-app-router/next-app-router-4001/app/demo/page.tsx` |
| 103 | +- [ ] `apps/next-app-router/next-app-router-4001/next.config.js` |
| 104 | +- [ ] `apps/next-app-router/next-app-router-4001/package.json` |
| 105 | +- [ ] `apps/next-app-router/next-app-router-4001/pages/router-test.tsx` |
| 106 | + |
| 107 | +**Post-Increment**: ✅ Run CI validation |
| 108 | + |
| 109 | +--- |
| 110 | + |
| 111 | +## Increment G: Next.js Demo Apps Package Updates (8 files) |
| 112 | +**Priority**: Low - Type definitions and component updates |
| 113 | + |
| 114 | +- [ ] `apps/3000-home/next-env.d.ts` |
| 115 | +- [ ] `apps/3001-shop/next-env.d.ts` |
| 116 | +- [ ] `apps/3002-checkout/next-env.d.ts` |
| 117 | +- [ ] `apps/next-app-router/next-app-router-4000/next-env.d.ts` |
| 118 | +- [ ] `apps/next-app-router/next-app-router-4001/next-env.d.ts` |
| 119 | +- [ ] `apps/next-app-router/next-app-router-4001/app/hooks/_components/router-context-layout.tsx` |
| 120 | +- [ ] `apps/next-app-router/next-app-router-4001/app/isr/layout.tsx` |
| 121 | +- [ ] `apps/next-app-router/next-app-router-4001/app/layout.tsx` |
| 122 | +- [ ] `apps/next-app-router/next-app-router-4001/app/layouts/[categorySlug]/layout.tsx` |
| 123 | +- [ ] `apps/next-app-router/next-app-router-4001/app/page.tsx` |
| 124 | +- [ ] `apps/next-app-router/next-app-router-4001/ui/global-nav.tsx` |
| 125 | + |
| 126 | +**Post-Increment**: ✅ Run CI validation |
| 127 | + |
| 128 | +--- |
| 129 | + |
| 130 | +## Increment H: Runtime Core and Node Updates (5 files) |
| 131 | +**Priority**: Medium - Runtime functionality improvements |
| 132 | + |
| 133 | +- [ ] `packages/runtime-core/__tests__/semver.spec.ts` |
| 134 | +- [ ] `packages/runtime-core/src/constant.ts` |
| 135 | +- [ ] `packages/runtime-core/src/core.ts` |
| 136 | +- [ ] `packages/runtime-core/src/remote/index.ts` |
| 137 | +- [ ] `packages/node/src/runtimePlugin.ts` |
| 138 | + |
| 139 | +**Post-Increment**: ✅ Run tests and CI validation |
| 140 | + |
| 141 | +--- |
| 142 | + |
| 143 | +## Increment I: Miscellaneous and New Features (4 files) |
| 144 | +**Priority**: Low - New features and cleanup |
| 145 | + |
| 146 | +- [ ] `main.py` (New Python script - 196 lines) |
| 147 | +- [ ] `apps/next-app-router/next-app-router-4001/classic/button.tsx` (Deleted file) |
| 148 | +- [ ] `apps/next-app-router/next-app-router-4001/rsc/button.tsx` (Deleted file) |
| 149 | +- [ ] `apps/next-app-router/next-app-router-4001/ui/random.tsx` (Deleted file) |
| 150 | + |
| 151 | +**Post-Increment**: ✅ Run CI validation |
| 152 | + |
| 153 | +--- |
| 154 | + |
| 155 | +## Execution Strategy |
| 156 | + |
| 157 | +### For Each Increment: |
| 158 | +1. **Checkout files** from `origin/app-router-share-filter` |
| 159 | +2. **Review changes** - ensure they're applicable and safe |
| 160 | +3. **Resolve conflicts** if any |
| 161 | +4. **Commit changes** with descriptive message |
| 162 | +5. **Push to remote** |
| 163 | +6. **Wait for CI** to pass before proceeding |
| 164 | +7. **Mark increment complete** |
| 165 | + |
| 166 | +### Commands Template: |
| 167 | +```bash |
| 168 | +# For each file in increment |
| 169 | +git checkout origin/app-router-share-filter -- <file-path> |
| 170 | + |
| 171 | +# Review and commit |
| 172 | +git add . |
| 173 | +git commit -m "feat: merge increment X - <description> |
| 174 | +
|
| 175 | +🤖 Generated with [Claude Code](https://claude.ai/code) |
| 176 | +
|
| 177 | +Co-Authored-By: Claude <[email protected]>" |
| 178 | + |
| 179 | +# Push and wait for CI |
| 180 | +git push origin share-filter |
| 181 | +``` |
| 182 | + |
| 183 | +### Success Criteria: |
| 184 | +- ✅ All 67 files successfully merged |
| 185 | +- ✅ CI passes after each increment |
| 186 | +- ✅ No regression in existing functionality |
| 187 | +- ✅ Enhanced layer support features preserved |
| 188 | +- ✅ Branch ready for production use |
| 189 | + |
| 190 | +--- |
| 191 | + |
| 192 | +## Notes: |
| 193 | +- **Excluded large files**: pnpm-lock.yaml (handle separately), __mocks__ (400K+ lines), cypress tests |
| 194 | +- **Critical increments**: A, C, D, E (affect core functionality) |
| 195 | +- **Optional increments**: B, F, G, I (documentation and demos) |
| 196 | +- **Stop and investigate** if any increment fails CI |
0 commit comments