Skip to content

Commit 450d0ff

Browse files
committed
Refactor maps and fix missing .reverse() wrt. nextConfig's wrappersEnd
1 parent d59623d commit 450d0ff

File tree

8 files changed

+34
-30
lines changed

8 files changed

+34
-30
lines changed

packages/create-next-stack/src/main/plugins/create-next-stack/add-content/pages/generate-app.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,29 @@ import { filterPlugins } from "../../../../setup/setup"
55

66
export const generateApp = (inputs: ValidCNSInputs): string => {
77
const imports = filterPlugins(inputs)
8-
.map((plugin) => {
9-
return plugin.slots?.app?.imports
10-
})
8+
.map((plugin) => plugin.slots?.app?.imports)
119
.filter(nonNull)
1210
.join("\n")
1311

1412
const postImports = filterPlugins(inputs)
15-
.map((plugin) => {
16-
return plugin.slots?.app?.postImports
17-
})
13+
.map((plugin) => plugin.slots?.app?.postImports)
1814
.filter(nonNull)
1915
.join("\n")
2016

2117
const logic = filterPlugins(inputs)
22-
.map((plugin) => {
23-
return plugin.slots?.app?.logic
24-
})
18+
.map((plugin) => plugin.slots?.app?.logic)
2519
.filter(nonNull)
2620
.join("\n\n") // Double new line to separate plugin logic
2721

2822
const componentsStart = filterPlugins(inputs)
29-
.map((plugin) => {
30-
return plugin.slots?.app?.componentsStart
31-
})
23+
.map((plugin) => plugin.slots?.app?.componentsStart)
3224
.filter(nonNull)
3325
.join("\n")
3426

3527
const componentsEnd = filterPlugins(inputs)
36-
.map((plugin) => {
37-
return plugin.slots?.app?.componentsEnd
38-
})
39-
.reverse()
28+
.map((plugin) => plugin.slots?.app?.componentsEnd)
4029
.filter(nonNull)
30+
.reverse()
4131
.join("\n")
4232

4333
return endent`

packages/create-next-stack/src/main/plugins/create-next-stack/add-content/templates/LandingPage/generate-LandingPageTemplate.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import endent from "endent"
22
import { ValidCNSInputs } from "../../../../../create-next-stack-types"
33
import { getProjectNameOfPath } from "../../../../../helpers/get-project-name-of-path"
4+
import { nonNull } from "../../../../../helpers/non-null"
45
import { filterPlugins } from "../../../../../setup/setup"
56

67
export const generateLandingPageTemplate = (inputs: ValidCNSInputs): string => {
7-
const todos = filterPlugins(inputs).flatMap((plugin) => plugin.todos ?? [])
8+
const todos = filterPlugins(inputs)
9+
.flatMap((plugin) => plugin.todos)
10+
.filter(nonNull)
811
const hasTodos = todos.length > 0
912

1013
return endent`

packages/create-next-stack/src/main/plugins/create-next-stack/add-next-config/generate-next-config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export const generateNextConfig = async (
2929
const wrappersEnd = filterPlugins(inputs)
3030
.map((plugin) => plugin.slots?.nextConfigJs?.wrappersEnd)
3131
.filter(nonNull)
32+
.reverse()
3233

3334
return endent`
3435
${imports}

packages/create-next-stack/src/main/plugins/create-next-stack/add-readme/generate-readme.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import endent from "endent"
22
import { ValidCNSInputs } from "../../../create-next-stack-types"
33
import { getProjectNameOfPath } from "../../../helpers/get-project-name-of-path"
4+
import { nonNull } from "../../../helpers/non-null"
45
import { runCommandMap } from "../../../helpers/package-manager-utils"
6+
import { filterPlugins } from "../../../setup/setup"
57
import { getTechnologies } from "../sort-orders/technologies"
68
import { generateEnvironmentVariableTableRows } from "./generate-env-table-rows copy"
79
import { generateScriptTableRows } from "./generate-script-table-rows"
@@ -12,6 +14,10 @@ export const generateReadme = async (
1214
): Promise<string> => {
1315
const { args, flags } = inputs
1416

17+
const todos = filterPlugins(inputs)
18+
.map((plugin) => plugin.todos)
19+
.filter(nonNull)
20+
1521
const runCommand = runCommandMap[flags["package-manager"]]
1622

1723
const technologies = getTechnologies(inputs)

packages/create-next-stack/src/main/plugins/create-next-stack/create-next-stack.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,11 @@ export const createNextStackPlugin = createPlugin({
140140
]
141141
})
142142

143-
const devDeps = filterPlugins(inputs).flatMap((plugin) => {
144-
return plugin.devDependencies != null
143+
const devDeps = filterPlugins(inputs).flatMap((plugin) =>
144+
plugin.devDependencies != null
145145
? Object.values(plugin.devDependencies)
146146
: []
147-
})
147+
)
148148

149149
if (depsAndTmpDeps.length > 0) {
150150
await install(depsAndTmpDeps, flags["package-manager"])
@@ -158,11 +158,11 @@ export const createNextStackPlugin = createPlugin({
158158
id: "uninstallTemporaryDependencies",
159159
description: "uninstalling temporary dependencies",
160160
run: async (inputs) => {
161-
const tmpDeps = filterPlugins(inputs).flatMap((plugin) => {
162-
return plugin.tmpDependencies != null
161+
const tmpDeps = filterPlugins(inputs).flatMap((plugin) =>
162+
plugin.tmpDependencies != null
163163
? Object.values(plugin.tmpDependencies)
164164
: []
165-
})
165+
)
166166

167167
if (tmpDeps.length > 0) {
168168
await uninstall(tmpDeps, inputs.flags["package-manager"])

packages/create-next-stack/src/main/plugins/create-next-stack/sort-orders/environment-variables.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ValidCNSInputs } from "../../../create-next-stack-types"
2+
import { nonNull } from "../../../helpers/non-null"
23
import { compareByOrder } from "../../../helpers/sort-by-order"
34
import { filterPlugins } from "../../../setup/setup"
45

@@ -9,9 +10,9 @@ export const environmentVariablesSortOrder: string[] = [
910
export const getSortedFilteredEnvironmentVariables = (
1011
inputs: ValidCNSInputs
1112
) => {
12-
const pluginEnvironmentVariables = filterPlugins(inputs).flatMap(
13-
(plugin) => plugin.environmentVariables ?? []
14-
)
13+
const pluginEnvironmentVariables = filterPlugins(inputs)
14+
.flatMap((plugin) => plugin.environmentVariables)
15+
.filter(nonNull)
1516
return pluginEnvironmentVariables.sort((a, b) =>
1617
compareByOrder(a.name, b.name, environmentVariablesSortOrder)
1718
)

packages/create-next-stack/src/main/plugins/create-next-stack/sort-orders/scripts.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ValidCNSInputs } from "../../../create-next-stack-types"
2+
import { nonNull } from "../../../helpers/non-null"
23
import { compareByOrder } from "../../../helpers/sort-by-order"
34
import { filterPlugins } from "../../../setup/setup"
45

@@ -14,9 +15,9 @@ export const scriptsSortOrder: string[] = [
1415
]
1516

1617
export const getSortedFilteredScripts = (inputs: ValidCNSInputs) => {
17-
const pluginScripts = filterPlugins(inputs).flatMap(
18-
(plugin) => plugin.scripts ?? []
19-
)
18+
const pluginScripts = filterPlugins(inputs)
19+
.flatMap((plugin) => plugin.scripts)
20+
.filter(nonNull)
2021
return pluginScripts.sort((a, b) =>
2122
compareByOrder(a.name, b.name, scriptsSortOrder)
2223
)

packages/create-next-stack/src/main/plugins/create-next-stack/sort-orders/technologies.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { ValidCNSInputs } from "../../../create-next-stack-types"
22
import { DeeplyReadonly } from "../../../helpers/deeply-readonly"
3+
import { nonNull } from "../../../helpers/non-null"
34
import { compareByOrder } from "../../../helpers/sort-by-order"
45
import { Technology } from "../../../plugin"
56
import { filterPlugins, plugins } from "../../../setup/setup"
@@ -37,7 +38,8 @@ export const getTechnologies = (
3738
inputs: ValidCNSInputs
3839
): Array<Omit<DeeplyReadonly<Technology>, "id">> => {
3940
return filterPlugins(inputs)
40-
.flatMap((plugin) => plugin.technologies ?? [])
41+
.flatMap((plugin) => plugin.technologies)
42+
.filter(nonNull)
4143
.sort((a, b) => compareByOrder(a.id, b.id, technologiesSortOrder))
4244
.map(({ id, ...rest }) => ({
4345
...rest,

0 commit comments

Comments
 (0)