chore: replace eslint & prettier w/ biomejs (#21)

* chore: replace eslint & prettier w/ biomejs

* fix syntax error in ci.yml workflow

* ensure that build CI jobs only run if check job succeeds to save resources
This commit is contained in:
M. George Hansen 2024-07-15 08:36:52 -07:00
parent 73135dd4b5
commit 5118a8174b
Signed by: mgeorgehansen
SSH key fingerprint: SHA256:JlIGiQLPyQ2RHTH3a2oVlb20Xkh9Glr8DUF4YTXHJxM
44 changed files with 2408 additions and 5691 deletions

View file

@ -1,25 +1,25 @@
import { stylesheet } from "typestyle";
import { Component, createElement } from "websnacks";
import { type Component, createElement } from "websnacks";
const styles = stylesheet({
header: {
background: "#6c42bd",
color: "#fff",
padding: "32px",
textAlign: "center",
boxShadow: "0 1px 8px -3px #000",
},
headline: {
fontSize: "28px",
},
header: {
background: "#6c42bd",
color: "#fff",
padding: "32px",
textAlign: "center",
boxShadow: "0 1px 8px -3px #000",
},
headline: {
fontSize: "28px",
},
});
export interface HeaderProps {
headline: string;
headline: string;
}
export const Header: Component<HeaderProps> = ({ headline }) => (
<header className={styles.header}>
<h1 className={styles.headline}>{headline}</h1>
</header>
<header className={styles.header}>
<h1 className={styles.headline}>{headline}</h1>
</header>
);

View file

@ -1,6 +1,6 @@
import { normalize } from "csstips";
import { stylesheet } from "typestyle";
import { Component, createElement } from "websnacks";
import { type Component, createElement } from "websnacks";
import { stylesheetPath } from "../config";
import { Header } from "./header";
@ -9,60 +9,57 @@ import { Navbar } from "./navbar";
normalize();
const styles = stylesheet({
html: {
height: "100%",
},
wrapper: {
height: "100%",
display: "flex",
flexDirection: "row",
margin: 0,
},
main: {
flex: 1,
},
mainBody: {
padding: "16px",
},
navbar: {
display: "flex",
flex: "0 0 auto",
zIndex: 9,
},
html: {
height: "100%",
},
wrapper: {
height: "100%",
display: "flex",
flexDirection: "row",
margin: 0,
},
main: {
flex: 1,
},
mainBody: {
padding: "16px",
},
navbar: {
display: "flex",
flex: "0 0 auto",
zIndex: 9,
},
});
const SITE_TITLE = "Example Site";
export interface LayoutProps {
headline?: string;
headline?: string;
}
export const Layout: Component<LayoutProps> = ({ children, headline }) => (
<html className={styles.html} lang="en-US">
<head>
<meta charSet="utf-8" />
<title>
{SITE_TITLE}
{headline && ` | ${headline}`}
</title>
<meta name="description" content="" />
<meta
name="viewport"
content="width=device-width, initial-scale=1"
/>
<link rel="stylesheet" href={stylesheetPath} />
</head>
<html className={styles.html} lang="en-US">
<head>
<meta charSet="utf-8" />
<title>
{SITE_TITLE}
{headline && ` | ${headline}`}
</title>
<meta name="description" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href={stylesheetPath} />
</head>
<body className={styles.wrapper}>
<div className={styles.navbar}>
<Navbar />
</div>
<body className={styles.wrapper}>
<div className={styles.navbar}>
<Navbar />
</div>
<main className={styles.main}>
<Header headline={headline || SITE_TITLE} />
<main className={styles.main}>
<Header headline={headline || SITE_TITLE} />
<div className={styles.mainBody}>{children}</div>
</main>
</body>
</html>
<div className={styles.mainBody}>{children}</div>
</main>
</body>
</html>
);

View file

@ -1,43 +1,43 @@
import { stylesheet } from "typestyle";
import { Component, createElement } from "websnacks";
import { type Component, createElement } from "websnacks";
const styles = stylesheet({
navbar: {
minWidth: "140px",
borderRight: "1px solid #ddd",
background: "#fff",
},
sectionTitle: {
color: "#333",
textAlign: "center",
borderBottom: "1px solid #333",
padding: "6px",
margin: "0 4px",
fontSize: "18px",
},
linksList: {
padding: "3px 16px 0",
},
linksListItem: {
padding: "6px",
},
navbar: {
minWidth: "140px",
borderRight: "1px solid #ddd",
background: "#fff",
},
sectionTitle: {
color: "#333",
textAlign: "center",
borderBottom: "1px solid #333",
padding: "6px",
margin: "0 4px",
fontSize: "18px",
},
linksList: {
padding: "3px 16px 0",
},
linksListItem: {
padding: "6px",
},
});
const links = [
{ title: "Home", href: "/" },
{ title: "Projects", href: "/projects" },
{ title: "Home", href: "/" },
{ title: "Projects", href: "/projects" },
];
export const Navbar: Component = () => (
<nav className={styles.navbar}>
<h2 className={styles.sectionTitle}>Navigation</h2>
<nav className={styles.navbar}>
<h2 className={styles.sectionTitle}>Navigation</h2>
<ol className={styles.linksList}>
{links.map(({ title, href }) => (
<li className={styles.linksListItem}>
<a href={href}>{title}</a>
</li>
))}
</ol>
</nav>
<ol className={styles.linksList}>
{links.map(({ title, href }) => (
<li className={styles.linksListItem}>
<a href={href}>{title}</a>
</li>
))}
</ol>
</nav>
);