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 +3 -3
- package/template/base/README.md +37 -17
- package/template/base/next.config.js +12 -0
- package/template/base/package.json +3 -1
- package/template/base/src/app/globals.css +0 -12
- package/template/base/src/app/page.tsx +79 -87
- package/template/base/tsconfig.json +21 -6
- package/template/base/next.config.ts +0 -7
- package/template/base/public/file.svg +0 -1
- package/template/base/public/globe.svg +0 -1
- package/template/base/public/next.svg +0 -1
- package/template/base/public/vercel.svg +0 -1
- package/template/base/public/window.svg +0 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "create-tnt-stack",
|
3
|
-
"version": "0.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",
|
package/template/base/README.md
CHANGED
@@ -1,36 +1,56 @@
|
|
1
|
-
|
1
|
+
# Create TNT Stack
|
2
2
|
|
3
|
-
|
3
|
+
This is a [TNT-Powered Stack](https://create.tntstack.org/) project bootstrapped
|
4
|
+
with `create-tnt-stack`.
|
4
5
|
|
5
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
31
|
+
If you are not familiar with the different technologies used in this project,
|
32
|
+
please refer to the respective docs.
|
24
33
|
|
25
|
-
|
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
|
-
|
28
|
-
-
|
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
|
-
|
45
|
+
## How do I deploy this?
|
31
46
|
|
32
|
-
|
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
|
-
|
51
|
+
Follow our deployment guides for more information
|
35
52
|
|
36
|
-
|
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
|
@@ -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
|
1
|
+
import Link from "next/link"
|
2
2
|
|
3
3
|
export default function HomePage() {
|
4
4
|
return (
|
5
|
-
<
|
6
|
-
|
7
|
-
|
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="
|
11
|
-
height="
|
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="
|
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
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
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's most popular tools
|
34
|
+
</p>
|
35
|
+
</div>
|
38
36
|
|
39
|
-
|
40
|
-
|
41
|
-
|
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
|
-
|
41
|
+
referrerPolicy="no-referrer"
|
42
|
+
className="hover:text-primary relative flex items-center justify-center gap-2 text-lg font-medium"
|
71
43
|
>
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
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
|
-
|
60
|
+
referrerPolicy="no-referrer"
|
61
|
+
className="hover:text-primary relative flex items-center justify-center gap-2 text-lg font-medium"
|
86
62
|
>
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
79
|
+
referrerPolicy="no-referrer"
|
80
|
+
className="hover:text-primary relative flex items-center justify-center gap-2 text-lg font-medium"
|
101
81
|
>
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
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
|
-
"
|
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": [
|
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 +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>
|