Sailsconf 2023, Astro 2.6, and Marko Run

Sailsconf 2023, Astro 2.6, and Marko Run


JavaScript Jam Live on Wednesday

Tomorrow, we'll be talking with Kelvin Omereshone about the upcoming 2023 edition of Sailsconf. Running from June 14th to 16th, the event is a global gathering of enthusiasts, practitioners, and companies dedicated to JavaScript and Sails.js, a popular MVC (Model-View-Controller) framework for Node.js.

Inspired by Ruby on Rails and Laravel, the framework is designed to emulate the familiar MVC patterns of these previous backend tools but with support for the requirements of modern apps that use data-driven APIs for building scalable, service-oriented architectures.

Last week, we were live at RenderATL and spoke with Taylor Desseyn, James Q. Quick, J. Dash, and Dev Agrawal about what they were most excited about for the conference. We've also got four (!) podcast interviews coming at you in the next few weeks from Render, so stay tuned for that!

Story of the Week

Astro 2.5 and 2.6

Last month, Astro announced the release of Astro 2.5, which offers a wide range of new features aiming to enhance the capabilities of Astro with an emphasis on improved rendering speed, component flexibility, and content management. They quickly followed up this week with the release of Astro 2.6 which focuses on the stable release of middleware. Features in the releases include:

  1. Data Collections and References: Astro 2.5 now allows JSON and YAML files to be included in the src/content/ folder. These files can store data and be referenced in other collections. This feature enhances content management and authoring. With this, users can create data collections alongside their existing content collections by configuring them using the new type: 'data' property. A common use case would be a blog post referencing reusable author profiles stored as JSON in a data collection.
  2. Hybrid Rendering: This experimental feature permits server routes in mostly static sites. Introduced in version 2.0, Astro 2.5 expands the ability to pre-render individual pages in Server-Side Rendering (SSR) apps. Now, users can specify routes that do not need to be pre-rendered in mostly static sites. This hybrid server output option changes the default pre-rendering behavior of SSR and can be enabled using the hybridOutput flag.
  3. Custom Client Directives: Another experimental feature, custom client directives give integration authors the ability to define their loading mechanics for client directives. This can be enabled through customClientDirectives in the experimental section of the configuration.
  4. HTML Minification: An optional feature, HTML minification, allows users to minify their Astro templates by removing all whitespace including line breaks. This can be enabled using the compressHTML option in the configuration, and it works both in development mode and in the final build.
  5. Parallelized Rendering: In Astro 2.5, sibling components run in parallel, accelerating the rendering process when there are multiple components doing their own data loading. Prior versions required each component to wait for the previous one to finish before it started rendering. The new feature ensures all components render simultaneously.
  6. Polymorphic Type Helper: This feature enables users to define a component that accepts the same properties as built-in elements. This is particularly useful for components that can render as different HTML elements, depending on the props passed to them.
  7. Middleware: Previously introduced in Astro 2.4, middleware provides greater control over Astro projects, allowing developers to run code before or after page rendering, including functions for authentication, redirects, and header modifications.
  8. Hybrid SSR Output Mode: This new stable feature allows a blend of interactive API endpoints and pages, maintaining the project as static and pre-rendered by default.
  9. Custom Client Directives: First introduced in Astro 2.5, custom client directives control how interactive UI loads on your page on a component-by-component basis. Now developers can define their custom client directives.
  10. CSS Inlining: A new configuration option in Astro 2.6 automatically inlines small CSS snippets into HTML, reducing the number of requests and external stylesheets needed to load a page.
  11. Redirects (Experimental): This feature simplifies setting up page redirects in Astro projects, ensuring consistency across different hosts, and between development and production.
  12. Markdoc Improvements: Enhancements to Markdoc include automatic id generation in headings, better syntax highlighting support, and support for config extensions with extends.
  13. Language Tool Improvements: The Astro VSCode extension is upgraded with the release of @astrojs/language-server 2.0, leveraging the Volar framework from the Vue team for improved performance and stability.

Further details, along with examples and additional bug fixes/improvements are available in the release notes.

Composability Summit

Alright, we've run out of all Composability Summit talks except for one which means you're going to be subjected to my talk! In, A Crash Course in Web3 for Web2 Developers, Anthony Campolo (me!) walks through how current web developers can feel right at home in this new paradigm by understanding the basics of smart contracts and how they interact with well known frontend clients and web application interfaces.

Podcasts of the Week

One More Thing

You might remember in our conversation with the Marko Team back in March, we discussed the brand new Marko meta-framework, Marko Run. Curious to learn more about the beta project?

The latest episode of the JavaScript Jam podcast features Marko core team member Ryan Turnquist demoing an example Marko Run application, the framework's server adapters, and the Marko Tags API Preview.

JavaScript Jam on the Web

Find us online at the following links: