<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Joe Eagar</title>
    <description>The latest articles on Forem by Joe Eagar (@joeedh).</description>
    <link>https://forem.com/joeedh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F397499%2Fae1a9b12-fc92-4f62-bac5-fcb8b6a56493.jpeg</url>
      <title>Forem: Joe Eagar</title>
      <link>https://forem.com/joeedh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/joeedh"/>
    <language>en</language>
    <item>
      <title>Vite doesn't transform accessor keywords</title>
      <dc:creator>Joe Eagar</dc:creator>
      <pubDate>Thu, 16 Apr 2026 22:15:59 +0000</pubDate>
      <link>https://forem.com/joeedh/vite-doesnt-transform-accessor-keywords-3oa3</link>
      <guid>https://forem.com/joeedh/vite-doesnt-transform-accessor-keywords-3oa3</guid>
      <description>&lt;p&gt;I've spent quite a while trying to track down how exactly vite compiles code.  I haven't seen this level of spaghetti code in like 10 years.&lt;/p&gt;

&lt;p&gt;There's a CLI that invokes an HTTP server that invokes a plugin system that wraps the plugins' async methods (in these weird callbacks that devtools can't step through btw) that invokes the oxc compiler that, according to the code comments, eventually invokes esbuild but I've not gotten that far. Apparently the next layer in this async stack from hell is rolldown, for whatever reason.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffsu0qdar6p2tjx6i7x3q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffsu0qdar6p2tjx6i7x3q.png" alt=" " width="800" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I honestly think this will be a one line fix.  I compile other parts of this codebase with esbuild directly and it does transform the accessor keywords.  You are most likely just missing a config option buried somewhere in this codebase.&lt;/p&gt;

&lt;p&gt;But seriously you shouldn't string together async APIs this way.&lt;/p&gt;

</description>
      <category>vite</category>
    </item>
    <item>
      <title>Read From One Prop, Write To (Filtered) Many</title>
      <dc:creator>Joe Eagar</dc:creator>
      <pubDate>Fri, 26 Mar 2021 21:08:28 +0000</pubDate>
      <link>https://forem.com/joeedh/read-from-one-prop-write-to-filtered-many-1gfp</link>
      <guid>https://forem.com/joeedh/read-from-one-prop-write-to-filtered-many-1gfp</guid>
      <description>&lt;p&gt;Something you often see in vector graphic editors are widgets that read a property from one object but write to a filtered list of them.&lt;/p&gt;

&lt;p&gt;For example you might have a widget for editing the color of stroke lines.  It pulls the current stroke color from the last selected stroke but writes to all visible selected strokes.&lt;/p&gt;

&lt;p&gt;Anyone have any clue how you would do this with Angular-style data bindings?&lt;/p&gt;

</description>
      <category>angular</category>
    </item>
    <item>
      <title>Serving static data</title>
      <dc:creator>Joe Eagar</dc:creator>
      <pubDate>Thu, 24 Dec 2020 00:19:36 +0000</pubDate>
      <link>https://forem.com/joeedh/serving-static-data-28b7</link>
      <guid>https://forem.com/joeedh/serving-static-data-28b7</guid>
      <description>&lt;p&gt;I can't seem to find any documentation for this at all.  So, in the builders section of angular.json there's an 'assets' field for static data, pointing to files that I guess shows up served at /assets/... ?&lt;/p&gt;

&lt;p&gt;How exactly does this work?  How are the final urls created, and under what rules? Why is this not documented anywhere?&lt;/p&gt;

</description>
      <category>angular</category>
    </item>
  </channel>
</rss>
