@pro-laico/create-atomic-payload 0.1.5 → 0.2.0

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/bin/cli.js CHANGED
@@ -66,8 +66,8 @@ function printHelp() {
66
66
 
67
67
  function printNextSteps(projectName) {
68
68
  const steps = isCurrentDir(projectName)
69
- ? ['cp .env.example .env', '# Edit .env with your MongoDB URI, Payload secret, etc.', 'pnpm dev']
70
- : [`cd ${projectName}`, 'cp .env.example .env', '# Edit .env with your MongoDB URI, Payload secret, etc.', 'pnpm dev']
69
+ ? ['# Edit .env with your MongoDB URI, Payload secret, etc.', 'pnpm dev']
70
+ : [`cd ${projectName}`, '# Edit .env with your MongoDB URI, Payload secret, etc.', 'pnpm dev']
71
71
  const maxLen = Math.max(...steps.map((s) => s.length), 40)
72
72
  const line = '─'.repeat(maxLen + 2)
73
73
 
@@ -132,6 +132,18 @@ async function main() {
132
132
  },
133
133
  })
134
134
 
135
+ // Rename gitignore.template → .gitignore (npm renames .gitignore to .npmignore during pack/extract)
136
+ const gitignoreTemplate = path.join(targetDir, 'gitignore.template')
137
+ if (fs.existsSync(gitignoreTemplate)) {
138
+ await fsp.rename(gitignoreTemplate, path.join(targetDir, '.gitignore'))
139
+ }
140
+
141
+ // Copy .env.example → .env so the project is ready to run
142
+ const envExample = path.join(targetDir, '.env.example')
143
+ if (fs.existsSync(envExample)) {
144
+ await fsp.copyFile(envExample, path.join(targetDir, '.env'))
145
+ }
146
+
135
147
  copySpinner.succeed(`Template copied in ${((Date.now() - startCopy) / 1000).toFixed(1)}s`)
136
148
 
137
149
  const installSpinner = ora({ text: 'Installing dependencies with pnpm...', color: 'cyan' }).start()
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.5",
6
+ "version": "0.2.0",
7
7
  "description": "Scaffold a new Atomic Payload project - the Payload CMS starter where all you need to know is Tailwind.",
8
8
  "license": "MIT",
9
9
  "type": "module",
@@ -7,7 +7,7 @@
7
7
 
8
8
  # Template Setup
9
9
 
10
- This guide covers environment setup, deployment, and optional integrations (Mux, Resend) for your Atomic Payload project. Use it whether you created a project with `npx create-atomic-payload` or are developing from the monorepo template folder.
10
+ This guide covers environment setup, deployment, and optional integrations (Mux, Resend) for your Atomic Payload project. Use it whether you created a project with `pnpx create-atomic-payload` or are developing from the monorepo template folder.
11
11
 
12
12
  > **Developing the monorepo?** See [MONOREPO.md](../../MONOREPO.md) in the repo root for structure, local dev, and plugin instructions.
13
13
 
@@ -34,12 +34,9 @@ This guide covers environment setup, deployment, and optional integrations (Mux,
34
34
  PREVIEW_SECRET=77E41879964C5D1C251661663DCD3
35
35
  ```
36
36
 
37
- 3. **Install and run**
38
- - Paste and run the code below into your terminal. Which installs dependencies, runs the font download script to generate a blank definition file (even if it says it failed, it generates the file as blank), and then starts the dev server.
37
+ 3. **Create First Admin User**
39
38
 
40
39
  ```bash
41
- pnpm i
42
- pnpm download:fonts
43
40
  pnpm dev
44
41
  ```
45
42
 
@@ -0,0 +1,17 @@
1
+ node_modules
2
+ .next
3
+ .vercel
4
+ .DS_Store
5
+
6
+ # TypeScript
7
+ tsconfig.tsbuildinfo
8
+
9
+ public/robots.txt
10
+ public/sitemap*.xml
11
+
12
+ .env
13
+ .env*.local
14
+
15
+ # Ignore all automatically generated font files
16
+ /src/app/definition.ts
17
+ /public/fonts
@@ -1,75 +1,75 @@
1
- {
2
- "name": "atomic-payload",
3
- "version": "0.1.3",
4
- "description": "The Payload CMS Starter Where All You Need To Know Is Tailwind.",
5
- "license": "MIT",
6
- "type": "module",
7
- "scripts": {
8
- "lint": "pnpm exec eslint .",
9
- "payload": "payload",
10
- "start": "next start",
11
- "build": "next build",
12
- "dev": "next dev",
13
- "prebuild": "pnpm download:fonts",
14
- "download:fonts": "pnpm exec tsx src/collections/fonts/script.ts",
15
- "generate:types": "cross-env NODE_OPTIONS=\"--conditions=react-server\" payload generate:types",
16
- "generate:importmap": "cross-env NODE_OPTIONS=\"--conditions=react-server\" payload generate:importmap"
17
- },
18
- "dependencies": {
19
- "@base-ui-components/react": "1.0.0-rc.0",
20
- "@mux/blurup": "^1.0.2",
21
- "@mux/mux-video-react": "^0.25.3",
22
- "@next/bundle-analyzer": "^16.1.6",
23
- "@next/third-parties": "^16.1.6",
24
- "@oversightstudio/blur-data-urls": "^1.0.4",
25
- "@oversightstudio/mux-video": "^1.4.0",
26
- "@payloadcms/db-mongodb": "^3.79.0",
27
- "@payloadcms/email-resend": "^3.79.0",
28
- "@payloadcms/live-preview-react": "^3.79.0",
29
- "@payloadcms/next": "^3.79.0",
30
- "@payloadcms/plugin-form-builder": "^3.79.0",
31
- "@payloadcms/plugin-nested-docs": "^3.79.0",
32
- "@payloadcms/richtext-lexical": "^3.79.0",
33
- "@payloadcms/sdk": "^3.79.0",
34
- "@payloadcms/storage-vercel-blob": "^3.79.0",
35
- "@payloadcms/ui": "^3.79.0",
36
- "@vercel/analytics": "^1.6.1",
37
- "cross-env": "^10.1.0",
38
- "dayjs": "^1.11.19",
39
- "dotenv": "^17.3.1",
40
- "next": "^16.1.6",
41
- "next-themes": "^0.4.6",
42
- "payload": "^3.79.0",
43
- "posthog-js": "^1.360.0",
44
- "react": "^19.2.4",
45
- "react-dom": "^19.2.4",
46
- "server-only": "^0.0.1",
47
- "sharp": "^0.32.6",
48
- "svg-path-bbox": "^2.1.0",
49
- "svgo": "^3.3.3",
50
- "traverse": "^0.6.11",
51
- "zod": "4.1.11",
52
- "zustand": "^5.0.11"
53
- },
54
- "devDependencies": {
55
- "@types/json-schema": "^7.0.15",
56
- "@types/node": "^22.19.15",
57
- "@types/react": "^19.2.14",
58
- "@types/react-dom": "^19.2.3",
59
- "@types/traverse": "^0.6.37",
60
- "eslint": "^9.39.4",
61
- "eslint-config-next": "^16.1.6",
62
- "prettier": "^3.8.1",
63
- "tsx": "^4.21.0",
64
- "typescript": "5.8.3",
65
- "unocss": "^66.6.6"
66
- },
67
- "engines": {
68
- "node": "24.x"
69
- },
70
- "pnpm": {
71
- "onlyBuiltDependencies": [
72
- "sharp"
73
- ]
74
- }
75
- }
1
+ {
2
+ "name": "atomic-payload",
3
+ "version": "0.2.0",
4
+ "description": "The Payload CMS Starter Where All You Need To Know Is Tailwind.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "scripts": {
8
+ "lint": "pnpm exec eslint .",
9
+ "payload": "payload",
10
+ "start": "next start",
11
+ "build": "next build",
12
+ "dev": "next dev",
13
+ "prebuild": "pnpm download:fonts",
14
+ "download:fonts": "pnpm exec tsx src/collections/fonts/script.ts",
15
+ "generate:types": "cross-env NODE_OPTIONS=\"--conditions=react-server\" payload generate:types",
16
+ "generate:importmap": "cross-env NODE_OPTIONS=\"--conditions=react-server\" payload generate:importmap"
17
+ },
18
+ "dependencies": {
19
+ "@base-ui-components/react": "1.0.0-rc.0",
20
+ "@mux/blurup": "^1.0.2",
21
+ "@mux/mux-video-react": "^0.25.3",
22
+ "@next/bundle-analyzer": "^16.1.6",
23
+ "@next/third-parties": "^16.1.6",
24
+ "@oversightstudio/blur-data-urls": "^1.0.4",
25
+ "@oversightstudio/mux-video": "^1.4.0",
26
+ "@payloadcms/db-mongodb": "^3.79.0",
27
+ "@payloadcms/email-resend": "^3.79.0",
28
+ "@payloadcms/live-preview-react": "^3.79.0",
29
+ "@payloadcms/next": "^3.79.0",
30
+ "@payloadcms/plugin-form-builder": "^3.79.0",
31
+ "@payloadcms/plugin-nested-docs": "^3.79.0",
32
+ "@payloadcms/richtext-lexical": "^3.79.0",
33
+ "@payloadcms/sdk": "^3.79.0",
34
+ "@payloadcms/storage-vercel-blob": "^3.79.0",
35
+ "@payloadcms/ui": "^3.79.0",
36
+ "@vercel/analytics": "^1.6.1",
37
+ "cross-env": "^10.1.0",
38
+ "dayjs": "^1.11.19",
39
+ "dotenv": "^17.3.1",
40
+ "next": "^16.1.6",
41
+ "next-themes": "^0.4.6",
42
+ "payload": "^3.79.0",
43
+ "posthog-js": "^1.360.0",
44
+ "react": "^19.2.4",
45
+ "react-dom": "^19.2.4",
46
+ "server-only": "^0.0.1",
47
+ "sharp": "^0.32.6",
48
+ "svg-path-bbox": "^2.1.0",
49
+ "svgo": "^3.3.3",
50
+ "traverse": "^0.6.11",
51
+ "zod": "4.1.11",
52
+ "zustand": "^5.0.11"
53
+ },
54
+ "devDependencies": {
55
+ "@types/json-schema": "^7.0.15",
56
+ "@types/node": "^22.19.15",
57
+ "@types/react": "^19.2.14",
58
+ "@types/react-dom": "^19.2.3",
59
+ "@types/traverse": "^0.6.37",
60
+ "eslint": "^9.39.4",
61
+ "eslint-config-next": "^16.1.6",
62
+ "prettier": "^3.8.1",
63
+ "tsx": "^4.21.0",
64
+ "typescript": "5.8.3",
65
+ "unocss": "^66.6.6"
66
+ },
67
+ "engines": {
68
+ "node": "24.x"
69
+ },
70
+ "pnpm": {
71
+ "onlyBuiltDependencies": [
72
+ "sharp"
73
+ ]
74
+ }
75
+ }
@@ -0,0 +1,10 @@
1
+ // DO NOT EDIT MANUALLY. THIS FILE IS AUTOMATICALLY GENERATED.
2
+
3
+ import localFont from 'next/font/local'
4
+
5
+ const fontSerif = localFont({ src: '../../public/fonts/serif.woff2', variable: '--font-setSerif' })
6
+ const fontMono = localFont({ src: '../../public/fonts/mono.woff2', variable: '--font-setMono' })
7
+ const fontDisplay = localFont({ src: '../../public/fonts/display.woff2', variable: '--font-setDisplay' })
8
+
9
+ const fonts = { fontSerif, fontMono, fontDisplay }
10
+ export default fonts