create-bw-app 0.3.0 → 0.5.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.
File without changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-bw-app",
3
3
  "private": false,
4
- "version": "0.3.0",
4
+ "version": "0.5.0",
5
5
  "type": "module",
6
6
  "bin": "bin/create-bw-app.mjs",
7
7
  "files": [
@@ -24,4 +24,4 @@
24
24
  "dependencies": {
25
25
  "@inquirer/prompts": "^7.0.0"
26
26
  }
27
- }
27
+ }
package/src/constants.mjs CHANGED
@@ -54,7 +54,7 @@ export const APP_DEPENDENCY_DEFAULTS = {
54
54
  "@brightweblabs/module-projects": "^0.1.1",
55
55
  "@brightweblabs/ui": "^0.1.0",
56
56
  "lucide-react": "^0.562.0",
57
- "next": "16.1.1",
57
+ "next": "16.1.6",
58
58
  "react": "19.2.3",
59
59
  "react-dom": "19.2.3",
60
60
  };
@@ -63,7 +63,7 @@ export const SITE_DEPENDENCY_DEFAULTS = {
63
63
  "class-variance-authority": "^0.7.1",
64
64
  "clsx": "^2.1.1",
65
65
  "lucide-react": "^0.562.0",
66
- "next": "16.1.1",
66
+ "next": "16.1.6",
67
67
  "react": "19.2.3",
68
68
  "react-dom": "19.2.3",
69
69
  "tailwind-merge": "^3.4.0",
@@ -77,12 +77,11 @@ export const APP_DEV_DEPENDENCY_DEFAULTS = {
77
77
  };
78
78
 
79
79
  export const SITE_DEV_DEPENDENCY_DEFAULTS = {
80
- "@tailwindcss/postcss": "^4.0.0",
80
+ "@tailwindcss/postcss": "^4",
81
81
  "@types/node": "^20",
82
82
  "@types/react": "^19",
83
83
  "@types/react-dom": "^19",
84
- "postcss": "^8.4.31",
85
- "tailwindcss": "^4.0.0",
84
+ "tailwindcss": "^4",
86
85
  "typescript": "^5",
87
86
  };
88
87
 
package/src/generator.mjs CHANGED
@@ -115,10 +115,10 @@ async function getVersionMap(workspaceRoot) {
115
115
  return versionMap;
116
116
  }
117
117
 
118
- const starterManifestPath = path.join(workspaceRoot, "apps", "starter-site", "package.json");
119
- const starterManifest = await readJsonIfPresent(starterManifestPath);
120
- if (starterManifest) {
121
- Object.assign(versionMap, starterManifest.dependencies || {}, starterManifest.devDependencies || {});
118
+ const previewManifestPath = path.join(workspaceRoot, "apps", "platform-preview", "package.json");
119
+ const previewManifest = await readJsonIfPresent(previewManifestPath);
120
+ if (previewManifest) {
121
+ Object.assign(versionMap, previewManifest.dependencies || {}, previewManifest.devDependencies || {});
122
122
  }
123
123
 
124
124
  for (const packageName of [
@@ -185,7 +185,51 @@ function createEnvFileContent({ slug, brandValues, moduleFlags }) {
185
185
  }
186
186
 
187
187
  function createGitignore() {
188
- return [".DS_Store", "node_modules", ".next", "dist", "coverage", "*.log", "*.tsbuildinfo", ".env*.local", "!.env.example", ""].join("\n");
188
+ return [
189
+ "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.",
190
+ "",
191
+ "# dependencies",
192
+ "/node_modules",
193
+ "/.pnp",
194
+ ".pnp.*",
195
+ ".yarn/*",
196
+ "!.yarn/patches",
197
+ "!.yarn/plugins",
198
+ "!.yarn/releases",
199
+ "!.yarn/versions",
200
+ "",
201
+ "# testing",
202
+ "/coverage",
203
+ "",
204
+ "# next.js",
205
+ "/.next/",
206
+ "/out/",
207
+ "",
208
+ "# production",
209
+ "/build",
210
+ "",
211
+ "# misc",
212
+ ".DS_Store",
213
+ "*.pem",
214
+ "",
215
+ "# debug",
216
+ "npm-debug.log*",
217
+ "yarn-debug.log*",
218
+ "yarn-error.log*",
219
+ ".pnpm-debug.log*",
220
+ "",
221
+ "# env files (can opt-in for committing if needed)",
222
+ ".env*",
223
+ "!.env.example",
224
+ "",
225
+ "# vercel",
226
+ ".vercel",
227
+ "",
228
+ "# typescript",
229
+ "*.tsbuildinfo",
230
+ "next-env.d.ts",
231
+ "",
232
+ ].join("\n");
189
233
  }
190
234
 
191
235
  function createPlatformReadme({
@@ -302,7 +346,6 @@ function createPackageJson({
302
346
  "@types/node": versionMap["@types/node"],
303
347
  "@types/react": versionMap["@types/react"],
304
348
  "@types/react-dom": versionMap["@types/react-dom"],
305
- "postcss": versionMap.postcss,
306
349
  "tailwindcss": versionMap.tailwindcss,
307
350
  "typescript": versionMap.typescript,
308
351
  }),
@@ -1,15 +1,24 @@
1
1
  :root {
2
2
  color-scheme: light;
3
- --bg: #f3efe5;
3
+ --font-sans: "IBM Plex Sans", "Segoe UI", sans-serif;
4
+ --font-display: Georgia, "Times New Roman", serif;
5
+ --background: #f3efe5;
6
+ --foreground: #18241d;
7
+ --muted-foreground: #5a665c;
8
+ --border: rgba(24, 36, 29, 0.12);
4
9
  --panel: rgba(255, 255, 255, 0.82);
5
10
  --panel-strong: #ffffff;
6
- --text: #18241d;
7
- --muted: #5a665c;
8
- --line: rgba(24, 36, 29, 0.12);
9
11
  --accent: #266946;
10
12
  --accent-soft: rgba(38, 105, 70, 0.12);
11
13
  --danger: #b43f3f;
12
14
  --ink-soft: #eef1e8;
15
+ --ring: rgba(38, 105, 70, 0.28);
16
+
17
+ /* Compatibility aliases so both starters expose the same token surface. */
18
+ --bg: var(--background);
19
+ --text: var(--foreground);
20
+ --muted: var(--muted-foreground);
21
+ --line: var(--border);
13
22
  }
14
23
 
15
24
  * {
@@ -25,7 +34,7 @@ body {
25
34
  radial-gradient(circle at 85% 12%, rgba(189, 140, 89, 0.12), transparent 18%),
26
35
  linear-gradient(180deg, #faf8f1 0%, var(--bg) 48%, #e8e0cf 100%);
27
36
  color: var(--text);
28
- font-family: "IBM Plex Sans", "Segoe UI", sans-serif;
37
+ font-family: var(--font-sans), sans-serif;
29
38
  }
30
39
 
31
40
  a {
@@ -108,7 +117,7 @@ input {
108
117
 
109
118
  .stat-number {
110
119
  display: block;
111
- font-family: Georgia, "Times New Roman", serif;
120
+ font-family: var(--font-display), serif;
112
121
  font-size: clamp(2rem, 4vw, 3rem);
113
122
  line-height: 1;
114
123
  letter-spacing: -0.04em;
@@ -135,7 +144,7 @@ input {
135
144
 
136
145
  .title {
137
146
  margin: 0;
138
- font-family: Georgia, "Times New Roman", serif;
147
+ font-family: var(--font-display), serif;
139
148
  font-size: clamp(2.4rem, 5.5vw, 4.8rem);
140
149
  line-height: 0.92;
141
150
  letter-spacing: -0.04em;
@@ -5,10 +5,10 @@ import {
5
5
  AUTH_RESEND_COOLDOWN_SECONDS,
6
6
  buildResetPasswordRedirectUrl,
7
7
  buildSignupCallbackUrl,
8
- useCooldownTimer,
9
8
  validateEmail,
10
9
  validatePassword,
11
- } from "@brightweblabs/core-auth/client";
10
+ } from "@brightweblabs/core-auth/shared";
11
+ import { useCooldownTimer } from "@brightweblabs/core-auth/client";
12
12
 
13
13
  export function AuthPlayground() {
14
14
  const [email, setEmail] = useState("hello@brightweblabs.pt");
@@ -39,7 +39,7 @@ export function AuthPlayground() {
39
39
  <p className="eyebrow">Core Auth</p>
40
40
  <h1>Auth package playground</h1>
41
41
  <p className="muted">
42
- This page exercises the external `@brightweblabs/core-auth` client package directly.
42
+ This page exercises the external `@brightweblabs/core-auth` shared and client entrypoints directly.
43
43
  </p>
44
44
  </div>
45
45
  </article>
@@ -28,7 +28,8 @@
28
28
  "**/*.ts",
29
29
  "**/*.tsx",
30
30
  ".next/types/**/*.ts",
31
- ".next/dev/types/**/*.ts"
31
+ ".next/dev/types/**/*.ts",
32
+ "**/*.mts"
32
33
  ],
33
34
  "exclude": [
34
35
  "node_modules"
@@ -8,22 +8,35 @@
8
8
  --color-muted-foreground: var(--muted-foreground);
9
9
  --color-border: var(--border);
10
10
  --color-panel: var(--panel);
11
+ --color-panel-strong: var(--panel-strong);
11
12
  --color-accent: var(--accent);
12
13
  --color-accent-soft: var(--accent-soft);
14
+ --color-danger: var(--danger);
15
+ --color-ink-soft: var(--ink-soft);
13
16
  --color-ring: var(--ring);
14
17
  }
15
18
 
16
19
  :root {
17
- --font-sans: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;
18
- --font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
19
- --background: #f5efe6;
20
- --foreground: #1e1e1a;
21
- --muted-foreground: #5d5b55;
22
- --border: rgba(32, 31, 27, 0.12);
23
- --panel: rgba(255, 251, 246, 0.72);
24
- --accent: #ab6436;
25
- --accent-soft: rgba(171, 100, 54, 0.12);
26
- --ring: rgba(171, 100, 54, 0.35);
20
+ color-scheme: light;
21
+ --font-sans: "IBM Plex Sans", "Segoe UI", sans-serif;
22
+ --font-display: Georgia, "Times New Roman", serif;
23
+ --background: #f3efe5;
24
+ --foreground: #18241d;
25
+ --muted-foreground: #5a665c;
26
+ --border: rgba(24, 36, 29, 0.12);
27
+ --panel: rgba(255, 255, 255, 0.82);
28
+ --panel-strong: #ffffff;
29
+ --accent: #266946;
30
+ --accent-soft: rgba(38, 105, 70, 0.12);
31
+ --danger: #b43f3f;
32
+ --ink-soft: #eef1e8;
33
+ --ring: rgba(38, 105, 70, 0.28);
34
+
35
+ /* Compatibility aliases so both starters expose the same token surface. */
36
+ --bg: var(--background);
37
+ --text: var(--foreground);
38
+ --muted: var(--muted-foreground);
39
+ --line: var(--border);
27
40
  }
28
41
 
29
42
  * {
@@ -38,9 +51,9 @@ body {
38
51
  margin: 0;
39
52
  min-height: 100vh;
40
53
  background:
41
- radial-gradient(circle at top left, rgba(216, 168, 124, 0.18), transparent 22rem),
42
- radial-gradient(circle at 85% 15%, rgba(81, 111, 95, 0.14), transparent 16rem),
43
- linear-gradient(180deg, #fcf9f4 0%, var(--background) 46%, #ede4d4 100%);
54
+ radial-gradient(circle at 15% 10%, rgba(126, 170, 112, 0.18), transparent 22rem),
55
+ radial-gradient(circle at 85% 12%, rgba(189, 140, 89, 0.12), transparent 18rem),
56
+ linear-gradient(180deg, #faf8f1 0%, var(--background) 48%, #e8e0cf 100%);
44
57
  color: var(--foreground);
45
58
  font-family: var(--font-sans), sans-serif;
46
59
  }
@@ -64,5 +77,5 @@ a {
64
77
  }
65
78
 
66
79
  ::selection {
67
- background: rgba(171, 100, 54, 0.18);
80
+ background: rgba(38, 105, 70, 0.18);
68
81
  }
@@ -2,7 +2,7 @@
2
2
  "compilerOptions": {
3
3
  "target": "ES2017",
4
4
  "lib": ["dom", "dom.iterable", "esnext"],
5
- "allowJs": false,
5
+ "allowJs": true,
6
6
  "skipLibCheck": true,
7
7
  "strict": true,
8
8
  "noEmit": true,
@@ -18,6 +18,6 @@
18
18
  "@/*": ["./*"]
19
19
  }
20
20
  },
21
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts"],
21
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts", "**/*.mts"],
22
22
  "exclude": ["node_modules"]
23
23
  }