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.
- package/bin/create-bw-app.mjs +0 -0
- package/package.json +2 -2
- package/src/constants.mjs +4 -5
- package/src/generator.mjs +49 -6
- package/template/base/app/globals.css +16 -7
- package/template/base/app/playground/auth/auth-playground.tsx +3 -3
- package/template/base/tsconfig.json +2 -1
- package/template/site/base/app/globals.css +27 -14
- package/template/site/base/tsconfig.json +2 -2
package/bin/create-bw-app.mjs
CHANGED
|
File without changes
|
package/package.json
CHANGED
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.
|
|
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.
|
|
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
|
|
80
|
+
"@tailwindcss/postcss": "^4",
|
|
81
81
|
"@types/node": "^20",
|
|
82
82
|
"@types/react": "^19",
|
|
83
83
|
"@types/react-dom": "^19",
|
|
84
|
-
"
|
|
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
|
|
119
|
-
const
|
|
120
|
-
if (
|
|
121
|
-
Object.assign(versionMap,
|
|
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 [
|
|
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
|
-
--
|
|
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:
|
|
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:
|
|
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:
|
|
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/
|
|
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
|
|
42
|
+
This page exercises the external `@brightweblabs/core-auth` shared and client entrypoints directly.
|
|
43
43
|
</p>
|
|
44
44
|
</div>
|
|
45
45
|
</article>
|
|
@@ -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
|
-
|
|
18
|
-
--font-
|
|
19
|
-
--
|
|
20
|
-
--
|
|
21
|
-
--
|
|
22
|
-
--
|
|
23
|
-
--
|
|
24
|
-
--
|
|
25
|
-
--
|
|
26
|
-
--
|
|
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
|
|
42
|
-
radial-gradient(circle at 85%
|
|
43
|
-
linear-gradient(180deg, #
|
|
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(
|
|
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":
|
|
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
|
}
|