Are Web Components & Cybersecurity A Better Combo?

I'm not trying to dunk on popular #UI #frameworks – I'm sure they're totally fine for #cybersecurity stuff, probably get loads of reviews and #audits.

But from my angle: Web Components are *native* to the #browser. Doesn't that just inherently reduce the risk of **#SupplyChainAttacks** (you know, like a rogue `npm install` on a bad network) for your #AppSecurity?

Or am I overthinking it, and the #framework choice is less important than the #browser, #OS, or #device running it? What are your thoughts, #DevCommunity?

---

Quick context: I've got a #ReactJS #messagingApp (repo here: https://github.com/positive-intentions/chat) and a separate #UIFramework (repo here: https://github.com/positive-intentions/dim) built with #Lit (which uses Web Components). I'm genuinely wondering if there's a compelling #cybersecurity reason to refactor the chat app to use my #WebComponent UI framework. Might be a whole new level of #SecurityByDesign for #FrontEndDev.

FYI, same question's on Reddit here: https://www.reddit.com/r/ExperiencedDevs/comments/1lmk1rg/are_web_components_better_for_cybersecurity/, got some good #insights, but want to make sure nothing's getting overlooked! Let's discuss #InfoSec #WebDev #JavaScript #OpenSource #TechQuestion.

GitHub - positive-intentions/chat: Decentralized chat

Decentralized chat. Contribute to positive-intentions/chat development by creating an account on GitHub.

GitHub

thanks to a discussion on reddit [1] and some links [2] I came across a different view on #webcomponents.
In short, just wrap content in a #webcomponent instead of trying to "upgrade" it. Like so:

<user-avatar>
<img src>
</user-avatar>

I always thought until now that it should rather be

<img src is=user-avatar>

but `is` is not widely usable.
I still need to digest it. I see the use cases, but somehow feels still strange

[1] https://www.reddit.com/r/HTML/comments/1ldt5s4/spaish_upgrading_the_details_element/
[2] https://adactio.com/journal/20618

@webkit Also, while I'm here, #firefox #mozilla @FirefoxDevTools where's my support for `:host:has(...)` at!?!

#testTheWebForward #webComponent

I'm trying to make #webcomponent with the exact same API as a native HTMLVideoElement - is there any clever way to do it?

@matuzo Shadow DOM isn’t the only part of the platform that #webComponent popularity is adding pressure on automated tools to support. Things like Element Internals are getting left off the menu in many places, like https://github.com/dequelabs/axe-core/issues/4259, just as they and soon things like Reference Targets start to expand as well. 🥺

#webDev #a11y #testTheWebForward

Custom Elements using `ElementInternals` to set `role` are flagged when `aria-label` is provided · Issue #4259 · dequelabs/axe-core

Product axe-core Product Version 4.8.2 Latest Version I have tested the issue with the latest version of the product Issue Description We are currently migrating our Web Component library to use th...

GitHub

#Development #Approaches
Glossary web component · A slick way to add links and context to your content https://ilo.im/163pvz

_____
#Glossary #Content #Markdown #JSON #Popover #WebComponent #WebDev #Frontend #HTML #JavaScript

Glossary Web Component

The one where I put the hypercard in the hyperlink

dbushell.com

The other day I mentioned I might have accidentally written a web component framework powered by @vite Here I've written about said framework - https://mastodon.gamedev.place/@teskooano/114432752411496927

#webComponent #JavaScript #framework #webComponents #vite

🔭 Teskooano (@teskooano@mastodon.gamedev.place)

Attached: 2 images Version 0.2.0 of #teskooano is out! Read about the release and the new #webComponent #JavaScript #framework I've written - now live on the site! Also see the roadmap for upcoming plans https://teskooano.space/plan/00002/ #gamedev #webDev #indieDev #ui #typescript

Gamedev Mastodon

Version 0.2.0 of #teskooano is out!

Read about the release and the new #webComponent #JavaScript #framework I've written - now live on the site!

Also see the roadmap for upcoming plans

https://teskooano.space/plan/00002/

#gamedev #webDev #indieDev #ui #typescript

I think I've accidentally built quite a cool '#webComponent-as-a-plugin' system for the @teskooano UI - essentially two functions - one to register base components, and one to register full plugins, that are made up of one or more web components, functions and a controller. These components can self-register things like buttons in certain toolbars, or you can just add them as functions (like opening a new external URL). I'll post a bit more on it later
Just embedded #vue into a huge legacy web application with vue components (generates vue #webcomponent).
This is a big step, since now I can incrementally rewrite the whole UI.