From 00927aa8ade7d003d16b6b9da10bf917e15e0615 Mon Sep 17 00:00:00 2001 From: John Jenkins Date: Sat, 23 May 2026 12:03:57 +0100 Subject: [PATCH 1/3] chore: upgrade things --- package.json | 2 +- packages/cli/package.json | 2 +- packages/core/package.json | 12 ++--- packages/dev-server/package.json | 2 +- packages/mock-doc/package.json | 4 +- pnpm-lock.yaml | 88 +++++++++++--------------------- 6 files changed, 41 insertions(+), 69 deletions(-) diff --git a/package.json b/package.json index e67633bc250..d86082188e4 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@changesets/cli": "^2.31.0", "@types/node": "^24.12.4", "cspell": "^9.8.0", - "knip": "^6.14.1", + "knip": "^6.14.2", "oxfmt": "^0.42.0", "oxlint": "^1.66.0" }, diff --git a/packages/cli/package.json b/packages/cli/package.json index acab0c861bf..b1e9026cbcb 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -43,7 +43,7 @@ }, "dependencies": { "@stencil/dev-server": "workspace:*", - "prompts": "^2.4.2" + "prompts": "^2.0.0" }, "devDependencies": { "@stencil/core": "workspace:*", diff --git a/packages/core/package.json b/packages/core/package.json index 086b0814e7c..e89f7e63631 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -107,27 +107,27 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@parcel/watcher": "^2.5.1", - "@preact/signals-core": "^1.14.2", + "@parcel/watcher": "^2.0.0", + "@preact/signals-core": "^1.0.0", "@rollup/pluginutils": "^5.3.0", "@stencil/cli": "workspace:*", "@stencil/dev-server": "workspace:*", "@stencil/mock-doc": "workspace:*", "browserslist": "^4.0.0", - "chalk": "^5.6.2", + "chalk": "^5.0.0", "css-what": "^7.0.0", "jiti": "^2.0.0", "lightningcss": "^1.0.0", "magic-string": "^0.30.0", - "picomatch": "^4.0.3", + "picomatch": "^4.0.0", "postcss": "^8.0.0", "postcss-safe-parser": "^7.0.0", "postcss-selector-parser": "^7.0.0", "resolve": "^1.22.0", "rolldown": "^1.0.0", - "semver": "^7.7.4", + "semver": "^7.0.0", "terser": "^5.0.0", - "tinyglobby": "^0.2.15", + "tinyglobby": "^0.2.0", "typescript": "catalog:" }, "devDependencies": { diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index 3e6459656c7..a771eb4bd48 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -40,7 +40,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "launch-editor": "^2.9.1", + "launch-editor": "^2.0.0", "open": "^11.0.0", "ws": "^8.0.0" }, diff --git a/packages/mock-doc/package.json b/packages/mock-doc/package.json index a5f8768ed99..4d8c5b417d9 100644 --- a/packages/mock-doc/package.json +++ b/packages/mock-doc/package.json @@ -37,8 +37,8 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "nwsapi": "^2.2.23", - "parse5": "7.2.1" + "nwsapi": "^2.0.0", + "parse5": "^8.0.0" }, "devDependencies": { "@stencil/vitest": "catalog:", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 332f00f3801..53151467b2e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,8 +54,8 @@ importers: specifier: ^9.8.0 version: 9.8.0 knip: - specifier: ^6.14.1 - version: 6.14.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + specifier: ^6.14.2 + version: 6.14.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) oxfmt: specifier: ^0.42.0 version: 0.42.0 @@ -69,7 +69,7 @@ importers: specifier: workspace:* version: link:../dev-server prompts: - specifier: ^2.4.2 + specifier: ^2.0.0 version: 2.4.2 devDependencies: '@stencil/core': @@ -91,10 +91,10 @@ importers: packages/core: dependencies: '@parcel/watcher': - specifier: ^2.5.1 + specifier: ^2.0.0 version: 2.5.6 '@preact/signals-core': - specifier: ^1.14.2 + specifier: ^1.0.0 version: 1.14.2 '@rollup/pluginutils': specifier: ^5.3.0 @@ -112,7 +112,7 @@ importers: specifier: ^4.0.0 version: 4.28.2 chalk: - specifier: ^5.6.2 + specifier: ^5.0.0 version: 5.6.2 css-what: specifier: ^7.0.0 @@ -127,7 +127,7 @@ importers: specifier: ^0.30.0 version: 0.30.21 picomatch: - specifier: ^4.0.3 + specifier: ^4.0.0 version: 4.0.4 postcss: specifier: ^8.0.0 @@ -145,14 +145,14 @@ importers: specifier: ^1.0.0 version: 1.0.2 semver: - specifier: ^7.7.4 - version: 7.7.4 + specifier: ^7.0.0 + version: 7.8.1 terser: specifier: ^5.0.0 version: 5.48.0 tinyglobby: - specifier: ^0.2.15 - version: 0.2.15 + specifier: ^0.2.0 + version: 0.2.16 typescript: specifier: 'catalog:' version: 6.0.3 @@ -179,8 +179,8 @@ importers: packages/dev-server: dependencies: launch-editor: - specifier: ^2.9.1 - version: 2.13.0 + specifier: ^2.0.0 + version: 2.13.2 open: specifier: ^11.0.0 version: 11.0.0 @@ -213,11 +213,11 @@ importers: packages/mock-doc: dependencies: nwsapi: - specifier: ^2.2.23 + specifier: ^2.0.0 version: 2.2.23 parse5: - specifier: 7.2.1 - version: 7.2.1 + specifier: ^8.0.0 + version: 8.0.1 devDependencies: '@stencil/vitest': specifier: 'catalog:' @@ -3359,10 +3359,6 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - entities@8.0.0: resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==} engines: {node: '>=20.19.0'} @@ -3990,13 +3986,13 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - knip@6.14.1: - resolution: {integrity: sha512-SN3Ly0ixzj5CQkY/rc4OPHpWrCC0XRIIjgdP76G9Cni5k72ur5jBYOyvJuF5oPTM14v8eHcMUgPbElHa+lnR0g==} + knip@6.14.2: + resolution: {integrity: sha512-Vg3JhIINjZew1I7qAFI4UHemW1mc4azP/BxJvsq9eGDfxpGO7oVCuD/bsWkog9TO/ZwwJeAeOMFZ1kd9jnY9+Q==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - launch-editor@2.13.0: - resolution: {integrity: sha512-u+9asUHMJ99lA15VRMXw5XKfySFR9dGXwgsgS14YTbUq3GITP58mIM32At90P5fZ+MUId5Yw+IwI/yKub7jnCQ==} + launch-editor@2.13.2: + resolution: {integrity: sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==} level-blobs@0.1.7: resolution: {integrity: sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==} @@ -4430,9 +4426,6 @@ packages: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} - parse5@7.2.1: - resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} - parse5@8.0.1: resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==} @@ -4486,10 +4479,6 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - picomatch@2.3.2: resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} @@ -4933,11 +4922,6 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} - engines: {node: '>=10'} - hasBin: true - semver@7.8.0: resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} engines: {node: '>=10'} @@ -4980,8 +4964,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + shell-quote@1.8.4: + resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} engines: {node: '>= 0.4'} siginfo@2.0.0: @@ -6891,7 +6875,7 @@ snapshots: dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 - picomatch: 2.3.1 + picomatch: 2.3.2 rollup: 4.57.1 '@rollup/pluginutils@5.3.0(rollup@4.57.1)': @@ -7404,7 +7388,7 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.6.2 + chalk: 5.0.1 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -7977,10 +7961,7 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - entities@4.5.0: {} - - entities@8.0.0: - optional: true + entities@8.0.0: {} env-paths@4.0.0: dependencies: @@ -8654,7 +8635,7 @@ snapshots: kleur@3.0.3: {} - knip@6.14.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): + knip@6.14.2(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: fdir: 6.5.0(picomatch@4.0.4) formatly: 0.3.0 @@ -8674,10 +8655,10 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - launch-editor@2.13.0: + launch-editor@2.13.2: dependencies: picocolors: 1.1.1 - shell-quote: 1.8.3 + shell-quote: 1.8.4 level-blobs@0.1.7: dependencies: @@ -9226,14 +9207,9 @@ snapshots: error-ex: 1.3.4 json-parse-better-errors: 1.0.2 - parse5@7.2.1: - dependencies: - entities: 4.5.0 - parse5@8.0.1: dependencies: entities: 8.0.0 - optional: true pascalcase@0.1.1: {} @@ -9273,8 +9249,6 @@ snapshots: picocolors@1.1.1: {} - picomatch@2.3.1: {} - picomatch@2.3.2: {} picomatch@4.0.4: {} @@ -9729,8 +9703,6 @@ snapshots: semver@6.3.1: {} - semver@7.7.4: {} - semver@7.8.0: {} semver@7.8.1: {} @@ -9791,7 +9763,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.3: {} + shell-quote@1.8.4: {} siginfo@2.0.0: {} @@ -10172,7 +10144,7 @@ snapshots: picomatch: 4.0.4 postcss: 8.5.15 rollup: 4.57.1 - tinyglobby: 0.2.15 + tinyglobby: 0.2.16 optionalDependencies: '@types/node': 25.9.1 fsevents: 2.3.3 From 97dc667a20ddd75618c49eff787714b3b1ebb7af Mon Sep 17 00:00:00 2001 From: John Jenkins Date: Sat, 23 May 2026 12:04:18 +0100 Subject: [PATCH 2/3] chore: tidy --- V5_PLANNING.md | 92 +++++++++---------- .../migrations/_test_/hash-file-names.spec.ts | 6 +- .../src/migrations/rules/external-runtime.ts | 4 +- .../src/migrations/rules/hash-file-names.ts | 2 +- .../src/migrations/rules/light-dom-patches.ts | 2 +- .../src/migrations/rules/rolldown-config.ts | 4 +- packages/core/src/app-data/lazy.ts | 2 +- .../core/src/compiler/app-core/app-data.ts | 6 +- packages/core/src/compiler/build/build.ts | 6 +- .../core/src/compiler/build/watch-build.ts | 4 +- .../compiler/bundle/core-resolve-plugin.ts | 2 +- .../compiler/bundle/ext-transforms-plugin.ts | 2 +- .../src/compiler/bundle/file-load-plugin.ts | 2 +- .../_test_/validate-output-ssr-wasm.spec.ts | 2 +- .../_test_/validate-rolldown-config.spec.ts | 2 +- .../compiler/config/outputs/validate-www.ts | 2 +- .../src/compiler/config/validate-plugins.ts | 4 +- .../src/compiler/fs-watch/fs-watch-rebuild.ts | 2 +- .../src/compiler/optimize/autoprefixer.ts | 2 +- .../_test_/output-targets-www-dist.spec.ts | 2 +- .../output-targets/collection/index.ts | 8 +- .../output-targets/dist-lazy/lazy-output.ts | 2 +- .../core/src/compiler/output-targets/index.ts | 2 +- .../ssr-wasm/generate-ssr-wasm.ts | 16 ++-- .../standalone/generate-loader-module.ts | 6 +- .../compiler/style/_test_/css-imports.spec.ts | 4 +- .../core/src/compiler/style/css-imports.ts | 2 +- .../sys/typescript/typescript-config.ts | 2 +- .../compiler/sys/typescript/typescript-sys.ts | 2 +- .../transformers/_test_/parse-extends.spec.ts | 2 +- .../transformers/add-tag-transform.ts | 2 +- .../automatic-key-insertion/utils.ts | 2 +- .../src/compiler/transpile/run-program.ts | 4 +- .../core/src/compiler/transpile/ts-config.ts | 2 +- .../core/src/declarations/stencil-private.ts | 6 +- .../declarations/stencil-public-compiler.ts | 4 +- .../declarations/stencil-public-runtime.ts | 2 +- .../runtime/_test_/signal-backing.spec.tsx | 2 +- packages/core/src/runtime/hmr-component.ts | 6 +- packages/core/src/runtime/render.ts | 2 +- packages/core/src/runtime/set-value.ts | 2 +- packages/core/src/runtime/signals.ts | 2 +- packages/core/src/runtime/update-component.ts | 2 +- packages/core/src/runtime/vdom/h.ts | 2 +- packages/core/src/signals/index.ts | 2 +- packages/core/src/utils/constants.ts | 4 +- packages/core/tsdown.config.ts | 2 +- test/build/global-style/src/global.css | 2 +- test/build/global-style/validate.js | 4 +- .../render-vdom/render-vdom.spec.tsx | 2 +- .../signal-prop-cmp/signal-prop-cmp.spec.tsx | 2 +- 51 files changed, 127 insertions(+), 127 deletions(-) diff --git a/V5_PLANNING.md b/V5_PLANNING.md index 1f7e6d516fe..c884ce49b32 100644 --- a/V5_PLANNING.md +++ b/V5_PLANNING.md @@ -127,9 +127,9 @@ Modernize Stencil after 10 years: shed tech debt, embrace modern tooling, simpli - **`global-style` output target now supports `inject`** - control whether styles are injected into component shadow DOMs (`'none'`, `'client'`, `'all'`) - **Multiple `global-style` outputs supported** - build separate CSS bundles from different input files, each with independent `inject` settings - **`www` can now use standalone loader** -- **`@Component` now supports `globalStyleUrl` and `globalStyle`** — co-locate document-level styles with the component. Styles are collected at build time and injected wherever `@import "stencil-globals"` appears in a global stylesheet. Works for all encapsulation types (shadow, scoped, none). No mode variants — CSS handles runtime variants via selectors or custom properties. Changes to `globalStyleUrl` files invalidate the global style build cache and trigger HMR correctly. -- **`@import "stencil-hydrate"` virtual placeholder** — add to any `global-style` input to inject static FOUC-prevention CSS at build time instead of relying on the dynamic `