@codeenthusiast09/create-express-app 1.0.6 → 1.1.0

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.
package/README.md CHANGED
@@ -33,7 +33,7 @@ create-express-app my-project
33
33
  The CLI will ask you:
34
34
 
35
35
  1. **Project name** - Name of your project
36
- 2. **Database** - MongoDB or PostgreSQL
36
+ 2. **Database** - MongoDB, PostgreSQL, or SQLite
37
37
  3. **ORM** (if PostgreSQL) - Prisma or Drizzle
38
38
  4. **Docker** - Include Docker setup? (Yes/No)
39
39
 
@@ -68,6 +68,12 @@ The CLI will ask you:
68
68
  - SQL-like API
69
69
  - For advanced users
70
70
 
71
+ ### SQLite with Drizzle
72
+
73
+ - Zero setup, no database server required
74
+ - Single file on disk
75
+ - Best for small tools, local-only apps, and prototypes
76
+
71
77
  ## Development
72
78
 
73
79
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;GAIG;AAEH,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM;IAOrD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;;;OAIG;YACW,YAAY;IAU1B;;;;;;;OAOG;IACH;;OAEG;YACW,iBAAiB;IAiD/B;;OAEG;YACW,oBAAoB;IA8BlC;;;;OAIG;YACW,iBAAiB;IAwB/B;;;;OAIG;YACW,iBAAiB;IAM/B;;;;OAIG;YACW,aAAa;CAG5B"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;GAIG;AAEH,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM;IAOrD;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;;;OAIG;YACW,YAAY;IAU1B;;;;;;;OAOG;IACH;;OAEG;YACW,iBAAiB;IAmF/B;;OAEG;YACW,oBAAoB;IA8BlC;;;;OAIG;YACW,iBAAiB;IA4B/B;;;;OAIG;YACW,iBAAiB;IAM/B;;;;OAIG;YACW,aAAa;CAG5B"}
package/dist/generator.js CHANGED
@@ -65,24 +65,33 @@ class Generator {
65
65
  async configureDatabase() {
66
66
  const dbPath = path_1.default.join(this.targetPath, "src", "database");
67
67
  const indexPath = path_1.default.join(dbPath, "index.ts");
68
+ const drizzleDir = path_1.default.join(this.targetPath, "drizzle");
69
+ // drizzle-kit looks for its config at the project root by default
70
+ const drizzleConfigPath = path_1.default.join(this.targetPath, "drizzle.config.ts");
71
+ const drizzleSqliteConfigPath = path_1.default.join(this.targetPath, "drizzle.config.sqlite.ts");
68
72
  if (this.config.database === "mongodb") {
69
73
  // Keep Mongoose, remove Prisma and Drizzle
70
74
  await fs_extra_1.default.remove(path_1.default.join(dbPath, "prisma.connection.ts"));
71
75
  await fs_extra_1.default.remove(path_1.default.join(dbPath, "drizzle.connection.ts"));
76
+ await fs_extra_1.default.remove(path_1.default.join(dbPath, "drizzle.sqlite.connection.ts"));
72
77
  await fs_extra_1.default.remove(path_1.default.join(this.targetPath, "prisma"));
73
- await fs_extra_1.default.remove(path_1.default.join(this.targetPath, "drizzle"));
74
- await fs_extra_1.default.remove(path_1.default.join(this.targetPath, "drizzle.config.ts"));
78
+ await fs_extra_1.default.remove(drizzleDir);
79
+ await fs_extra_1.default.remove(drizzleConfigPath);
80
+ await fs_extra_1.default.remove(drizzleSqliteConfigPath);
75
81
  // Update index.ts to export mongoose
76
82
  await fs_extra_1.default.writeFile(indexPath, `/**\n * Database Connection\n * \n * MongoDB with Mongoose\n */\n\nexport * from './mongoose.connection';\n`);
77
83
  }
78
84
  else if (this.config.database === "postgresql") {
79
- // Remove Mongoose
85
+ // Remove Mongoose and the SQLite Drizzle variant
80
86
  await fs_extra_1.default.remove(path_1.default.join(dbPath, "mongoose.connection.ts"));
87
+ await fs_extra_1.default.remove(path_1.default.join(dbPath, "drizzle.sqlite.connection.ts"));
88
+ await fs_extra_1.default.remove(path_1.default.join(drizzleDir, "schema.sqlite.ts"));
89
+ await fs_extra_1.default.remove(drizzleSqliteConfigPath);
81
90
  if (this.config.orm === "prisma") {
82
91
  // Keep Prisma, remove Drizzle
83
92
  await fs_extra_1.default.remove(path_1.default.join(dbPath, "drizzle.connection.ts"));
84
- await fs_extra_1.default.remove(path_1.default.join(this.targetPath, "drizzle"));
85
- await fs_extra_1.default.remove(path_1.default.join(this.targetPath, "drizzle.config.ts"));
93
+ await fs_extra_1.default.remove(drizzleDir);
94
+ await fs_extra_1.default.remove(drizzleConfigPath);
86
95
  // Generate proper Prisma schema
87
96
  await this.generatePrismaSchema();
88
97
  // Update index.ts to export prisma
@@ -96,6 +105,21 @@ class Generator {
96
105
  await fs_extra_1.default.writeFile(indexPath, `/**\n * Database Connection\n * \n * PostgreSQL with Drizzle\n */\n\nexport * from './drizzle.connection';\n`);
97
106
  }
98
107
  }
108
+ else if (this.config.database === "sqlite") {
109
+ // Keep Drizzle (SQLite variant), remove Mongoose, Prisma, and Postgres Drizzle
110
+ await fs_extra_1.default.remove(path_1.default.join(dbPath, "mongoose.connection.ts"));
111
+ await fs_extra_1.default.remove(path_1.default.join(dbPath, "prisma.connection.ts"));
112
+ await fs_extra_1.default.remove(path_1.default.join(this.targetPath, "prisma"));
113
+ await fs_extra_1.default.remove(path_1.default.join(dbPath, "drizzle.connection.ts"));
114
+ await fs_extra_1.default.move(path_1.default.join(dbPath, "drizzle.sqlite.connection.ts"), path_1.default.join(dbPath, "drizzle.connection.ts"));
115
+ // Swap in the SQLite schema and drizzle-kit config
116
+ await fs_extra_1.default.remove(path_1.default.join(drizzleDir, "schema.ts"));
117
+ await fs_extra_1.default.move(path_1.default.join(drizzleDir, "schema.sqlite.ts"), path_1.default.join(drizzleDir, "schema.ts"));
118
+ await fs_extra_1.default.remove(drizzleConfigPath);
119
+ await fs_extra_1.default.move(drizzleSqliteConfigPath, drizzleConfigPath);
120
+ // Update index.ts to export drizzle
121
+ await fs_extra_1.default.writeFile(indexPath, `/**\n * Database Connection\n * \n * SQLite with Drizzle\n */\n\nexport * from './drizzle.connection';\n`);
122
+ }
99
123
  }
100
124
  /**
101
125
  * Generate Prisma Schema
@@ -151,6 +175,11 @@ datasource db {
151
175
  packageJson.scripts["db:studio"] = "drizzle-kit studio";
152
176
  }
153
177
  }
178
+ else if (this.config.database === "sqlite") {
179
+ packageJson.scripts["db:push"] = "drizzle-kit push";
180
+ packageJson.scripts["db:generate"] = "drizzle-kit generate";
181
+ packageJson.scripts["db:studio"] = "drizzle-kit studio";
182
+ }
154
183
  await fs_extra_1.default.writeJson(packageJsonPath, packageJson, { spaces: 2 });
155
184
  }
156
185
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -99,6 +99,11 @@ function showSuccessMessage(config) {
99
99
  console.log(chalk_1.default.white(" npx drizzle-kit push"));
100
100
  }
101
101
  }
102
+ else if (config.database === "sqlite") {
103
+ console.log(chalk_1.default.gray(" # No database server needed, it's a local file"));
104
+ console.log(chalk_1.default.white(" npx drizzle-kit generate"));
105
+ console.log(chalk_1.default.white(" npx drizzle-kit push"));
106
+ }
102
107
  console.log();
103
108
  console.log(chalk_1.default.white(" npm run dev"));
104
109
  console.log();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,gDAAwB;AACxB,wDAA0B;AAC1B,uCAAsD;AACtD,2CAAwC;AACxC,2CAAwC;AACxC,kDAA0C;AAE1C;;;;;;;;;;GAUG;AAEH,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,oBAAoB,CAAC;KAC1B,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,sBAAO,CAAC;KAChB,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,WAAoB,EAAE,EAAE;IACrC,IAAI,CAAC;QACH,uBAAuB;QACvB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAU,EAAC,WAAW,CAAC,CAAC;QAE7C,2BAA2B;QAC3B,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhE,oCAAoC;QACpC,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,WAAW,mBAAmB,CAAC,CACjE,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,sBAAsB;QACtB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAExD,0BAA0B;QAC1B,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAEtC,oBAAoB;QACpB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,0BAA0B;QAC1B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,MAAqB;IAC/C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,iCAAiC;IACjC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,kBAAkB;AAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;;GAMG;AAEH,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM;IAKtD;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB1C;;OAEG;YACW,2BAA2B;IAqCzC;;;;OAIG;YACW,mBAAmB;IAkBjC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC/B"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;;GAMG;AAEH,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM;IAKtD;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB1C;;OAEG;YACW,2BAA2B;IAwCzC;;;;OAIG;YACW,mBAAmB;IAkBjC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAiC/B"}
package/dist/installer.js CHANGED
@@ -63,6 +63,10 @@ class Installer {
63
63
  devDeps.push("drizzle-kit", "@types/pg");
64
64
  }
65
65
  }
66
+ else if (this.config.database === "sqlite") {
67
+ deps.push("drizzle-orm", "better-sqlite3");
68
+ devDeps.push("drizzle-kit", "@types/better-sqlite3");
69
+ }
66
70
  // Install production dependencies
67
71
  if (deps.length > 0) {
68
72
  await (0, execa_1.default)("npm", ["install", ...deps], {
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export interface ProjectConfig {
7
7
  projectName: string;
8
- database: "mongodb" | "postgresql";
8
+ database: "mongodb" | "postgresql" | "sqlite";
9
9
  orm?: "prisma" | "drizzle";
10
10
  includeDocker: boolean;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,GAAG,YAAY,CAAC;IACnC,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAwD7E"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC9C,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyD7E"}
package/dist/prompts.js CHANGED
@@ -35,6 +35,7 @@ async function promptUser(projectName) {
35
35
  choices: [
36
36
  { name: "MongoDB (with Mongoose)", value: "mongodb" },
37
37
  { name: "PostgreSQL (with Prisma or Drizzle)", value: "postgresql" },
38
+ { name: "SQLite (with Drizzle)", value: "sqlite" },
38
39
  ],
39
40
  },
40
41
  // ORM Choice (only if PostgreSQL selected)
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";;;;;AAoBA,gCAwDC;AA5ED,wDAAgC;AAchC;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAAC,WAAoB;IACnD,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC,eAAe;QACf;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,WAAW,IAAI,gBAAgB;YACxC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,0DAA0D;gBAC1D,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,oFAAoF,CAAC;YAC9F,CAAC;SACF;QAED,kBAAkB;QAClB;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrD,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,YAAY,EAAE;aACrE;SACF;QAED,2CAA2C;QAC3C;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,6CAA6C;oBACnD,KAAK,EAAE,QAAQ;iBAChB;gBACD;oBACE,IAAI,EAAE,sDAAsD;oBAC5D,KAAK,EAAE,SAAS;iBACjB;aACF;YACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,YAAY;SACrD;QAED,SAAS;QACT;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;IAEH,OAAO,OAAwB,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";;;;;AAoBA,gCAyDC;AA7ED,wDAAgC;AAchC;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAAC,WAAoB;IACnD,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;QACpC,eAAe;QACf;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,WAAW,IAAI,gBAAgB;YACxC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,0DAA0D;gBAC1D,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,oFAAoF,CAAC;YAC9F,CAAC;SACF;QAED,kBAAkB;QAClB;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,SAAS,EAAE;gBACrD,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,YAAY,EAAE;gBACpE,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE;aACnD;SACF;QAED,2CAA2C;QAC3C;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,6CAA6C;oBACnD,KAAK,EAAE,QAAQ;iBAChB;gBACD;oBACE,IAAI,EAAE,sDAAsD;oBAC5D,KAAK,EAAE,SAAS;iBACjB;aACF;YACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,YAAY;SACrD;QAED,SAAS;QACT;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;IAEH,OAAO,OAAwB,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@codeenthusiast09/create-express-app",
3
- "version": "1.0.6",
4
- "description": "CLI tool to generate production-ready Express TypeScript projects with flexible database options (MongoDB, PostgreSQL with Prisma or Drizzle)",
3
+ "version": "1.1.0",
4
+ "description": "CLI tool to generate production-ready Express TypeScript projects with flexible database options (MongoDB, PostgreSQL with Prisma or Drizzle, or SQLite with Drizzle)",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
- "create-express-app": "./bin/cli.js"
7
+ "create-express-app": "bin/cli.js"
8
8
  },
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "https://github.com/CodeEnthusiast09/create-express-app"
11
+ "url": "git+https://github.com/CodeEnthusiast09/create-express-app.git"
12
12
  },
13
13
  "bugs": {
14
14
  "url": "https://github.com/CodeEnthusiast09/create-express-app/issues"
@@ -30,6 +30,7 @@
30
30
  "postgresql",
31
31
  "prisma",
32
32
  "drizzle",
33
+ "sqlite",
33
34
  "mongoose",
34
35
  "scaffolding",
35
36
  "template"
@@ -11,6 +11,9 @@ DATABASE_URL=mongodb://localhost:27017/myapp
11
11
  # PostgreSQL (Prisma or Drizzle)
12
12
  # DATABASE_URL=postgresql://user:password@localhost:5432/myapp
13
13
 
14
+ # SQLite (Drizzle)
15
+ # DATABASE_URL=./dev.db
16
+
14
17
 
15
18
  # JWT Configuration
16
19
  JWT_SECRET=your-super-secret-jwt-key-min-32-characters-for security
@@ -0,0 +1,22 @@
1
+ import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
2
+
3
+ /**
4
+ * Drizzle Schema
5
+ *
6
+ * Define your database tables here.
7
+ * This is an example User table (commented out).
8
+ * Uncomment and modify as needed.
9
+ */
10
+
11
+ // Example User table
12
+ // export const users = sqliteTable('users', {
13
+ // id: text('id').primaryKey(),
14
+ // email: text('email').notNull().unique(),
15
+ // name: text('name').notNull(),
16
+ // createdAt: integer('created_at', { mode: 'timestamp' }).notNull(),
17
+ // updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull(),
18
+ // });
19
+
20
+ // Export all tables
21
+ // export type User = typeof users.$inferSelect;
22
+ // export type NewUser = typeof users.$inferInsert;
@@ -0,0 +1,13 @@
1
+ import type { Config } from 'drizzle-kit';
2
+ import * as dotenv from 'dotenv';
3
+
4
+ dotenv.config({ path: '.env', quiet: true });
5
+
6
+ export default {
7
+ schema: './drizzle/schema.ts',
8
+ out: './drizzle/migrations',
9
+ dialect: 'sqlite',
10
+ dbCredentials: {
11
+ url: process.env.DATABASE_URL || './dev.db',
12
+ },
13
+ } satisfies Config;
@@ -12,6 +12,11 @@ import { config } from '@/config';
12
12
  export const logger = pino({
13
13
  level: config.logging.level,
14
14
 
15
+ serializers: {
16
+ err: pino.stdSerializers.err,
17
+ error: pino.stdSerializers.err,
18
+ },
19
+
15
20
  // Pretty print in development, JSON in production
16
21
  transport:
17
22
  config.nodeEnv === 'development'
@@ -11,14 +11,6 @@ import path from 'path';
11
11
  // Load .env from project root
12
12
  dotenv.config({ path: path.resolve(__dirname, '../../.env') });
13
13
 
14
- // Validate required environment variables
15
- const requiredEnvVars = ['DATABASE_URL', 'JWT_SECRET'];
16
-
17
- for (const envVar of requiredEnvVars) {
18
- if (!process.env[envVar]) {
19
- throw new Error(`Missing required environment variable: ${envVar}`);
20
- }
21
- }
22
-
23
14
  // Export nothing - this file is just for side effects
15
+ // Validation is handled by Zod in config/index.ts with clear error messages
24
16
  export {};
@@ -53,7 +53,9 @@ const parseConfig = () => {
53
53
  },
54
54
  cors: {
55
55
  origin: process.env.CORS_ORIGIN || '*',
56
- credentials: process.env.CORS_CREDENTIALS === 'true',
56
+ credentials: process.env.CORS_CREDENTIALS !== undefined
57
+ ? process.env.CORS_CREDENTIALS === 'true'
58
+ : true,
57
59
  },
58
60
  logging: {
59
61
  level: (process.env.LOG_LEVEL || 'info') as 'info',
@@ -25,7 +25,7 @@ export const connectDatabase = async (): Promise<void> => {
25
25
  await pool.query('SELECT NOW()');
26
26
  logger.info('󰪩 PostgreSQL connected successfully (Drizzle)');
27
27
  } catch (error) {
28
- logger.error('󱙀 PostgreSQL connection error:', error);
28
+ logger.error({ err: error }, '󱙀 PostgreSQL connection error');
29
29
  process.exit(1);
30
30
  }
31
31
  };
@@ -35,7 +35,7 @@ export const disconnectDatabase = async (): Promise<void> => {
35
35
  await pool.end();
36
36
  logger.info('󱙀 PostgreSQL disconnected');
37
37
  } catch (error) {
38
- logger.error('󱙀 Error disconnecting from PostgreSQL:', error);
38
+ logger.error({ err: error }, '󱙀 Error disconnecting from PostgreSQL');
39
39
  }
40
40
  };
41
41
 
@@ -0,0 +1,43 @@
1
+ import { drizzle } from 'drizzle-orm/better-sqlite3';
2
+ import Database from 'better-sqlite3';
3
+ import { config } from '@/config';
4
+ import { logger } from '@/common/utils/logger';
5
+
6
+ /**
7
+ * SQLite Connection (Drizzle)
8
+ */
9
+
10
+ const sqlite = new Database(config.database.url);
11
+ sqlite.pragma('journal_mode = WAL');
12
+
13
+ // Initialize Drizzle
14
+ export const db = drizzle(sqlite);
15
+
16
+ export const connectDatabase = async (): Promise<void> => {
17
+ try {
18
+ sqlite.prepare('SELECT 1').get();
19
+ logger.info('󰪩 SQLite connected successfully (Drizzle)');
20
+ } catch (error) {
21
+ logger.error({ err: error }, '󱙀 SQLite connection error');
22
+ process.exit(1);
23
+ }
24
+ };
25
+
26
+ export const disconnectDatabase = async (): Promise<void> => {
27
+ try {
28
+ sqlite.close();
29
+ logger.info('󱙀 SQLite disconnected');
30
+ } catch (error) {
31
+ logger.error({ err: error }, '󱙀 Error disconnecting from SQLite');
32
+ }
33
+ };
34
+
35
+ // Graceful shutdown
36
+ const gracefulShutdown = async (signal: string) => {
37
+ logger.info(`${signal} received. Closing SQLite connection...`);
38
+ await disconnectDatabase();
39
+ process.exit(0);
40
+ };
41
+
42
+ process.on('SIGINT', () => void gracefulShutdown('SIGINT'));
43
+ process.on('SIGTERM', () => void gracefulShutdown('SIGTERM'));
@@ -8,6 +8,7 @@
8
8
  * - MongoDB with Mongoose
9
9
  * - PostgreSQL with Prisma
10
10
  * - PostgreSQL with Drizzle
11
+ * - SQLite with Drizzle
11
12
  */
12
13
 
13
14
  // Default: Mongoose (MongoDB)
@@ -25,7 +25,7 @@ export const connectDatabase = async (): Promise<void> => {
25
25
 
26
26
  return;
27
27
  } catch (error) {
28
- logger.error(`󰆼 MongoDB connection attempt ${attempt}/${MAX_RETRIES} failed:`, error);
28
+ logger.error({ err: error }, `󰆼 MongoDB connection attempt ${attempt}/${MAX_RETRIES} failed`);
29
29
 
30
30
  if (attempt < MAX_RETRIES) {
31
31
  logger.info(`󰆼 Retrying in ${RETRY_DELAY}ms...`);
@@ -45,7 +45,7 @@ export const disconnectDatabase = async (): Promise<void> => {
45
45
  await mongoose.disconnect();
46
46
  logger.info('󰆼 MongoDB disconnected');
47
47
  } catch (error) {
48
- logger.error('󱙀 Error disconnecting from MongoDB:', error);
48
+ logger.error({ err: error }, '󱙀 Error disconnecting from MongoDB');
49
49
  }
50
50
  };
51
51
 
@@ -59,5 +59,5 @@ mongoose.connection.on('disconnected', () => {
59
59
  });
60
60
 
61
61
  mongoose.connection.on('error', (error) => {
62
- logger.error('󱙀 MongoDB connection error:', error);
62
+ logger.error({ err: error }, '󱙀 MongoDB connection error');
63
63
  });
@@ -25,7 +25,7 @@ export const connectDatabase = async (): Promise<void> => {
25
25
  await prisma.$connect();
26
26
  logger.info('󰪩 PostgreSQL connected successfully (Prisma)');
27
27
  } catch (error) {
28
- logger.error('󱙀 PostgreSQL connection error:', error);
28
+ logger.error({ err: error }, '󱙀 PostgreSQL connection error');
29
29
  process.exit(1);
30
30
  }
31
31
  };
@@ -35,7 +35,7 @@ export const disconnectDatabase = async (): Promise<void> => {
35
35
  await prisma.$disconnect();
36
36
  logger.info('󱙀 PostgreSQL disconnected');
37
37
  } catch (error) {
38
- logger.error('󱙀 Error disconnecting from PostgreSQL:', error);
38
+ logger.error({ err: error }, '󱙀 Error disconnecting from PostgreSQL');
39
39
  }
40
40
  };
41
41