Skip to content

Commit fc4a155

Browse files
committed
temporarily combine config code in one file
1 parent 25c0bd8 commit fc4a155

File tree

139 files changed

+2108
-2217
lines changed

Some content is hidden

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

139 files changed

+2108
-2217
lines changed

build.optim.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { globby } from "globby";
33
import path from "pathe";
44
import { fileURLToPath } from "url";
55

6-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
6+
import { relinka } from "~/utils/loggerRelinka.js";
77

88
// Parse command-line arguments to check for '--jsr' flag
99
const args: string[] = process.argv.slice(2);

build.publish.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { globby } from "globby";
77
import mri from "mri";
88
import path from "pathe";
99

10-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
10+
import { relinka } from "~/utils/loggerRelinka.js";
1111

1212
function showHelp() {
1313
relinka(

bun.lockb

450 Bytes
Binary file not shown.

eslint.config.js

+12
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import eslint from "@eslint/js";
44
import json from "@eslint/json";
55
import markdown from "@eslint/markdown";
66
import stylistic from "@stylistic/eslint-plugin";
7+
import noRelativeImportPaths from "eslint-plugin-no-relative-import-paths";
78
import perfectionist from "eslint-plugin-perfectionist";
89
import path from "node:path";
910
import { fileURLToPath } from "node:url";
@@ -34,6 +35,7 @@ const config = tseslint.config(
3435
perfectionist,
3536
// @ts-expect-error wrong issue
3637
"@stylistic": stylistic,
38+
"no-relative-import-paths": noRelativeImportPaths,
3739
},
3840
rules: {
3941
"@typescript-eslint/restrict-template-expressions": "off",
@@ -86,6 +88,10 @@ const config = tseslint.config(
8688
"@stylistic/quotes": "off",
8789
"@stylistic/quote-props": "off",
8890
"@stylistic/indent-binary-ops": "off",
91+
"no-relative-import-paths/no-relative-import-paths": [
92+
"warn",
93+
{ allowSameFolder: true, rootDir: "src", prefix: "~" },
94+
],
8995
},
9096
},
9197
{
@@ -127,6 +133,12 @@ const config = tseslint.config(
127133
],
128134
},
129135
},
136+
{
137+
files: ["**/reliverseConfig.ts"],
138+
rules: {
139+
"max-lines": "off",
140+
},
141+
},
130142
);
131143

132144
export default config;

jsr.jsonc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@reliverse/cli",
3-
"version": "1.4.19",
3+
"version": "1.4.20",
44
"author": "blefnk",
55
"license": "MIT",
66
"exports": "./dist-jsr/main.ts",

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@reliverse/cli",
3-
"version": "1.4.19",
3+
"version": "1.4.20",
44
"author": "blefnk",
55
"type": "module",
66
"description": "This superapp CLI tool can help you easily create new web projects, manage existing projects, and automatically make advanced codebase modifications, with more features coming soon.",
@@ -134,6 +134,7 @@
134134
"@types/strip-comments": "^2.0.4",
135135
"drizzle-kit": "^0.30.1",
136136
"eslint": "^9.17.0",
137+
"eslint-plugin-no-relative-import-paths": "^1.6.1",
137138
"eslint-plugin-perfectionist": "^4.6.0",
138139
"eslint-plugin-react-hooks": "^5.1.0",
139140
"eslint-plugin-react-refresh": "^0.4.16",

publish.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { defineCommand, errorHandler, runMain } from "@reliverse/prompts";
44
import { execa } from "execa";
55

6-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
6+
import { relinka } from "~/utils/loggerRelinka.js";
77

88
const main = defineCommand({
99
meta: {

src/app/app-impl.ts

+8-7
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@ import { pm, selectPrompt } from "@reliverse/prompts";
22
import fs from "fs-extra";
33
import path from "pathe";
44

5-
import type { ReliverseConfig, ReliverseMemory } from "~/types.js";
5+
import type { ReliverseMemory } from "~/types.js";
66

77
import { getMainMenuOptions } from "~/app/menu/create-project/cp-modules/cli-main-modules/cli-menu-items/getMainMenuOptions.js";
88
import { showDetectedProjectsMenu } from "~/app/menu/create-project/cp-modules/cli-main-modules/detections/detectedProjectsMenu.js";
9-
import {
10-
detectProject,
11-
detectProjectsWithReliverse,
12-
} from "~/app/menu/create-project/cp-modules/cli-main-modules/detections/detectReliverseProjects.js";
13-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
149
import {
1510
showEndPrompt,
1611
showStartPrompt,
1712
} from "~/app/menu/create-project/cp-modules/cli-main-modules/modules/showStartEndPrompt.js";
13+
import { showDevToolsMenu } from "~/dev.js";
14+
import { relinka } from "~/utils/loggerRelinka.js";
15+
import {
16+
detectProject,
17+
detectProjectsWithReliverse,
18+
type ReliverseConfig,
19+
} from "~/utils/reliverseConfig.js";
1820

19-
import { showDevToolsMenu } from "../dev.js";
2021
import {
2122
randomReliverseMenuTitle,
2223
randomWelcomeMessages,

src/app/app-mod.ts

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import { defineCommand } from "@reliverse/prompts";
22

3-
import { getReliverseConfig } from "~/app/menu/create-project/cp-modules/cli-main-modules/configs/miscellaneousConfigHelpers.js";
43
import { getCurrentWorkingDirectory } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/terminal.js";
54
import { showStartPrompt } from "~/app/menu/create-project/cp-modules/cli-main-modules/modules/showStartEndPrompt.js";
65
import { authCheck } from "~/args/login/impl.js";
6+
import { getReliverseMemory } from "~/utils/reliverseMemory.js";
77

88
import { app } from "./app-impl.js";
9-
import { getReliverseMemory } from "./app-utils.js";
109
import { useLocalhost } from "./constants.js";
1110

1211
export default defineCommand({
@@ -22,12 +21,17 @@ export default defineCommand({
2221
},
2322
run: async ({ args }) => {
2423
const isDev = args.dev;
24+
2525
await showStartPrompt(isDev);
2626
const cwd = getCurrentWorkingDirectory();
2727
const memory = await getReliverseMemory();
28-
const config = await getReliverseConfig(cwd);
28+
29+
// TODO: fix reliverse config and enable it back
30+
// const config = await getReliverseConfig(cwd);
31+
2932
await authCheck(isDev, memory, useLocalhost);
30-
await app({ cwd, isDev, config, memory });
33+
await app({ cwd, isDev, config: {}, memory });
34+
3135
process.exit(0);
3236
},
3337
});

src/app/db/client.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import fs from "fs-extra";
44
import os from "os";
55
import path from "pathe";
66

7-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
7+
import { relinka } from "~/utils/loggerRelinka.js";
88

99
// Use .reliverse directory in user's home directory
1010
const homeDir = os.homedir();

src/app/db/config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { eq } from "drizzle-orm";
88

99
import type { ConfigKey } from "~/types.js";
1010

11-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
11+
import { relinka } from "~/utils/loggerRelinka.js";
1212

1313
import { db } from "./client.js";
1414
import { configKeysTable } from "./schema.js";

src/app/menu/create-project/cp-impl.ts

+11-12
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ import pc from "picocolors";
1919
import type {
2020
Behavior,
2121
DeploymentService,
22-
ReliverseConfig,
2322
ReliverseMemory,
2423
TemplateOption,
2524
} from "~/types.js";
25+
import type { ReliverseConfig } from "~/utils/reliverseConfig.js";
2626

2727
import { setupI18nFiles } from "~/app/menu/create-project/cp-modules/cli-main-modules/downloads/downloadI18nFiles.js";
2828
import { extractRepoInfo } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/extractRepoInfo.js";
2929
import { isVSCodeInstalled } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/isAppInstalled.js";
30-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
3130
import { promptPackageJsonScripts } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/promptPackageJsonScripts.js";
3231
import { replaceStringsInFiles } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/replaceStringsInFiles.js";
3332
import { askProjectName } from "~/app/menu/create-project/cp-modules/cli-main-modules/modules/askProjectName.js";
3433
import { askUserName } from "~/app/menu/create-project/cp-modules/cli-main-modules/modules/askUserName.js";
3534
import { promptGitDeploy } from "~/app/menu/create-project/cp-modules/git-deploy-prompts/mod.js";
35+
import { relinka } from "~/utils/loggerRelinka.js";
3636

3737
export type PackageJson = {
3838
name?: string;
@@ -64,18 +64,18 @@ export async function initializeProjectConfig(
6464
shouldUseDataFromConfig: boolean,
6565
): Promise<ProjectConfig> {
6666
const frontendUsername =
67-
shouldUseDataFromConfig && config?.experimental?.projectAuthor
68-
? config.experimental.projectAuthor
67+
shouldUseDataFromConfig && config?.projectAuthor
68+
? config.projectAuthor
6969
: ((await askUserName(memory)) ?? "");
7070

7171
const projectName =
72-
shouldUseDataFromConfig && config?.experimental?.projectTemplate
73-
? path.basename(config.experimental.projectTemplate)
72+
shouldUseDataFromConfig && config?.projectTemplate
73+
? path.basename(config.projectTemplate)
7474
: ((await askProjectName()) ?? "");
7575

7676
const primaryDomain =
77-
shouldUseDataFromConfig && config?.experimental?.projectDomain
78-
? config.experimental.projectDomain
77+
shouldUseDataFromConfig && config?.projectDomain
78+
? config.projectDomain
7979
: `${projectName}.vercel.app`;
8080

8181
return { frontendUsername, projectName, primaryDomain };
@@ -129,9 +129,8 @@ export async function setupI18nSupport(
129129
shouldUseDataFromConfig: boolean,
130130
) {
131131
const i18nShouldBeEnabled =
132-
shouldUseDataFromConfig &&
133-
config?.experimental?.features?.i18n !== undefined
134-
? config.experimental.features.i18n
132+
shouldUseDataFromConfig && config?.features?.i18n !== undefined
133+
? config.features.i18n
135134
: await confirmPrompt({
136135
title:
137136
"Do you want to enable i18n (internationalization) for this project?",
@@ -157,7 +156,7 @@ export async function handleDependencies(
157156
projectPath: string,
158157
config: ReliverseConfig,
159158
) {
160-
const depsBehavior: Behavior = config?.experimental?.depsBehavior ?? "prompt";
159+
const depsBehavior: Behavior = config?.depsBehavior ?? "prompt";
161160

162161
const shouldInstallDeps = await determineShouldInstallDeps(depsBehavior);
163162
let shouldRunDbPush = false;

src/app/menu/create-project/cp-mod.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import {
44
generateProjectConfigs,
55
updateProjectConfig,
66
} from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/generateProjectConfigs.js";
7-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
87
import { composeEnvFile } from "~/app/menu/create-project/cp-modules/compose-env-file/mod.js";
8+
import { relinka } from "~/utils/loggerRelinka.js";
99

1010
import {
1111
initializeProjectConfig,
@@ -32,8 +32,7 @@ export async function createWebProject({
3232
relinka("info", message);
3333

3434
// Check if we should use data from the config
35-
const shouldUseDataFromConfig =
36-
config?.experimental?.skipPromptsUseAutoBehavior ?? false;
35+
const shouldUseDataFromConfig = config?.skipPromptsUseAutoBehavior ?? false;
3736

3837
// Initialize project configuration
3938
const projectConfig = await initializeProjectConfig(
@@ -89,14 +88,13 @@ export async function createWebProject({
8988

9089
// Generate initial configs with default deployment service
9190
await generateProjectConfigs(
92-
memory,
9391
projectPath,
9492
projectName,
9593
frontendUsername,
9694
"vercel",
9795
initialDomain,
9896
defaultI18nShouldBeEnabled,
99-
shouldInstallDeps,
97+
frontendUsername,
10098
);
10199

102100
// Handle deployment

src/app/menu/create-project/cp-modules/cli-main-modules/cli-menu-items/getMainMenuOptions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import fs from "fs-extra";
22
import path from "pathe";
33
import pc from "picocolors";
44

5-
import { detectProjectsWithReliverse } from "~/app/menu/create-project/cp-modules/cli-main-modules/detections/detectReliverseProjects.js";
5+
import { detectProjectsWithReliverse } from "~/utils/reliverseConfig.js";
66

77
export type MainMenuChoice =
88
| "create"

src/app/menu/create-project/cp-modules/cli-main-modules/cli-menu-items/getProjectMenuOptions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import fs from "fs-extra";
22
import path from "pathe";
33
import pc from "picocolors";
44

5-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
5+
import { relinka } from "~/utils/loggerRelinka.js";
66

77
export async function getProjectMenuOptions(
88
cwd: string,

src/app/menu/create-project/cp-modules/cli-main-modules/cli-menu-items/installAnyGitRepoProject.ts

+5-10
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
import { selectPrompt, inputPrompt } from "@reliverse/prompts";
22

3-
import type {
4-
ReliverseConfig,
5-
ReliverseMemory,
6-
TemplateOption,
7-
} from "~/types.js";
3+
import type { ReliverseMemory, TemplateOption } from "~/types.js";
4+
import type { ReliverseConfig } from "~/utils/reliverseConfig.js";
85

96
import { createWebProject } from "~/app/menu/create-project/cp-mod.js";
10-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
117
import { validate } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/validate.js";
128
import { buildBrandNewThing } from "~/app/menu/menu-mod.js";
9+
import { relinka } from "~/utils/loggerRelinka.js";
1310

1411
export async function installAnyGitRepo(
1512
cwd: string,
@@ -134,10 +131,8 @@ export async function installAnyGitRepo(
134131
i18nShouldBeEnabled: true,
135132
isDev,
136133
config: {
137-
experimental: {
138-
i18nBehavior: "prompt",
139-
projectFramework: "nextjs",
140-
},
134+
i18nBehavior: "prompt",
135+
projectFramework: "nextjs",
141136
},
142137
memory,
143138
cwd,

src/app/menu/create-project/cp-modules/cli-main-modules/configs/appts.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import pc from "picocolors";
1212

1313
import type { ApptsConfig } from "~/types.js";
1414

15-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
1615
import metadata from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/metadata.js";
16+
import { relinka } from "~/utils/loggerRelinka.js";
1717

1818
export async function configureAppts({ apptsConfig }: ApptsConfig) {
1919
const apptsConfigPath = join(apptsConfig, "app.ts");

src/app/menu/create-project/cp-modules/cli-main-modules/configs/biome.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import fs from "fs-extra";
44
import path from "pathe";
55

66
import { type BiomeConfig, type ConfigPaths } from "~/types.js";
7-
8-
import { relinka } from "../handlers/logger.js";
9-
import { addConfigMetadata } from "./miscellaneousConfigHelpers.js";
7+
import { addConfigMetadata } from "~/utils/configHandler.js";
8+
import { relinka } from "~/utils/loggerRelinka.js";
109

1110
const BIOME_DEFAULT_CONFIG: BiomeConfig = addConfigMetadata({
1211
$schema: "https://biomejs.dev/schemas/1.5.3/schema.json",

src/app/menu/create-project/cp-modules/cli-main-modules/configs/env.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { join } from "pathe";
55

66
import type { PromptType, Question } from "~/types.js";
77

8-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
8+
import { relinka } from "~/utils/loggerRelinka.js";
99

1010
// TODO: 🐞 Still in development! Please use at own risk!
1111

src/app/menu/create-project/cp-modules/cli-main-modules/configs/envjs.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { selectPrompt } from "@reliverse/prompts";
33
import fs from "fs-extra";
44
import path from "pathe";
55

6-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
76
import { type ConfigPaths } from "~/types.js";
7+
import { relinka } from "~/utils/loggerRelinka.js";
88

99
const ENV_DEFAULT_CONFIG = `import { createEnv } from "@t3-oss/env-nextjs";
1010
import { z } from "zod";

src/app/menu/create-project/cp-modules/cli-main-modules/configs/eslint.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { selectPrompt } from "@reliverse/prompts";
33
import fs from "fs-extra";
44
import path from "pathe";
55

6-
import { relinka } from "~/app/menu/create-project/cp-modules/cli-main-modules/handlers/logger.js";
76
import { type ConfigPaths } from "~/types.js";
7+
import { relinka } from "~/utils/loggerRelinka.js";
88

99
const ESLINT_DEFAULT_CONFIG = `// @ts-check
1010

0 commit comments

Comments
 (0)