create-stackkit-app 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +46 -31
  2. package/dist/lib/create-project.d.ts.map +1 -1
  3. package/dist/lib/create-project.js +179 -72
  4. package/dist/lib/create-project.js.map +1 -1
  5. package/dist/lib/template-composer.d.ts +17 -0
  6. package/dist/lib/template-composer.d.ts.map +1 -0
  7. package/dist/lib/template-composer.js +199 -0
  8. package/dist/lib/template-composer.js.map +1 -0
  9. package/package.json +5 -4
  10. package/templates/auth/authjs-express/config.json +20 -0
  11. package/templates/auth/authjs-express/files/lib/auth.ts +43 -0
  12. package/templates/auth/authjs-express/files/routes/auth.ts +12 -0
  13. package/templates/auth/authjs-express/lib/auth.ts +43 -0
  14. package/templates/auth/authjs-express/module.json +39 -0
  15. package/templates/auth/authjs-express/routes/auth.ts +12 -0
  16. package/templates/auth/authjs-nextjs/app/api/auth/[...nextauth]/route.ts +3 -0
  17. package/templates/auth/authjs-nextjs/config.json +19 -0
  18. package/templates/auth/authjs-nextjs/files/api/auth/[...nextauth]/route.ts +3 -0
  19. package/templates/auth/authjs-nextjs/files/lib/auth.ts +45 -0
  20. package/templates/auth/authjs-nextjs/lib/auth.ts +45 -0
  21. package/templates/auth/authjs-nextjs/module.json +38 -0
  22. package/templates/auth/better-auth-express/config.json +18 -0
  23. package/templates/auth/better-auth-express/src/lib/auth.ts +12 -0
  24. package/templates/auth/better-auth-express/src/routes/auth.ts +10 -0
  25. package/templates/auth/better-auth-nextjs/app/api/auth/[...all]/route.ts +4 -0
  26. package/templates/auth/better-auth-nextjs/config.json +18 -0
  27. package/templates/auth/better-auth-nextjs/lib/auth.ts +14 -0
  28. package/templates/auth/better-auth-react/config.json +15 -0
  29. package/templates/auth/better-auth-react/files/lib/auth-client.ts +9 -0
  30. package/templates/auth/better-auth-react/lib/auth-client.ts +9 -0
  31. package/templates/auth/better-auth-react/module.json +26 -0
  32. package/templates/auth/nextauth/app/api/auth/[...nextauth]/route.ts +3 -0
  33. package/templates/auth/nextauth/config.json +18 -0
  34. package/templates/auth/nextauth/lib/auth.ts +31 -0
  35. package/templates/bases/express-base/.env.example +2 -0
  36. package/templates/bases/express-base/package.json +23 -0
  37. package/templates/bases/express-base/src/index.ts +27 -0
  38. package/templates/bases/express-base/template.json +7 -0
  39. package/templates/bases/express-base/tsconfig.json +17 -0
  40. package/templates/bases/nextjs-base/.eslintrc.json +3 -0
  41. package/templates/bases/nextjs-base/app/globals.css +3 -0
  42. package/templates/{next-prisma-postgres-shadcn → bases/nextjs-base}/app/layout.tsx +3 -6
  43. package/templates/bases/nextjs-base/app/page.tsx +8 -0
  44. package/templates/{next-prisma-postgres-shadcn → bases/nextjs-base}/next.config.ts +1 -3
  45. package/templates/bases/nextjs-base/package.json +24 -0
  46. package/templates/bases/nextjs-base/template.json +7 -0
  47. package/templates/{next-prisma-postgres-shadcn → bases/nextjs-base}/tsconfig.json +1 -6
  48. package/templates/databases/prisma-mongodb/config.json +21 -0
  49. package/templates/{next-prisma-postgres-shadcn → databases/prisma-mongodb}/lib/db.ts +2 -3
  50. package/templates/databases/prisma-mongodb/prisma/schema.prisma +16 -0
  51. package/templates/databases/prisma-postgresql/config.json +22 -0
  52. package/templates/databases/prisma-postgresql/lib/db.ts +13 -0
  53. package/templates/databases/prisma-postgresql/prisma/schema.prisma +16 -0
  54. package/templates/next-prisma-postgres-shadcn/.env.example +0 -5
  55. package/templates/next-prisma-postgres-shadcn/.eslintrc.json +0 -7
  56. package/templates/next-prisma-postgres-shadcn/.prettierrc +0 -8
  57. package/templates/next-prisma-postgres-shadcn/README.md +0 -85
  58. package/templates/next-prisma-postgres-shadcn/app/api/health/route.ts +0 -25
  59. package/templates/next-prisma-postgres-shadcn/app/globals.css +0 -1
  60. package/templates/next-prisma-postgres-shadcn/app/page.tsx +0 -29
  61. package/templates/next-prisma-postgres-shadcn/lib/env.ts +0 -15
  62. package/templates/next-prisma-postgres-shadcn/package.json +0 -32
  63. package/templates/next-prisma-postgres-shadcn/prisma/schema.prisma +0 -20
  64. package/templates/next-prisma-postgres-shadcn/public/.gitkeep +0 -1
  65. package/templates/next-prisma-postgres-shadcn/template.json +0 -18
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # create-stackkit-app
2
2
 
3
- Quick project scaffolder for StackKit - create production-ready Next.js projects instantly.
3
+ Production-ready project generator with interactive wizard setup.
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/create-stackkit-app)](https://www.npmjs.com/package/create-stackkit-app)
6
6
 
@@ -20,42 +20,59 @@ yarn dlx create-stackkit-app@latest my-app
20
20
  bunx create-stackkit-app@latest my-app
21
21
  ```
22
22
 
23
- ## What It Does
23
+ ## Interactive Wizard
24
24
 
25
- `create-stackkit-app` is a thin wrapper around `stackkit-cli` that provides quick project initialization without global installation.
25
+ The wizard guides you through project setup:
26
26
 
27
- It automatically:
28
- 1. Installs `stackkit-cli` temporarily
29
- 2. Runs `stackkit init` with your options
30
- 3. Creates a production-ready Next.js project
27
+ 1. **Framework Selection**
28
+ - Next.js
29
+ - Express.js
30
+ - React (Vite)
31
+ - Astro
31
32
 
32
- ## Options
33
+ 2. **Database/ORM**
34
+ - Prisma + PostgreSQL
35
+ - Prisma + MongoDB
36
+ - Mongoose + MongoDB
37
+ - Drizzle + PostgreSQL
38
+ - None
33
39
 
34
- All `stackkit-cli init` options are supported:
40
+ 3. **Authentication**
41
+ - Auth.js (NextAuth)
42
+ - Better Auth
43
+ - Clerk
44
+ - None
35
45
 
36
- ```bash
37
- npx create-stackkit-app my-app --template next-prisma-postgres-shadcn --pm pnpm
46
+ 4. **Language**
47
+ - TypeScript _(recommended)_
48
+ - JavaScript
38
49
 
39
- npx create-stackkit-app my-app --no-install --no-git --yes
40
- ```
50
+ 5. **Package Manager**
51
+ - pnpm _(recommended)_
52
+ - npm
53
+ - yarn
54
+
55
+ ## Automatic Setup
41
56
 
42
- **Available options:**
43
- - `--template <name>` - Template to use
44
- - `--pm <npm|yarn|pnpm>` - Package manager
45
- - `--no-install` - Skip dependency installation
46
- - `--no-git` - Skip git initialization
47
- - `--yes` - Skip all prompts
57
+ After answering questions, the tool automatically:
58
+
59
+ Creates project files
60
+ Installs dependencies
61
+ Initializes git repository
62
+
63
+ No manual `npm install` or `git init` needed.
48
64
 
49
65
  ## What's Included
50
66
 
51
- The default template includes:
52
- - ✅ Next.js 15 with App Router
53
- - TypeScript
54
- - Prisma ORM + PostgreSQL
55
- - shadcn/ui components
56
- - Tailwind CSS
67
+ Default Next.js + Prisma + PostgreSQL template:
68
+
69
+ - Next.js 15 with App Router
70
+ - 🛡️ TypeScript
71
+ - 🗄️ Prisma ORM + PostgreSQL
72
+ - 🎨 shadcn/ui components
73
+ - 💅 Tailwind CSS
57
74
  - ✅ Zod validation
58
- - ESLint + Prettier
75
+ - 🔧 ESLint + Prettier
59
76
 
60
77
  ## Next Steps
61
78
 
@@ -63,11 +80,10 @@ After creating your project:
63
80
 
64
81
  ```bash
65
82
  cd my-app
66
- pnpm install
67
83
  pnpm dev
68
84
  ```
69
85
 
70
- Add features with modules:
86
+ Add modules to existing projects:
71
87
 
72
88
  ```bash
73
89
  npx stackkit-cli add auth
@@ -75,13 +91,12 @@ npx stackkit-cli add auth
75
91
 
76
92
  ## Full CLI
77
93
 
78
- For more features, use the full CLI:
94
+ For advanced features:
79
95
 
80
96
  ```bash
81
97
  npm install -g stackkit-cli
82
98
 
83
- stackkit init my-app
84
- stackkit list
99
+ stackkit list # View all templates/modules
85
100
  stackkit add auth
86
101
  ```
87
102
 
@@ -1 +1 @@
1
- {"version":3,"file":"create-project.d.ts","sourceRoot":"","sources":["../../src/lib/create-project.ts"],"names":[],"mappings":"AAiBA,wBAAsB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBvE"}
1
+ {"version":3,"file":"create-project.d.ts","sourceRoot":"","sources":["../../src/lib/create-project.ts"],"names":[],"mappings":"AA8BA,wBAAsB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBvE"}
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createProject = createProject;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
+ const child_process_1 = require("child_process");
8
9
  const fs_extra_1 = __importDefault(require("fs-extra"));
9
10
  const inquirer_1 = __importDefault(require("inquirer"));
10
11
  const ora_1 = __importDefault(require("ora"));
11
12
  const path_1 = __importDefault(require("path"));
12
13
  const validate_npm_package_name_1 = __importDefault(require("validate-npm-package-name"));
13
- const child_process_1 = require("child_process");
14
14
  async function createProject(projectName) {
15
15
  console.log(chalk_1.default.bold.cyan('\n🚀 Create StackKit App\n'));
16
16
  // Get project configuration through wizard
@@ -61,35 +61,52 @@ async function getProjectConfig(projectName) {
61
61
  type: 'list',
62
62
  name: 'database',
63
63
  message: 'Select database/ORM:',
64
- choices: [
65
- { name: 'Prisma + PostgreSQL', value: 'prisma-postgresql' },
66
- { name: 'Prisma + MongoDB', value: 'prisma-mongodb' },
67
- { name: 'Mongoose + MongoDB', value: 'mongoose-mongodb' },
68
- { name: 'Drizzle + PostgreSQL', value: 'drizzle-postgresql' },
69
- { name: 'None', value: 'none' },
70
- ],
64
+ choices: (answers) => {
65
+ // React apps don't need server-side database
66
+ if (answers.framework === 'react-vite') {
67
+ return [{ name: 'None', value: 'none' }];
68
+ }
69
+ return [
70
+ { name: 'Prisma + PostgreSQL', value: 'prisma-postgresql' },
71
+ { name: 'Prisma + MongoDB', value: 'prisma-mongodb' },
72
+ { name: 'Mongoose + MongoDB', value: 'mongoose-mongodb' },
73
+ { name: 'Drizzle + PostgreSQL', value: 'drizzle-postgresql' },
74
+ { name: 'None', value: 'none' },
75
+ ];
76
+ },
71
77
  },
72
78
  {
73
79
  type: 'list',
74
80
  name: 'auth',
75
81
  message: 'Select authentication:',
76
82
  choices: (answers) => {
77
- const baseChoices = [
78
- { name: 'Auth.js (NextAuth)', value: 'nextauth' },
79
- { name: 'Better Auth', value: 'better-auth' },
80
- { name: 'Clerk', value: 'clerk' },
81
- { name: 'None', value: 'none' },
82
- ];
83
- // Filter choices based on framework compatibility
84
- if (answers.framework === 'nextjs') {
85
- return baseChoices;
83
+ // React apps - client-side only
84
+ if (answers.framework === 'react-vite') {
85
+ return [
86
+ { name: 'Better Auth (React)', value: 'better-auth-react' },
87
+ { name: 'None', value: 'none' },
88
+ ];
86
89
  }
87
- else if (answers.framework === 'express') {
88
- return baseChoices.filter(c => ['better-auth', 'none'].includes(c.value));
90
+ // Next.js apps
91
+ if (answers.framework === 'nextjs') {
92
+ return [
93
+ { name: 'Auth.js v5', value: 'authjs-nextjs' },
94
+ { name: 'NextAuth.js', value: 'nextauth' },
95
+ { name: 'Better Auth', value: 'better-auth-nextjs' },
96
+ { name: 'Clerk', value: 'clerk' },
97
+ { name: 'None', value: 'none' },
98
+ ];
89
99
  }
90
- else {
91
- return [{ name: 'None', value: 'none' }];
100
+ // Express apps
101
+ if (answers.framework === 'express') {
102
+ return [
103
+ { name: 'Auth.js', value: 'authjs-express' },
104
+ { name: 'Better Auth', value: 'better-auth-express' },
105
+ { name: 'None', value: 'none' },
106
+ ];
92
107
  }
108
+ // Default - no auth
109
+ return [{ name: 'None', value: 'none' }];
93
110
  },
94
111
  },
95
112
  {
@@ -121,10 +138,10 @@ async function getProjectConfig(projectName) {
121
138
  }
122
139
  async function generateProject(config, targetDir) {
123
140
  console.log();
124
- // Copy base template
141
+ // Copy and compose template
125
142
  const copySpinner = (0, ora_1.default)('Creating project files...').start();
126
143
  try {
127
- await copyBaseTemplate(config, targetDir);
144
+ await composeTemplate(config, targetDir);
128
145
  copySpinner.succeed('Project files created');
129
146
  }
130
147
  catch (error) {
@@ -151,47 +168,157 @@ async function generateProject(config, targetDir) {
151
168
  gitSpinner.warn('Failed to initialize git repository');
152
169
  }
153
170
  }
154
- async function copyBaseTemplate(config, targetDir) {
171
+ async function composeTemplate(config, targetDir) {
155
172
  const templatesDir = path_1.default.join(__dirname, '..', '..', 'templates');
156
- // Map configuration to template directory
157
- let templateDir;
158
- if (config.framework === 'nextjs' &&
159
- (config.database === 'prisma-postgresql' || config.database === 'prisma-mongodb')) {
160
- // Use existing Next.js + Prisma template
161
- templateDir = path_1.default.join(templatesDir, 'next-prisma-postgres-shadcn');
162
- }
163
- else {
164
- // For now, fallback to the same template until more templates are added
165
- templateDir = path_1.default.join(templatesDir, 'next-prisma-postgres-shadcn');
173
+ await fs_extra_1.default.ensureDir(targetDir);
174
+ // 1. Copy base framework template
175
+ await copyBaseFramework(templatesDir, targetDir, config.framework);
176
+ // 2. Merge database configuration
177
+ if (config.database !== 'none') {
178
+ await mergeDatabaseConfig(templatesDir, targetDir, config.database);
166
179
  }
167
- // Verify template exists
168
- if (!(await fs_extra_1.default.pathExists(templateDir))) {
169
- throw new Error(`Template not found at ${templateDir}`);
180
+ // 3. Merge auth configuration
181
+ if (config.auth !== 'none') {
182
+ await mergeAuthConfig(templatesDir, targetDir, config.framework, config.auth);
170
183
  }
171
- // Copy template to target directory
172
- await fs_extra_1.default.ensureDir(targetDir);
173
- await fs_extra_1.default.copy(templateDir, targetDir, {
174
- filter: (src) => {
175
- const basename = path_1.default.basename(src);
176
- return basename !== 'template.json' &&
177
- basename !== 'node_modules' &&
178
- basename !== '.git';
179
- },
180
- });
181
- // Update package.json with project name
184
+ // 4. Update package.json with project name
182
185
  const packageJsonPath = path_1.default.join(targetDir, 'package.json');
183
186
  if (await fs_extra_1.default.pathExists(packageJsonPath)) {
184
187
  const packageJson = await fs_extra_1.default.readJson(packageJsonPath);
185
188
  packageJson.name = config.projectName;
186
189
  await fs_extra_1.default.writeJson(packageJsonPath, packageJson, { spaces: 2 });
187
190
  }
188
- // Handle language conversion if JavaScript selected
191
+ // 5. Convert to JavaScript if selected
189
192
  if (config.language === 'javascript') {
190
193
  await convertToJavaScript(targetDir);
191
194
  }
192
- // Update database configuration if MongoDB selected
193
- if (config.database === 'prisma-mongodb') {
194
- await updatePrismaForMongoDB(targetDir);
195
+ }
196
+ async function copyBaseFramework(templatesDir, targetDir, framework) {
197
+ const baseDir = path_1.default.join(templatesDir, 'bases', `${framework}-base`);
198
+ if (!(await fs_extra_1.default.pathExists(baseDir))) {
199
+ throw new Error(`Base template not found for framework: ${framework}\n` + `Expected at: ${baseDir}`);
200
+ }
201
+ await fs_extra_1.default.copy(baseDir, targetDir, {
202
+ filter: (src) => {
203
+ const basename = path_1.default.basename(src);
204
+ return !['template.json', 'config.json', 'node_modules', '.git'].includes(basename);
205
+ },
206
+ });
207
+ }
208
+ async function mergeDatabaseConfig(templatesDir, targetDir, database) {
209
+ const dbDir = path_1.default.join(templatesDir, 'databases', database);
210
+ if (!(await fs_extra_1.default.pathExists(dbDir))) {
211
+ console.warn(`Database template not found: ${database}`);
212
+ return;
213
+ }
214
+ // Read config
215
+ const configPath = path_1.default.join(dbDir, 'config.json');
216
+ if (!(await fs_extra_1.default.pathExists(configPath))) {
217
+ return;
218
+ }
219
+ const config = await fs_extra_1.default.readJson(configPath);
220
+ // Copy database files
221
+ const entries = await fs_extra_1.default.readdir(dbDir, { withFileTypes: true });
222
+ for (const entry of entries) {
223
+ if (entry.name === 'config.json')
224
+ continue;
225
+ const sourcePath = path_1.default.join(dbDir, entry.name);
226
+ const destPath = path_1.default.join(targetDir, entry.name);
227
+ if (entry.isDirectory()) {
228
+ await fs_extra_1.default.copy(sourcePath, destPath, { overwrite: false });
229
+ }
230
+ else {
231
+ await fs_extra_1.default.copy(sourcePath, destPath, { overwrite: false });
232
+ }
233
+ }
234
+ // Merge package.json
235
+ await mergePackageJson(targetDir, config);
236
+ // Merge .env
237
+ await mergeEnvFile(targetDir, config.env || {});
238
+ }
239
+ async function mergeAuthConfig(templatesDir, targetDir, framework, auth) {
240
+ // Auth modules are now named with framework suffix
241
+ // e.g., better-auth-nextjs, authjs-express, better-auth-react
242
+ // If auth already has framework suffix, use it directly
243
+ // Otherwise, map old names to new ones
244
+ const authMap = {
245
+ nextauth: 'nextauth',
246
+ 'better-auth': framework === 'nextjs' ? 'better-auth-nextjs' : 'better-auth-express',
247
+ clerk: 'clerk',
248
+ };
249
+ const authKey = auth.includes('-') ? auth : authMap[auth] || auth;
250
+ const authDir = path_1.default.join(templatesDir, 'auth', authKey);
251
+ if (!(await fs_extra_1.default.pathExists(authDir))) {
252
+ console.warn(`Auth template not found: ${authKey}`);
253
+ return;
254
+ }
255
+ // Read config
256
+ const configPath = path_1.default.join(authDir, 'config.json');
257
+ if (!(await fs_extra_1.default.pathExists(configPath))) {
258
+ return;
259
+ }
260
+ const config = await fs_extra_1.default.readJson(configPath);
261
+ // Copy auth files
262
+ const entries = await fs_extra_1.default.readdir(authDir, { withFileTypes: true });
263
+ for (const entry of entries) {
264
+ if (entry.name === 'config.json')
265
+ continue;
266
+ const sourcePath = path_1.default.join(authDir, entry.name);
267
+ const destPath = path_1.default.join(targetDir, entry.name);
268
+ if (entry.isDirectory()) {
269
+ await fs_extra_1.default.copy(sourcePath, destPath, { overwrite: false });
270
+ }
271
+ else {
272
+ await fs_extra_1.default.copy(sourcePath, destPath, { overwrite: false });
273
+ }
274
+ }
275
+ // Merge package.json
276
+ await mergePackageJson(targetDir, config);
277
+ // Merge .env
278
+ await mergeEnvFile(targetDir, config.env || {});
279
+ }
280
+ async function mergePackageJson(targetDir, config) {
281
+ const pkgPath = path_1.default.join(targetDir, 'package.json');
282
+ if (!(await fs_extra_1.default.pathExists(pkgPath))) {
283
+ return;
284
+ }
285
+ const pkg = await fs_extra_1.default.readJson(pkgPath);
286
+ if (config.dependencies) {
287
+ pkg.dependencies = { ...pkg.dependencies, ...config.dependencies };
288
+ }
289
+ if (config.devDependencies) {
290
+ pkg.devDependencies = { ...pkg.devDependencies, ...config.devDependencies };
291
+ }
292
+ if (config.scripts) {
293
+ pkg.scripts = { ...pkg.scripts, ...config.scripts };
294
+ }
295
+ await fs_extra_1.default.writeJson(pkgPath, pkg, { spaces: 2 });
296
+ }
297
+ async function mergeEnvFile(targetDir, envVars) {
298
+ if (Object.keys(envVars).length === 0) {
299
+ return;
300
+ }
301
+ const envExamplePath = path_1.default.join(targetDir, '.env.example');
302
+ const envPath = path_1.default.join(targetDir, '.env');
303
+ const envContent = Object.entries(envVars)
304
+ .map(([key, value]) => `${key}="${value}"`)
305
+ .join('\n') + '\n';
306
+ // Update .env.example
307
+ if (await fs_extra_1.default.pathExists(envExamplePath)) {
308
+ const existing = await fs_extra_1.default.readFile(envExamplePath, 'utf-8');
309
+ const existingKeys = existing.split('\n').map((line) => line.split('=')[0]);
310
+ const newVars = Object.keys(envVars).filter((key) => !existingKeys.includes(key));
311
+ if (newVars.length > 0) {
312
+ const newContent = newVars.map((key) => `${key}="${envVars[key]}"`).join('\n');
313
+ await fs_extra_1.default.appendFile(envExamplePath, '\n' + newContent + '\n');
314
+ }
315
+ }
316
+ else {
317
+ await fs_extra_1.default.writeFile(envExamplePath, envContent);
318
+ }
319
+ // Create .env if doesn't exist
320
+ if (!(await fs_extra_1.default.pathExists(envPath))) {
321
+ await fs_extra_1.default.writeFile(envPath, envContent);
195
322
  }
196
323
  }
197
324
  async function convertToJavaScript(targetDir) {
@@ -235,26 +362,6 @@ async function convertToJavaScript(targetDir) {
235
362
  await fs_extra_1.default.writeJson(packageJsonPath, packageJson, { spaces: 2 });
236
363
  }
237
364
  }
238
- async function updatePrismaForMongoDB(targetDir) {
239
- const prismaSchemaPath = path_1.default.join(targetDir, 'prisma', 'schema.prisma');
240
- if (await fs_extra_1.default.pathExists(prismaSchemaPath)) {
241
- let schema = await fs_extra_1.default.readFile(prismaSchemaPath, 'utf-8');
242
- // Update datasource provider
243
- schema = schema.replace(/provider\s*=\s*"postgresql"/g, 'provider = "mongodb"');
244
- // Update connection string
245
- schema = schema.replace(/DATABASE_URL/g, 'MONGODB_URL');
246
- // Update id fields to use MongoDB ObjectId
247
- schema = schema.replace(/@id\s+@default\(autoincrement\(\)\)/g, '@id @default(auto()) @map("_id") @db.ObjectId');
248
- await fs_extra_1.default.writeFile(prismaSchemaPath, schema);
249
- }
250
- // Update .env file
251
- const envPath = path_1.default.join(targetDir, '.env');
252
- if (await fs_extra_1.default.pathExists(envPath)) {
253
- let env = await fs_extra_1.default.readFile(envPath, 'utf-8');
254
- env = env.replace(/DATABASE_URL\s*=.*/g, 'MONGODB_URL="mongodb://localhost:27017/myapp"');
255
- await fs_extra_1.default.writeFile(envPath, env);
256
- }
257
- }
258
365
  async function installDependencies(cwd, packageManager) {
259
366
  const commands = {
260
367
  npm: 'npm install',
@@ -1 +1 @@
1
- {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../src/lib/create-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../../src/lib/create-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export declare class TemplateComposer {
2
+ private templatesDir;
3
+ constructor(templatesDir: string);
4
+ /**
5
+ * Compose a project from base + database + auth selections
6
+ */
7
+ compose(targetDir: string, framework: string, database: string, auth: string): Promise<void>;
8
+ private loadConfig;
9
+ private getBaseFiles;
10
+ private collectFiles;
11
+ private copyFiles;
12
+ private mergeConfigs;
13
+ private writePackageJson;
14
+ private writeEnvFile;
15
+ private getAuthKey;
16
+ }
17
+ //# sourceMappingURL=template-composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-composer.d.ts","sourceRoot":"","sources":["../../src/lib/template-composer.ts"],"names":[],"mappings":"AAoBA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAS;gBAEjB,YAAY,EAAE,MAAM;IAIhC;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;YAwFF,UAAU;YAaV,YAAY;YAYZ,YAAY;YA4BZ,SAAS;IAOvB,OAAO,CAAC,YAAY;YAwBN,gBAAgB;YAwBhB,YAAY;IA6B1B,OAAO,CAAC,UAAU;CAUnB"}