MCPcopy
hub / github.com/t3-oss/create-t3-app / createProject

Function createProject

cli/src/helpers/createProject.ts:29–94  ·  view source on GitHub ↗
({
  projectName,
  scopedAppName,
  packages,
  noInstall,
  appRouter,
  databaseProvider,
}: CreateProjectOptions)

Source from the content-addressed store, hash-verified

27}
28
29export const createProject = async ({
30 projectName,
31 scopedAppName,
32 packages,
33 noInstall,
34 appRouter,
35 databaseProvider,
36}: CreateProjectOptions) => {
37 const pkgManager = getUserPkgManager();
38 const projectDir = path.resolve(process.cwd(), projectName);
39
40 // Bootstraps the base Next.js application
41 await scaffoldProject({
42 projectName,
43 projectDir,
44 pkgManager,
45 scopedAppName,
46 noInstall,
47 appRouter,
48 databaseProvider,
49 });
50
51 // Install the selected packages
52 installPackages({
53 projectName,
54 scopedAppName,
55 projectDir,
56 pkgManager,
57 packages,
58 noInstall,
59 appRouter,
60 databaseProvider,
61 });
62
63 // Select necessary _app,index / layout,page files
64 if (appRouter) {
65 // Replace next.config
66 fs.copyFileSync(
67 path.join(PKG_ROOT, "template/extras/config/next-config-appdir.js"),
68 path.join(projectDir, "next.config.js")
69 );
70
71 selectLayoutFile({ projectDir, packages });
72 selectPageFile({ projectDir, packages });
73 } else {
74 selectAppFile({ projectDir, packages });
75 selectIndexFile({ projectDir, packages });
76 }
77
78 // If no tailwind, select use css modules
79 if (!packages.tailwind.inUse) {
80 const indexModuleCss = path.join(
81 PKG_ROOT,
82 "template/extras/src/index.module.css"
83 );
84 const indexModuleCssDest = path.join(
85 projectDir,
86 "src",

Callers 1

mainFunction · 0.85

Calls 7

getUserPkgManagerFunction · 0.85
scaffoldProjectFunction · 0.85
installPackagesFunction · 0.85
selectLayoutFileFunction · 0.85
selectPageFileFunction · 0.85
selectAppFileFunction · 0.85
selectIndexFileFunction · 0.85

Tested by

no test coverage detected