Skip to content

Conversation

GiveMe-A-Name
Copy link
Member

@GiveMe-A-Name GiveMe-A-Name commented May 22, 2023

Summary

🤖 Generated by Copilot at b9a5615

This pull request improves the streaming SSR feature for the @modern-js/runtime package by refactoring the logic, fixing bugs, and adding type annotations. It also updates the version and the changeset file for the package.

Details

🤖 Generated by Copilot at b9a5615

  • Add a changeset file to document the patch version update and the bug fixes for the @modern-js/runtime package (link)
  • Simplify the ShellChunkStatus enum and initialize the shellChunkStatus variable with the START state for the streaming SSR feature (link, link)
  • Store the content chunks that belong to the shell content in a chunkVec array, instead of concatenating them with the shell template on the fly, in renderToPipe.ts (link)
  • Check and replace the end mark of the shell content on the joined string of the chunkVec array, instead of on each chunk, and remove the escaping of the end mark, in renderToPipe.ts (link)
  • Add a type annotation for the data parameter in the DeferredDataScript component, which renders a script tag with the deferred data for the SSR page, in DeferredDataScripts.node.tsx (link)
  • Make the shellBefore and shellAfter properties of the InjectTemplate type required, instead of optional, in type.ts (link)

Related Issue

Checklist

  • I have added changeset via pnpm run change.
  • I have updated the documentation.
  • I have added tests to cover my changes.

@changeset-bot
Copy link

changeset-bot bot commented May 22, 2023

🦋 Changeset detected

Latest commit: 270a36b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 207 packages
Name Type
@modern-js/runtime Patch
@modern-js/plugin-bff Patch
@modern-js/plugin-storybook Patch
@modern-js/plugin-tailwindcss Patch
@modern-js/plugin-garfish Patch
@modern-js/plugin-router-v5 Patch
@modern-js/plugin-testing Patch
@integration-test/alias-set Patch
api-service-koa Patch
app-docmuent Patch
async-entry-test Patch
bff-express Patch
bff-koa Patch
builder-rspack Patch
integration-clean-dist-path Patch
composes-basic Patch
composes-external Patch
dev-module Patch
global-module Patch
prod-module Patch
css Patch
antd-less Patch
bad-nested-npm-import Patch
bad-npm-import Patch
base-import Patch
disable-source-map Patch
exclude-less Patch
exclude-sass Patch
import-common-css Patch
less-import Patch
less-inline-js Patch
less-npm-import Patch
multi-css Patch
multi-less Patch
multi-sass Patch
nested-npm-import Patch
npm-import Patch
integration-tailwindcss-v2 Patch
integration-tailwindcss-v3 Patch
twin-macro-v2 Patch
twin-macro-v3 Patch
css-modules Patch
integration-custom-render Patch
integration-custom-template Patch
dev-server Patch
legacy-esbuild-minify-js Patch
esbuild-transform-and-minify Patch
@cypress-test/garfish-dashboard-router-v6 Patch
@cypress-test/garfish-dashboard Patch
@cypress-test/garfish-main-router-v6 Patch
@cypress-test/garfish-main-rspack Patch
@cypress-test/garfish-main Patch
@cypress-test/garfish-table Patch
tmp Patch
routes Patch
file-based-router Patch
use-loader Patch
select-mul-entry-test Patch
select-one-entry-test Patch
server-config Patch
server-middleware Patch
server-hook-reqeust Patch
server-hook-response Patch
server-hook-router Patch
@integration-test/server-hook-reqeust Patch
server-prod Patch
ssg-fixtures-simple Patch
ssg-fixtures-web-server Patch
ssr-base-json-test Patch
ssr-base-test Patch
init Patch
ssr-streaming-test Patch
swc-minify-css Patch
swc-minify-js Patch
transform-fail Patch
tmp-dir Patch
worker-test Patch
@modern-js/babel-preset-app Patch
@modern-js/babel-preset-base Patch
@modern-js/babel-preset-lib Patch
@modern-js/core Patch
@modern-js/doc-core Patch
@modern-js/doc-plugin-auto-sidebar Patch
@modern-js/doc-plugin-medium-zoom Patch
@modern-js/plugin-changeset Patch
@modern-js/plugin-data-loader Patch
@modern-js/plugin-i18n Patch
@modern-js/plugin-lint Patch
@modern-js/plugin-proxy Patch
@modern-js/plugin-ssg Patch
@modern-js/plugin-swc Patch
@modern-js/builder-doc Patch
@modern-js/doc-tools-doc Patch
@modern-js/main-doc Patch
@modern-js/module-tools-docs Patch
@modern-js/new-action Patch
@modern-js-app/eslint-config Patch
@modern-js/eslint-config Patch
@modern-js/tsconfig Patch
@modern-js/bff-core Patch
@modern-js/bff-runtime Patch
@modern-js/server-core Patch
@modern-js/create-request Patch
@modern-js/plugin-express Patch
@modern-js/plugin-koa Patch
@modern-js/plugin-polyfill Patch
@modern-js/plugin-server Patch
@modern-js/plugin-worker Patch
@modern-js/prod-server Patch
@modern-js/server Patch
@modern-js/server-utils Patch
@modern-js/builder-rspack-provider Patch
@modern-js/builder-shared Patch
@modern-js/builder-webpack-provider Patch
@modern-js/builder Patch
@modern-js/builder-plugin-esbuild Patch
@modern-js/builder-plugin-image-compress Patch
@modern-js/builder-plugin-node-polyfill Patch
@modern-js/builder-plugin-stylus Patch
@modern-js/builder-plugin-swc-base Patch
@modern-js/builder-plugin-swc Patch
@modern-js/plugin-module-babel Patch
@modern-js/plugin-module-banner Patch
@modern-js/plugin-module-doc Patch
@modern-js/plugin-module-import Patch
@modern-js/plugin-module-main-fields Patch
@modern-js/plugin-module-node-polyfill Patch
@modern-js/plugin-module-polyfill Patch
@modern-js/plugin-module-target Patch
@modern-js/app-tools Patch
@modern-js/doc-tools Patch
@modern-js/module-tools Patch
@modern-js/monorepo-tools Patch
@modern-js/create Patch
@modern-js/e2e Patch
@modern-js/node-bundle-require Patch
@modern-js/plugin Patch
@modern-js/remark-container Patch
@modern-js/types Patch
@modern-js/upgrade Patch
@modern-js/utils Patch
@modern-js/babel-compiler Patch
@scripts/build Patch
@scripts/check-changeset Patch
@scripts/codemod Patch
@scripts/jest-config Patch
@scripts/lint-package-json Patch
@scripts/prebundle Patch
@scripts/update-codesmith Patch
@scripts/vitest-config Patch
tests Patch
integration-dev-asset-prefix Patch
integration-asset-prefix Patch
integration-register-builder-plugins Patch
integration-builder-plugins Patch
integration-copy-public-html Patch
integration-copy-assets Patch
simple-doc-template Patch
i18n-doc Patch
doc-plugin Patch
simple-doc-production Patch
doc-tools Patch
esbuild-integration Patch
integration-config-async-config-test Patch
integration-basic-local-config Patch
integration-config-function-params Patch
integration-local-config-function Patch
integration-load-config Patch
integration-module-doc Patch
runtime Patch
entry Patch
ssg Patch
ssr Patch
swc-integration Patch
@e2e/webpack-builder-css-modules Patch
@e2e/webpack-builder-image-compress Patch
@e2e/webpack-builder-import-antd-v4 Patch
@e2e/webpack-builder-import-antd-v5 Patch
@e2e/webpack-builder-node-polyfill Patch
@e2e/builder-plugin-import Patch
@e2e/builder Patch
@modern-js/generator-common Patch
@modern-js/generator-plugin Patch
@modern-js/generator-utils Patch
@modern-js/bff-generator Patch
@modern-js/dependence-generator Patch
@modern-js/doc-generator Patch
@modern-js/entry-generator Patch
@modern-js/generator-generator Patch
@modern-js/module-generator Patch
@modern-js/module-test-generator Patch
@modern-js/monorepo-generator Patch
@modern-js/mwa-generator Patch
@modern-js/router-v5-generator Patch
@modern-js/rspack-generator Patch
@modern-js/ssg-generator Patch
@modern-js/storybook-generator Patch
@modern-js/test-generator Patch
@modern-js/upgrade-generator Patch
@modern-js/generator-plugin-plugin Patch
@modern-js/repo-generator Patch
@modern-js/generator-cases Patch
@modern-js/base-generator Patch
@modern-js/changeset-generator Patch
@modern-js/packages-generator Patch
@modern-js/server-generator Patch
@modern-js/tailwindcss-generator Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@GiveMe-A-Name GiveMe-A-Name changed the title fix(plugin-runtime): streaming ssr split chunk so that can't match SHELL_STREAM_END_MARK WIP:fix(plugin-runtime): streaming ssr split chunk so that can't match SHELL_STREAM_END_MARK May 22, 2023
@GiveMe-A-Name GiveMe-A-Name changed the title WIP:fix(plugin-runtime): streaming ssr split chunk so that can't match SHELL_STREAM_END_MARK fix(plugin-runtime): streaming ssr split chunk so that can't match SHELL_STREAM_END_MARK May 22, 2023
@codecov
Copy link

codecov bot commented May 22, 2023

Codecov Report

Patch coverage has no change and project coverage change: +0.54 🎉

Comparison is base (99693f0) 57.59% compared to head (270a36b) 58.14%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3719      +/-   ##
==========================================
+ Coverage   57.59%   58.14%   +0.54%     
==========================================
  Files         672      643      -29     
  Lines       17794    17177     -617     
  Branches     3876     3751     -125     
==========================================
- Hits        10249     9987     -262     
+ Misses       6934     6589     -345     
+ Partials      611      601      -10     

see 261 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@GiveMe-A-Name GiveMe-A-Name merged commit 807f04a into main May 22, 2023
@GiveMe-A-Name GiveMe-A-Name deleted the fix/streaming-ssr-2023-05-22 branch May 22, 2023 08:04
@caohuilin caohuilin mentioned this pull request May 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants