1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2024-12-08 00:44:30 +01:00

Compare commits

..

No commits in common. "af5c845e4baa178467e081d7d5fc909ddc962462" and "251b0b4038af3180b75113d279cea3761005dcc8" have entirely different histories.

22 changed files with 2185 additions and 2351 deletions

View File

@ -32,7 +32,7 @@ The commit message guidelines adheres to [Conventional Commits](https://www.conv
### Prerequisites ### Prerequisites
- [Node.js](https://nodejs.org/) >= 22.0.0 - [Node.js](https://nodejs.org/) >= 22.0.0
- [pnpm](https://pnpm.io/) >= 9.14.4 [(`corepack enable`)](https://nodejs.org/docs/latest-v22.x/api/corepack.html) - [pnpm](https://pnpm.io/) >= 9.12.3 [(`corepack enable`)](https://nodejs.org/docs/latest-v22.x/api/corepack.html)
- [Docker](https://www.docker.com/) - [Docker](https://www.docker.com/)
### Installation ### Installation

View File

@ -13,8 +13,7 @@ const config: TestRunnerConfig = {
async postVisit(page, context) { async postVisit(page, context) {
const storyContext = await getStoryContext(page, context) const storyContext = await getStoryContext(page, context)
const isA11yDisabled = storyContext.parameters?.a11y?.disable as boolean if (storyContext.parameters?.a11y?.disable) {
if (isA11yDisabled) {
return return
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/storybook", "name": "@repo/storybook",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {

View File

@ -1,4 +1,4 @@
FROM node:22.12.0-slim AS node-pnpm FROM node:22.11.0-slim AS node-pnpm
ENV PNPM_HOME="/pnpm" ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH" ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable RUN corepack enable
@ -8,7 +8,7 @@ WORKDIR /usr/src/app
FROM node-pnpm AS builder FROM node-pnpm AS builder
COPY ./ ./ COPY ./ ./
RUN pnpm install --global turbo@2.3.3 RUN pnpm install --global turbo@2.2.3
RUN turbo prune @repo/website --docker RUN turbo prune @repo/website --docker
FROM node-pnpm AS installer FROM node-pnpm AS installer

View File

@ -9,6 +9,10 @@ const nextConfig = {
unoptimized: true, unoptimized: true,
}, },
compress: false, compress: false,
// https://github.com/hashicorp/next-mdx-remote/issues/436#issuecomment-2066971842
transpilePackages: ["next-mdx-remote", "shiki"],
eslint: { eslint: {
ignoreDuringBuilds: true, ignoreDuringBuilds: true,
}, },

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/website", "name": "@repo/website",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"imports": { "imports": {
@ -19,9 +19,6 @@
"@repo/utils": "workspace:*", "@repo/utils": "workspace:*",
"@repo/i18n": "workspace:*", "@repo/i18n": "workspace:*",
"@repo/ui": "workspace:*", "@repo/ui": "workspace:*",
"@mdx-js/mdx": "catalog:",
"next-mdx-remote": "catalog:",
"shiki": "catalog:",
"next": "catalog:", "next": "catalog:",
"next-intl": "catalog:", "next-intl": "catalog:",
"react": "catalog:", "react": "catalog:",

View File

@ -1,12 +1,12 @@
{ {
"name": "repo", "name": "repo",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"packageManager": "pnpm@9.14.4+sha512.c8180b3fbe4e4bca02c94234717896b5529740a6cbadf19fa78254270403ea2f27d4e1d46a08a0f56c89b63dc8ebfd3ee53326da720273794e6200fcf0d184ab", "packageManager": "pnpm@9.12.3+sha512.cce0f9de9c5a7c95bef944169cc5dfe8741abfb145078c0d508b868056848a87c81e626246cb60967cbd7fd29a6c062ef73ff840d96b3c86c40ac92cf4a813ee",
"engines": { "engines": {
"node": ">=22.0.0", "node": ">=22.0.0",
"pnpm": ">=9.14.4" "pnpm": ">=9.12.3"
}, },
"scripts": { "scripts": {
"build": "turbo run build", "build": "turbo run build",

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/blog", "name": "@repo/blog",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"exports": { "exports": {

View File

@ -103,14 +103,13 @@ export const BlogPostContent: React.FC<BlogPostContentProps> = async (
}, },
a: (props) => { a: (props) => {
const { href = "", ...rest } = props const { href = "", ...rest } = props
const hrefString = href as string if (href.startsWith("#")) {
if (hrefString.startsWith("#")) {
return <a {...props} /> return <a {...props} />
} }
if (hrefString.startsWith("../posts/")) { if (href.startsWith("../posts/")) {
return ( return (
<Link <Link
href={hrefString href={href
.replace("../posts/", "/blog/") .replace("../posts/", "/blog/")
.replace(".md", "")} .replace(".md", "")}
{...rest} {...rest}

View File

@ -1,6 +1,7 @@
import typescriptESLint from "typescript-eslint" import typescriptESLint from "typescript-eslint"
import configConventions from "eslint-config-conventions" import configConventions from "eslint-config-conventions"
import importX from "eslint-plugin-import-x" import importX from "eslint-plugin-import-x"
import unicorn from "eslint-plugin-unicorn"
export default typescriptESLint.config( export default typescriptESLint.config(
{ {
@ -19,6 +20,7 @@ export default typescriptESLint.config(
name: "config-eslint", name: "config-eslint",
plugins: { plugins: {
"import-x": importX, "import-x": importX,
unicorn,
}, },
rules: { rules: {
"import-x/extensions": [ "import-x/extensions": [
@ -31,6 +33,8 @@ export default typescriptESLint.config(
jsx: "never", jsx: "never",
}, },
], ],
"unicorn/explicit-length-check": "error",
"unicorn/consistent-destructuring": "off",
}, },
}, },
) )

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/eslint-config", "name": "@repo/eslint-config",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"exports": { "exports": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/config-tailwind", "name": "@repo/config-tailwind",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"main": "./tailwind.config.js", "main": "./tailwind.config.js",

View File

@ -155,6 +155,10 @@ code .line::before {
word-break: normal; word-break: normal;
} }
code .line:last-child {
display: none;
}
.katex .base { .katex .base {
display: inline !important; display: inline !important;
white-space: normal !important; white-space: normal !important;

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/config-typescript", "name": "@repo/config-typescript",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"files": [ "files": [
"tsconfig.json" "tsconfig.json"

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/i18n", "name": "@repo/i18n",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"exports": { "exports": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/react-hooks", "name": "@repo/react-hooks",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"exports": { "exports": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/ui", "name": "@repo/ui",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"exports": { "exports": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@repo/utils", "name": "@repo/utils",
"version": "4.1.1", "version": "4.1.0",
"private": true, "private": true,
"type": "module", "type": "module",
"exports": { "exports": {

View File

@ -11,7 +11,7 @@ export const LOCALE_PREFIX = "never"
export const THEMES = ["light", "dark"] as const export const THEMES = ["light", "dark"] as const
export type Theme = (typeof THEMES)[number] export type Theme = (typeof THEMES)[number]
export const THEME_DEFAULT = "light" satisfies Theme export const THEME_DEFAULT = "light" as Theme
export const TIMEZONE = process.env["TZ"] ?? "UTC" export const TIMEZONE = process.env["TZ"] ?? "UTC"

4373
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ packages:
catalog: catalog:
# Turborepo and Releases # Turborepo and Releases
"turbo": "2.3.3" "turbo": "2.2.3"
"@saithodev/semantic-release-backmerge": "4.0.1" "@saithodev/semantic-release-backmerge": "4.0.1"
"@semantic-release/exec": "6.0.3" "@semantic-release/exec": "6.0.3"
"@semantic-release/git": "10.0.1" "@semantic-release/git": "10.0.1"
@ -15,90 +15,90 @@ catalog:
"deepmerge": "4.3.1" "deepmerge": "4.3.1"
# React.js/Next.js # React.js/Next.js
"next": "15.0.4" "next": "15.0.3"
"next-intl": "3.26.0" "next-intl": "3.25.0"
"next-themes": "0.4.4" "next-themes": "0.4.3"
"react": "19.0.0" "react": "18.3.1"
"react-dom": "19.0.0" "react-dom": "18.3.1"
"react-icons": "5.4.0" "react-icons": "5.3.0"
"@types/react": "19.0.0" "@types/react": "18.3.12"
"@types/react-dom": "19.0.0" "@types/react-dom": "18.3.1"
# Blog # Blog
"@giscus/react": "3.0.0" "@giscus/react": "3.0.0"
"gray-matter": "4.0.3" "gray-matter": "4.0.3"
"katex": "0.16.11" "katex": "0.16.11"
"next-mdx-remote": "5.0.0" "next-mdx-remote": "5.0.0"
"@mdx-js/mdx": "3.1.0" "@mdx-js/mdx": "3.0.1"
"rehype-katex": "7.0.1" "rehype-katex": "7.0.1"
"rehype-raw": "7.0.0" "rehype-raw": "7.0.0"
"rehype-slug": "6.0.0" "rehype-slug": "6.0.0"
"remark-gfm": "4.0.0" "remark-gfm": "4.0.0"
"remark-math": "6.0.0" "remark-math": "6.0.0"
"shiki": "1.24.0" "shiki": "1.12.0"
"@shikijs/rehype": "1.24.0" "@shikijs/rehype": "1.12.0"
# Markdown Lint # Markdown Lint
"markdownlint-cli2": "0.15.0" "markdownlint-cli2": "0.14.0"
"markdownlint": "0.36.1" "markdownlint": "0.35.0"
"markdownlint-rule-relative-links": "3.0.0" "markdownlint-rule-relative-links": "3.0.0"
# TypeScript # TypeScript
"typescript": "5.7.2" "typescript": "5.6.3"
"@total-typescript/ts-reset": "0.6.1" "@total-typescript/ts-reset": "0.6.1"
"@types/node": "22.10.1" "@types/node": "22.9.0"
# ESLint # ESLint
"globals": "15.13.0" "globals": "15.12.0"
"typescript-eslint": "8.17.0" "typescript-eslint": "8.13.0"
"@eslint/eslintrc": "3.2.0" "@eslint/eslintrc": "3.1.0"
"eslint": "9.16.0" "eslint": "9.14.0"
"eslint-config-conventions": "17.0.1" "eslint-config-conventions": "17.0.0"
"eslint-plugin-promise": "7.2.1" "eslint-plugin-promise": "7.1.0"
"eslint-plugin-unicorn": "56.0.1" "eslint-plugin-unicorn": "56.0.0"
"eslint-config-next": "15.0.4" "eslint-config-next": "15.0.3"
"eslint-plugin-storybook": "0.11.1" "eslint-plugin-storybook": "0.11.0"
"eslint-plugin-tailwindcss": "3.17.5" "eslint-plugin-tailwindcss": "3.17.5"
"eslint-plugin-import-x": "4.5.0" "eslint-plugin-import-x": "4.4.0"
# Prettier # Prettier
"prettier": "3.4.2" "prettier": "3.3.3"
"prettier-plugin-tailwindcss": "0.6.9" "prettier-plugin-tailwindcss": "0.6.8"
"editorconfig-checker": "6.0.0" "editorconfig-checker": "6.0.0"
# Storybook # Storybook
"@chromatic-com/storybook": "3.2.2" "@chromatic-com/storybook": "3.2.2"
"@storybook/addon-a11y": "8.4.7" "@storybook/addon-a11y": "8.4.2"
"@storybook/addon-essentials": "8.4.7" "@storybook/addon-essentials": "8.4.2"
"@storybook/addon-interactions": "8.4.7" "@storybook/addon-interactions": "8.4.2"
"@storybook/addon-storysource": "8.4.7" "@storybook/addon-storysource": "8.4.2"
"@storybook/addon-themes": "8.4.7" "@storybook/addon-themes": "8.4.2"
"@storybook/blocks": "8.4.7" "@storybook/blocks": "8.4.2"
"@storybook/nextjs": "8.4.7" "@storybook/nextjs": "8.4.2"
"@storybook/react": "8.4.7" "@storybook/react": "8.4.2"
"@storybook/test": "8.4.7" "@storybook/test": "8.4.2"
"@storybook/test-runner": "0.20.1" "@storybook/test-runner": "0.19.1"
"chromatic": "11.20.0" "chromatic": "11.18.0"
"http-server": "14.1.1" "http-server": "14.1.1"
"storybook": "8.4.7" "storybook": "8.4.2"
"storybook-dark-mode": "4.0.2" "storybook-dark-mode": "4.0.2"
# Testing # Testing
"playwright": "1.49.0" "playwright": "1.48.2"
"@playwright/test": "1.49.0" "@playwright/test": "1.48.2"
"axe-playwright": "2.0.3" "axe-playwright": "2.0.3"
"start-server-and-test": "2.0.8" "start-server-and-test": "2.0.8"
"@vitest/browser": "2.1.8" "@vitest/browser": "2.1.4"
"@vitest/coverage-v8": "2.1.8" "@vitest/coverage-v8": "2.1.4"
"@vitest/ui": "2.1.8" "@vitest/ui": "2.1.4"
"vitest": "2.1.8" "vitest": "2.1.4"
"@testing-library/react": "16.1.0" "@testing-library/react": "16.0.1"
# CSS # CSS
"postcss": "8.4.49" "postcss": "8.4.47"
"tailwindcss": "3.4.16" "tailwindcss": "3.4.14"
"@tailwindcss/typography": "0.5.15" "@tailwindcss/typography": "0.5.15"
"tailwind-merge": "2.5.5" "tailwind-merge": "2.5.4"
"clsx": "2.1.1" "clsx": "2.0.0"
"cva": "1.0.0-beta.2" "cva": "1.0.0-beta.1"
"@fontsource/montserrat": "5.1.0" "@fontsource/montserrat": "5.1.0"