1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { readFile } from "https://esm.town/v/std/utils/index.ts";
3import { BLOG_URL, SITE_DESCRIPTION } from "../utils/constants.ts";
152 "slug": "post-mortem-esm-sh",
153 "link": "/blog/post-mortem-esm-sh",
154 "description": "Some vals experienced lockfile and React errors due to breaking changes in esm.sh",
155 "pubDate": "Thu, 16 Jan 2025 00:00:00 GMT",
156 "author": "Steve Krouse",
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import SocialLinks from "./SocialLinks.tsx";
3import LogoMark from "./LogoMark.tsx";
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { Hono } from "https://esm.sh/hono@3.12.0";
3import { renderToStaticMarkup } from "https://esm.sh/react-dom@18.2.0/server";
4import { Favicon } from "../components/LogoMark.tsx";
5
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { formatDate, dayOfWeek } from "./util.tsx";
3
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { Hono } from "https://esm.sh/hono@3.12.0";
3import { renderToString } from "https://esm.sh/react-dom@18.2.0/server";
4import { BlogPostComponent } from "../components/BlogPost.tsx";
5import { getBlogPostBySlug } from "../utils/get-new-posts.ts";
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React from "https://esm.sh/react@18.2.0";
3import { BlogPost as BlogPostType } from "../utils/types.ts";
4import Byline from "./Byline.tsx";
14| | Before | Now |
15|---------------------|---------------------------|------------|
16| **Rendering** | Astro | React |
17| **Version control** | GitHub | Val Town |
18| **Text editing** | Local editor | Val Town |
1/** @jsxImportSource npm:react@18.2.0 */
2import type { ReactNode } from "npm:react@18.2.0";
3
4export function Layout({ children }: { children: ReactNode }) {
5 return (
6 <html lang="en">
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import Markdown from "https://esm.sh/react-markdown@9?deps=react@18.2.0";
3import { listFiles, readFile } from "https://esm.town/v/std/utils@85-main/index.ts";
4import { renderToString } from "npm:react-dom@18.2.0/server";
5import { Layout } from "./Layout.tsx";
6
44}
45
46function html(children: React.ReactNode) {
47 return new Response(
48 renderToString(
Hono + React + Tailwind + Farcaster Mini App Starter Project
Starter template with client-side React & Hono server
Write business logic with ease
Meet the new standard for modern TypeScript development.
Type-safe, reactive, framework-agnostic library to manage your business logic.
Follow me if you learn more about JavaScript | TypeScript | React.js | Next.js | Linux | NixOS | Frontend Developer | https://linktr.ee/officialrajdeepsingh