Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
92e280e
build(deps): bump the theoretically-non-breaking group with 10 update…
dependabot[bot] Aug 19, 2025
95047c1
build(deps-dev): bump chai from 5.3.1 to 6.0.1 (#5466)
dependabot[bot] Aug 26, 2025
ef9827a
build(deps-dev): bump the theoretically-non-breaking group with 9 upd…
dependabot[bot] Aug 26, 2025
846dd06
chore(deps): unpin semver (#5469)
wjhsf Aug 27, 2025
d383e58
chore(release): validate new version is greater than current version …
wjhsf Aug 27, 2025
6ea26d2
feat(release): move npm publish to github actions (#5464)
rax-it Aug 28, 2025
47645d8
test(wtr): clean global state and mock LWC (#5467)
wjhsf Aug 28, 2025
101a8fa
chore: release v8.21.3
github-actions[bot] Aug 28, 2025
1f9363b
chore: release v8.21.4
github-actions[bot] Aug 28, 2025
8cd4435
chore: gh action to force using npm registry (#5471)
rax-it Aug 28, 2025
bd62e67
chore: release v8.21.5
github-actions[bot] Aug 28, 2025
6f84845
chore: release force registry (#5472)
rax-it Aug 28, 2025
8e66b81
chore: release v8.21.6
github-actions[bot] Aug 28, 2025
a30a647
feat(release): add PAT support (#5473)
rax-it Aug 29, 2025
98a949c
build(deps-dev): bump the theoretically-non-breaking group with 4 upd…
dependabot[bot] Sep 2, 2025
1596663
chore(wtr): update files @W-19097558 (#5468)
wjhsf Sep 2, 2025
50e4ca1
test(wtr): replace TestUtils/test-utils with regular file module (#5476)
wjhsf Sep 2, 2025
475662e
build(deps-dev): bump @vitest/eslint-plugin in the vitest group (#5474)
dependabot[bot] Sep 3, 2025
9c108ea
test(wtr): clean up hydration tests (#5478)
wjhsf Sep 9, 2025
7e0d0ce
build(deps): bump the theoretically-non-breaking group with 13 update…
dependabot[bot] Sep 9, 2025
5ecf556
build(deps-dev): bump @vitest/eslint-plugin in the vitest group (#5481)
dependabot[bot] Sep 9, 2025
4bf3be7
HTML compliant CTE support (#5483)
jhefferman-sfdc Sep 10, 2025
a96e8d9
build(deps): bump vite from 7.0.4 to 7.1.5 (#5484)
dependabot[bot] Sep 11, 2025
0fefe67
test(wtr): split up utils (#5479)
wjhsf Sep 11, 2025
6e973b4
chore: release v8.22.0
github-actions[bot] Sep 12, 2025
36b4e49
chore(ci): actually run web-test-runner for PRs (#5486)
wjhsf Sep 12, 2025
3a7b986
fix: release persist creds (#5488)
rax-it Sep 12, 2025
9e4d3fa
chore: release v8.22.1
github-actions[bot] Sep 12, 2025
16048aa
fix: check for connectedness before running scheduled rehydration (#5…
jmsjtu Sep 16, 2025
58111d0
test(wtr): clean up hydration test logic @W-19098266 (#5487)
wjhsf Sep 16, 2025
3a03a76
test(wtr): remove usage of global `TestUtils` from hydration tests @W…
wjhsf Sep 16, 2025
6aae4b0
test(wtr): change jasmine globals to explicit imports @W-19098266 (#5…
wjhsf Sep 16, 2025
9ec20a2
chore(ci): restore nucleus downstream testing (#5497)
wjhsf Sep 17, 2025
82a6410
isTrustedSignalshould return false when no trusted set has been defin…
jhefferman-sfdc Sep 17, 2025
87c7d25
chore: bump version to 8.22.2 (#5501)
jhefferman-sfdc Sep 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 4 additions & 0 deletions .github/workflows/karma.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,9 @@ jobs:
- run: LEGACY_BROWSERS=1 yarn sauce:ci
- run: FORCE_NATIVE_SHADOW_MODE_FOR_TEST=1 yarn sauce:ci
- run: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 yarn sauce:ci
- run: DISABLE_DETACHED_REHYDRATION=1 yarn sauce:ci
- run: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 DISABLE_DETACHED_REHYDRATION=1 yarn sauce:ci

- name: Upload coverage results
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -187,6 +189,8 @@ jobs:
- run: NODE_ENV_FOR_TEST=production yarn hydration:sauce:ci:engine-server
- run: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 yarn hydration:sauce:ci:engine-server
- run: DISABLE_STATIC_CONTENT_OPTIMIZATION=1 yarn hydration:sauce:ci:engine-server
- run: DISABLE_DETACHED_REHYDRATION=1 yarn hydration:sauce:ci:engine-server
- run: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 DISABLE_DETACHED_REHYDRATION=1 yarn hydration:sauce:ci:engine-server
- run: yarn hydration:sauce:ci
- run: ENABLE_SYNTHETIC_SHADOW_IN_HYDRATION=1 yarn hydration:sauce:ci
- run: NODE_ENV_FOR_TEST=production yarn hydration:sauce:ci
Expand Down
106 changes: 106 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: Manual Release

on:
workflow_dispatch:
inputs:
bump:
description: 'Version bump type (used if release_version is empty)'
type: choice
options:
- major
- minor
- patch
- prerelease
required: false
release_version:
description: 'Semver version to release (must be > current root version)'
required: false

permissions:
contents: write
pull-requests: write
id-token: write
packages: write

jobs:
release:
# Allow only on master, spring*, summer*, winter*;
if: ${{ github.repository_owner == 'salesforce' && (github.ref_name == 'master' || startsWith(github.ref_name, 'spring') || startsWith(github.ref_name, 'summer') || startsWith(github.ref_name, 'winter')) }}
environment: release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.WORKFLOW_PAT }}
persist-credentials: true

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
registry-url: 'https://registry.npmjs.org'
cache: 'yarn'

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Resolve version input
id: resolve_version
run: |
RELEASE_VERSION='${{ inputs.release_version }}'
if [ -z "$RELEASE_VERSION" ]; then
RELEASE_VERSION='${{ inputs.bump }}'
fi
echo "resolved=$RELEASE_VERSION" >> "$GITHUB_OUTPUT"

- name: Resolve version
env:
INPUT_VERSION: ${{ steps.resolve_version.outputs.resolved }}
run: |
node ./scripts/release/version.js "$INPUT_VERSION"
RESOLVED_VERSION=$(jq -r .version package.json)
echo "RESOLVED_VERSION=$RESOLVED_VERSION" >> "$GITHUB_ENV"

- name: Set git identity (Actions bot)
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

- name: Commit & push
uses: actions-js/push@v1.4
with:
github_token: ${{ secrets.WORKFLOW_PAT }}
branch: ${{ github.ref_name }}
message: 'chore: release v${{ env.RESOLVED_VERSION }}'

- name: Build
run: yarn build

- name: Tag and create GitHub release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION=$(jq -r .version package.json)
git tag -a "v$VERSION" -m "Release v$VERSION"
git push origin tag "v$VERSION"
gh release create "v$VERSION" --title "v$VERSION" --generate-notes

- name: Publish to npm
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_CONFIG_ALWAYS_AUTH: 'true'
run: |
# Force both npm and yarn to use npmjs and pick up the token
yarn config set registry https://registry.npmjs.org
npm config set registry https://registry.npmjs.org
printf "//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}\nalways-auth=true\n" > ~/.npmrc

# Sanity checks
echo "yarn registry: $(yarn config get registry)"
echo "npm registry: $(npm config get registry)"

TAG=$([ "$GITHUB_REF_NAME" = "master" ] && echo latest || echo "$GITHUB_REF_NAME")
yarn nx release publish --yes --tag "$TAG"
16 changes: 5 additions & 11 deletions .github/workflows/web-test-runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ on:
push:
branches:
- master
- release
- 'spring*'
- 'summer*'
- 'winter*'
pull_request:
branches:
- master

env:
SAUCE_USERNAME: ${{secrets.SAUCE_USERNAME}}
Expand All @@ -20,7 +22,7 @@ jobs:
# TODO: add env var combos we use for Karma tests
# TODO: upload result artifacts
# TODO: make it saucy 🥫
run-wtr-tests-group-1:
wtr-group-1:
runs-on: ubuntu-22.04
env:
SAUCE_TUNNEL_ID: github-action-tunnel-wtr-${{github.run_id}}-group-1
Expand Down Expand Up @@ -50,11 +52,3 @@ jobs:

- run: yarn test
- run: yarn test:hydration

run-karma-tests:
runs-on: ubuntu-22.04
defaults:
run:
working-directory: ./packages/@lwc/integration-not-karma
needs:
- run-wtr-tests-group-1
15 changes: 1 addition & 14 deletions .nucleus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ core-deploy:
branches:
~DEFAULT~:
pull-request: &branch-definition
workflow: build-and-test
auto-start: true
auto-start-from-forks: false
merge-method: disabled # do not auto-merge; we'll do it ourselves
Expand All @@ -31,7 +32,6 @@ branches:
release:
pull-request:
<<: *branch-definition
merge-method: force-push # release branch should always be in sync with master branch (linear history)
# Only active branches need to be included in this config
winter26:
pull-request:
Expand Down Expand Up @@ -62,16 +62,3 @@ steps:
# this project runs yarn build after yarn install so skip explicit build step
node-build: &node-build
skip: true
node-pre-release-tests:
params:
command: yarn test
npm-configure:
params:
registry-url: https://registry.yarnpkg.com
npm-configure-for-publish:
params:
registry-url: https://registry.npmjs.org
npm-publish-release:
params:
access: public
tag: latest # note: this should be summer22, winter23, etc. if this .nucleus.yaml file is in a non-master branch
18 changes: 12 additions & 6 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,18 @@ export default tseslint.config(
},
},
{
files: ['packages/@lwc/integration-karma/**', 'packages/@lwc/integration-not-karma/**'],
files: ['packages/@lwc/integration-not-karma/**'],

languageOptions: {
globals: {
lwcRuntimeFlags: true,
process: true,
...globals.browser,
},
},
},
{
files: ['packages/@lwc/integration-karma/**'],

languageOptions: {
globals: {
Expand All @@ -367,11 +378,6 @@ export default tseslint.config(
...globals.jasmine,
},
},

rules: {
'no-var': 'off',
'prefer-rest-params': 'off',
},
},
{
files: ['packages/@lwc/synthetic-shadow/**'],
Expand Down
34 changes: 16 additions & 18 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lwc-monorepo",
"version": "8.21.2",
"version": "8.22.2",
"private": true,
"description": "Lightning Web Components",
"repository": {
Expand Down Expand Up @@ -38,43 +38,43 @@
},
"devDependencies": {
"@commitlint/cli": "^19.8.1",
"@eslint/js": "9.33.0",
"@eslint/js": "9.35.0",
"@lwc/eslint-plugin-lwc-internal": "link:./scripts/eslint-plugin",
"@lwc/test-utils-lwc-internals": "link:./scripts/test-utils",
"@nx/js": "21.3.11",
"@nx/js": "21.4.1",
"@rollup/plugin-commonjs": "^28.0.6",
"@rollup/plugin-inject": "^5.0.5",
"@rollup/plugin-node-resolve": "^16.0.1",
"@rollup/plugin-replace": "^6.0.2",
"@rollup/plugin-typescript": "^12.1.4",
"@swc-node/register": "~1.10.10",
"@swc/core": "~1.13.3",
"@swc-node/register": "~1.11.1",
"@swc/core": "~1.13.5",
"@swc/helpers": "~0.5.17",
"@types/babel__core": "^7.20.5",
"@types/node": "^22.17.1",
"@types/node": "^22.18.1",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/eslint-plugin": "^1.3.4",
"@vitest/eslint-plugin": "^1.3.9",
"@vitest/ui": "^3.2.4",
"bytes": "^3.1.2",
"es-module-lexer": "^1.7.0",
"eslint": "9.33.0",
"eslint": "9.35.0",
"eslint-config-flat-gitignore": "^2.1.0",
"eslint-plugin-header": "^3.1.1",
"eslint-plugin-import": "^2.32.0",
"glob": "^11.0.3",
"globals": "^16.3.0",
"husky": "^9.1.7",
"isbinaryfile": "^5.0.4",
"isbinaryfile": "^5.0.6",
"jsdom": "^26.1.0",
"lint-staged": "^16.1.5",
"magic-string": "^0.30.17",
"nx": "21.3.11",
"lint-staged": "^16.1.6",
"magic-string": "^0.30.19",
"nx": "21.4.1",
"prettier": "^3.6.2",
"rollup": "^4.46.2",
"terser": "^5.43.1",
"rollup": "^4.50.1",
"terser": "^5.44.0",
"tslib": "^2.8.1",
"typescript": "5.8.2",
"typescript-eslint": "8.39.0",
"typescript-eslint": "8.42.0",
"vitest": "^3.2.4"
},
"lint-staged": {
Expand All @@ -98,14 +98,12 @@
"resolutions": {
"//": {
"http-cache-semantics": "Pinned to address security vulnerability",
"semver": "Pinned to address security vulnerability",
"@types/estree": [
"Used by us and our dependencies. Because it's a type definition package,",
"we need everyone to use the same types (mixing versions breaks stuff)."
]
},
"http-cache-semantics": "4.1.1",
"semver": "7.6.0",
"http-cache-semantics": "4.2.0",
"@types/estree": "^1.0.8"
},
"dependencies": {}
Expand Down
2 changes: 1 addition & 1 deletion packages/@lwc/aria-reflection/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten."
],
"name": "@lwc/aria-reflection",
"version": "8.21.2",
"version": "8.22.2",
"description": "ARIA element reflection polyfill for strings",
"keywords": [
"aom",
Expand Down
6 changes: 3 additions & 3 deletions packages/@lwc/babel-plugin-component/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten."
],
"name": "@lwc/babel-plugin-component",
"version": "8.21.2",
"version": "8.22.2",
"description": "Babel plugin to transform a LWC module",
"keywords": [
"lwc"
Expand Down Expand Up @@ -47,8 +47,8 @@
},
"dependencies": {
"@babel/helper-module-imports": "7.27.1",
"@lwc/errors": "8.21.2",
"@lwc/shared": "8.21.2",
"@lwc/errors": "8.22.2",
"@lwc/shared": "8.22.2",
"line-column": "~1.0.2"
},
"devDependencies": {
Expand Down
18 changes: 9 additions & 9 deletions packages/@lwc/compiler/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten."
],
"name": "@lwc/compiler",
"version": "8.21.2",
"version": "8.22.2",
"description": "LWC compiler",
"keywords": [
"lwc"
Expand Down Expand Up @@ -46,17 +46,17 @@
}
},
"dependencies": {
"@babel/core": "7.28.0",
"@babel/core": "7.28.4",
"@babel/plugin-transform-async-generator-functions": "7.28.0",
"@babel/plugin-transform-async-to-generator": "7.27.1",
"@babel/plugin-transform-class-properties": "7.27.1",
"@babel/plugin-transform-object-rest-spread": "7.28.0",
"@babel/plugin-transform-object-rest-spread": "7.28.4",
"@locker/babel-plugin-transform-unforgeables": "0.22.0",
"@lwc/babel-plugin-component": "8.21.2",
"@lwc/errors": "8.21.2",
"@lwc/shared": "8.21.2",
"@lwc/ssr-compiler": "8.21.2",
"@lwc/style-compiler": "8.21.2",
"@lwc/template-compiler": "8.21.2"
"@lwc/babel-plugin-component": "8.22.2",
"@lwc/errors": "8.22.2",
"@lwc/shared": "8.22.2",
"@lwc/ssr-compiler": "8.22.2",
"@lwc/style-compiler": "8.22.2",
"@lwc/template-compiler": "8.22.2"
}
}
8 changes: 4 additions & 4 deletions packages/@lwc/engine-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"You can safely modify dependencies, devDependencies, keywords, etc., but other props will be overwritten."
],
"name": "@lwc/engine-core",
"version": "8.21.2",
"version": "8.22.2",
"description": "Core LWC engine APIs.",
"keywords": [
"lwc"
Expand Down Expand Up @@ -46,9 +46,9 @@
}
},
"dependencies": {
"@lwc/features": "8.21.2",
"@lwc/shared": "8.21.2",
"@lwc/signals": "8.21.2"
"@lwc/features": "8.22.2",
"@lwc/shared": "8.22.2",
"@lwc/signals": "8.22.2"
},
"devDependencies": {
"observable-membrane": "2.0.0"
Expand Down
Loading
Loading