Looking for work! Check my resume here.

· 2 min read

Astro@v1 is not mature

Astro v1 is more difficult to work with than its beta version.

NOTE: I’ve now migrated to Astro v2 and things were again a bit rough but it finally felt like for the better.

I started migrating my website from VitePress to Astro while it was late in their beta. I thought I had it all sorted out when I navigated their release candidates, but I just couldn’t believe how much dramatic changes they continued taking in their 1.0 release. Every day or two a new release comes to fix the issues from the release before it.

I’ve hit issues with Astro’s use of Vite including build process errors dropping CSS from final files; then a few releases later Astro would be writing CSS links twice to every file.

Images would work in beta then the new @astrojs/image integration would change its internals and appear to work during dev but fail in production.

Another example, somewhere just before the the official 1.0 release, Astro changed their use of Markdown files to the use of Markdownx files which allows importing Javascript components directly into the file. I believe prior to this Astro had its own implementation then decided to use the existing solution.

Then the convient layout tag in the frontmatter section which described which Astro layout to use to build the markdown file into its final HTML output wasn’t available. So all my markdown files needed to manually import the layout component, and I had to wrap the entire document in <Layout content={frontmatter}> tags (which is ugly and cumbersome) so the original functionality returned. About a week later the layout tag was re-introduced into @astrojs/mdx integration so I was back to how it was but I needed to modify all my posts again.

I was quite shocked how unsable Astro was at this point. For example even now in the 1.0.5 release the Astro devs are bumping the patch number to remove their Shiki-Twoslash integration in markdown files for handling code blocks in favor of their own custom Astro Shiki parser. A new @astrojs/shikitwoslash integration will handle the original functionality.

Wow what a mess.

I feel if they have so many drastic jumps and bugs that keep popping up they would still remain in beta. Like I said earlier, the beta releases were rather consistent and didn’t cause myself much trouble but did help fix issues. Now that they are in an official release these dramatic internal changes are wild.

    Share:
    Back to Blog