Show HN: Tiniest Web Component

(gist.github.com)

20 points | by ceving 32 days ago

8 comments

  • vwelling 31 days ago
    When claiming copyright, you should mention the date of first publication and if applicable, the last significant revision. Not the current date.
    • floydnoel 31 days ago
      Q) what is the purpose of the copyright year?

      A) to always show the current year, apparently!

    • rothos 30 days ago
      Correct. A later year is actually a weaker claim to the copyright.
  • jjice 31 days ago
    Tangential, but what's the state of web components at the moment? As a backend engineer, they were very appealing early on since I didn't want to deal with adding an entire framework onto a simple project. How'd that work out? It seems like the big frameworks are still kind by a mile and they provide a much easier developer experience still. Am I wrong there?
    • throwaway63467 30 days ago
      I don’t think they will go anywhere, too many different concepts and technologies have been packaged without clear goals. Some concepts like shadow DOM are useful in other contexts though, but templating and data binding is botched in my opinion.
  • KTibow 31 days ago
    Is there a good reason to use a shadow root for this instead of just directly setting innerText
    • dannye 31 days ago
      Only when you really want to encapsulate style or ensure GUI.

      This should/could be part of a generic <app-footer) Web Component which ensures all that required is required.

      We use a single <app-footer> for over 15 projects, it extracts domain namens to set the correct links.

      Its value showed when we needed (basic) A/B tracking on all sites, we only had to edit this one <app-footer> file

  • dannye 31 days ago
  • phillipseamore 32 days ago
    Safari has support for "is" attribute now?
  • drivingmenuts 32 days ago
    Is it necessary to use a web component to do what you could do with a snippet of Javascript? What is the use case for this?
    • moritzwarhier 31 days ago
      Also, as a JS developer, even if you want to auto-update the end year to the current one, why would you do that on the client? To make the layout shift? Or to display (c) 2024-2038 on clients with wrong date settings?

      If it's statically generated, add the year at build time. If it's server-generated and dynamic, don't do it in JS I guess? I mean, why? It has only downsides.

    • tomcam 31 days ago
      Could it be that this serves another purpose, perhaps showing something close to the minimum code that's required to create a web component?
    • eternityforest 31 days ago
      Seems like it pretty much is a tiny snippet of JavaScript, it's just all professional and standardized and best-practices-y
    • ceving 32 days ago
      I had a snippet in my HTML for this. But the snippet was rejected by a content security policy.
  • tomcam 31 days ago
    Excellent example for someone trying to wrap their arms around web components.
  • cranberryturkey 31 days ago
    this code isn't what's rendered. there's something about `this.textContent - ${year}` but that's not what we're seeing in output.
    • throwaway143829 31 days ago
      Yeah, I'm very confused by this. Why is the example also showing a hard-coded 2023 in the component usage? Shouldn't the component be responsible for rendering that?
      • sphars 31 days ago
        I believe it's because the `${this.textContent} - ${year}` will render it as `2023 - 2024`. The hardcoded 2023 can be whatever you want as to indicate the start of the copyright.