-
Notifications
You must be signed in to change notification settings - Fork 771
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(runtime): support already-existing shadow roots #5787
Conversation
|
Path | Error Count |
---|---|
src/dev-server/index.ts | 37 |
src/dev-server/server-process.ts | 32 |
src/compiler/prerender/prerender-main.ts | 22 |
src/runtime/vdom/vdom-render.ts | 21 |
src/runtime/client-hydrate.ts | 20 |
src/screenshot/connector-base.ts | 19 |
src/testing/puppeteer/puppeteer-element.ts | 19 |
src/dev-server/request-handler.ts | 15 |
src/compiler/prerender/prerender-optimize.ts | 14 |
src/compiler/sys/stencil-sys.ts | 14 |
src/runtime/connected-callback.ts | 14 |
src/sys/node/node-sys.ts | 14 |
src/compiler/prerender/prerender-queue.ts | 13 |
src/compiler/sys/in-memory-fs.ts | 13 |
src/runtime/set-value.ts | 13 |
src/compiler/output-targets/output-www.ts | 12 |
src/compiler/transformers/test/parse-vdom.spec.ts | 12 |
src/compiler/transformers/transform-utils.ts | 12 |
src/mock-doc/test/attribute.spec.ts | 12 |
src/compiler/build/compiler-ctx.ts | 11 |
Our most common errors
Typescript Error Code | Count |
---|---|
TS2322 | 351 |
TS2345 | 330 |
TS18048 | 193 |
TS18047 | 76 |
TS2722 | 27 |
TS2532 | 24 |
TS2531 | 19 |
TS2454 | 14 |
TS2790 | 11 |
TS2352 | 9 |
TS2769 | 8 |
TS2416 | 7 |
TS2538 | 4 |
TS2493 | 3 |
TS18046 | 2 |
TS2684 | 1 |
TS2430 | 1 |
Unused exports report
There are 15 unused exports on this PR. That's the same number of errors on main, so at least we're not creating new ones!
Unused exports
File | Line | Identifier |
---|---|---|
src/runtime/bootstrap-lazy.ts | 21 | setNonce |
src/screenshot/screenshot-fs.ts | 18 | readScreenshotData |
src/testing/testing-utils.ts | 198 | withSilentWarn |
src/utils/index.ts | 145 | CUSTOM |
src/utils/index.ts | 245 | NODE_TYPES |
src/utils/index.ts | 269 | normalize |
src/utils/index.ts | 7 | escapeRegExpSpecialCharacters |
src/compiler/app-core/app-data.ts | 25 | BUILD |
src/compiler/app-core/app-data.ts | 116 | Env |
src/compiler/app-core/app-data.ts | 118 | NAMESPACE |
src/compiler/fs-watch/fs-watch-rebuild.ts | 123 | updateCacheFromRebuild |
src/compiler/types/validate-primary-package-output-target.ts | 61 | satisfies |
src/compiler/types/validate-primary-package-output-target.ts | 61 | Record |
src/testing/puppeteer/puppeteer-declarations.ts | 485 | WaitForEventOptions |
src/compiler/sys/fetch/write-fetch-success.ts | 7 | writeFetchSuccessSync |
a10290c
to
39cb9e9
Compare
PR built and packed!Download the tarball here: https://github.com/ionic-team/stencil/actions/runs/9269810431/artifacts/1544211247 If your browser saves files to
|
This adds some checks when a Stencil component is booting up that will re-use a shadow root if the host element already has one, instead of just calling `this.attachShadow` in all cases. Additionally, Stencil's virtual DOM will now cleanly take over any elements which are already present in its root element when it first runs. This will allow it to re-use elements that were already created in the shadow root, as well as clean up any stray elements that shouldn't be there. Together these changes will allow the Stencil runtime to smoothly take over a shadow root which was created via a `<template>` tag in the page's HTML, i.e. via declarative shadow DOM (DSD). **NOTE** this _only_ enables the Stencil runtime to re-use a shadow root created via DSD, it does not add any support to Stencil for rendering a suitable `<template>...` HTML string. STENCIL-1316
39cb9e9
to
65b5fb8
Compare
closing in favor of #5792 |
feat(runtime): enhance renderToString to support serializeShadowRootAsDeclarativeShadowRoot flag make esm hydrate script make test work add unit test fix prettier wip minor tweaks apply more changes from #5787 get unit tests working prettier remove import fix test eslint fix use dynamic import minor e2e fixes prettier fix cspell adjust tests prettier allow to run headless make streaming work fix tests prettier remove obsolete file this should fix pre-render test prettier finally get it right prettier
feat(runtime): enhance renderToString to support serializeShadowRootAsDeclarativeShadowRoot flag make esm hydrate script make test work add unit test fix prettier wip minor tweaks apply more changes from #5787 get unit tests working prettier remove import fix test eslint fix use dynamic import minor e2e fixes prettier fix cspell adjust tests prettier allow to run headless make streaming work fix tests prettier remove obsolete file this should fix pre-render test prettier finally get it right prettier
This adds some checks when a Stencil component is booting up that will
re-use a shadow root if the host element already has one, instead of
just calling
this.attachShadow
in all cases.Additionally, Stencil's virtual DOM will now cleanly take over any
elements which are already present in its root element when it first
runs. This will allow it to re-use elements that were already created in
the shadow root, as well as clean up any stray elements that shouldn't
be there.
Together these changes will allow the Stencil runtime to smoothly take
over a shadow root which was created via a
<template>
tag in thepage's HTML, i.e. via declarative shadow DOM (DSD).
NOTE this only enables the Stencil runtime to re-use a shadow root
created via DSD, it does not add any support to Stencil for rendering
a suitable
<template>...
HTML string.STENCIL-1316
What is the current behavior?
GitHub Issue Number: N/A
What is the new behavior?
Documentation
Does this introduce a breaking change?
Testing
Other information