Skip to content

Commit 82f428e

Browse files
authored
Merge pull request #253 from akd-io/release/0.2.8
Release v0.2.8
2 parents 8668c1d + 64ad6cc commit 82f428e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+707
-134
lines changed

apps/website/templates/LandingPage/components/Header.tsx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,35 @@ export const HeaderSection = () => {
2727
The ultimate starter kit for Next.js
2828
</Text>
2929
</Flex>
30+
<Flex gap="8px" wrap="wrap">
31+
<a
32+
aria-label="Last commit"
33+
href="https://github.com/akd-io/create-next-stack/commits/develop"
34+
>
35+
<img
36+
alt=""
37+
src="https://img.shields.io/github/last-commit/akd-io/create-next-stack/develop?style=flat-square"
38+
/>
39+
</a>
40+
<a
41+
aria-label="License"
42+
href="https://github.com/akd-io/create-next-stack/blob/develop/packages/create-next-stack/LICENSE"
43+
>
44+
<img
45+
alt=""
46+
src="https://img.shields.io/npm/l/create-next-stack?color=44cc11&style=flat-square"
47+
/>
48+
</a>
49+
<a
50+
aria-label="NPM version"
51+
href="https://www.npmjs.com/package/create-next-stack"
52+
>
53+
<img
54+
alt=""
55+
src="https://img.shields.io/npm/v/create-next-stack?style=flat-square"
56+
/>
57+
</a>
58+
</Flex>
3059
<SocialIcons />
3160
</Flex>
3261
</Section>

apps/website/templates/LandingPage/components/TechnologiesForm.tsx

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ type OptionKey =
4444
| "githubActions"
4545
| "formattingPreCommitHook"
4646
| "reactQuery"
47+
| "plausible"
48+
| "vercel"
49+
| "netlify"
4750

4851
const options = {
4952
pnpm: { key: "pnpm", value: "pnpm", label: "pnpm" },
@@ -106,6 +109,21 @@ const options = {
106109
value: "react-query",
107110
label: "React Query",
108111
},
112+
plausible: {
113+
key: "plausible",
114+
value: "plausible",
115+
label: "Plausible",
116+
},
117+
vercel: {
118+
key: "vercel",
119+
value: "vercel",
120+
label: "Vercel",
121+
},
122+
netlify: {
123+
key: "netlify",
124+
value: "netlify",
125+
label: "Netlify",
126+
},
109127
} satisfies {
110128
[Key in OptionKey]: {
111129
key: Key
@@ -150,6 +168,11 @@ const continuousIntegrationOptionKeys = [
150168
const serverStateManagementLibraryOptionKeys = [
151169
optionKeys.reactQuery,
152170
] satisfies OptionKey[]
171+
const analyticsOptionKeys = [optionKeys.plausible] satisfies OptionKey[]
172+
const deploymentOptionKeys = [
173+
optionKeys.vercel,
174+
optionKeys.netlify,
175+
] satisfies OptionKey[]
153176

154177
type ProjectName = string
155178
type PackageManager = (typeof packageManagerOptionKeys)[number]
@@ -162,6 +185,9 @@ type Animation = (typeof animationOptionKeys)[number]
162185
type ContinuousIntegration = (typeof continuousIntegrationOptionKeys)[number]
163186
type ServerStateManagementLibrary =
164187
(typeof serverStateManagementLibraryOptionKeys)[number]
188+
type Analytics = (typeof analyticsOptionKeys)[number]
189+
type Deployment = (typeof deploymentOptionKeys)[number]
190+
165191
type TechnologiesFormData = {
166192
projectName: ProjectName
167193
packageManager: PackageManager
@@ -173,6 +199,8 @@ type TechnologiesFormData = {
173199
animation: Animation[]
174200
continuousIntegration: ContinuousIntegration[]
175201
serverStateManagementLibraries: ServerStateManagementLibrary[]
202+
analytics: Analytics[]
203+
deployment: Deployment[]
176204
}
177205
const defaultFormData: TechnologiesFormData = {
178206
projectName: "my-app",
@@ -185,6 +213,8 @@ const defaultFormData: TechnologiesFormData = {
185213
animation: [optionKeys.framerMotion],
186214
continuousIntegration: [optionKeys.githubActions],
187215
serverStateManagementLibraries: [optionKeys.reactQuery],
216+
analytics: [],
217+
deployment: [optionKeys.vercel],
188218
}
189219
const formDataKeys = objectToKeyToKeyMap(defaultFormData)
190220

@@ -201,6 +231,8 @@ const categoryLabels = {
201231
animation: "Animation",
202232
continuousIntegration: "Continuous Integration",
203233
serverStateManagementLibraries: "Server State Management",
234+
analytics: "Analytics",
235+
deployment: "Deployment",
204236
} as const
205237

206238
export const TechnologiesForm: React.FC = () => {
@@ -220,7 +252,7 @@ export const TechnologiesForm: React.FC = () => {
220252
formData
221253
) => {
222254
const calculateCommand = (formData: TechnologiesFormData) => {
223-
const args = ["npx", "create-next-stack@0.2.7"]
255+
const args = ["npx", "create-next-stack@0.2.8"]
224256

225257
args.push(`--package-manager=${options[formData.packageManager].value}`)
226258
args.push(`--styling=${options[formData.styling].value}`)
@@ -237,6 +269,8 @@ export const TechnologiesForm: React.FC = () => {
237269
pushArgs(formData.animation)
238270
pushArgs(formData.continuousIntegration)
239271
pushArgs(formData.serverStateManagementLibraries)
272+
pushArgs(formData.analytics)
273+
pushArgs(formData.deployment)
240274

241275
const projectNameSegments = formData.projectName.split("/")
242276
const lastPartOfProjectName = projectNameSegments.pop()!
@@ -257,7 +291,9 @@ export const TechnologiesForm: React.FC = () => {
257291
| "iconLibraries"
258292
| "animation"
259293
| "continuousIntegration"
260-
| "serverStateManagementLibraries",
294+
| "serverStateManagementLibraries"
295+
| "analytics"
296+
| "deployment",
261297
optionKeys: Array<keyof typeof options>,
262298
validators?: {
263299
[key in keyof typeof options]?: Array<{
@@ -409,6 +445,16 @@ export const TechnologiesForm: React.FC = () => {
409445
serverStateManagementLibraryOptionKeys
410446
)}
411447
</Flex>
448+
449+
<Flex direction="column" gap="4">
450+
<Heading as="h3" size="md">
451+
{categoryLabels.analytics}
452+
</Heading>
453+
{CheckboxesOfOptionKeys(
454+
formDataKeys.analytics,
455+
analyticsOptionKeys
456+
)}
457+
</Flex>
412458
</Flex>
413459

414460
<Flex direction="column" gap="8" flexBasis="100%">
@@ -543,6 +589,16 @@ export const TechnologiesForm: React.FC = () => {
543589
continuousIntegrationOptionKeys
544590
)}
545591
</Flex>
592+
593+
<Flex direction="column" gap="4">
594+
<Heading as="h3" size="md">
595+
{categoryLabels.deployment}
596+
</Heading>
597+
{CheckboxesOfOptionKeys(
598+
formDataKeys.deployment,
599+
deploymentOptionKeys
600+
)}
601+
</Flex>
546602
</Flex>
547603
</Flex>
548604

0 commit comments

Comments
 (0)