create-tnt-stack 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-tnt-stack",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "Create web application with the TNT-Powered stack",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -18,7 +18,7 @@
18
18
  "type": "module",
19
19
  "exports": "./dist/index.js",
20
20
  "bin": {
21
- "create-tnt-stack": "dist/index.js"
21
+ "create-tnt-stack": "./dist/index.js"
22
22
  },
23
23
  "files": [
24
24
  "dist",
@@ -38,7 +38,7 @@
38
38
  "format": "prettier '**/*.{cjs,mjs,ts,tsx,md,json}' --ignore-path ../.gitignore --ignore-unknown --no-error-on-unmatched-pattern --write",
39
39
  "typecheck": "tsc",
40
40
  "clean": "rm -rf dist .turbo node_modules",
41
- "release": "bun run clean build && npm version patch && npm publish --access public"
41
+ "release": "bun run clean build typecheck && npm version patch && npm publish --access public"
42
42
  },
43
43
  "dependencies": {
44
44
  "@ianvs/prettier-plugin-sort-imports": "^4.4.1",
@@ -1,36 +1,56 @@
1
- This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
1
+ # Create TNT Stack
2
2
 
3
- ## Getting Started
3
+ This is a [TNT-Powered Stack](https://create.tntstack.org/) project bootstrapped
4
+ with `create-tnt-stack`.
4
5
 
5
- First, run the development server:
6
+ ## Where do I go from here?
7
+
8
+ You can treat this project just as you would a regular `create-next-app`
9
+ project, but without needing to implement additional packages yourself. This
10
+ means you can start scaffolding from our base template.
11
+
12
+ To start developing simply run the following commands:
6
13
 
7
14
  ```bash
15
+ cd your-project-name
16
+
8
17
  npm run dev
9
18
  # or
10
- yarn dev
11
- # or
12
19
  pnpm dev
13
20
  # or
21
+ yarn dev
22
+ # or
14
23
  bun dev
15
24
  ```
16
25
 
17
- Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
18
-
19
- You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
26
+ ## Learn More
20
27
 
21
- This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
28
+ To learn more about the [TNT Stack](https://create.tntstack.org/), take a look
29
+ at our [documentation](https://create.tntstack.org/).
22
30
 
23
- ## Learn More
31
+ If you are not familiar with the different technologies used in this project,
32
+ please refer to the respective docs.
24
33
 
25
- To learn more about Next.js, take a look at the following resources:
34
+ - [Next.js](https://nextjs.org)
35
+ - [Payload CMS](https://payloadcms.com)
36
+ - [NextAuth.js](https://next-auth.js.org)
37
+ - [Prisma](https://prisma.io)
38
+ - [Drizzle](https://orm.drizzle.team)
39
+ - [Tailwind CSS](https://tailwindcss.com)
26
40
 
27
- - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
28
- - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
41
+ You can check out the
42
+ [create-tnt-stack GitHub repository](https://github.com/SlickYeet/create-tnt-stack)
43
+ — your feedback and contributions are welcome!
29
44
 
30
- You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
45
+ ## How do I deploy this?
31
46
 
32
- ## Deploy on Vercel
47
+ > [!NOTE] Currently, we have a guide for deploying to
48
+ > [Vercel](https://create.tntstack.org/deployment/vercel), with more deployment
49
+ > options coming soon.
33
50
 
34
- The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
51
+ Follow our deployment guides for more information
35
52
 
36
- Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
53
+ - [Vercel](https://create.tntstack.org/deployment/vercel)
54
+ - [Netlify](https://create.tntstack.org/deployment/netlify) — Coming soon
55
+ - [Docker](https://create.tntstack.org/deployment/docker) — Coming soon
56
+ - [Cloudflare](https://create.tntstack.org/deployment/cloudflare) — Coming soon
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially useful
3
+ * for Docker builds.
4
+ */
5
+ import "./src/env.js"
6
+
7
+ /** @type {import("next").NextConfig} */
8
+ const nextConfig = {
9
+ /* config options here */
10
+ }
11
+
12
+ export default nextConfig
@@ -9,9 +9,11 @@
9
9
  "lint": "next lint"
10
10
  },
11
11
  "dependencies": {
12
+ "@t3-oss/env-nextjs": "^0.12.0",
12
13
  "react": "^19.0.0",
13
14
  "react-dom": "^19.0.0",
14
- "next": "15.2.1"
15
+ "next": "15.2.2",
16
+ "zod": "^3.24.2"
15
17
  },
16
18
  "devDependencies": {
17
19
  "typescript": "^5",
@@ -3,20 +3,12 @@
3
3
  :root {
4
4
  --background: #ffffff;
5
5
  --foreground: #171717;
6
-
7
- --primary: 255 60% 56%;
8
- --accent: 189 94% 43%;
9
- --highlight: 45 93% 47%;
10
6
  }
11
7
 
12
8
  @theme inline {
13
9
  --color-background: var(--background);
14
10
  --color-foreground: var(--foreground);
15
11
 
16
- --color-primary: hsl(var(--primary));
17
- --color-accent: hsl(var(--accent));
18
- --color-highlight: hsl(var(--highlight));
19
-
20
12
  --font-sans: var(--font-geist-sans);
21
13
  --font-mono: var(--font-geist-mono);
22
14
  }
@@ -25,10 +17,6 @@
25
17
  :root {
26
18
  --background: #0a0a0a;
27
19
  --foreground: #ededed;
28
-
29
- --primary: 255 60% 56%;
30
- --accent: 189 94% 43%;
31
- --highlight: 45 93% 47%;
32
20
  }
33
21
  }
34
22
 
@@ -1,114 +1,106 @@
1
- import Image from "next/image"
1
+ import Link from "next/link"
2
2
 
3
3
  export default function HomePage() {
4
4
  return (
5
- <div className="grid min-h-screen grid-rows-[20px_1fr_20px] items-center justify-items-center gap-16 p-8 pb-20 font-[family-name:var(--font-geist-sans)] sm:p-20">
6
- <main className="row-start-2 flex flex-col items-center gap-8 sm:items-start">
7
- <div className="flex items-center gap-2">
5
+ <main className="flex min-h-screen flex-col items-center justify-center px-4 text-center">
6
+ {/* Logo */}
7
+ <div className="mb-8">
8
+ <div className="relative flex h-24 w-24 items-center justify-center">
9
+ <div className="absolute inset-0 animate-pulse rounded-xl bg-gradient-to-r from-purple-500 to-cyan-500 opacity-20 blur-xl dark:from-purple-800 dark:to-cyan-800" />
8
10
  <svg
9
11
  xmlns="http://www.w3.org/2000/svg"
10
- width="50"
11
- height="50"
12
+ width="80"
13
+ height="80"
12
14
  viewBox="0 0 24 24"
13
15
  fill="none"
14
16
  stroke="currentColor"
15
17
  strokeWidth="2"
16
18
  strokeLinecap="round"
17
19
  strokeLinejoin="round"
18
- className="from-primary/50 to-accent/50 rounded-lg bg-linear-to-r"
20
+ className="rounded-lg bg-gradient-to-r from-purple-500 to-cyan-500 dark:from-purple-800 dark:to-cyan-800"
19
21
  >
20
22
  <polyline points="4 17 10 11 4 5" />
21
23
  <line x1="12" x2="20" y1="19" y2="19" />
22
24
  </svg>
23
- <span className="inline-block text-4xl font-bold">
24
- TNT-Powered Base Template
25
- </span>
26
25
  </div>
26
+ </div>
27
27
 
28
- <ol className="list-inside list-decimal text-center font-[family-name:var(--font-geist-mono)] text-sm sm:text-left">
29
- <li className="mb-2">
30
- Get started by editing{" "}
31
- <code className="rounded bg-black/[.05] px-1 py-0.5 font-semibold dark:bg-white/[.06]">
32
- src/app/page.tsx
33
- </code>
34
- .
35
- </li>
36
- <li>Save and see your changes instantly.</li>
37
- </ol>
28
+ <div className="max-w-xl text-balance">
29
+ <h1 className="mb-8 bg-gradient-to-r from-purple-500 to-cyan-500 bg-clip-text pb-1.5 text-6xl font-bold tracking-tighter text-transparent md:text-7xl lg:text-8xl">
30
+ TNT-Powered Next.js App
31
+ </h1>
32
+ <p className="mb-12 text-xl text-neutral-700 md:text-2xl dark:text-neutral-300">
33
+ Build modern web applications with todat&apos;s most popular tools
34
+ </p>
35
+ </div>
38
36
 
39
- <div className="flex flex-col items-center gap-4 sm:flex-row">
40
- <a
41
- className="bg-foreground text-background flex h-10 items-center justify-center gap-2 rounded-full border border-solid border-transparent px-4 text-sm transition-colors hover:bg-[#383838] sm:h-12 sm:px-5 sm:text-base dark:hover:bg-[#ccc]"
42
- href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
43
- target="_blank"
44
- rel="noopener noreferrer"
45
- >
46
- <Image
47
- className="dark:invert"
48
- src="/vercel.svg"
49
- alt="Vercel logomark"
50
- width={20}
51
- height={20}
52
- />
53
- Deploy now
54
- </a>
55
- <a
56
- className="flex h-10 items-center justify-center rounded-full border border-solid border-black/[.08] px-4 text-sm transition-colors hover:border-transparent hover:bg-[#f2f2f2] sm:h-12 sm:min-w-44 sm:px-5 sm:text-base dark:border-white/[.145] dark:hover:bg-[#1a1a1a]"
57
- href="https://create.tntstack.org/docs"
58
- target="_blank"
59
- rel="noopener noreferrer"
60
- >
61
- Read our docs
62
- </a>
63
- </div>
64
- </main>
65
- <footer className="row-start-3 flex flex-wrap items-center justify-center gap-6">
66
- <a
67
- className="flex items-center gap-2 hover:underline hover:underline-offset-4"
68
- href="https://create.tntstack.org/docs"
37
+ <div className="mb-12 flex flex-col gap-10 sm:flex-row">
38
+ <Link
39
+ href="https://create.tntstack.org"
69
40
  target="_blank"
70
- rel="noopener noreferrer"
41
+ referrerPolicy="no-referrer"
42
+ className="hover:text-primary relative flex items-center justify-center gap-2 text-lg font-medium"
71
43
  >
72
- <Image
73
- aria-hidden
74
- src="/file.svg"
75
- alt="File icon"
76
- width={16}
77
- height={16}
78
- />
79
- Learn
80
- </a>
81
- <a
82
- className="flex items-center gap-2 hover:underline hover:underline-offset-4"
44
+ Website
45
+ <svg
46
+ xmlns="http://www.w3.org/2000/svg"
47
+ viewBox="0 0 24 24"
48
+ strokeLinecap="round"
49
+ strokeLinejoin="round"
50
+ className="absolute top-0 -right-4 size-4 fill-none stroke-current stroke-2"
51
+ >
52
+ <path d="M7 7h10v10" />
53
+ <path d="M7 17 17 7" />
54
+ </svg>
55
+ </Link>
56
+
57
+ <Link
83
58
  href="https://create.tntstack.org/docs"
84
59
  target="_blank"
85
- rel="noopener noreferrer"
60
+ referrerPolicy="no-referrer"
61
+ className="hover:text-primary relative flex items-center justify-center gap-2 text-lg font-medium"
86
62
  >
87
- <Image
88
- aria-hidden
89
- src="/window.svg"
90
- alt="Window icon"
91
- width={16}
92
- height={16}
93
- />
94
- Examples
95
- </a>
96
- <a
97
- className="flex items-center gap-2 hover:underline hover:underline-offset-4"
98
- href="https://create.tntstack.org"
63
+ Docs
64
+ <svg
65
+ xmlns="http://www.w3.org/2000/svg"
66
+ viewBox="0 0 24 24"
67
+ strokeLinecap="round"
68
+ strokeLinejoin="round"
69
+ className="absolute top-0 -right-4 size-4 fill-none stroke-current stroke-2"
70
+ >
71
+ <path d="M7 7h10v10" />
72
+ <path d="M7 17 17 7" />
73
+ </svg>
74
+ </Link>
75
+
76
+ <Link
77
+ href="https://github.com/SlickYeet/create-tnt-stack"
99
78
  target="_blank"
100
- rel="noopener noreferrer"
79
+ referrerPolicy="no-referrer"
80
+ className="hover:text-primary relative flex items-center justify-center gap-2 text-lg font-medium"
101
81
  >
102
- <Image
103
- aria-hidden
104
- src="/globe.svg"
105
- alt="Globe icon"
106
- width={16}
107
- height={16}
108
- />
109
- Go to create.tntstack.org →
110
- </a>
111
- </footer>
112
- </div>
82
+ GitHub
83
+ <svg
84
+ xmlns="http://www.w3.org/2000/svg"
85
+ viewBox="0 0 24 24"
86
+ strokeLinecap="round"
87
+ strokeLinejoin="round"
88
+ className="absolute top-0 -right-4 size-4 fill-none stroke-current stroke-2"
89
+ >
90
+ <path d="M7 7h10v10" />
91
+ <path d="M7 17 17 7" />
92
+ </svg>
93
+ </Link>
94
+ </div>
95
+
96
+ <div className="mt-16 text-sm text-neutral-600 dark:text-neutral-400">
97
+ <p>
98
+ Get started by editing{" "}
99
+ <code className="rounded-md bg-neutral-200 px-2 py-1 dark:bg-neutral-800">
100
+ src/app/page.tsx
101
+ </code>
102
+ </p>
103
+ </div>
104
+ </main>
113
105
  )
114
106
  }
@@ -1,16 +1,22 @@
1
1
  {
2
2
  "compilerOptions": {
3
+ /* Base Options: */
4
+ "esModuleInterop": true,
5
+ "skipLibCheck": true,
3
6
  "target": "ES2017",
4
- "lib": ["dom", "dom.iterable", "esnext"],
5
7
  "allowJs": true,
6
- "skipLibCheck": true,
8
+ "resolveJsonModule": true,
9
+ "isolatedModules": true,
10
+
11
+ /* Strictness */
7
12
  "strict": true,
13
+ "checkJs": true,
14
+
15
+ /* Bundled projects */
16
+ "lib": ["dom", "dom.iterable", "esnext"],
8
17
  "noEmit": true,
9
- "esModuleInterop": true,
10
18
  "module": "esnext",
11
19
  "moduleResolution": "bundler",
12
- "resolveJsonModule": true,
13
- "isolatedModules": true,
14
20
  "jsx": "preserve",
15
21
  "incremental": true,
16
22
  "plugins": [
@@ -18,10 +24,19 @@
18
24
  "name": "next"
19
25
  }
20
26
  ],
27
+
28
+ /* Path Aliases */
29
+ "baseUrl": ".",
21
30
  "paths": {
22
31
  "@/*": ["./src/*"]
23
32
  }
24
33
  },
25
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
34
+ "include": [
35
+ "next-env.d.ts",
36
+ "**/*.ts",
37
+ "**/*.tsx",
38
+ "**/*.js",
39
+ ".next/types/**/*.ts"
40
+ ],
26
41
  "exclude": ["node_modules"]
27
42
  }
@@ -1,7 +0,0 @@
1
- import type { NextConfig } from "next"
2
-
3
- const nextConfig: NextConfig = {
4
- /* config options here */
5
- }
6
-
7
- export default nextConfig
@@ -1 +0,0 @@
1
- <svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>
@@ -1 +0,0 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
@@ -1 +0,0 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>
@@ -1 +0,0 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5M7 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m1.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5" fill="#666"/></svg>