@fulgurjs/federation 6.8.7 → 6.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.en.md +3 -0
  3. package/README.md +3 -0
  4. package/dist/application-core-BuhXQmLF.d.cts +16 -0
  5. package/dist/application-core-DWI3eKme.d.ts +16 -0
  6. package/dist/bridge-app-react.cjs +177 -9
  7. package/dist/bridge-app-react.d.cts +15 -3
  8. package/dist/bridge-app-react.d.ts +15 -3
  9. package/dist/bridge-app-react.js +101 -9
  10. package/dist/bridge-app-vue.cjs +138 -12
  11. package/dist/bridge-app-vue.d.cts +20 -5
  12. package/dist/bridge-app-vue.d.ts +20 -5
  13. package/dist/bridge-app-vue.js +62 -12
  14. package/dist/bridge-host-react.d.cts +1 -1
  15. package/dist/bridge-host-react.d.ts +1 -1
  16. package/dist/bridge-host-vue.d.cts +1 -1
  17. package/dist/bridge-host-vue.d.ts +1 -1
  18. package/dist/chunk-6OB47FSR.js +81 -0
  19. package/dist/cli.js +349 -23
  20. package/dist/index.cjs +7 -6
  21. package/dist/index.js +7 -6
  22. package/dist/react-adapter.d.cts +1 -1
  23. package/dist/react-adapter.d.ts +1 -1
  24. package/dist/react.d.ts +29 -4
  25. package/dist/react.js +1 -0
  26. package/dist/{remote-types-xf1B6_pK.d.ts → remote-types-COmBhjRc.d.ts} +1 -1
  27. package/dist/{remote-types-58hdbx6x.d.cts → remote-types-CStGOJwu.d.cts} +1 -1
  28. package/dist/runtime.js +1 -1
  29. package/dist/vue-adapter.d.cts +1 -1
  30. package/dist/vue-adapter.d.ts +1 -1
  31. package/dist/vue-store.cjs +40 -0
  32. package/dist/vue-store.d.cts +4 -0
  33. package/dist/vue-store.d.ts +4 -0
  34. package/dist/vue-store.js +15 -0
  35. package/dist/vue.d.ts +37 -6
  36. package/dist/vue.js +2 -0
  37. package/docs/en/reference/api.md +38 -2
  38. package/docs/en/reference/types.md +27 -0
  39. package/docs/zh/reference/api.md +46 -2
  40. package/docs/zh/reference/types.md +27 -0
  41. package/examples/templates/README.md +3 -0
  42. package/examples/templates/react-host-vue-remote/README.md +24 -0
  43. package/examples/templates/react-host-vue-remote/package.json +2 -1
  44. package/examples/templates/react-host-vue-remote/pnpm-lock.yaml +189 -189
  45. package/examples/templates/react-host-vue-remote/pnpm-workspace.yaml +1 -1
  46. package/examples/templates/react-host-vue-remote/react-host/package.json +1 -1
  47. package/examples/templates/react-host-vue-remote/react-host/src/application.tsx +62 -0
  48. package/examples/templates/react-host-vue-remote/react-host/src/main.tsx +2 -62
  49. package/examples/templates/react-host-vue-remote/scripts/prod.mjs +101 -0
  50. package/examples/templates/react-host-vue-remote/vue-remote/README.md +17 -16
  51. package/examples/templates/react-host-vue-remote/vue-remote/fulgurjs.config.ts +2 -2
  52. package/examples/templates/react-host-vue-remote/vue-remote/package.json +1 -1
  53. package/examples/templates/react-host-vue-remote/vue-remote/src/AboutPage.vue +1 -0
  54. package/examples/templates/react-host-vue-remote/vue-remote/src/App.vue +15 -5
  55. package/examples/templates/react-host-vue-remote/vue-remote/src/HomePage.vue +1 -0
  56. package/examples/templates/react-host-vue-remote/vue-remote/src/application.ts +19 -0
  57. package/examples/templates/react-host-vue-remote/vue-remote/src/main.ts +2 -15
  58. package/examples/templates/react-react/README.md +25 -1
  59. package/examples/templates/react-react/host/package.json +1 -1
  60. package/examples/templates/react-react/host/src/application.tsx +33 -0
  61. package/examples/templates/react-react/host/src/main.tsx +3 -32
  62. package/examples/templates/react-react/package.json +2 -1
  63. package/examples/templates/react-react/pnpm-lock.yaml +123 -123
  64. package/examples/templates/react-react/pnpm-workspace.yaml +1 -1
  65. package/examples/templates/react-react/remote/package.json +1 -1
  66. package/examples/templates/react-react/remote/src/application.tsx +11 -0
  67. package/examples/templates/react-react/remote/src/main.tsx +3 -10
  68. package/examples/templates/react-react/scripts/prod.mjs +101 -0
  69. package/examples/templates/showcase/README.md +35 -7
  70. package/examples/templates/showcase/package.json +2 -1
  71. package/examples/templates/showcase/pnpm-lock.yaml +196 -196
  72. package/examples/templates/showcase/pnpm-workspace.yaml +1 -1
  73. package/examples/templates/showcase/react-host/package.json +1 -1
  74. package/examples/templates/showcase/react-host/src/application.tsx +28 -0
  75. package/examples/templates/showcase/react-host/src/demo-log.ts +5 -8
  76. package/examples/templates/showcase/react-host/src/main.tsx +2 -33
  77. package/examples/templates/showcase/react-host/src/routing.ts +2 -2
  78. package/examples/templates/showcase/react-remote/fulgurjs.config.ts +1 -1
  79. package/examples/templates/showcase/react-remote/package.json +1 -1
  80. package/examples/templates/showcase/react-remote/src/ChildLayout.tsx +3 -2
  81. package/examples/templates/showcase/react-remote/src/{bridge.tsx → application.tsx} +21 -21
  82. package/examples/templates/showcase/react-remote/src/child-bus.ts +23 -23
  83. package/examples/templates/showcase/react-remote/src/main.tsx +2 -18
  84. package/examples/templates/showcase/react-remote/src/pages/Locked.tsx +2 -1
  85. package/examples/templates/showcase/react-remote/src/pages/OrderDetail.tsx +2 -1
  86. package/examples/templates/showcase/react-remote/src/pages/OrderList.tsx +2 -1
  87. package/examples/templates/showcase/scripts/prod.mjs +101 -0
  88. package/examples/templates/showcase/vue-host/package.json +1 -1
  89. package/examples/templates/showcase/vue-host/src/application.ts +28 -0
  90. package/examples/templates/showcase/vue-host/src/demo-log.ts +4 -7
  91. package/examples/templates/showcase/vue-host/src/main.ts +2 -30
  92. package/examples/templates/showcase/vue-host/src/routing.ts +2 -2
  93. package/examples/templates/showcase/vue-remote/fulgurjs.config.ts +1 -1
  94. package/examples/templates/showcase/vue-remote/package.json +1 -1
  95. package/examples/templates/showcase/vue-remote/src/ChildLayout.vue +3 -2
  96. package/examples/templates/showcase/vue-remote/src/{bridge.ts → application.ts} +10 -13
  97. package/examples/templates/showcase/vue-remote/src/child-bus.ts +23 -23
  98. package/examples/templates/showcase/vue-remote/src/main.ts +2 -16
  99. package/examples/templates/showcase/vue-remote/src/pages/Locked.vue +2 -1
  100. package/examples/templates/showcase/vue-remote/src/pages/OrderDetail.vue +2 -1
  101. package/examples/templates/showcase/vue-remote/src/pages/OrderList.vue +2 -1
  102. package/examples/templates/vue-host-react-remote/README.md +24 -0
  103. package/examples/templates/vue-host-react-remote/package.json +2 -1
  104. package/examples/templates/vue-host-react-remote/pnpm-lock.yaml +184 -184
  105. package/examples/templates/vue-host-react-remote/pnpm-workspace.yaml +1 -1
  106. package/examples/templates/vue-host-react-remote/react-remote/README.md +17 -17
  107. package/examples/templates/vue-host-react-remote/react-remote/fulgurjs.config.ts +2 -2
  108. package/examples/templates/vue-host-react-remote/react-remote/package.json +1 -1
  109. package/examples/templates/vue-host-react-remote/react-remote/src/{bridge.tsx → application.tsx} +13 -24
  110. package/examples/templates/vue-host-react-remote/react-remote/src/main.tsx +2 -7
  111. package/examples/templates/vue-host-react-remote/scripts/prod.mjs +101 -0
  112. package/examples/templates/vue-host-react-remote/vue-host/package.json +1 -1
  113. package/examples/templates/vue-host-react-remote/vue-host/src/application.ts +5 -0
  114. package/examples/templates/vue-host-react-remote/vue-host/src/main.ts +2 -4
  115. package/examples/templates/vue-vue/README.md +25 -1
  116. package/examples/templates/vue-vue/host/package.json +1 -1
  117. package/examples/templates/vue-vue/host/src/application.ts +54 -0
  118. package/examples/templates/vue-vue/host/src/main.ts +3 -50
  119. package/examples/templates/vue-vue/package.json +2 -1
  120. package/examples/templates/vue-vue/pnpm-lock.yaml +182 -182
  121. package/examples/templates/vue-vue/pnpm-workspace.yaml +1 -1
  122. package/examples/templates/vue-vue/remote/package.json +1 -1
  123. package/examples/templates/vue-vue/remote/src/application.ts +6 -0
  124. package/examples/templates/vue-vue/remote/src/main.ts +3 -5
  125. package/examples/templates/vue-vue/scripts/prod.mjs +101 -0
  126. package/package.json +14 -9
  127. package/examples/templates/react-host-vue-remote/react-host/src/fulgurjs/types/bridge-vue-remote/metadata.json +0 -15
  128. package/examples/templates/react-host-vue-remote/react-host/src/fulgurjs/types/bridge-vue-remote/modules.d.ts +0 -14
  129. package/examples/templates/react-host-vue-remote/react-host/src/fulgurjs/types/bridge-vue-remote/registry.d.ts +0 -10
  130. package/examples/templates/react-host-vue-remote/vue-remote/src/bridge.ts +0 -57
  131. package/examples/templates/showcase/react-host/src/fulgurjs/types/vue-remote/metadata.json +0 -16
  132. package/examples/templates/showcase/react-host/src/fulgurjs/types/vue-remote/modules.d.ts +0 -71
  133. package/examples/templates/showcase/react-host/src/fulgurjs/types/vue-remote/registry.d.ts +0 -10
  134. package/examples/templates/showcase/vue-host/src/fulgurjs/types/react-remote/metadata.json +0 -16
  135. package/examples/templates/showcase/vue-host/src/fulgurjs/types/react-remote/modules.d.ts +0 -79
  136. package/examples/templates/showcase/vue-host/src/fulgurjs/types/react-remote/registry.d.ts +0 -10
  137. package/examples/templates/vue-host-react-remote/vue-host/src/fulgurjs/types/bridge-react-remote/metadata.json +0 -16
  138. package/examples/templates/vue-host-react-remote/vue-host/src/fulgurjs/types/bridge-react-remote/modules.d.ts +0 -10
  139. package/examples/templates/vue-host-react-remote/vue-host/src/fulgurjs/types/bridge-react-remote/registry.d.ts +0 -10
@@ -11,8 +11,8 @@ importers:
11
11
  host:
12
12
  dependencies:
13
13
  '@fulgurjs/federation':
14
- specifier: 6.8.5
15
- version: 6.8.5(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)
14
+ specifier: 6.9.0
15
+ version: 6.9.0(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)
16
16
  react:
17
17
  specifier: ^19.1.0
18
18
  version: 19.3.0
@@ -42,8 +42,8 @@ importers:
42
42
  remote:
43
43
  dependencies:
44
44
  '@fulgurjs/federation':
45
- specifier: 6.8.5
46
- version: 6.8.5(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)
45
+ specifier: 6.9.0
46
+ version: 6.9.0(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)
47
47
  react:
48
48
  specifier: ^19.1.0
49
49
  version: 19.3.0
@@ -464,8 +464,8 @@ packages:
464
464
  cpu: [x64]
465
465
  os: [win32]
466
466
 
467
- '@fulgurjs/federation@6.8.5':
468
- resolution: {integrity: sha512-RsaN4n2ZgGBtI9zVQxDclS3QxYVKAZiCGipXR3umreAg651tIYCmtqkVjqPELSCPW9tg/rYQvzzs/SOV6ZiQfg==}
467
+ '@fulgurjs/federation@6.9.0':
468
+ resolution: {integrity: sha512-QZYV+5zIgPsrqpsii1RlAj/QWIHzFDc+TYT+4AmJMvun4NvhafaJsxyKL3wwJ8iqEyUyMyb7CYnoY+UTAP/Caw==}
469
469
  engines: {node: '>=18'}
470
470
  hasBin: true
471
471
  peerDependencies:
@@ -513,141 +513,141 @@ packages:
513
513
  '@rolldown/pluginutils@1.0.0-rc.3':
514
514
  resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==}
515
515
 
516
- '@rollup/rollup-android-arm-eabi@4.64.3':
517
- resolution: {integrity: sha512-a31GFbL70GlGUGhn8goVjRLtdDG1urLCJFWLZ7JcxdHK9pPvCohLFtYLgJDdNbtrNZSrJl1u9bK05ISsSC2EpA==}
516
+ '@rollup/rollup-android-arm-eabi@4.64.6':
517
+ resolution: {integrity: sha512-FkO19Fowv/OQeJZPVfdetJaI3/VpbZmBsnmAlR/rQ+b3QwfiGQiOpVegpSRH331kelvHTVw9hXYG3DwjAaRzyQ==}
518
518
  cpu: [arm]
519
519
  os: [android]
520
520
 
521
- '@rollup/rollup-android-arm64@4.64.3':
522
- resolution: {integrity: sha512-IRv757RLiPGlNxAX5JXU0eiUlUPvKiwFRbkqLd+gywptLK4uSEg1qkl6en6r0cXMazSnWUWOBABv+QfuLV3n5Q==}
521
+ '@rollup/rollup-android-arm64@4.64.6':
522
+ resolution: {integrity: sha512-si5/Etm6MphPc2xYHnk455Shls/hoMjTy3mhXge4OPmvCw7TwC4KP4fKokAlKLV4XaQvLvgSHfafPcblLMYYdQ==}
523
523
  cpu: [arm64]
524
524
  os: [android]
525
525
 
526
- '@rollup/rollup-darwin-arm64@4.64.3':
527
- resolution: {integrity: sha512-UkzI35Fnz6+MJNATdnjnZ3TpdG/rXab8h7oDOD9R0zDVIFmuuYrvgUj8V8mh+A//+LR4TlEQo4ZW4RhyRtWv3A==}
526
+ '@rollup/rollup-darwin-arm64@4.64.6':
527
+ resolution: {integrity: sha512-PQCl3q7b0BgvVt72i2xrWM6I5KliwwVe4GpWW5QDGyUQawDS9aPZss/aGyFqBmxdRxlE8wDc9CaxiQ5DHRSp/Q==}
528
528
  cpu: [arm64]
529
529
  os: [darwin]
530
530
 
531
- '@rollup/rollup-darwin-x64@4.64.3':
532
- resolution: {integrity: sha512-C3AyMtAnKQ/jSkZ0chIoWbPXRbFz8JnPLhl1ULecEhcaOGkT19xt7KmO8BulQxt9S/XideHRXvsVQUbGj4JCOg==}
531
+ '@rollup/rollup-darwin-x64@4.64.6':
532
+ resolution: {integrity: sha512-l9DFl1Itb1YYdSrP1K3U8ih44AOHa/p+Q4WMMDfGvH5qVWp+ajfgS1DlYo4yCRh8wJ2ZJv0Fqccf+ULAmMFjmg==}
533
533
  cpu: [x64]
534
534
  os: [darwin]
535
535
 
536
- '@rollup/rollup-freebsd-arm64@4.64.3':
537
- resolution: {integrity: sha512-M8yAdBMyHh14JLeXDNGvEkljzuHdcoLBQ399O4Fp4nvX51lueuEY/5U2G9Ci0D6/bQlBp/3JLiBQH55STwwbwg==}
536
+ '@rollup/rollup-freebsd-arm64@4.64.6':
537
+ resolution: {integrity: sha512-bR4GR3205N9+od0+l5Dd9/iZTDpJkIe6d6Ydp2qbcQZJLmKBdYQQRp8gbWpbMt92twKJY66o1vK4NkoKQODIrA==}
538
538
  cpu: [arm64]
539
539
  os: [freebsd]
540
540
 
541
- '@rollup/rollup-freebsd-x64@4.64.3':
542
- resolution: {integrity: sha512-WQjuOKGh2FN98ZK6i0uM6M6YqnPEds85p3oRkrxiEeTQo/p7RpuU8c9MwQ88LfgwVAzohumlzbQQSikz4Zw9rw==}
541
+ '@rollup/rollup-freebsd-x64@4.64.6':
542
+ resolution: {integrity: sha512-XTVNaDzcFl2TeBglvxdGgsCv9JGtAGRAoJENmGBR/XvDH2mA2K0IXc2aMfP0dR8mexSXSKifJ85FixoXX1wfTw==}
543
543
  cpu: [x64]
544
544
  os: [freebsd]
545
545
 
546
- '@rollup/rollup-linux-arm-gnueabihf@4.64.3':
547
- resolution: {integrity: sha512-5tDLZG5s9WyVKoEHgwos6FpKrgpotl61EYeHSLSVkQzMzTsaClwEr8mok9rm3y734zjiGInG4dfw/56ebWVvEQ==}
546
+ '@rollup/rollup-linux-arm-gnueabihf@4.64.6':
547
+ resolution: {integrity: sha512-qWc6qbc+25ugG9vqPR9P422KJBbVfZ05mjcMggoq8tsfWP+eRfC+/tiDdIlRF5VL2pDVZWN9zAhWsmu7R1+7Dw==}
548
548
  cpu: [arm]
549
549
  os: [linux]
550
550
  libc: [glibc]
551
551
 
552
- '@rollup/rollup-linux-arm-musleabihf@4.64.3':
553
- resolution: {integrity: sha512-Mh5KbLeplM2HX6lQI18jsxSsqvPW8d+Hyk8HtY6Zl93woMitRSCZ92rBEzq6v8bfZGlpyMgj4P/sKW4KCjhH3A==}
552
+ '@rollup/rollup-linux-arm-musleabihf@4.64.6':
553
+ resolution: {integrity: sha512-V4Nwkp8844X/Xnww3PI1LYS0YPei8XQEVG70R+5MPZGO7AhYoun4hCN7Svs4U3wbQLZbwiz+9xRFhUZZdRl8Ww==}
554
554
  cpu: [arm]
555
555
  os: [linux]
556
556
  libc: [musl]
557
557
 
558
- '@rollup/rollup-linux-arm64-gnu@4.64.3':
559
- resolution: {integrity: sha512-QZrrwHnznTv6y4iiHtCqDN+ZsF4qNFQObMOLgPrbxhh9O5o4rgoUe5OnkqG/ceCObMrAjhQt+eQ6HSDzBFgVMw==}
558
+ '@rollup/rollup-linux-arm64-gnu@4.64.6':
559
+ resolution: {integrity: sha512-xb72A1aPaaIsp+a88VtRae/ovIEXislbUMyp7b9AQQU7ZkP2m/+ik6DW9TQcJyw5R8/RIailF9zExYwkjR++UA==}
560
560
  cpu: [arm64]
561
561
  os: [linux]
562
562
  libc: [glibc]
563
563
 
564
- '@rollup/rollup-linux-arm64-musl@4.64.3':
565
- resolution: {integrity: sha512-4vLehpXSwlkltnvk5ETB+Hz+d3xayZS3NamZ5Vq4bSo+IUoIALovEJF1YgWPMjHwN7R5o/R4BpP9h3q8EK1xAA==}
564
+ '@rollup/rollup-linux-arm64-musl@4.64.6':
565
+ resolution: {integrity: sha512-pbcs1BVBwC43hZkjhjlF8Rx8m5G0KnhLZs9Azy/gqccP6UsNSzJr0hKGIAVPqzAH1O/NdPxxC9GVGb4msQg/aw==}
566
566
  cpu: [arm64]
567
567
  os: [linux]
568
568
  libc: [musl]
569
569
 
570
- '@rollup/rollup-linux-loong64-gnu@4.64.3':
571
- resolution: {integrity: sha512-SEN7TTTOdXJKZmsWKOnQeVfgy3Dje/08ISXWwFhTggQ3SxjuIaChvmOB5ZDZqJNlBjaXrV6nAHraqEAvdLGqcw==}
570
+ '@rollup/rollup-linux-loong64-gnu@4.64.6':
571
+ resolution: {integrity: sha512-EKOC8os6Vsg487ZLKUqzLF99Jsmnq6tu7O7mAELakNpcA+8KadktFf/JYdRuHe/DzCUXmN38pUKu4XBcKlqGbQ==}
572
572
  cpu: [loong64]
573
573
  os: [linux]
574
574
  libc: [glibc]
575
575
 
576
- '@rollup/rollup-linux-loong64-musl@4.64.3':
577
- resolution: {integrity: sha512-1LDsQMRMCEdGF9Dih5qyh6fF1LK3NnA+pAtE2+9AgZwUdXyd19TOBVC9crSB63iZBHR4vOG7h8gN/LcUH3J7xw==}
576
+ '@rollup/rollup-linux-loong64-musl@4.64.6':
577
+ resolution: {integrity: sha512-v/SQ68GnSlr/HyjB79sNXesGDwkOPu9JjbHfmWaymCiM+nZsQ9TstG1KfA4MuEvTr2d3PoY8PhFxj9bt0e32JA==}
578
578
  cpu: [loong64]
579
579
  os: [linux]
580
580
  libc: [musl]
581
581
 
582
- '@rollup/rollup-linux-ppc64-gnu@4.64.3':
583
- resolution: {integrity: sha512-v3D2tAfRriqGOi+5Ac5CiYbBo2NXtLVxJlludTvUZRj502lVMFeVIuvvWbz4qCrotn3e3Uvpvh7FcMpG2QxxXQ==}
582
+ '@rollup/rollup-linux-ppc64-gnu@4.64.6':
583
+ resolution: {integrity: sha512-G3pmliMQ7r15zFFNwBlaT/xTdSLi4lfgI7CUrQueyKYheNVhrd8JrWCE6Ll8xf4AA1RZFqq+mNJYntiElsVOyA==}
584
584
  cpu: [ppc64]
585
585
  os: [linux]
586
586
  libc: [glibc]
587
587
 
588
- '@rollup/rollup-linux-ppc64-musl@4.64.3':
589
- resolution: {integrity: sha512-db5q6dP189V2+JkMpsXBl8ym6bC0x8ydZ47fUJZ9YdM6T2OF5uqNzX9HaAZHRP/lqjA9bJeNwi0qw1/2/37dUA==}
588
+ '@rollup/rollup-linux-ppc64-musl@4.64.6':
589
+ resolution: {integrity: sha512-XQTB/IPoB/wG6x/wu9uomAt8YH61IAr5iZTubMiad/lu88sotq2ocz9hJd556+Jz2kIkF7ZQZIsUuWE3OWqtcA==}
590
590
  cpu: [ppc64]
591
591
  os: [linux]
592
592
  libc: [musl]
593
593
 
594
- '@rollup/rollup-linux-riscv64-gnu@4.64.3':
595
- resolution: {integrity: sha512-nArAVDmrL5ix9UoipcKEsYJw4kMUQCIPYRWuYF2POOC7jd9rmN95d/48ewsYFC/OdtwEx6VYYWYxrp8FbMOU2Q==}
594
+ '@rollup/rollup-linux-riscv64-gnu@4.64.6':
595
+ resolution: {integrity: sha512-O5mpokth6+ydMuwiGtY8fIjvOBfH7u6SzmDNmZ3k6GK5C6iEAC2q2ZN/T5L9jYILx0IcCT0KnfMDihQ5yQFSBw==}
596
596
  cpu: [riscv64]
597
597
  os: [linux]
598
598
  libc: [glibc]
599
599
 
600
- '@rollup/rollup-linux-riscv64-musl@4.64.3':
601
- resolution: {integrity: sha512-2dc7LElu7EVSvpQT8epNnBLa02wlqilNYqHN0FA/RaKqCr9U9ZFYQ0Eh4sfgSzLneLDuJsJRjcezR/l2UyYGXA==}
600
+ '@rollup/rollup-linux-riscv64-musl@4.64.6':
601
+ resolution: {integrity: sha512-aIFxbAD9v3TvIaEDsKmukjcDg1JS4/tFXw8SHyQQgzOwzWCQ4cyDK7Ju1pQKqUXDFkEu/BZCFDCDATsKhQcB/Q==}
602
602
  cpu: [riscv64]
603
603
  os: [linux]
604
604
  libc: [musl]
605
605
 
606
- '@rollup/rollup-linux-s390x-gnu@4.64.3':
607
- resolution: {integrity: sha512-9PYq2IEzSwXcvQLERcT9LKXRzw8J05GFTbJHA2anJR2WmlRjA1esgXVYhanp+bmjKsDVoZeU2L7Z2pRClLcZTw==}
606
+ '@rollup/rollup-linux-s390x-gnu@4.64.6':
607
+ resolution: {integrity: sha512-fuNo1UwBc6BxnHDOxxguQL/InhheMN3RJcJMb0b4xP8r5Q3CNCrJbVg0eCIFuJ4e/zAfjR2gYbOfbzO/G7CIyw==}
608
608
  cpu: [s390x]
609
609
  os: [linux]
610
610
  libc: [glibc]
611
611
 
612
- '@rollup/rollup-linux-x64-gnu@4.64.3':
613
- resolution: {integrity: sha512-vMh+mt0cw1BHldd8cqaU6A5s1W4EUKl6+8MRsv86mj954L4xyruKD7qPXMUI2icImadAZARK10h0onaGTLmCVg==}
612
+ '@rollup/rollup-linux-x64-gnu@4.64.6':
613
+ resolution: {integrity: sha512-05v6wFKDKJPZs9xlytVrrRu6IbRuoSvlH9xNwEOafXsKyjBFZPvAcZz2VIAB/M+lblYeKa9iOYC4RDVdfcAAaw==}
614
614
  cpu: [x64]
615
615
  os: [linux]
616
616
  libc: [glibc]
617
617
 
618
- '@rollup/rollup-linux-x64-musl@4.64.3':
619
- resolution: {integrity: sha512-PpiKU+sWbqDGc0U0su8oXiyeyqm0UQjmaaPKHktX+DaLe6YKJwW2YVD0f2AXHdVvblZbRqpwRVClWP2F5HCqrQ==}
618
+ '@rollup/rollup-linux-x64-musl@4.64.6':
619
+ resolution: {integrity: sha512-wJXKcdMjvkc/FaavZXNP1yW4i0pfOmhZAIWRSLG2yJ0PB0TWi7dkLErhX0u0vptDcXKKO/m1Y/YTeuyvb2MXwg==}
620
620
  cpu: [x64]
621
621
  os: [linux]
622
622
  libc: [musl]
623
623
 
624
- '@rollup/rollup-openbsd-x64@4.64.3':
625
- resolution: {integrity: sha512-/3enY/AmaIt8IS0fWjX4ztYVPBqkj49cQTy/hCryhBFaEzDfJwwEolq9sxvyWAM2qmsmVuPdeRg5JXSrmeqvJg==}
624
+ '@rollup/rollup-openbsd-x64@4.64.6':
625
+ resolution: {integrity: sha512-cwg7/h0ThvJwy8CBkmACdiHAxRWpbsCmIsjOt+Zzx0hTnIcSUmKYEV03bGg+hD827OnwUsbKh1ZZDW754xWyBA==}
626
626
  cpu: [x64]
627
627
  os: [openbsd]
628
628
 
629
- '@rollup/rollup-openharmony-arm64@4.64.3':
630
- resolution: {integrity: sha512-zsEP/QDuet52hhwvi5T1VPg0/Tkms0m3zkVv7CPsznvhdO4pL4oJTMz26EJsiCe18OeLKPgpTu3XVO3C1eq3ew==}
629
+ '@rollup/rollup-openharmony-arm64@4.64.6':
630
+ resolution: {integrity: sha512-T0RkYIJbdYXJEQFw+tMBO09KDFdgmNxkHsof3wWAABrvnx15Yh8RytmrgYy9+q9cBeBNZF66MMQZC+5nzEz6vg==}
631
631
  cpu: [arm64]
632
632
  os: [openharmony]
633
633
 
634
- '@rollup/rollup-win32-arm64-msvc@4.64.3':
635
- resolution: {integrity: sha512-4ESknW4Db+kqvazVOfsReYJaHxcIsOqcgwjKV2J1tG5Bn4RVf5ocTQKSGuq2HWBJcOLuyim8IWX8DuH6nKmELA==}
634
+ '@rollup/rollup-win32-arm64-msvc@4.64.6':
635
+ resolution: {integrity: sha512-KlfpmF1AAIdAWxt8QQNClbpLFlAUfYOzqIuJ7IXEStMHpFRuH78RG6FjqPb3Rqhh0K89F5npvG+/i3Fjl6IveQ==}
636
636
  cpu: [arm64]
637
637
  os: [win32]
638
638
 
639
- '@rollup/rollup-win32-ia32-msvc@4.64.3':
640
- resolution: {integrity: sha512-3B8VCQyIyv7FQxYYhb3HpR3bIpronR20txjMSffSoz/sm/DDs3/49CFpEueOsvq9qW9sWoI/6pi6mtciD9NXFg==}
639
+ '@rollup/rollup-win32-ia32-msvc@4.64.6':
640
+ resolution: {integrity: sha512-MrTLjd7Jlt9/ZavJZYG61KQv9Iy9bzbY+yXy73Xvwoa2uP66wvDShkyBr5Chz/yrE6lbD/zHMuTmKQVNQqBApg==}
641
641
  cpu: [ia32]
642
642
  os: [win32]
643
643
 
644
- '@rollup/rollup-win32-x64-gnu@4.64.3':
645
- resolution: {integrity: sha512-YOoDkKh2oQxOxRB5D9AR8sj3qpMShpmyTkjojiBjMGigz3caV7UvCnXWWUQC0TBmrZ5zuHe2pWl8S+cMfvXzRg==}
644
+ '@rollup/rollup-win32-x64-gnu@4.64.6':
645
+ resolution: {integrity: sha512-8fWDH1CkPI8GdBKAxzHDza7UmgficsKo2+MVbvUgOGhB0629w5sHMg3Qu5y7TZsrYKHHWpz8fla4KvoT7WsO3Q==}
646
646
  cpu: [x64]
647
647
  os: [win32]
648
648
 
649
- '@rollup/rollup-win32-x64-msvc@4.64.3':
650
- resolution: {integrity: sha512-qTv4bG+eKJKifzxNJevMUh8L6CjJrz9/Kn1IbP2F5bo0tBzNIR7HMg4vni6XmDzcKUl00lHHY+J5ZgjbGiujOQ==}
649
+ '@rollup/rollup-win32-x64-msvc@4.64.6':
650
+ resolution: {integrity: sha512-9/c9PWdr5GCIHkkxiHM1HjNBQMVdftP4O8QTcoUAaRza2FSqJ4axbf8QAnBuE6BIGQDl71SaRPeDdDYid5ecTw==}
651
651
  cpu: [x64]
652
652
  os: [win32]
653
653
 
@@ -690,8 +690,8 @@ packages:
690
690
  engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
691
691
  hasBin: true
692
692
 
693
- caniuse-lite@1.0.30001815:
694
- resolution: {integrity: sha512-uDybUEyfgbyJJ93J1vikTylBX31AkdVYeVPeffMQpf8XN7hSfr0oZOn4VFOIMNvtU5+rHvC5Udg2TgtJKHm23Q==}
693
+ caniuse-lite@1.0.30001816:
694
+ resolution: {integrity: sha512-+8Yx7BXCoqk6IF8yTicjfUR6D/ldJzdlsodlEOiOSPmhK844WIgk67/zIQaGAOxNkZyyvBlrRFnLvqKIoqbAFw==}
695
695
 
696
696
  convert-source-map@2.0.0:
697
697
  resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
@@ -712,8 +712,8 @@ packages:
712
712
  supports-color:
713
713
  optional: true
714
714
 
715
- electron-to-chromium@1.5.452:
716
- resolution: {integrity: sha512-cVvk1YBSj6571VmV6hdJTqj94Y79xSu8cj6Y9t6ae4Y4431z8/7EJFvu3rVp90xhfuv9BpPKUmaLfTo4+FOGBg==}
715
+ electron-to-chromium@1.5.453:
716
+ resolution: {integrity: sha512-9r/nz9akllr3SZsHUhfK10ktUH6j0Dbo3cKdh91khw0FvR6HhXGnATmOq5X8ena2aq4GXLQ1koh3nvKaQJaNmQ==}
717
717
 
718
718
  es-module-lexer@1.7.0:
719
719
  resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
@@ -788,8 +788,8 @@ packages:
788
788
  resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==}
789
789
  engines: {node: '>=12'}
790
790
 
791
- postcss@8.5.29:
792
- resolution: {integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==}
791
+ postcss@8.5.30:
792
+ resolution: {integrity: sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==}
793
793
  engines: {node: ^10 || ^12 || >=14}
794
794
 
795
795
  react-dom@19.3.0:
@@ -822,8 +822,8 @@ packages:
822
822
  resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==}
823
823
  engines: {node: '>=0.10.0'}
824
824
 
825
- rollup@4.64.3:
826
- resolution: {integrity: sha512-iIMWbptLYsZdGTJMH8ngApXdsCatE6bCMv2eqGIfGE1++kwh7TCWBdWKK0FKC0yx++196vGK5VdagzRXSLMa8A==}
825
+ rollup@4.64.6:
826
+ resolution: {integrity: sha512-fX1Vy+UNKdXn+xKDnu/HBXbHVr1AY8cSdQj9BU4kLv5aFCMqGpvrVbyUMmjN3DdzWhSAuTbcX8PCNEVaumthYA==}
827
827
  engines: {node: '>=18.0.0', npm: '>=8.0.0'}
828
828
  hasBin: true
829
829
 
@@ -1169,7 +1169,7 @@ snapshots:
1169
1169
  '@esbuild/win32-x64@0.27.7':
1170
1170
  optional: true
1171
1171
 
1172
- '@fulgurjs/federation@6.8.5(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)':
1172
+ '@fulgurjs/federation@6.9.0(react-dom@19.3.0(react@19.3.0))(react-router-dom@7.18.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(vite@6.4.4)':
1173
1173
  dependencies:
1174
1174
  es-module-lexer: 1.7.0
1175
1175
  esbuild: 0.27.7
@@ -1204,79 +1204,79 @@ snapshots:
1204
1204
 
1205
1205
  '@rolldown/pluginutils@1.0.0-rc.3': {}
1206
1206
 
1207
- '@rollup/rollup-android-arm-eabi@4.64.3':
1207
+ '@rollup/rollup-android-arm-eabi@4.64.6':
1208
1208
  optional: true
1209
1209
 
1210
- '@rollup/rollup-android-arm64@4.64.3':
1210
+ '@rollup/rollup-android-arm64@4.64.6':
1211
1211
  optional: true
1212
1212
 
1213
- '@rollup/rollup-darwin-arm64@4.64.3':
1213
+ '@rollup/rollup-darwin-arm64@4.64.6':
1214
1214
  optional: true
1215
1215
 
1216
- '@rollup/rollup-darwin-x64@4.64.3':
1216
+ '@rollup/rollup-darwin-x64@4.64.6':
1217
1217
  optional: true
1218
1218
 
1219
- '@rollup/rollup-freebsd-arm64@4.64.3':
1219
+ '@rollup/rollup-freebsd-arm64@4.64.6':
1220
1220
  optional: true
1221
1221
 
1222
- '@rollup/rollup-freebsd-x64@4.64.3':
1222
+ '@rollup/rollup-freebsd-x64@4.64.6':
1223
1223
  optional: true
1224
1224
 
1225
- '@rollup/rollup-linux-arm-gnueabihf@4.64.3':
1225
+ '@rollup/rollup-linux-arm-gnueabihf@4.64.6':
1226
1226
  optional: true
1227
1227
 
1228
- '@rollup/rollup-linux-arm-musleabihf@4.64.3':
1228
+ '@rollup/rollup-linux-arm-musleabihf@4.64.6':
1229
1229
  optional: true
1230
1230
 
1231
- '@rollup/rollup-linux-arm64-gnu@4.64.3':
1231
+ '@rollup/rollup-linux-arm64-gnu@4.64.6':
1232
1232
  optional: true
1233
1233
 
1234
- '@rollup/rollup-linux-arm64-musl@4.64.3':
1234
+ '@rollup/rollup-linux-arm64-musl@4.64.6':
1235
1235
  optional: true
1236
1236
 
1237
- '@rollup/rollup-linux-loong64-gnu@4.64.3':
1237
+ '@rollup/rollup-linux-loong64-gnu@4.64.6':
1238
1238
  optional: true
1239
1239
 
1240
- '@rollup/rollup-linux-loong64-musl@4.64.3':
1240
+ '@rollup/rollup-linux-loong64-musl@4.64.6':
1241
1241
  optional: true
1242
1242
 
1243
- '@rollup/rollup-linux-ppc64-gnu@4.64.3':
1243
+ '@rollup/rollup-linux-ppc64-gnu@4.64.6':
1244
1244
  optional: true
1245
1245
 
1246
- '@rollup/rollup-linux-ppc64-musl@4.64.3':
1246
+ '@rollup/rollup-linux-ppc64-musl@4.64.6':
1247
1247
  optional: true
1248
1248
 
1249
- '@rollup/rollup-linux-riscv64-gnu@4.64.3':
1249
+ '@rollup/rollup-linux-riscv64-gnu@4.64.6':
1250
1250
  optional: true
1251
1251
 
1252
- '@rollup/rollup-linux-riscv64-musl@4.64.3':
1252
+ '@rollup/rollup-linux-riscv64-musl@4.64.6':
1253
1253
  optional: true
1254
1254
 
1255
- '@rollup/rollup-linux-s390x-gnu@4.64.3':
1255
+ '@rollup/rollup-linux-s390x-gnu@4.64.6':
1256
1256
  optional: true
1257
1257
 
1258
- '@rollup/rollup-linux-x64-gnu@4.64.3':
1258
+ '@rollup/rollup-linux-x64-gnu@4.64.6':
1259
1259
  optional: true
1260
1260
 
1261
- '@rollup/rollup-linux-x64-musl@4.64.3':
1261
+ '@rollup/rollup-linux-x64-musl@4.64.6':
1262
1262
  optional: true
1263
1263
 
1264
- '@rollup/rollup-openbsd-x64@4.64.3':
1264
+ '@rollup/rollup-openbsd-x64@4.64.6':
1265
1265
  optional: true
1266
1266
 
1267
- '@rollup/rollup-openharmony-arm64@4.64.3':
1267
+ '@rollup/rollup-openharmony-arm64@4.64.6':
1268
1268
  optional: true
1269
1269
 
1270
- '@rollup/rollup-win32-arm64-msvc@4.64.3':
1270
+ '@rollup/rollup-win32-arm64-msvc@4.64.6':
1271
1271
  optional: true
1272
1272
 
1273
- '@rollup/rollup-win32-ia32-msvc@4.64.3':
1273
+ '@rollup/rollup-win32-ia32-msvc@4.64.6':
1274
1274
  optional: true
1275
1275
 
1276
- '@rollup/rollup-win32-x64-gnu@4.64.3':
1276
+ '@rollup/rollup-win32-x64-gnu@4.64.6':
1277
1277
  optional: true
1278
1278
 
1279
- '@rollup/rollup-win32-x64-msvc@4.64.3':
1279
+ '@rollup/rollup-win32-x64-msvc@4.64.6':
1280
1280
  optional: true
1281
1281
 
1282
1282
  '@types/babel__core@7.20.5':
@@ -1327,12 +1327,12 @@ snapshots:
1327
1327
  browserslist@4.29.3:
1328
1328
  dependencies:
1329
1329
  baseline-browser-mapping: 2.11.28
1330
- caniuse-lite: 1.0.30001815
1331
- electron-to-chromium: 1.5.452
1330
+ caniuse-lite: 1.0.30001816
1331
+ electron-to-chromium: 1.5.453
1332
1332
  node-releases: 2.0.58
1333
1333
  update-browserslist-db: 1.3.4(browserslist@4.29.3)
1334
1334
 
1335
- caniuse-lite@1.0.30001815: {}
1335
+ caniuse-lite@1.0.30001816: {}
1336
1336
 
1337
1337
  convert-source-map@2.0.0: {}
1338
1338
 
@@ -1344,7 +1344,7 @@ snapshots:
1344
1344
  dependencies:
1345
1345
  ms: 2.1.3
1346
1346
 
1347
- electron-to-chromium@1.5.452: {}
1347
+ electron-to-chromium@1.5.453: {}
1348
1348
 
1349
1349
  es-module-lexer@1.7.0: {}
1350
1350
 
@@ -1441,7 +1441,7 @@ snapshots:
1441
1441
 
1442
1442
  picomatch@4.0.7: {}
1443
1443
 
1444
- postcss@8.5.29:
1444
+ postcss@8.5.30:
1445
1445
  dependencies:
1446
1446
  nanoid: 3.3.20
1447
1447
  picocolors: 1.1.1
@@ -1470,36 +1470,36 @@ snapshots:
1470
1470
 
1471
1471
  react@19.3.0: {}
1472
1472
 
1473
- rollup@4.64.3:
1473
+ rollup@4.64.6:
1474
1474
  dependencies:
1475
1475
  '@types/estree': 1.0.9
1476
1476
  optionalDependencies:
1477
1477
  '@napi-rs/lzma-linux-x64-gnu': 1.5.1
1478
- '@rollup/rollup-android-arm-eabi': 4.64.3
1479
- '@rollup/rollup-android-arm64': 4.64.3
1480
- '@rollup/rollup-darwin-arm64': 4.64.3
1481
- '@rollup/rollup-darwin-x64': 4.64.3
1482
- '@rollup/rollup-freebsd-arm64': 4.64.3
1483
- '@rollup/rollup-freebsd-x64': 4.64.3
1484
- '@rollup/rollup-linux-arm-gnueabihf': 4.64.3
1485
- '@rollup/rollup-linux-arm-musleabihf': 4.64.3
1486
- '@rollup/rollup-linux-arm64-gnu': 4.64.3
1487
- '@rollup/rollup-linux-arm64-musl': 4.64.3
1488
- '@rollup/rollup-linux-loong64-gnu': 4.64.3
1489
- '@rollup/rollup-linux-loong64-musl': 4.64.3
1490
- '@rollup/rollup-linux-ppc64-gnu': 4.64.3
1491
- '@rollup/rollup-linux-ppc64-musl': 4.64.3
1492
- '@rollup/rollup-linux-riscv64-gnu': 4.64.3
1493
- '@rollup/rollup-linux-riscv64-musl': 4.64.3
1494
- '@rollup/rollup-linux-s390x-gnu': 4.64.3
1495
- '@rollup/rollup-linux-x64-gnu': 4.64.3
1496
- '@rollup/rollup-linux-x64-musl': 4.64.3
1497
- '@rollup/rollup-openbsd-x64': 4.64.3
1498
- '@rollup/rollup-openharmony-arm64': 4.64.3
1499
- '@rollup/rollup-win32-arm64-msvc': 4.64.3
1500
- '@rollup/rollup-win32-ia32-msvc': 4.64.3
1501
- '@rollup/rollup-win32-x64-gnu': 4.64.3
1502
- '@rollup/rollup-win32-x64-msvc': 4.64.3
1478
+ '@rollup/rollup-android-arm-eabi': 4.64.6
1479
+ '@rollup/rollup-android-arm64': 4.64.6
1480
+ '@rollup/rollup-darwin-arm64': 4.64.6
1481
+ '@rollup/rollup-darwin-x64': 4.64.6
1482
+ '@rollup/rollup-freebsd-arm64': 4.64.6
1483
+ '@rollup/rollup-freebsd-x64': 4.64.6
1484
+ '@rollup/rollup-linux-arm-gnueabihf': 4.64.6
1485
+ '@rollup/rollup-linux-arm-musleabihf': 4.64.6
1486
+ '@rollup/rollup-linux-arm64-gnu': 4.64.6
1487
+ '@rollup/rollup-linux-arm64-musl': 4.64.6
1488
+ '@rollup/rollup-linux-loong64-gnu': 4.64.6
1489
+ '@rollup/rollup-linux-loong64-musl': 4.64.6
1490
+ '@rollup/rollup-linux-ppc64-gnu': 4.64.6
1491
+ '@rollup/rollup-linux-ppc64-musl': 4.64.6
1492
+ '@rollup/rollup-linux-riscv64-gnu': 4.64.6
1493
+ '@rollup/rollup-linux-riscv64-musl': 4.64.6
1494
+ '@rollup/rollup-linux-s390x-gnu': 4.64.6
1495
+ '@rollup/rollup-linux-x64-gnu': 4.64.6
1496
+ '@rollup/rollup-linux-x64-musl': 4.64.6
1497
+ '@rollup/rollup-openbsd-x64': 4.64.6
1498
+ '@rollup/rollup-openharmony-arm64': 4.64.6
1499
+ '@rollup/rollup-win32-arm64-msvc': 4.64.6
1500
+ '@rollup/rollup-win32-ia32-msvc': 4.64.6
1501
+ '@rollup/rollup-win32-x64-gnu': 4.64.6
1502
+ '@rollup/rollup-win32-x64-msvc': 4.64.6
1503
1503
  fsevents: 2.3.3
1504
1504
 
1505
1505
  scheduler@0.28.0: {}
@@ -1528,8 +1528,8 @@ snapshots:
1528
1528
  esbuild: 0.25.12
1529
1529
  fdir: 6.5.0(picomatch@4.0.7)
1530
1530
  picomatch: 4.0.7
1531
- postcss: 8.5.29
1532
- rollup: 4.64.3
1531
+ postcss: 8.5.30
1532
+ rollup: 4.64.6
1533
1533
  tinyglobby: 0.2.17
1534
1534
  optionalDependencies:
1535
1535
  fsevents: 2.3.3
@@ -2,7 +2,7 @@ packages:
2
2
  - host
3
3
  - remote
4
4
  minimumReleaseAgeExclude:
5
- - '@fulgurjs/federation@6.8.5'
5
+ - '@fulgurjs/federation@6.9.0'
6
6
  # pnpm >=12 构建脚本批准(12 起弃用 onlyBuiltDependencies;pnpm 9-11 忽略本键:
7
7
  # esbuild >=0.16 二进制经 optionalDependencies 平台包分发,postinstall 仅校验,不阻塞安装)
8
8
  allowBuilds:
@@ -11,7 +11,7 @@
11
11
  "typecheck": "tsc --noEmit"
12
12
  },
13
13
  "dependencies": {
14
- "@fulgurjs/federation": "6.8.5",
14
+ "@fulgurjs/federation": "6.9.0",
15
15
  "react": "^19.1.0",
16
16
  "react-dom": "^19.1.0"
17
17
  },
@@ -0,0 +1,11 @@
1
+ import { StrictMode } from 'react'
2
+ import { defineApplication } from '@fulgurjs/federation/react'
3
+ import App from './App'
4
+
5
+ // 独立运行入口:单独开发/调试远程自身时使用。
6
+ // 被宿主消费时走的是 fulgurjs-remoteEntry.js 容器入口,与本文件无关。
7
+ export default defineApplication(() => (
8
+ <StrictMode>
9
+ <App />
10
+ </StrictMode>
11
+ ))
@@ -1,11 +1,4 @@
1
- import { StrictMode } from 'react'
2
- import { createRoot } from 'react-dom/client'
3
- import App from './App'
1
+ import application from './application'
4
2
 
5
- // 独立运行入口:单独开发/调试远程自身时使用。
6
- // 被宿主消费时走的是 fulgurjs-remoteEntry.js 容器入口,与本文件无关。
7
- createRoot(document.getElementById('root')!).render(
8
- <StrictMode>
9
- <App />
10
- </StrictMode>,
11
- )
3
+ // 独立入口只负责启动;初始化写在 application 中。
4
+ void application.start('#root').catch(console.error)
@@ -0,0 +1,101 @@
1
+ #!/usr/bin/env node
2
+ /** Standalone template production launcher. Uses only Node and the existing dev.config.json. */
3
+ import fs from 'node:fs'
4
+ import path from 'node:path'
5
+ import http from 'node:http'
6
+ import { fileURLToPath } from 'node:url'
7
+
8
+ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
9
+ const { apps } = JSON.parse(fs.readFileSync(path.join(root, 'scripts/dev.config.json'), 'utf8'))
10
+ if (!Array.isArray(apps) || !apps.length) throw new Error('dev.config.json 未登记应用。')
11
+
12
+ const mime = { '.html': 'text/html; charset=utf-8', '.js': 'text/javascript', '.css': 'text/css', '.json': 'application/json', '.svg': 'image/svg+xml', '.png': 'image/png', '.jpg': 'image/jpeg', '.woff': 'font/woff', '.woff2': 'font/woff2', '.map': 'application/json' }
13
+ const inside = (file, directory) => file === directory || file.startsWith(directory + path.sep)
14
+ const mounts = apps.map(app => {
15
+ const dir = path.resolve(root, app.dir, 'dist')
16
+ if (!inside(dir, root)) throw new Error(`${app.name}: 构建目录超出模板。`)
17
+ const index = path.join(dir, 'index.html')
18
+ if (!fs.existsSync(index)) throw new Error(`${app.name}: 缺少 dist/index.html,请先 pnpm build。`)
19
+ const html = fs.readFileSync(index, 'utf8')
20
+ const tags = [...html.matchAll(/<script\b[^>]*>/gi)]
21
+ const tag = tags.find(item => /\btype=["']module["']/i.test(item[0]))?.[0]
22
+ const src = tag?.match(/\bsrc=["']([^"']+)["']/i)?.[1]
23
+ if (!src || /^(?:https?:)?\/\//.test(src)) throw new Error(`${app.name}: 无可本地挂载的模块入口。`)
24
+ // Resolve the actual emitted file suffix, rather than guessing base from an app name.
25
+ const pathname = decodeURIComponent(new URL(src, 'http://template.local/').pathname)
26
+ const parts = pathname.split('/').filter(Boolean)
27
+ const bases = []
28
+ for (let i = 0; i < parts.length; i++) {
29
+ const file = path.resolve(dir, ...parts.slice(i))
30
+ if (inside(file, dir) && fs.existsSync(file) && fs.statSync(file).isFile()) bases.push('/' + parts.slice(0, i).join('/') + (i ? '/' : ''))
31
+ }
32
+ if (bases.length !== 1) throw new Error(`${app.name}: 无法唯一对应构建入口 ${src};检查 Vite base 和干净构建输出。`)
33
+ return { ...app, dir, prefix: bases[0] }
34
+ })
35
+ const hosts = mounts.filter(app => app.host)
36
+ if (!hosts.length) throw new Error('dev.config.json 未登记 host:true 的宿主。')
37
+ const ports = new Set()
38
+ const servers = []
39
+ let stopping = false
40
+ function stop(code = 0) {
41
+ if (stopping) return
42
+ stopping = true
43
+ for (const server of servers) server.close()
44
+ const timer = setTimeout(() => {
45
+ for (const server of servers) server.closeAllConnections?.()
46
+ process.exit(code)
47
+ }, 1000)
48
+ timer.unref()
49
+ process.exitCode = code
50
+ }
51
+ process.once('SIGINT', () => stop(0))
52
+ process.once('SIGTERM', () => stop(0))
53
+ process.once('uncaughtException', error => { console.error(error); stop(1) })
54
+
55
+ for (const host of hosts) {
56
+ if (!Number.isInteger(host.port) || host.port < 1 || host.port > 65535 || ports.has(host.port)) throw new Error(`无效或重复宿主端口:${host.port}`)
57
+ ports.add(host.port)
58
+ const site = [host, ...mounts.filter(app => !app.host)].sort((a, b) => b.prefix.length - a.prefix.length)
59
+ const prefixes = new Set()
60
+ for (const app of site) {
61
+ if (prefixes.has(app.prefix)) throw new Error(`${host.name}: 构建 base ${app.prefix} 冲突;宿主和远程不能部署在同一路径。`)
62
+ prefixes.add(app.prefix)
63
+ }
64
+ const server = http.createServer((req, res) => {
65
+ try {
66
+ const url = new URL(req.url, `http://localhost:${host.port}`)
67
+ if (url.pathname === '/' && host.prefix !== '/') {
68
+ res.writeHead(302, { location: host.prefix, 'cache-control': 'no-cache' })
69
+ return res.end()
70
+ }
71
+ const app = site.find(item => url.pathname === item.prefix.slice(0, -1) || url.pathname.startsWith(item.prefix))
72
+ if (!app) { res.writeHead(404); return res.end('未登记此部署路径') }
73
+ const relative = decodeURIComponent(url.pathname.slice(app.prefix.length)) || 'index.html'
74
+ let file = path.resolve(app.dir, relative)
75
+ if (!inside(file, app.dir)) { res.writeHead(403); return res.end() }
76
+ if (!fs.existsSync(file) || fs.statSync(file).isDirectory()) {
77
+ if (path.extname(relative)) { res.writeHead(404); return res.end('资源不存在;不会回退成HTML') }
78
+ file = path.join(app.dir, 'index.html')
79
+ }
80
+ const stable = /(?:^|\/)(?:index\.html|fulgurjs-(?:remoteEntry\.js|manifest\.json)|_app\.config\.js)$/.test(file)
81
+ res.writeHead(200, {
82
+ 'content-type': mime[path.extname(file)] ?? 'application/octet-stream',
83
+ 'cache-control': stable ? 'no-cache' : 'public, max-age=31536000, immutable',
84
+ 'access-control-allow-origin': '*',
85
+ })
86
+ res.end(fs.readFileSync(file))
87
+ } catch (error) {
88
+ console.error(`生产请求失败:${error.message}`)
89
+ if (!res.headersSent) res.writeHead(400)
90
+ res.end('无效请求或资源不可读')
91
+ }
92
+ })
93
+ servers.push(server)
94
+ server.on('error', error => {
95
+ console.error(`${host.name}:${host.port} 启动失败:${error.message};停止本次全部生产服务器,不会按端口杀已有进程。`)
96
+ stop(1)
97
+ })
98
+ server.listen(host.port, '127.0.0.1', () => {
99
+ if (!stopping) console.log(`生产宿主 ${host.name}: http://localhost:${host.port}${host.prefix}(仅dist,无开发服务器)`)
100
+ })
101
+ }