Skip to content

Commit 468813f

Browse files
feat(cli): add typescript config internal package(#661)
Co-authored-by: Aman Varshney <amanvarshney.work@gmail.com>
1 parent 9b7e318 commit 468813f

File tree

12 files changed

+497
-8
lines changed

12 files changed

+497
-8
lines changed

apps/cli/src/helpers/core/template-manager.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,16 @@ async function setupApiPackage(projectDir: string, context: ProjectConfig) {
275275
}
276276
}
277277

278+
async function setupConfigPackage(projectDir: string, context: ProjectConfig) {
279+
const configPackageDir = path.join(projectDir, "packages/config");
280+
await fs.ensureDir(configPackageDir);
281+
282+
const configBaseDir = path.join(PKG_ROOT, "templates/packages/config");
283+
if (await fs.pathExists(configBaseDir)) {
284+
await processAndCopyFiles("**/*", configBaseDir, configPackageDir, context);
285+
}
286+
}
287+
278288
async function setupDbPackage(projectDir: string, context: ProjectConfig) {
279289
if (context.database === "none" || context.orm === "none") return;
280290

@@ -345,6 +355,8 @@ export async function setupBackendFramework(
345355
projectDir: string,
346356
context: ProjectConfig,
347357
) {
358+
await setupConfigPackage(projectDir, context);
359+
348360
if (context.backend === "none") {
349361
return;
350362
}

apps/cli/src/helpers/core/workspace-setup.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,18 @@ export async function setupWorkspaceDependencies(
1515
const commonDeps: AvailableDependencies[] = ["dotenv", "zod"];
1616
const commonDevDeps: AvailableDependencies[] = ["tsdown"];
1717

18+
const configPackageDir = path.join(projectDir, "packages/config");
19+
const configDep: Record<string, string> = {};
20+
if (await fs.pathExists(configPackageDir)) {
21+
configDep[`@${projectName}/config`] = workspaceVersion;
22+
}
23+
1824
const dbPackageDir = path.join(projectDir, "packages/db");
1925
if (await fs.pathExists(dbPackageDir)) {
2026
await addPackageDependency({
2127
dependencies: commonDeps,
2228
devDependencies: commonDevDeps,
29+
customDevDependencies: configDep,
2330
projectDir: dbPackageDir,
2431
});
2532
}
@@ -35,6 +42,7 @@ export async function setupWorkspaceDependencies(
3542
dependencies: commonDeps,
3643
devDependencies: commonDevDeps,
3744
customDependencies: authDeps,
45+
customDevDependencies: configDep,
3846
projectDir: authPackageDir,
3947
});
4048
}
@@ -53,6 +61,7 @@ export async function setupWorkspaceDependencies(
5361
dependencies: commonDeps,
5462
devDependencies: commonDevDeps,
5563
customDependencies: apiDeps,
64+
customDevDependencies: configDep,
5665
projectDir: apiPackageDir,
5766
});
5867
}
@@ -74,6 +83,7 @@ export async function setupWorkspaceDependencies(
7483
dependencies: commonDeps,
7584
devDependencies: commonDevDeps,
7685
customDependencies: serverDeps,
86+
customDevDependencies: configDep,
7787
projectDir: serverPackageDir,
7888
});
7989
}
@@ -92,6 +102,7 @@ export async function setupWorkspaceDependencies(
92102
if (Object.keys(webDeps).length > 0) {
93103
await addPackageDependency({
94104
customDependencies: webDeps,
105+
customDevDependencies: configDep,
95106
projectDir: webPackageDir,
96107
});
97108
}
@@ -108,6 +119,7 @@ export async function setupWorkspaceDependencies(
108119
if (Object.keys(nativeDeps).length > 0) {
109120
await addPackageDependency({
110121
customDependencies: nativeDeps,
122+
customDevDependencies: configDep,
111123
projectDir: nativePackageDir,
112124
});
113125
}

apps/cli/templates/api/orpc/server/tsconfig.json.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../../tsconfig.base.json",
2+
"extends": "@{{projectName}}/config/tsconfig.base.json",
33
"compilerOptions": {
44
"declaration": true,
55
"declarationMap": true,

apps/cli/templates/api/trpc/server/tsconfig.json.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../../tsconfig.base.json",
2+
"extends": "@{{projectName}}/config/tsconfig.base.json",
33
"compilerOptions": {
44
"declaration": true,
55
"declarationMap": true,

apps/cli/templates/auth/better-auth/server/base/tsconfig.json.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../../tsconfig.base.json",
2+
"extends": "@{{projectName}}/config/tsconfig.base.json",
33
"compilerOptions": {
44
"declaration": true,
55
"declarationMap": true,

apps/cli/templates/backend/server/base/tsconfig.json.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../../tsconfig.base.json",
2+
"extends": "@{{projectName}}/config/tsconfig.base.json",
33
"compilerOptions": {
44
"composite": true,
55
"outDir": "dist",

apps/cli/templates/base/tsconfig.json.hbs

Lines changed: 0 additions & 3 deletions
This file was deleted.

apps/cli/templates/db/base/tsconfig.json.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../../tsconfig.base.json",
2+
"extends": "@{{projectName}}/config/tsconfig.base.json",
33
"compilerOptions": {
44
"declaration": true,
55
"declarationMap": true,
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"name": "@{{projectName}}/config",
3+
"version": "0.0.0",
4+
"private": true
5+
}

0 commit comments

Comments
 (0)