Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? # to your account

enable hydration for SSR v2 #5226

Merged
merged 19 commits into from
Feb 18, 2025
Merged

enable hydration for SSR v2 #5226

merged 19 commits into from
Feb 18, 2025

Conversation

jhefferman-sfdc
Copy link
Collaborator

Details

Does this pull request introduce a breaking change?

  • ๐Ÿ˜ฎโ€๐Ÿ’จ No, it does not introduce a breaking change.

Does this pull request introduce an observable change?

  • ๐Ÿคž No, it does not introduce an observable change.

GUS work item

W-17853139

divmain and others added 17 commits February 17, 2025 15:17
โ€ฆoup (#5204)

Bumps the prettier group with 1 update: [prettier](https://github.com/prettier/prettier).


Updates `prettier` from 3.4.2 to 3.5.0
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.4.2...3.5.0)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: prettier
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#5205)

* build(deps): bump the theoretically-non-breaking group with 20 updates

Bumps the theoretically-non-breaking group with 20 updates:

| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.19.0` | `9.20.0` |
| [@nx/js](https://github.com/nrwl/nx/tree/HEAD/packages/js) | `20.3.3` | `20.4.2` |
| [@swc/core](https://github.com/swc-project/swc) | `1.10.12` | `1.10.15` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.13.0` | `22.13.1` |
| [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) | `1.1.25` | `1.1.27` |
| [eslint](https://github.com/eslint/eslint) | `9.19.0` | `9.20.0` |
| [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) | `20.3.3` | `20.4.2` |
| [rollup](https://github.com/rollup/rollup) | `4.34.1` | `4.34.6` |
| [terser](https://github.com/terser/terser) | `5.37.0` | `5.38.1` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.22.0` | `8.23.0` |
| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.26.7` | `7.26.8` |
| [@babel/plugin-transform-async-generator-functions](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-async-generator-functions) | `7.25.9` | `7.26.8` |
| [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli) | `9.7.2` | `9.8.0` |
| [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner) | `9.7.2` | `9.8.0` |
| [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework) | `9.7.2` | `9.7.3` |
| [@wdio/sauce-service](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-sauce-service) | `9.7.2` | `9.8.0` |
| [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-spec-reporter) | `9.6.3` | `9.8.0` |
| [webdriverio](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/webdriverio) | `9.7.2` | `9.8.0` |
| [@babel/types](https://github.com/babel/babel/tree/HEAD/packages/babel-types) | `7.26.7` | `7.26.8` |
| [postcss-selector-parser](https://github.com/postcss/postcss-selector-parser) | `7.0.0` | `7.1.0` |


Updates `@eslint/js` from 9.19.0 to 9.20.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.20.0/packages/js)

Updates `@nx/js` from 20.3.3 to 20.4.2
- [Release notes](https://github.com/nrwl/nx/releases)
- [Commits](https://github.com/nrwl/nx/commits/20.4.2/packages/js)

Updates `@swc/core` from 1.10.12 to 1.10.15
- [Release notes](https://github.com/swc-project/swc/releases)
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md)
- [Commits](swc-project/swc@v1.10.12...v1.10.15)

Updates `@types/node` from 22.13.0 to 22.13.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@vitest/eslint-plugin` from 1.1.25 to 1.1.27
- [Release notes](https://github.com/vitest-dev/eslint-plugin-vitest/releases)
- [Commits](vitest-dev/eslint-plugin-vitest@v1.1.25...v1.1.27)

Updates `eslint` from 9.19.0 to 9.20.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](eslint/eslint@v9.19.0...v9.20.0)

Updates `nx` from 20.3.3 to 20.4.2
- [Release notes](https://github.com/nrwl/nx/releases)
- [Commits](https://github.com/nrwl/nx/commits/20.4.2/packages/nx)

Updates `rollup` from 4.34.1 to 4.34.6
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v4.34.1...v4.34.6)

Updates `terser` from 5.37.0 to 5.38.1
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](terser/terser@v5.37.0...v5.38.1)

Updates `typescript-eslint` from 8.22.0 to 8.23.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.23.0/packages/typescript-eslint)

Updates `@babel/core` from 7.26.7 to 7.26.8
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.8/packages/babel-core)

Updates `@babel/plugin-transform-async-generator-functions` from 7.25.9 to 7.26.8
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.8/packages/babel-plugin-transform-async-generator-functions)

Updates `@wdio/cli` from 9.7.2 to 9.8.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.8.0/packages/wdio-cli)

Updates `@wdio/local-runner` from 9.7.2 to 9.8.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.8.0/packages/wdio-local-runner)

Updates `@wdio/mocha-framework` from 9.7.2 to 9.7.3
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.7.3/packages/wdio-mocha-framework)

Updates `@wdio/sauce-service` from 9.7.2 to 9.8.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.8.0/packages/wdio-sauce-service)

Updates `@wdio/spec-reporter` from 9.6.3 to 9.8.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.8.0/packages/wdio-spec-reporter)

Updates `webdriverio` from 9.7.2 to 9.8.0
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.8.0/packages/webdriverio)

Updates `@babel/types` from 7.26.7 to 7.26.8
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.8/packages/babel-types)

Updates `postcss-selector-parser` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/postcss/postcss-selector-parser/releases)
- [Changelog](https://github.com/postcss/postcss-selector-parser/blob/master/CHANGELOG.md)
- [Commits](postcss/postcss-selector-parser@v7.0.0...v7.1.0)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: "@nx/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: "@swc/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: theoretically-non-breaking
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: theoretically-non-breaking
- dependency-name: "@vitest/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: theoretically-non-breaking
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: nx
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: rollup
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: theoretically-non-breaking
- dependency-name: terser
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: "@babel/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: theoretically-non-breaking
- dependency-name: "@babel/plugin-transform-async-generator-functions"
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: "@wdio/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: "@wdio/local-runner"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: "@wdio/mocha-framework"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: theoretically-non-breaking
- dependency-name: "@wdio/sauce-service"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: "@wdio/spec-reporter"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: webdriverio
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
- dependency-name: "@babel/types"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: theoretically-non-breaking
- dependency-name: postcss-selector-parser
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: theoretically-non-breaking
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: downgrade nx

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Will Harney <wharney@salesforce.com>
* chore: bump nx

last time dependabot tried, nx caused issues

* chore(nx): downgrade to 20.4.0

* chore: add logging to see why tree shaking is weird on CI

* chore: un-exclude LWC

it doesn't have build/dev scripts, so won't get picked up

and recent bug in NX causes --exclude=lwc to exclude all packages

* chore: revert test change to scripts
* fix(ssr): make internals non-configurable

* test(ssr): add check that internals are safe

* chore: remove rogue file

* chore: use correct file extension for test output
Bumps [koa](https://github.com/koajs/koa) from 2.15.3 to 2.15.4.
- [Release notes](https://github.com/koajs/koa/releases)
- [Changelog](https://github.com/koajs/koa/blob/2.15.4/History.md)
- [Commits](koajs/koa@2.15.3...2.15.4)

---
updated-dependencies:
- dependency-name: koa
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(engine-server): remove `feature` feature

it's unused

* chore: remove feature from types

* chore(tests): remove unused exports from tests

* chore: rename x/test modules to x/static

* chore: use static x-test for root fixture component

tag name (x-test) may not match directory name of root component

* chore: remove tag name that is no longer used

* refactor(test): destructure!

* chore: `fixture-test` feels better than `x-test` to make it more clear it's special
* chore: reintroduce locker logic

* Update packages/@lwc/integration-karma/test/component/LightningElement/index.spec.js

Co-authored-by: Will Harney <62956339+wjhsf@users.noreply.github.com>

* Update packages/@lwc/engine-core/src/framework/invoker.ts

Co-authored-by: Will Harney <62956339+wjhsf@users.noreply.github.com>

---------

Co-authored-by: Will Harney <62956339+wjhsf@users.noreply.github.com>
* refactor: create rollup plugin for virtual modules

* test(fixtures): refactor fixture config defs to individual files

they're not actually shared

* test(fixtures): update to use config.json instead of index.js

* chore: eradicate index.js

* chore: fix file extension

* chore: oops forgot this part
* chore: release v8.13.4

* chore: release v8.13.3
@jhefferman-sfdc jhefferman-sfdc requested a review from a team as a code owner February 18, 2025 18:25
* They need to be removed from this list and then fixed. There are only 4
* so kept here for now.
*/
const EXPECTED_V2_FAILURES = [
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These failures only occur in V2, due to engine differences. I didn't want to solve them in this PR but there are only 4 and they should be quick to resolve so I kept them in this file. Could also import them if someone feels strongly.

I can open bugs for them?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can create one WI for all of them, if you think they'll be quick fixes. If they'll take individual effort, multiple WIs is fine.

Also, please add corresponding tests to the SSR test suite so we can get easier signal about future breakage without having to run the integration/hydration tests.

Copy link
Collaborator

@divmain divmain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks for the quick turnaround!

* They need to be removed from this list and then fixed. There are only 4
* so kept here for now.
*/
const EXPECTED_V2_FAILURES = [
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can create one WI for all of them, if you think they'll be quick fixes. If they'll take individual effort, multiple WIs is fine.

Also, please add corresponding tests to the SSR test suite so we can get easier signal about future breakage without having to run the integration/hydration tests.

@jhefferman-sfdc jhefferman-sfdc merged commit 34c7522 into master Feb 18, 2025
11 checks passed
@jhefferman-sfdc jhefferman-sfdc deleted the mob/karma-with-ssrv2 branch February 18, 2025 19:41
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants