Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
  •  
  •  
  •  
11 changes: 8 additions & 3 deletions .github/workflows/actions/install-playwright/action.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
name: 'Install Playwright Browsers'
description: 'Installs Playwright browsers with caching'
inputs:
working-directory:
description: 'Directory containing the Playwright installation to use'
required: false
default: 'test/ssr'
runs:
using: composite
steps:
- name: Get Playwright version
id: playwright-version
working-directory: test/ssr
working-directory: ${{ inputs.working-directory }}
run: echo "version=$(npx playwright --version)" >> $GITHUB_OUTPUT
shell: bash

Expand All @@ -21,12 +26,12 @@ runs:

- name: Install Playwright Browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
working-directory: test/ssr
working-directory: ${{ inputs.working-directory }}
run: npx playwright install --with-deps
shell: bash

- name: Install Playwright system deps (cache hit)
if: steps.playwright-cache.outputs.cache-hit == 'true' && runner.os == 'Linux'
working-directory: test/ssr
working-directory: ${{ inputs.working-directory }}
run: npx playwright install-deps
shell: bash
14 changes: 13 additions & 1 deletion .github/workflows/test-component-starter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ jobs:
working-directory: ./packages/core
shell: bash

- name: Pack @stencil/cli
run: pnpm pack --pack-destination ../../
working-directory: ./packages/cli
shell: bash

- name: Initialize Component Starter
run: npm init stencil component tmp-component-starter
shell: bash
Expand All @@ -48,12 +53,19 @@ jobs:
shell: bash

- name: Install Stencil from Pack
run: npm install ../stencil-core-*.tgz --legacy-peer-deps
run: npm install ../stencil-cli-*.tgz ../stencil-core-*.tgz --legacy-peer-deps
working-directory: ./tmp-component-starter
shell: bash

- name: Install Playwright Browsers
uses: ./.github/workflows/actions/install-playwright
with:
working-directory: ./tmp-component-starter

- name: Run Stencil Migrations
run: npx stencil migrate
working-directory: ./tmp-component-starter
shell: bash

- name: Build Starter Project
run: npm run build
Expand Down
10 changes: 10 additions & 0 deletions V5_PLANNING.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,16 @@ See [CLI/Core Architecture](#clicore-architecture) section for details.
- `dist` and `dist-hydrate-script` output targets no longer generate CJS bundles by default. Add `cjs: true` to your output target config to restore CJS output.
- `dist-hydrate-script` no longer generates a `package.json` file. Use `exports` in your library's main `package.json` to expose the hydrate script.
- **ES5 build output removed.** The `buildEs5` config option, `--es5` CLI flag, and all ES5-related output (esm-es5 directory, SystemJS bundles, ES5 polyfills) have been removed. Stencil now targets ES2017+ only. IE11 and Edge 18 and below are no longer supported.
- **@Component decorator `shadow`, `scoped`, and `formAssociated` properties removed.** Use the new unified `encapsulation` property instead:
- `shadow: true` → `encapsulation: { type: 'shadow' }`
- `shadow: { delegatesFocus: true }` → `encapsulation: { type: 'shadow', delegatesFocus: true }`
- `scoped: true` → `encapsulation: { type: 'scoped' }`
- Default (no encapsulation) → `encapsulation: { type: 'none' }` (optional, 'none' is default)
- **New feature:** `encapsulation: { type: 'shadow', mode: 'closed' }` enables closed shadow DOM
- **New feature:** Per-component slot patches via `encapsulation: { type: 'scoped', patches: ['children', 'clone', 'insert'] }`
- `formAssociated: true` → Use `@AttachInternals()` decorator instead (auto-sets `formAssociated: true`)
- To use `@AttachInternals` without form association: `@AttachInternals({ formAssociated: false })`
- Run `stencil migrate --dry-run` to preview automatic migration, or `stencil migrate` to apply changes

### 8. 🏷️ Release Management: Changesets
**Status:** 📋 Planned
Expand Down
2 changes: 1 addition & 1 deletion knip.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://unpkg.com/knip@6/schema.json",
"ignoreWorkspaces": ["test/**"],
"ignoreBinaries": ["playwright"],
"ignoreBinaries": ["playwright", "stencil"],
"rules": {
"catalog": "off"
},
Expand Down
Loading
Loading