feat(create-turbo): create kitchen-sink

This commit is contained in:
Turbobot 2025-06-19 02:40:01 +08:00 committed by afiqzudinhadi
commit 4625c93980
80 changed files with 11572 additions and 0 deletions

View file

@ -0,0 +1,4 @@
import { config } from "@repo/eslint-config/next";
/** @type {import("eslint").Linter.Config} */
export default config;

5
apps/storefront/next-env.d.ts vendored Normal file
View file

@ -0,0 +1,5 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

View file

@ -0,0 +1,12 @@
import { NextConfig } from "next";
const nextConfig: NextConfig = {
typescript: {
ignoreBuildErrors: true,
},
eslint: {
ignoreDuringBuilds: true,
},
};
export default nextConfig;

View file

@ -0,0 +1,30 @@
{
"name": "storefront",
"version": "0.0.0",
"type": "module",
"private": true,
"scripts": {
"build": "next build",
"dev": "next dev -p 3002",
"lint": "next lint",
"check-types": "tsc --noEmit",
"start": "next start"
},
"dependencies": {
"@repo/logger": "workspace:*",
"@repo/ui": "workspace:*",
"next": "^15.3.0",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@next/eslint-plugin-next": "^15.3.0",
"@repo/eslint-config": "workspace:*",
"@repo/typescript-config": "workspace:*",
"@types/node": "^22.15.3",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
"eslint": "^9.29.0",
"typescript": "5.8.2"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,13 @@
import "./styles.css";
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>{children}</body>
</html>
);
}

View file

@ -0,0 +1,31 @@
import { log } from "@repo/logger";
import { Link } from "@repo/ui/link";
import { CounterButton } from "@repo/ui/counter-button";
export const metadata = {
title: "Store | Kitchen Sink",
};
export default function Store() {
log("Hey! This is the Store page.");
return (
<div className="container">
<h1 className="title">
Store <br />
<span>Kitchen Sink</span>
</h1>
<CounterButton />
<p className="description">
Built With{" "}
<Link href="https://turborepo.com" newTab>
Turborepo
</Link>
{" & "}
<Link href="https://nextjs.org/" newTab>
Next.js
</Link>
</p>
</div>
);
}

View file

@ -0,0 +1,55 @@
html {
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-tap-highlight-color: transparent;
line-height: 1.5;
tab-size: 4;
}
body {
margin: 0;
}
.container {
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 1.5rem;
max-width: 100%;
margin: 0 auto;
padding: 0 16px;
text-align: center;
}
.title {
font-size: 3rem;
font-weight: 700;
margin: 0;
}
.title span {
display: inline-block;
background-image: linear-gradient(to right, #3b82f6, #ef4444);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.description {
color: #9ca3af;
font-weight: 500;
}
.description a {
color: #3b82f6;
text-decoration: none;
}
.description a:hover {
text-decoration: underline;
}

View file

@ -0,0 +1,13 @@
{
"exclude": ["node_modules"],
"extends": "@repo/typescript-config/nextjs.json",
"compilerOptions": {
"outDir": "dist",
"plugins": [
{
"name": "next"
}
]
},
"include": ["src", "next.config.ts", "next-env.d.ts", ".next/types/**/*.ts"]
}

View file

@ -0,0 +1,13 @@
{
"extends": [
"//"
],
"tasks": {
"build": {
"outputs": [
".next/**",
"!.next/cache/**"
]
}
}
}